diff options
Diffstat (limited to 'net-misc/netkit-rsh/files/patches/220_all_fbsd.patch')
-rw-r--r-- | net-misc/netkit-rsh/files/patches/220_all_fbsd.patch | 222 |
1 files changed, 222 insertions, 0 deletions
diff --git a/net-misc/netkit-rsh/files/patches/220_all_fbsd.patch b/net-misc/netkit-rsh/files/patches/220_all_fbsd.patch new file mode 100644 index 000000000000..3b108c17f4a2 --- /dev/null +++ b/net-misc/netkit-rsh/files/patches/220_all_fbsd.patch @@ -0,0 +1,222 @@ +--- a/configure ++++ b/configure +@@ -368,9 +368,35 @@ + + ################################################## + ++echo -n 'Checking for rexec... ' ++cat <<EOF >__conftest.c ++int main() { rexec(0, 0, 0, 0, 0, 0); } ++ ++EOF ++ ++if ( ++ $CC $CFLAGS __conftest.c -o __conftest || exit 1 ++ ) >/dev/null 2>&1; then ++ echo 'yes' ++else ++ if ( ++ $CC $CFLAGS __conftest.c -lcompat -o __conftest || exit 1 ++ ) >/dev/null 2>&1; then ++ echo '-lcompat' ++ LIBS="$LIBS -lcompat" ++ else ++ echo 'no' ++ echo 'This package requires rexec.' ++ rm -f __conftest* ++ exit ++ fi ++fi ++rm -f __conftest* ++ ++################################################## ++ + echo -n 'Checking for forkpty... ' + cat <<EOF >__conftest.c +-#include <pty.h> + int main() { forkpty(0, 0, 0, 0); } + + EOF +--- a/rcp/rcp.c ++++ b/rcp/rcp.c +@@ -50,6 +50,7 @@ + #include <sys/ioctl.h> + #include <sys/socket.h> + #include <sys/wait.h> ++#include <netinet/in_systm.h> + #include <netinet/in.h> + #include <netinet/ip.h> + #include <dirent.h> +@@ -100,7 +101,7 @@ + static void error(const char *fmt, ...); + + int +-main(int argc, char *argv[]) ++main(int argc, char *argv[], char **env) + { + struct servent *sp; + int ch, fflag, tflag; +@@ -108,8 +109,8 @@ + const char *shell; + char *null = NULL; + +- saved_environ = __environ; +- __environ = &null; ++ saved_environ = env; ++ env = &null; + + fflag = tflag = 0; + while ((ch = getopt(argc, argv, OPTIONS)) != EOF) +--- a/rexec/Makefile ++++ b/rexec/Makefile +@@ -12,6 +12,7 @@ + all: rexec + + rexec: rexec.o ruserpass.o ++ $(CC) $(CFLAGS) $(LDFLAGS) $^ $(LIBS) -o $@ + + rexec.1: + +--- a/rexec/ruserpass.c ++++ b/rexec/ruserpass.c +@@ -39,6 +39,7 @@ + + #include <stdio.h> + #include <stdlib.h> ++#include <sys/types.h> + #include <utmp.h> + #include <ctype.h> + #include <sys/stat.h> +--- a/rexecd/rexecd.c ++++ b/rexecd/rexecd.c +@@ -76,7 +76,9 @@ + #include <errno.h> + #include <syslog.h> + #include <unistd.h> ++#if defined(__GLIBC__) + #include <crypt.h> /* apparently necessary in some glibcs */ ++#endif + #include <stdio.h> + #include <stdlib.h> + #include <string.h> +--- a/rlogin/rlogin.c ++++ b/rlogin/rlogin.c +@@ -56,6 +56,7 @@ + #include <sys/resource.h> + #include <sys/wait.h> + #include <sys/ioctl.h> ++#include <netinet/in_systm.h> + #include <netinet/in.h> + #include <netinet/ip.h> + #include <netdb.h> +@@ -96,6 +97,13 @@ + #define SIGUSR1 30 + #endif + ++#ifndef TABDLY ++#define TABDLY OXTABS ++#endif ++#ifndef TAB3 ++#define TAB3 OXTABS ++#endif ++ + struct termios defmodes; + struct termios ixon_state; + static int eight, litout, rem; +@@ -172,7 +180,7 @@ + } + + int +-main(int argc, char **argv) ++main(int argc, char **argv, char **env) + { + struct passwd *pw; + struct servent *sp; +@@ -265,7 +273,7 @@ + } + else snprintf(term, sizeof(term), "%.256s", t); + +- __environ = &null; ++ env = &null; + + get_window_size(0, &winsize); + +@@ -421,7 +429,7 @@ + void + catch_child(int ignore) + { +- union wait status; ++ int status; + int pid; + + (void)ignore; +@@ -432,7 +440,7 @@ + return; + /* if the child (reader) dies, just quit */ + if (pid < 0 || (pid == childpid && !WIFSTOPPED(status))) +- done((int)(status.w_termsig | status.w_retcode)); ++ done((int)(WTERMSIG(status) | WEXITSTATUS(status))); + } + /* NOTREACHED */ + } +--- a/rlogind/auth.c ++++ b/rlogind/auth.c +@@ -31,6 +31,7 @@ + * SUCH DAMAGE. + */ + ++#include <stdio.h> + #include <sys/types.h> + #include <pwd.h> + +@@ -190,7 +191,7 @@ + #include <sys/socket.h> /* for ruserok() in libc5 (!) */ + #include <netdb.h> /* for ruserok() in glibc (!) */ + +-#if defined(__GLIBC__) && (__GLIBC__ >= 2) ++#if !(defined(__GLIBC__) && (__GLIBC__ < 2)) + #define _check_rhosts_file __check_rhosts_file + #endif + extern int _check_rhosts_file; +--- a/rsh/rsh.c ++++ b/rsh/rsh.c +@@ -69,7 +69,7 @@ + static void usage(void); + + int +-main(int argc, char *argv[]) ++main(int argc, char *argv[], char **env) + { + struct passwd *pw; + struct servent *sp; +@@ -80,8 +80,8 @@ + char *null = NULL; + char **saved_environ; + +- saved_environ = __environ; +- __environ = &null; ++ saved_environ = env; ++ env = &null; + + argoff = asrsh = dflag = nflag = 0; + one = 1; +--- a/rshd/rshd.c ++++ b/rshd/rshd.c +@@ -80,7 +80,7 @@ + #include <ctype.h> + #include <assert.h> + +-#if defined(__GLIBC__) && (__GLIBC__ >= 2) ++#if !(defined(__GLIBC__) && (__GLIBC__ < 2)) + #define _check_rhosts_file __check_rhosts_file + #endif + +@@ -420,7 +420,7 @@ + stderr_parent(sock, pv[0], pid); + /* NOTREACHED */ + } +- setpgrp(); ++ setpgid(0,0); + close(sock); + close(pv[0]); + dup2(pv[1], 2); |