summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/telnet-bsd/files/telnet-bsd-1.2-fbsd.patch')
-rw-r--r--net-misc/telnet-bsd/files/telnet-bsd-1.2-fbsd.patch105
1 files changed, 105 insertions, 0 deletions
diff --git a/net-misc/telnet-bsd/files/telnet-bsd-1.2-fbsd.patch b/net-misc/telnet-bsd/files/telnet-bsd-1.2-fbsd.patch
new file mode 100644
index 000000000000..7c39d6ad81cb
--- /dev/null
+++ b/net-misc/telnet-bsd/files/telnet-bsd-1.2-fbsd.patch
@@ -0,0 +1,105 @@
+diff --git a/configure.in b/configure.in
+index 1547e9b..eda5fb1 100644
+--- a/configure.in
++++ b/configure.in
+@@ -12,6 +12,8 @@ ALL_LINGUAS="de"
+ AC_SUBST(PACKAGE)
+ AC_SUBST(VERSION)
+
++AC_CHECK_HEADERS([pty.h utmp.h])
++
+ if test x"$ac_default_prefix" = x"/usr"
+ then
+ if test x"${mandir}" = x'${prefix}/man'
+diff --git a/telnet/commands.c b/telnet/commands.c
+index c0d349c..fa2cf8a 100644
+--- a/telnet/commands.c
++++ b/telnet/commands.c
+@@ -29,11 +29,13 @@
+
+ #include "telnet_locl.h"
+ #include <err.h>
++#include <unistd.h>
+
+ #if defined(IPPROTO_IP) && defined(IP_TOS)
+ int tos = -1;
+ #endif /* defined(IPPROTO_IP) && defined(IP_TOS) */
+
++extern char **environ;
+ char *hostname;
+
+ typedef int (*intrtn_t) __P ((int, char **));
+diff --git a/telnet/ring.h b/telnet/ring.h
+index 66f7191..9ef8fb8 100644
+--- a/telnet/ring.h
++++ b/telnet/ring.h
+@@ -29,6 +29,7 @@
+ */
+
+ #include <sys/cdefs.h>
++#include <sys/types.h>
+ #define P __P
+
+ /*
+diff --git a/telnetd/setproctitle.c b/telnetd/setproctitle.c
+index f332277..b2adc92 100644
+--- a/telnetd/setproctitle.c
++++ b/telnetd/setproctitle.c
+@@ -72,6 +72,7 @@ char setproctitle_rcsid[] =
+ static char **Argv = NULL; /* pointer to argument vector */
+ static char *LastArgv = NULL; /* end of argv */
+ static char Argv0[128]; /* program name */
++extern char **environ;
+
+ void
+ initsetproctitle(int argc, char **argv, char **envp)
+@@ -86,10 +87,10 @@ initsetproctitle(int argc, char **argv, char **envp)
+
+ for (i = 0; envp[i] != NULL; i++)
+ continue;
+- __environ = (char **) malloc(sizeof (char *) * (i + 1));
++ environ = (char **) malloc(sizeof (char *) * (i + 1));
+ for (i = 0; envp[i] != NULL; i++)
+- __environ[i] = strdup(envp[i]);
+- __environ[i] = NULL;
++ environ[i] = strdup(envp[i]);
++ environ[i] = NULL;
+
+ /*
+ ** Save start and extent of argv for setproctitle.
+diff --git a/telnetd/sys_term.c b/telnetd/sys_term.c
+index 1235428..6fcc601 100644
+--- a/telnetd/sys_term.c
++++ b/telnetd/sys_term.c
+@@ -27,8 +27,15 @@
+ * SUCH DAMAGE.
+ */
+
++#include <config.h>
++
++#include <sys/types.h>
++#ifdef HAVE_UTMP_H
+ #include <utmp.h>
++#endif
++#ifdef HAVE_PTY_H
+ #include <pty.h>
++#endif
+
+ #include "telnetd.h"
+ #include "pathnames.h"
+@@ -820,6 +827,7 @@ addarg (struct argv_stuff *avs, const char *val)
+ void
+ cleanup (int sig)
+ {
++#if !defined(__FreeBSD__) || __FreeBSD__ < 9
+ sigset_t sigset;
+ char *p;
+ (void) sig;
+@@ -847,6 +855,7 @@ cleanup (int sig)
+ *p = 'p';
+ chmod (line, 0666);
+ chown (line, 0, 0);
++#endif
+ shutdown (net, 2);
+ exit (1);
+ }