From 211b6c9c339776f2f47899183b4d5765267ac72e Mon Sep 17 00:00:00 2001 From: overweight <5324761+overweight@user.noreply.gitee.com> Date: Mon, 30 Sep 2019 11:18:21 -0400 Subject: [PATCH] Package init --- netkit-telnet-0.17-core-dump.patch | 13 + netkit-telnet-0.17-gcc7.patch | 121 ++ netkit-telnet-0.17-ipv6.diff | 265 ++++ netkit-telnet-0.17-manpage.patch | 15 + netkit-telnet-0.17-nodns.patch | 43 + netkit-telnet-0.17-reallynodns.patch | 88 ++ netkit-telnet-0.17-telnetrc.patch | 19 + netkit-telnet-0.17.tar.gz | Bin 0 -> 133749 bytes telnet-0.17-8bit.patch | 33 + telnet-0.17-CAN-2005-468_469.patch | 179 +++ telnet-0.17-argv.patch | 12 + telnet-0.17-cleanup_race.patch | 11 + telnet-0.17-conf.patch | 23 + telnet-0.17-env.patch | 84 ++ telnet-0.17-errno_test_sys_bsd.patch | 24 + telnet-0.17-force-ipv6-ipv4.patch | 132 ++ telnet-0.17-issue.patch | 81 ++ telnet-0.17-pek.patch | 37 + telnet-0.17-sa-01-49.patch | 208 ++++ telnet-client-cvs.patch | 1721 ++++++++++++++++++++++++++ telnet-client.tar.gz | Bin 0 -> 105289 bytes telnet-gethostbyname.patch | 48 + telnet-rh674942.patch | 47 + telnet-rh678324.patch | 21 + telnet-rh704604.patch | 24 + telnet-rh825946.patch | 25 + telnet.socket | 10 + telnet.spec | 105 ++ telnet@.service | 7 + telnetd-0.17-pty_read.patch | 25 + telnetd-0.17.diff | 21 + 31 files changed, 3442 insertions(+) create mode 100644 netkit-telnet-0.17-core-dump.patch create mode 100644 netkit-telnet-0.17-gcc7.patch create mode 100644 netkit-telnet-0.17-ipv6.diff create mode 100644 netkit-telnet-0.17-manpage.patch create mode 100644 netkit-telnet-0.17-nodns.patch create mode 100644 netkit-telnet-0.17-reallynodns.patch create mode 100644 netkit-telnet-0.17-telnetrc.patch create mode 100644 netkit-telnet-0.17.tar.gz create mode 100644 telnet-0.17-8bit.patch create mode 100644 telnet-0.17-CAN-2005-468_469.patch create mode 100644 telnet-0.17-argv.patch create mode 100644 telnet-0.17-cleanup_race.patch create mode 100644 telnet-0.17-conf.patch create mode 100644 telnet-0.17-env.patch create mode 100644 telnet-0.17-errno_test_sys_bsd.patch create mode 100644 telnet-0.17-force-ipv6-ipv4.patch create mode 100644 telnet-0.17-issue.patch create mode 100644 telnet-0.17-pek.patch create mode 100644 telnet-0.17-sa-01-49.patch create mode 100644 telnet-client-cvs.patch create mode 100644 telnet-client.tar.gz create mode 100644 telnet-gethostbyname.patch create mode 100644 telnet-rh674942.patch create mode 100644 telnet-rh678324.patch create mode 100644 telnet-rh704604.patch create mode 100644 telnet-rh825946.patch create mode 100644 telnet.socket create mode 100644 telnet.spec create mode 100644 telnet@.service create mode 100644 telnetd-0.17-pty_read.patch create mode 100644 telnetd-0.17.diff diff --git a/netkit-telnet-0.17-core-dump.patch b/netkit-telnet-0.17-core-dump.patch new file mode 100644 index 0000000..c0fda04 --- /dev/null +++ b/netkit-telnet-0.17-core-dump.patch @@ -0,0 +1,13 @@ +diff --git a/telnet/main.c.old b/telnet/main.c +index 599f0af..cf67ea6 100644 +--- a/telnet/main.c.old ++++ b/telnet/main.c +@@ -337,7 +337,7 @@ main(int argc, char *argv[]) + argv += optind; + + if (argc) { +- char *args[7], **argp = args; ++ char *args[8], **argp = args; + + if (argc > 2) + usage(); diff --git a/netkit-telnet-0.17-gcc7.patch b/netkit-telnet-0.17-gcc7.patch new file mode 100644 index 0000000..761dd01 --- /dev/null +++ b/netkit-telnet-0.17-gcc7.patch @@ -0,0 +1,121 @@ +diff --git a/telnet/utilities.c b/telnet/utilities.c +index 0bb0eab..d89ca37 100644 +--- a/telnet/utilities.c ++++ b/telnet/utilities.c +@@ -748,6 +748,7 @@ printsub(char direction, unsigned char *pointer, int length) + env_common: + { + register int noquote = 2; ++ char* msg; + #if defined(ENV_HACK) && defined(OLD_ENVIRON) + extern int old_env_var, old_env_value; + #endif +@@ -758,14 +759,24 @@ printsub(char direction, unsigned char *pointer, int length) + /* case NEW_ENV_OVAR: */ + if (pointer[0] == TELOPT_OLD_ENVIRON) { + # ifdef ENV_HACK +- if (old_env_var == OLD_ENV_VALUE) +- fprintf(NetTrace, "\" (VALUE) " + noquote); +- else ++ if (old_env_var == OLD_ENV_VALUE) { ++ msg = "\" (VALUE) "; ++ fprintf(NetTrace, "%s", msg + noquote); ++ } ++ else { + # endif +- fprintf(NetTrace, "\" VAR " + noquote); ++ msg = "\" VAR "; ++ fprintf(NetTrace, "%s", msg + noquote); ++# ifdef ENV_HACK ++ } ++#endif /*ENV_HACK*/ + } else + #endif /* OLD_ENVIRON */ +- fprintf(NetTrace, "\" VALUE " + noquote); ++ msg = "\" VALUE "; ++ fprintf(NetTrace, "%s", msg + noquote); ++#ifdef OLD_ENVIRON ++ } ++#endif /* OLD_ENVIRON */ + noquote = 2; + break; + +@@ -774,24 +785,36 @@ printsub(char direction, unsigned char *pointer, int length) + /* case OLD_ENV_VALUE: */ + if (pointer[0] == TELOPT_OLD_ENVIRON) { + # ifdef ENV_HACK +- if (old_env_value == OLD_ENV_VAR) +- fprintf(NetTrace, "\" (VAR) " + noquote); +- else ++ if (old_env_value == OLD_ENV_VAR) { ++ msg = "\" (VAR) "; ++ fprintf(NetTrace, "%s", msg + noquote); ++ } ++ else { + # endif +- fprintf(NetTrace, "\" VALUE " + noquote); +- } else ++ msg = "\" VALUE "; ++ fprintf(NetTrace, "%s", msg + noquote); ++# ifdef ENV_HACK ++ } ++# endif ++ } else { + #endif /* OLD_ENVIRON */ +- fprintf(NetTrace, "\" VAR " + noquote); ++ msg = "\" VAR "; ++ fprintf(NetTrace, "%s", msg + noquote); ++#ifdef OLD_ENVIRON ++ } ++#endif + noquote = 2; + break; + + case ENV_ESC: +- fprintf(NetTrace, "\" ESC " + noquote); ++ msg = "\" ESC "; ++ fprintf(NetTrace, "%s", msg + noquote); + noquote = 2; + break; + + case ENV_USERVAR: +- fprintf(NetTrace, "\" USERVAR " + noquote); ++ msg = "\" USERVAR "; ++ fprintf(NetTrace, "%s", msg + noquote); + noquote = 2; + break; + +diff --git a/telnetd/utility.c b/telnetd/utility.c +index 4a438be..82edee5 100644 +--- a/telnetd/utility.c ++++ b/telnetd/utility.c +@@ -969,22 +969,26 @@ printsub(char direction, unsigned char *pointer, int length) + env_common: + { + register int noquote = 2; ++ char* msg; + for (i = 2; i < length; i++ ) { + switch (pointer[i]) { + case ENV_VAR: + if (pointer[1] == TELQUAL_SEND) + goto def_case; +- netoprintf("\" VAR " + noquote); ++ msg = "\" VAR "; ++ netoprintf("%s", msg + noquote); + noquote = 2; + break; + + case ENV_VALUE: +- netoprintf("\" VALUE " + noquote); ++ msg = "\" VALUE "; ++ netoprintf("%s", msg + noquote); + noquote = 2; + break; + + case ENV_ESC: +- netoprintf("\" ESC " + noquote); ++ msg = "\" ESC "; ++ netoprintf("%s", msg + noquote); + noquote = 2; + break; + diff --git a/netkit-telnet-0.17-ipv6.diff b/netkit-telnet-0.17-ipv6.diff new file mode 100644 index 0000000..e3719f1 --- /dev/null +++ b/netkit-telnet-0.17-ipv6.diff @@ -0,0 +1,265 @@ +diff -uNr netkit-telnet-0.17/telnetd/telnetd.c netkit-telnet-0.17.ipv6/telnetd/telnetd.c +--- netkit-telnet-0.17/telnetd/telnetd.c 2006-07-13 08:37:18.000000000 +0200 ++++ netkit-telnet-0.17.ipv6/telnetd/telnetd.c 2006-07-14 08:36:11.000000000 +0200 +@@ -49,6 +49,7 @@ + /* #include */ /* Don't think this is used at all here */ + #include + #include ++#include + #include "telnetd.h" + #include "pathnames.h" + #include "setproctitle.h" +@@ -68,7 +69,7 @@ + #define HAS_IPPROTO_IP + #endif + +-static void doit(struct sockaddr_in *who); ++static void doit(struct sockaddr *who, socklen_t wholen); + static int terminaltypeok(const char *s); + + /* +@@ -90,7 +91,7 @@ + int + main(int argc, char *argv[], char *env[]) + { +- struct sockaddr_in from; ++ struct sockaddr from; + int on = 1; + socklen_t fromlen; + register int ch; +@@ -248,64 +249,89 @@ + argc -= optind; + argv += optind; + +- if (debug) { +- int s, ns; +- socklen_t foo; +- struct servent *sp; +- struct sockaddr_in sn; ++ int s = 0; + +- memset(&sn, 0, sizeof(sn)); +- sn.sin_family = AF_INET; ++ if (debug) { ++ struct addrinfo *ai; ++ unsigned int nfds = 0; ++ struct pollfd fds[2]; + + if (argc > 1) { +- usage(); +- /* NOTREACHED */ +- } else if (argc == 1) { +- if ((sp = getservbyname(*argv, "tcp"))!=NULL) { +- sn.sin_port = sp->s_port; +- } +- else { +- int pt = atoi(*argv); +- if (pt <= 0) { +- fprintf(stderr, "telnetd: %s: bad port number\n", +- *argv); +- usage(); +- /* NOTREACHED */ +- } +- sn.sin_port = htons(pt); +- } ++ usage(); ++ /* NOTREACHED */ + } else { +- sp = getservbyname("telnet", "tcp"); +- if (sp == 0) { +- fprintf(stderr, "telnetd: tcp/telnet: unknown service\n"); +- exit(1); +- } +- sn.sin_port = sp->s_port; +- } ++ struct addrinfo hints; ++ ++ memset (&hints, '\0', sizeof (hints)); ++ hints.ai_socktype = SOCK_STREAM; ++ hints.ai_flags = AI_ADDRCONFIG | AI_PASSIVE; ++ hints.ai_protocol = IPPROTO_TCP; ++ ++ if (argc == 0) { ++ if (getaddrinfo(NULL, "telnet", &hints, &ai) != 0) { ++ fprintf(stderr, "telnetd: %s: bad port number\n", *argv); ++ usage(); ++ /* NOTREACHED */ ++ } ++ } else { ++ if (getaddrinfo(NULL, *argv, &hints, &ai) != 0) { ++ fprintf(stderr, "telnetd: %s: bad port number\n", *argv); ++ usage(); ++ /* NOTREACHED */ ++ } ++ } ++ } + +- s = socket(AF_INET, SOCK_STREAM, 0); +- if (s < 0) { ++ struct addrinfo *runp; ++ int b = 0; ++ for (runp = ai; ((runp != NULL) && (nfds < sizeof (fds) / sizeof (fds[0]))); runp = runp->ai_next) { ++ fds[nfds].fd = socket(runp->ai_family, runp->ai_socktype, runp->ai_protocol); ++ if (fds[nfds].fd < 0) { + perror("telnetd: socket");; +- exit(1); ++ exit(1); ++ } ++ fds[nfds].events = POLLIN; ++ (void) setsockopt(fds[nfds].fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)); ++ ++ if (bind(fds[nfds].fd, runp->ai_addr, runp->ai_addrlen) != 0) { ++ // Unable to bind to given port. One of the reason can be ++ // that we can't bind to both IPv4 and IPv6 ++ break; ++ } else { ++ b++; ++ } ++ ++ if (listen(fds[nfds].fd, 1) < 0) { ++ perror("listen"); ++ exit(1); ++ } ++ nfds++; + } +- (void) setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)); +- if (bind(s, (struct sockaddr *)&sn, sizeof(sn)) < 0) { +- perror("bind"); +- exit(1); +- } +- if (listen(s, 1) < 0) { +- perror("listen"); +- exit(1); ++ freeaddrinfo(ai); ++ ++ if (b == 0) { ++ perror("bind"); ++ exit(1); + } +- foo = sizeof(sn); +- ns = accept(s, (struct sockaddr *)&sn, &foo); +- if (ns < 0) { +- perror("accept"); +- exit(1); ++ ++ int n = poll (fds, nfds, -1); ++ if (n > 0) { ++ unsigned int i; ++ for (i = 0; i < nfds; i++) { ++ if (fds[i].revents & POLLIN) { ++ struct sockaddr_storage rem; ++ socklen_t remlen = sizeof(rem); ++ int fd = accept(fds[i].fd, (struct sockaddr *) &rem, &remlen); ++ ++ if (fd < 0) { ++ perror("accept"); ++ exit(1); ++ } ++ ++ s = fd; ++ } ++ } + } +- (void) dup2(ns, 0); +- (void) close(ns); +- (void) close(s); + } else if (argc > 0) { + usage(); + /* NOT REACHED */ +@@ -313,13 +339,13 @@ + + openlog("telnetd", LOG_PID | LOG_ODELAY, LOG_DAEMON); + fromlen = sizeof (from); +- if (getpeername(0, (struct sockaddr *)&from, &fromlen) < 0) { ++ if (getpeername(s, &from, &fromlen) < 0) { + fprintf(stderr, "%s: ", progname); + perror("getpeername"); + _exit(1); + } + if (keepalive && +- setsockopt(0, SOL_SOCKET, SO_KEEPALIVE, &on, sizeof (on)) < 0) { ++ setsockopt(s, SOL_SOCKET, SO_KEEPALIVE, &on, sizeof (on)) < 0) { + syslog(LOG_WARNING, "setsockopt (SO_KEEPALIVE): %m"); + } + +@@ -333,13 +359,13 @@ + if (tos < 0) + tos = 020; /* Low Delay bit */ + if (tos +- && (setsockopt(0, IPPROTO_IP, IP_TOS, &tos, sizeof(tos)) < 0) ++ && (setsockopt(s, IPPROTO_IP, IP_TOS, &tos, sizeof(tos)) < 0) + && (errno != ENOPROTOOPT) ) + syslog(LOG_WARNING, "setsockopt (IP_TOS): %m"); + } + #endif /* defined(HAS_IPPROTO_IP) && defined(IP_TOS) */ +- net = 0; +- doit(&from); ++ net = s; ++ doit(&from, fromlen); + /* NOTREACHED */ + return 0; + } /* end of main */ +@@ -608,10 +634,9 @@ + * Get a pty, scan input lines. + */ + static void +-doit(struct sockaddr_in *who) ++doit(struct sockaddr *who, socklen_t wholen) + { + const char *host; +- struct hostent *hp; + int level; + char user_name[256]; + +@@ -623,12 +648,18 @@ + fatal(net, "All network ports in use"); + + /* get name of connected client */ +- hp = gethostbyaddr((char *)&who->sin_addr, sizeof (struct in_addr), +- who->sin_family); +- if (hp) +- host = hp->h_name; +- else +- host = inet_ntoa(who->sin_addr); ++ int error = -1; ++ char namebuf[255]; ++ ++ error = getnameinfo(who, wholen, namebuf, sizeof(namebuf), NULL, 0, 0); ++ ++ if (error) { ++ perror("getnameinfo: localhost"); ++ perror(gai_strerror(error)); ++ exit(1); ++ } ++ ++ host = namebuf; + + /* + * We must make a copy because Kerberos is probably going +@@ -649,13 +680,21 @@ + + /* Get local host name */ + { +- struct hostent *h; ++ struct addrinfo hints; ++ struct addrinfo *res; ++ int e; ++ ++ memset(&hints, '\0', sizeof(hints)); ++ hints.ai_socktype = SOCK_STREAM; ++ hints.ai_flags = AI_ADDRCONFIG; ++ + gethostname(host_name, sizeof(host_name)); +- h = gethostbyname(host_name); +- if (h) { +- strncpy(host_name, h->h_name, sizeof(host_name)); +- host_name[sizeof(host_name)-1] = 0; ++ if ((e = getaddrinfo(host_name, NULL, &hints, &res)) != 0) { ++ perror("getaddrinfo: localhost"); ++ perror(gai_strerror(e)); ++ exit(1); + } ++ freeaddrinfo(res); + } + + #if defined(AUTHENTICATE) || defined(ENCRYPT) diff --git a/netkit-telnet-0.17-manpage.patch b/netkit-telnet-0.17-manpage.patch new file mode 100644 index 0000000..f4c4644 --- /dev/null +++ b/netkit-telnet-0.17-manpage.patch @@ -0,0 +1,15 @@ +diff --git a/telnet/telnet.1 b/telnet/telnet.1 +index f30e034..e3a873e 100644 +--- a/telnet/telnet.1 ++++ b/telnet/telnet.1 +@@ -74,6 +74,10 @@ If it is invoked with arguments, it performs an + .Ic open + command with those arguments. + .Pp ++If a hostname is resolved to multiple IP addresses, ++.Nm ++attempts to establish a connection with each address until one of them is successful or until no more addresses are left. ++.Pp + The options are as follows: + .Bl -tag -width Ds + .It Fl 4 diff --git a/netkit-telnet-0.17-nodns.patch b/netkit-telnet-0.17-nodns.patch new file mode 100644 index 0000000..1dba79b --- /dev/null +++ b/netkit-telnet-0.17-nodns.patch @@ -0,0 +1,43 @@ +--- netkit-telnet-0.17.orig/telnetd/telnetd.c 2007-03-13 16:31:20.000000000 +0000 ++++ netkit-telnet-0.17.orig/telnetd/telnetd.c 2007-03-13 16:31:26.000000000 +0000 +@@ -653,6 +653,11 @@ doit(struct sockaddr *who, socklen_t who + + error = getnameinfo(who, wholen, namebuf, sizeof(namebuf), NULL, 0, 0); + ++ /* if we can't get a hostname now, settle for an address */ ++ if(error == EAI_AGAIN) ++ error = getnameinfo(who, wholen, namebuf, sizeof(namebuf), ++ NULL, 0, NI_NUMERICHOST); ++ + if (error) { + perror("getnameinfo: localhost"); + perror(gai_strerror(error)); +@@ -681,7 +686,7 @@ doit(struct sockaddr *who, socklen_t who + /* Get local host name */ + { + struct addrinfo hints; +- struct addrinfo *res; ++ struct addrinfo *res = 0; + int e; + + memset(&hints, '\0', sizeof(hints)); +@@ -690,11 +695,14 @@ doit(struct sockaddr *who, socklen_t who + + gethostname(host_name, sizeof(host_name)); + if ((e = getaddrinfo(host_name, NULL, &hints, &res)) != 0) { +- perror("getaddrinfo: localhost"); +- perror(gai_strerror(e)); +- exit(1); ++ if(e != EAI_AGAIN) { ++ fprintf(stderr, "getaddrinfo: localhost %s\n", ++ gai_strerror(e)); ++ exit(1); ++ } + } +- freeaddrinfo(res); ++ if(res) ++ freeaddrinfo(res); + } + + #if defined(AUTHENTICATE) || defined(ENCRYPT) + diff --git a/netkit-telnet-0.17-reallynodns.patch b/netkit-telnet-0.17-reallynodns.patch new file mode 100644 index 0000000..32f7af5 --- /dev/null +++ b/netkit-telnet-0.17-reallynodns.patch @@ -0,0 +1,88 @@ +--- netkit-telnet-0.17.orig/telnetd/telnetd.c.reallynodns 2009-03-12 14:32:29.000000000 -0700 ++++ netkit-telnet-0.17.orig/telnetd/telnetd.c 2009-03-12 14:51:59.000000000 -0700 +@@ -85,6 +85,7 @@ + int keepalive = 1; + char *loginprg = _PATH_LOGIN; + char *progname; ++int lookupself = 1; + + extern void usage(void); + +@@ -111,7 +112,7 @@ + + progname = *argv; + +- while ((ch = getopt(argc, argv, "d:a:e:lhnr:I:D:B:sS:a:X:L:")) != EOF) { ++ while ((ch = getopt(argc, argv, "d:a:e:lhnr:I:D:B:sS:a:X:L:N")) != EOF) { + switch(ch) { + + #ifdef AUTHENTICATE +@@ -210,6 +211,10 @@ + keepalive = 0; + break; + ++ case 'N': ++ lookupself = 0; ++ break; ++ + #ifdef SecurID + case 's': + /* SecurID required */ +@@ -393,6 +398,7 @@ + #endif + fprintf(stderr, " [-L login_program]"); + fprintf(stderr, " [-n]"); ++ fprintf(stderr, " [-N]"); + #ifdef SecurID + fprintf(stderr, " [-s]"); + #endif +@@ -691,15 +697,20 @@ + + memset(&hints, '\0', sizeof(hints)); + hints.ai_socktype = SOCK_STREAM; +- hints.ai_flags = AI_ADDRCONFIG; ++ hints.ai_flags = AI_CANONNAME; + + gethostname(host_name, sizeof(host_name)); +- if ((e = getaddrinfo(host_name, NULL, &hints, &res)) != 0) { +- if(e != EAI_AGAIN) { +- fprintf(stderr, "getaddrinfo: localhost %s\n", +- gai_strerror(e)); +- exit(1); +- } ++ /* ++ * Optionally canonicalize the local host name, in case ++ * gethostname() returns foo, we want foo.example.com ++ */ ++ if (lookupself && ++ (e = getaddrinfo(host_name, NULL, &hints, &res)) == 0) { ++ if (res->ai_canonname) { ++ strncpy(host_name, res->ai_canonname, ++ sizeof(host_name)-1); ++ host_name[sizeof(host_name)-1] = 0; ++ } + } + if(res) + freeaddrinfo(res); +--- netkit-telnet-0.17.orig/telnetd/telnetd.8.reallynodns 2009-03-12 14:54:54.000000000 -0700 ++++ netkit-telnet-0.17.orig/telnetd/telnetd.8 2009-03-12 14:56:58.000000000 -0700 +@@ -42,7 +42,7 @@ + protocol server + .Sh SYNOPSIS + .Nm /usr/sbin/in.telnetd +-.Op Fl hns ++.Op Fl hnNs + .Op Fl a Ar authmode + .Op Fl D Ar debugmode + .Op Fl L Ar loginprg +@@ -175,6 +175,10 @@ + if the client is still there, so that idle connections + from machines that have crashed or can no longer + be reached may be cleaned up. ++.It Fl N ++Do not use DNS to canonicalize the local hostname; ++.Fn gethostname 2 ++returns a fully qualified name. + .It Fl s + This option is only enabled if + .Nm telnetd diff --git a/netkit-telnet-0.17-telnetrc.patch b/netkit-telnet-0.17-telnetrc.patch new file mode 100644 index 0000000..215a82b --- /dev/null +++ b/netkit-telnet-0.17-telnetrc.patch @@ -0,0 +1,19 @@ +diff --git a/telnet/commands.c b/telnet/commands.c +index 636fb5c..c0cc9b9 100644 +--- a/telnet/commands.c ++++ b/telnet/commands.c +@@ -2217,11 +2217,11 @@ cmdrc(char *m1, char *m2) + if (isspace(line[0])) + continue; + if (strncasecmp(line, m1, l1) == 0) +- strncpy(line, &line[l1], sizeof(line) - l1); ++ memmove(line, &line[l1], sizeof(line) - l1); + else if (strncasecmp(line, m2, l2) == 0) +- strncpy(line, &line[l2], sizeof(line) - l2); ++ memmove(line, &line[l2], sizeof(line) - l2); + else if (strncasecmp(line, "DEFAULT", 7) == 0) +- strncpy(line, &line[7], sizeof(line) - 7); ++ memmove(line, &line[7], sizeof(line) - 7); + else + continue; + if (line[0] != ' ' && line[0] != '\t' && line[0] != '\n') diff --git a/netkit-telnet-0.17.tar.gz b/netkit-telnet-0.17.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..5e7284abaf71d5e235e76f0a05c795949c8ead88 GIT binary patch literal 133749 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 slc_replyend) { ++ int len; ++ int old_len = slc_replyp - slc_reply; ++ unsigned char *p; ++ ++ len = old_len ++ + (want_len / SLC_REPLY_SIZE + 1) * SLC_REPLY_SIZE; ++ p = (unsigned char *)realloc(slc_reply, len); ++ if (p == NULL) ++ free(slc_reply); ++ slc_reply = p; ++ if (slc_reply == NULL) { ++/*@*/ printf("slc_add_reply: realloc() failed!!!\n"); ++ slc_reply = slc_replyp = slc_replyend = NULL; ++ return 1; ++ } ++ slc_replyp = slc_reply + old_len; ++ slc_replyend = slc_reply + len; ++ } ++ return 0; ++} ++ + void + slc_add_reply(unsigned char func, unsigned char flags, cc_t value) + { ++ if (slc_assure_buffer(6)) ++ return; ++ ++ if (slc_replyp == NULL) ++ return; ++ + if ((*slc_replyp++ = func) == IAC) + *slc_replyp++ = IAC; + if ((*slc_replyp++ = flags) == IAC) +@@ -1339,6 +1383,12 @@ + { + int len; + ++ if (slc_assure_buffer(2)) ++ return; ++ ++ if (slc_replyp == NULL) ++ return; ++ + *slc_replyp++ = IAC; + *slc_replyp++ = SE; + len = slc_replyp - slc_reply; +@@ -1456,7 +1506,7 @@ + } + } + +-#define OPT_REPLY_SIZE 256 ++#define OPT_REPLY_SIZE 1024 + unsigned char *opt_reply; + unsigned char *opt_replyp; + unsigned char *opt_replyend; +@@ -1490,10 +1540,38 @@ + env_opt_start_info(void) + { + env_opt_start(); +- if (opt_replyp) ++ if (opt_replyp && (opt_replyp > opt_reply)) + opt_replyp[-1] = TELQUAL_INFO; + } + ++static int ++env_opt_assure_buffer(int want_len); ++ ++ static int ++env_opt_assure_buffer(int want_len) ++{ ++ if ((opt_replyp + want_len) >= opt_replyend) { ++ int len; ++ unsigned char *p; ++ int old_len = opt_replyp - opt_reply; ++ ++ len = old_len ++ + (want_len / OPT_REPLY_SIZE + 1) * OPT_REPLY_SIZE; ++ p = (unsigned char *)realloc(opt_reply, len); ++ if (p == NULL) ++ free(opt_reply); ++ opt_reply = p; ++ if (opt_reply == NULL) { ++/*@*/ printf("env_opt_add: realloc() failed!!!\n"); ++ opt_reply = opt_replyp = opt_replyend = NULL; ++ return 1; ++ } ++ opt_replyp = opt_reply + old_len; ++ opt_replyend = opt_reply + len; ++ } ++ return 0; ++} ++ + void + env_opt_add(unsigned char *ep) + { +@@ -1515,25 +1593,12 @@ + return; + } + vp = env_getvalue(ep, 1); +- if (opt_replyp + (vp ? strlen((char *)vp) : 0) + +- strlen((char *)ep) + 6 > opt_replyend) +- { +- int len; +- unsigned char *p; +- opt_replyend += OPT_REPLY_SIZE; +- len = opt_replyend - opt_reply; +- p = (unsigned char *)realloc(opt_reply, len); +- if (p == NULL) +- free(opt_reply); +- opt_reply = p; +- if (opt_reply == NULL) { +-/*@*/ printf("env_opt_add: realloc() failed!!!\n"); +- opt_reply = opt_replyp = opt_replyend = NULL; +- return; +- } +- opt_replyp = opt_reply + len - (opt_replyend - opt_replyp); +- opt_replyend = opt_reply + len; +- } ++ ++ /* use the double length in case it gots escaped */ ++ if (env_opt_assure_buffer((vp ? strlen((char *)vp)*2 : 0) + ++ strlen((char *)ep)*2 + 6)) ++ return; ++ + if (opt_welldefined((char *)ep)) + #ifdef OLD_ENVIRON + if (telopt_environ == TELOPT_OLD_ENVIRON) +@@ -1588,8 +1653,14 @@ + { + int len; + ++ if (opt_reply == NULL) /*XXX*/ ++ return; /*XXX*/ ++ ++ + len = opt_replyp - opt_reply + 2; + if (emptyok || len > 6) { ++ if (env_opt_assure_buffer(2)) ++ return; + *opt_replyp++ = IAC; + *opt_replyp++ = SE; + if (NETROOM() > len) { diff --git a/telnet-0.17-argv.patch b/telnet-0.17-argv.patch new file mode 100644 index 0000000..6f71bed --- /dev/null +++ b/telnet-0.17-argv.patch @@ -0,0 +1,12 @@ +diff -ur netkit-telnet-0.17/telnetd/setproctitle.c netkit-telnet-0.17.new/telnetd/setproctitle.c +--- netkit-telnet-0.17/telnetd/setproctitle.c 1999-12-11 00:06:39.000000000 +0100 ++++ netkit-telnet-0.17.new/telnetd/setproctitle.c 2004-06-28 16:48:51.153514392 +0200 +@@ -139,7 +139,7 @@ + (void) strcpy(Argv[0], buf); + p = &Argv[0][i]; + while (p < LastArgv) +- *p++ = ' '; ++ *p++ = '\0'; + Argv[1] = NULL; + } + diff --git a/telnet-0.17-cleanup_race.patch b/telnet-0.17-cleanup_race.patch new file mode 100644 index 0000000..bc3c0f5 --- /dev/null +++ b/telnet-0.17-cleanup_race.patch @@ -0,0 +1,11 @@ +--- netkit-telnet-0.17/telnetd/telnetd.c.cleanup_race 2005-01-11 18:39:49.578123000 -0500 ++++ netkit-telnet-0.17/telnetd/telnetd.c 2005-01-11 18:42:45.909616000 -0500 +@@ -1081,6 +1081,8 @@ + if (FD_ISSET(p, &obits) && (pfrontp - pbackp) > 0) + ptyflush(); + } ++ /* to avoid a race for wtmp lock */ ++ signal(SIGCHLD, SIG_IGN); + cleanup(0); + } /* end of telnet */ + diff --git a/telnet-0.17-conf.patch b/telnet-0.17-conf.patch new file mode 100644 index 0000000..512f104 --- /dev/null +++ b/telnet-0.17-conf.patch @@ -0,0 +1,23 @@ +--- netkit-telnet-0.17/configure.confverb 2000-07-29 20:00:29.000000000 +0200 ++++ netkit-telnet-0.17/configure 2004-07-05 10:50:36.492963840 +0200 +@@ -263,14 +263,19 @@ + cat <__conftest.cc + #include + #include +-int count=0; ++volatile int count=0; + void handle(int foo) { count++; } + int main() { ++ sigset_t sset; + int pid=getpid(); ++ sigemptyset(&sset); ++ sigaddset(&sset, SIGINT); ++ sigprocmask(SIG_UNBLOCK, &sset, NULL); + signal(SIGINT, handle); + kill(pid,SIGINT); + kill(pid,SIGINT); + kill(pid,SIGINT); ++ sleep(1); + if (count!=3) return 1; + return 0; + } diff --git a/telnet-0.17-env.patch b/telnet-0.17-env.patch new file mode 100644 index 0000000..88e7c01 --- /dev/null +++ b/telnet-0.17-env.patch @@ -0,0 +1,84 @@ +--- netkit-telnet-0.17-pre-20000204/telnet/commands.c.env Thu Apr 8 19:30:20 1999 ++++ netkit-telnet-0.17-pre-20000204/telnet/commands.c Tue May 16 17:19:47 2000 +@@ -1815,11 +1815,11 @@ + } + + unsigned char * +-env_getvalue(unsigned char *var) ++env_getvalue(unsigned char *var, int exported_only) + { +- struct env_lst *ep; ++ struct env_lst *ep = env_find(var); + +- if ((ep = env_find(var))) ++ if (ep && (!exported_only || ep->export)) + return(ep->value); + return(NULL); + } +--- netkit-telnet-0.17-pre-20000204/telnet/telnet.c.env Tue May 16 17:19:47 2000 ++++ netkit-telnet-0.17-pre-20000204/telnet/telnet.c Tue May 16 17:19:47 2000 +@@ -438,7 +438,7 @@ + #endif + + case TELOPT_XDISPLOC: /* X Display location */ +- if (env_getvalue((unsigned char *)"DISPLAY")) ++ if (env_getvalue((unsigned char *)"DISPLAY", 0)) + new_state_ok = 1; + break; + +@@ -693,7 +693,7 @@ + resettermname = 0; + if (tnamep && tnamep != unknown) + free(tnamep); +- if ((tname = (char *)env_getvalue((unsigned char *)"TERM")) && ++ if ((tname = (char *)env_getvalue((unsigned char *)"TERM", 0)) && + (setupterm(tname, 1, &errret) == 0)) { + tnamep = mklist(ttytype, tname); + } else { +@@ -870,7 +870,7 @@ + unsigned char temp[50], *dp; + int len; + +- if ((dp = env_getvalue((unsigned char *)"DISPLAY")) == NULL) { ++ if ((dp = env_getvalue((unsigned char *)"DISPLAY", 0)) == NULL) { + /* + * Something happened, we no longer have a DISPLAY + * variable. So, turn off the option. +@@ -1527,7 +1527,7 @@ + env_opt_add(ep); + return; + } +- vp = env_getvalue(ep); ++ vp = env_getvalue(ep, 1); + if (opt_replyp + (vp ? strlen((char *)vp) : 0) + + strlen((char *)ep) + 6 > opt_replyend) + { +@@ -2170,7 +2170,7 @@ + send_will(TELOPT_LINEMODE, 1); + send_will(TELOPT_NEW_ENVIRON, 1); + send_do(TELOPT_STATUS, 1); +- if (env_getvalue((unsigned char *)"DISPLAY")) ++ if (env_getvalue((unsigned char *)"DISPLAY", 0)) + send_will(TELOPT_XDISPLOC, 1); + if (binary) + tel_enter_binary(binary); +--- netkit-telnet-0.17-pre-20000204/telnet/externs.h.env Mon Feb 8 15:56:11 1999 ++++ netkit-telnet-0.17-pre-20000204/telnet/externs.h Tue May 16 17:19:47 2000 +@@ -203,7 +203,7 @@ + void env_send (unsigned char *); + void env_list (void); + unsigned char * env_default(int init, int welldefined); +-unsigned char * env_getvalue(unsigned char *var); ++unsigned char * env_getvalue(unsigned char *var, int exported_only); + + void set_escape_char(char *s); + unsigned long sourceroute(char *arg, char **cpp, int *lenp); +@@ -335,7 +335,7 @@ + void env_opt_end (int); + + unsigned char *env_default (int, int); +-unsigned char *env_getvalue (unsigned char *); ++unsigned char *env_getvalue (unsigned char *, int); + + int get_status (void); + int dosynch (void); diff --git a/telnet-0.17-errno_test_sys_bsd.patch b/telnet-0.17-errno_test_sys_bsd.patch new file mode 100644 index 0000000..9a4fcba --- /dev/null +++ b/telnet-0.17-errno_test_sys_bsd.patch @@ -0,0 +1,24 @@ +diff -up netkit-telnet-0.17/telnet/sys_bsd.c.errnosysbsd netkit-telnet-0.17/telnet/sys_bsd.c +--- netkit-telnet-0.17/telnet/sys_bsd.c.errnosysbsd 2007-09-20 10:57:58.000000000 +0200 ++++ netkit-telnet-0.17/telnet/sys_bsd.c 2007-09-20 11:10:08.000000000 +0200 +@@ -375,6 +375,7 @@ TerminalNewMode(int f) + int onoff; + int old; + cc_t esc; ++ int err; + + globalmode = f&~MODE_FORCE; + if (prevmode == f) +@@ -407,6 +408,12 @@ TerminalNewMode(int f) + tcsetattr(tin, TCSADRAIN, &tmp_tc); + #endif /* USE_TERMIO */ + old = ttyflush(SYNCHing|flushout); ++ if (old < 0) { ++ err = errno; ++ if (! ((err == EINTR) || (err == EAGAIN) || (err == ENOSPC))) { ++ break; ++ } ++ } + } while (old < 0 || old > 1); + } + diff --git a/telnet-0.17-force-ipv6-ipv4.patch b/telnet-0.17-force-ipv6-ipv4.patch new file mode 100644 index 0000000..b6f7f3f --- /dev/null +++ b/telnet-0.17-force-ipv6-ipv4.patch @@ -0,0 +1,132 @@ +diff --git a/commands.c b/commands.c +index 49619ac..636fb5c 100644 +--- a/telnet/commands.c ++++ b/telnet/commands.c +@@ -2267,6 +2267,7 @@ tn(int argc, char *argv[]) + char *srp = 0; + int srlen; + #endif ++ int family = AF_UNSPEC; + char *cmd, *hostp = 0, *portp = 0, *user = 0, *aliasp = 0; + int retry; + #ifdef NI_WITHSCOPEID +@@ -2317,6 +2318,21 @@ tn(int argc, char *argv[]) + autologin = 1; + continue; + } ++ ++ if (strcmp(*argv, "-6") == 0) { ++ --argc; ++argv; ++#ifdef AF_INET6 ++ family = AF_INET6; ++#else ++ puts("IPv6 unsupported"); ++#endif ++ continue; ++ } ++ if (strcmp(*argv, "-4") == 0) { ++ --argc; ++argv; ++ family = AF_INET; ++ continue; ++ } + if (hostp == 0) { + hostp = *argv++; + --argc; +@@ -2355,7 +2371,7 @@ tn(int argc, char *argv[]) + { + hostname = hostp; + memset(&hints, 0, sizeof(hints)); +- hints.ai_family = PF_UNSPEC; ++ hints.ai_family = family; + hints.ai_socktype = SOCK_STREAM; + hints.ai_flags = AI_CANONNAME; + if (portp == NULL) { +diff --git a/main.c b/main.c +index 5fa96e8..599f0af 100644 +--- a/telnet/main.c ++++ b/telnet/main.c +@@ -80,10 +80,10 @@ usage(void) + fprintf(stderr, "Usage: %s %s%s%s%s\n", + prompt, + #ifdef AUTHENTICATION +- "[-8] [-E] [-K] [-L] [-S tos] [-X atype] [-a] [-c] [-d] [-e char]", ++ "[-4] [-6] [-8] [-E] [-K] [-L] [-S tos] [-X atype] [-a] [-c] [-d] [-e char]", + "\n\t[-k realm] [-l user] [-f/-F] [-n tracefile] [-b hostalias ] ", + #else +- "[-8] [-E] [-L] [-S tos] [-a] [-c] [-d] [-e char] [-l user]", ++ "[-4] [-6] [-8] [-E] [-L] [-S tos] [-a] [-c] [-d] [-e char] [-l user]", + "\n\t[-n tracefile] [-b hostalias ] ", + #endif + #if defined(TN3270) && defined(unix) +@@ -116,6 +116,7 @@ main(int argc, char *argv[]) + #endif + int ch; + char *user, *alias; ++ int family; + #ifdef FORWARD + extern int forward_flags; + #endif /* FORWARD */ +@@ -130,7 +131,6 @@ main(int argc, char *argv[]) + prompt = argv[0]; + + user = alias = NULL; +- + rlogin = (strncmp(prompt, "rlog", 4) == 0) ? '~' : _POSIX_VDISABLE; + + /* +@@ -139,9 +139,19 @@ main(int argc, char *argv[]) + * passed + */ + autologin = -1; +- +- while ((ch = getopt(argc, argv, "78DEKLS:X:ab:cde:fFk:l:n:rt:x")) != -1) { ++ family = 0; ++ while ((ch = getopt(argc, argv, "4678DEKLS:X:ab:cde:fFk:l:n:rt:x")) != -1) { + switch(ch) { ++ case '4': ++ family = AF_INET; ++ break; ++ case '6': ++#ifdef AF_INET6 ++ family = AF_INET6; ++#else ++ fputs("IPv6 unsupported\n", stderr); ++#endif ++ break; + case '8': + binary = 3; /* send TELNET BINARY option for output and input */ + break; +@@ -340,6 +350,9 @@ main(int argc, char *argv[]) + *argp++ = "-b"; + *argp++ = alias; + } ++ if (family) { ++ *argp++ = family == AF_INET ? "-4" : "-6"; ++ } + *argp++ = argv[0]; /* host */ + if (argc > 1) + *argp++ = argv[1]; /* port */ +diff --git a/telnet.1 b/telnet.1 +index 50015a6..f30e034 100644 +--- a/telnet/telnet.1 ++++ b/telnet/telnet.1 +@@ -44,7 +44,7 @@ + protocol + .Sh SYNOPSIS + .Nm telnet +-.Op Fl 8EFKLacdfrx ++.Op Fl 468EFKLacdfrx + .Op Fl X Ar authtype + .Op Fl b Ar hostalias + .Op Fl e Ar escapechar +@@ -76,6 +76,10 @@ command with those arguments. + .Pp + The options are as follows: + .Bl -tag -width Ds ++.It Fl 4 ++Force IPv4 address resolution. ++.It Fl 6 ++Force IPv6 address resolution. + .It Fl 7 + Strip 8th bit on input and output. Telnet is 8-bit clean by default but doesn't send the TELNET BINARY option unless forced. + .It Fl 8 diff --git a/telnet-0.17-issue.patch b/telnet-0.17-issue.patch new file mode 100644 index 0000000..c00df43 --- /dev/null +++ b/telnet-0.17-issue.patch @@ -0,0 +1,81 @@ +--- netkit-telnet-0.17/telnetd/utility.c.issue Sun Dec 12 09:59:45 1999 ++++ netkit-telnet-0.17/telnetd/utility.c Wed Jul 18 11:14:11 2001 +@@ -460,13 +460,13 @@ + putlocation = where; + + while (*cp) { +- if (*cp != '%') { ++ if (*cp != '%' && *cp != '\\') { + putchr(*cp++); + continue; + } + switch (*++cp) { + +- case 't': ++ case 'l': + slash = strrchr(line, '/'); + if (slash == NULL) + putstr(line); +@@ -474,21 +474,28 @@ + putstr(slash+1); + break; + ++ case 'n': + case 'h': + putstr(editedhost); + break; + ++ case 't': + case 'd': + (void)time(&t); + (void)strftime(db, sizeof(db), fmtstr, localtime(&t)); + putstr(db); + break; + ++ case '\\': ++ putchr('\\'); ++ break; ++ + case '%': + putchr('%'); + break; + + case 'D': ++ case 'o': + { + char buff[128]; + +@@ -515,7 +522,7 @@ + c = fgetc(fp); + } while (c != EOF && c != '\n'); + continue; +- } else if (c == '%') { ++ } else if (c == '%' || c == '\\') { + buff[0] = c; + c = fgetc(fp); + if (c == EOF) break; +--- netkit-telnet-0.17/telnetd/issue.net.5.issue Sun Jul 30 19:57:09 2000 ++++ netkit-telnet-0.17/telnetd/issue.net.5 Wed Jul 18 11:03:09 2001 +@@ -15,16 +15,17 @@ + .Pa /etc/issue.net + is a text file which contains a message or system identification to be + printed before the login prompt of a telnet session. It may contain +-various `%-char' sequences. The following sequences are supported by ++various `%-char' (or, alternatively, '\\-char') sequences. The following ++sequences are supported by + .Ic telnetd : + .Bl -tag -offset indent -compact -width "abcde" +-.It %t ++.It %l + - show the current tty +-.It %h ++.It %h, %n + - show the system node name (FQDN) +-.It %D ++.It %D, %o + - show the name of the NIS domain +-.It %d ++.It %d, %t + - show the current time and date + .It %s + - show the name of the operating system diff --git a/telnet-0.17-pek.patch b/telnet-0.17-pek.patch new file mode 100644 index 0000000..959ee8a --- /dev/null +++ b/telnet-0.17-pek.patch @@ -0,0 +1,37 @@ +diff -u a/telnet/commands.c b/telnet.new/commands.c +--- a/telnet/commands.c Sat Sep 1 12:55:18 2001 ++++ b/telnet.new/commands.c Sat Sep 1 12:54:36 2001 +@@ -2354,6 +2354,7 @@ + hints.ai_flags = AI_CANONNAME; + if (portp == NULL) { + portp = "telnet"; ++ telnetport = 1; + } else if (*portp == '-') { + portp++; + telnetport = 1; +@@ -2397,7 +2398,6 @@ + if (error) { + warn("%s: %s", aliasp, gai_strerror(error)); + close(net); +- freeaddrinfo(ares); + continue; + } + if (bind(net, ares->ai_addr, ares->ai_addrlen) < 0) { +@@ -2414,7 +2414,7 @@ + perror("setsockopt (IP_OPTIONS)"); + #endif + #if defined(IPPROTO_IP) && defined(IP_TOS) +- { ++ if (res->ai_family == AF_INET) { + # if defined(HAS_GETTOS) + struct tosent *tp; + if (tos < 0 && (tp = gettosbyname("telnet", "tcp"))) +@@ -2438,7 +2438,7 @@ + char hbuf[NI_MAXHOST]; + + if (getnameinfo(res->ai_addr, res->ai_addrlen, hbuf, sizeof(hbuf), +- NULL, 0, NI_NUMERICHOST) != 0) { ++ NULL, 0, niflags) != 0) { + strcpy(hbuf, "(invalid)"); + } + fprintf(stderr, "telnet: connect to address %s: %s\n", hbuf, diff --git a/telnet-0.17-sa-01-49.patch b/telnet-0.17-sa-01-49.patch new file mode 100644 index 0000000..64ed23c --- /dev/null +++ b/telnet-0.17-sa-01-49.patch @@ -0,0 +1,208 @@ +diff -up netkit-telnet-0.17/telnetd/ext.h.sa-01-49 netkit-telnet-0.17/telnetd/ext.h +--- netkit-telnet-0.17/telnetd/ext.h.sa-01-49 1999-12-12 15:59:44.000000000 +0100 ++++ netkit-telnet-0.17/telnetd/ext.h 2011-01-20 22:39:54.000000000 +0100 +@@ -86,7 +86,10 @@ extern char *neturg; /* one past last b + extern int pcc, ncc; + + /* printf into netobuf */ +-void netoprintf(const char *fmt, ...) __attribute((format (printf, 1, 2))); ++/* void netoprintf(const char *fmt, ...) __attribute((format (printf, 1, 2))); */ ++#define netoprintf output_data ++int output_data(const char *, ...) __attribute((format (printf, 1, 2))); ++void output_datalen(const char *, int); + + extern int pty, net; + extern char *line; +@@ -182,7 +185,10 @@ void tty_setsofttab(int); + void tty_tspeed(int); + void willoption(int); + void wontoption(int); ++ ++#if 0 + void writenet(unsigned char *, int); ++#endif + + #if defined(ENCRYPT) + extern void (*encrypt_output)(unsigned char *, int); +diff -up netkit-telnet-0.17/telnetd/slc.c.sa-01-49 netkit-telnet-0.17/telnetd/slc.c +--- netkit-telnet-0.17/telnetd/slc.c.sa-01-49 1999-12-12 15:59:44.000000000 +0100 ++++ netkit-telnet-0.17/telnetd/slc.c 2011-01-20 22:39:54.000000000 +0100 +@@ -183,7 +183,7 @@ int end_slc(unsigned char **bufp) { + else { + snprintf(slcbuf+slcoff, sizeof(slcbuf)-slcoff, "%c%c", IAC, SE); + slcoff += 2; +- writenet(slcbuf, slcoff); ++ output_datalen(slcbuf, slcoff); + netflush(); /* force it out immediately */ + } + } +diff -up netkit-telnet-0.17/telnetd/state.c.sa-01-49 netkit-telnet-0.17/telnetd/state.c +--- netkit-telnet-0.17/telnetd/state.c.sa-01-49 1999-12-12 20:41:44.000000000 +0100 ++++ netkit-telnet-0.17/telnetd/state.c 2011-01-20 22:43:34.000000000 +0100 +@@ -37,6 +37,7 @@ + char state_rcsid[] = + "$Id: state.c,v 1.12 1999/12/12 19:41:44 dholland Exp $"; + ++#include + #include "telnetd.h" + + int not42 = 1; +@@ -1365,7 +1366,7 @@ void send_status(void) { + ADD(IAC); + ADD(SE); + +- writenet(statusbuf, ncp - statusbuf); ++ output_datalen(statusbuf, ncp - statusbuf); + netflush(); /* Send it on its way */ + + DIAG(TD_OPTIONS, {printsub('>', statusbuf, ncp - statusbuf); netflush();}); +diff -up netkit-telnet-0.17/telnetd/termstat.c.sa-01-49 netkit-telnet-0.17/telnetd/termstat.c +--- netkit-telnet-0.17/telnetd/termstat.c.sa-01-49 1999-12-12 15:59:45.000000000 +0100 ++++ netkit-telnet-0.17/telnetd/termstat.c 2011-01-20 22:39:54.000000000 +0100 +@@ -128,7 +128,6 @@ static int _terminit = 0; + void + localstat() + { +- void netflush(); + int need_will_echo = 0; + + /* +diff -up netkit-telnet-0.17/telnetd/utility.c.sa-01-49 netkit-telnet-0.17/telnetd/utility.c +--- netkit-telnet-0.17/telnetd/utility.c.sa-01-49 2011-01-20 22:39:54.000000000 +0100 ++++ netkit-telnet-0.17/telnetd/utility.c 2011-01-20 22:48:02.000000000 +0100 +@@ -38,8 +38,10 @@ char util_rcsid[] = + "$Id: utility.c,v 1.11 1999/12/12 14:59:45 dholland Exp $"; + + #define PRINTOPTIONS ++#define _GNU_SOURCE + + #include ++#include + #include + + #ifdef AUTHENTICATE +@@ -52,6 +54,53 @@ char util_rcsid[] = + * utility functions performing io related tasks + */ + ++/* ++ * This function appends data to nfrontp and advances nfrontp. ++ * Returns the number of characters written altogether (the ++ * buffer may have been flushed in the process). ++ */ ++ ++int ++output_data(const char *format, ...) ++{ ++ va_list args; ++ int len; ++ char *buf; ++ ++ va_start(args, format); ++ if ((len = vasprintf(&buf, format, args)) == -1) ++ return -1; ++ output_datalen(buf, len); ++ va_end(args); ++ free(buf); ++ return (len); ++} ++ ++void ++output_datalen(const char *buf, int len) ++{ ++ int remaining, copied; ++ ++ remaining = BUFSIZ - (nfrontp - netobuf); ++ while (len > 0) { ++ /* Free up enough space if the room is too low*/ ++ if ((len > BUFSIZ ? BUFSIZ : len) > remaining) { ++ netflush(); ++ remaining = BUFSIZ - (nfrontp - netobuf); ++ } ++ ++ /* Copy out as much as will fit */ ++ copied = remaining > len ? len : remaining; ++ memmove(nfrontp, buf, copied); ++ nfrontp += copied; ++ len -= copied; ++ remaining -= copied; ++ buf += copied; ++ } ++ return; ++} ++ ++/** + void + netoprintf(const char *fmt, ...) + { +@@ -67,7 +116,7 @@ netoprintf(const char *fmt, ...) + va_end(ap); + + if (len<0 || len==maxsize) { +- /* didn't fit */ ++ / * did not fit * / + netflush(); + } + else { +@@ -76,6 +125,7 @@ netoprintf(const char *fmt, ...) + } + nfrontp += len; + } ++*/ + + /* + * ttloop +@@ -273,10 +323,15 @@ netflush(void) + int n; + + if ((n = nfrontp - nbackp) > 0) { ++ ++#if 0 ++ /* XXX This causes output_data() to recurse and die */ + DIAG(TD_REPORT, + { netoprintf("td: netflush %d chars\r\n", n); + n = nfrontp - nbackp; /* update count */ + }); ++#endif ++ + #if defined(ENCRYPT) + if (encrypt_output) { + char *s = nclearto ? nclearto : nbackp; +@@ -310,11 +365,14 @@ netflush(void) + } + } + } +- if (n < 0) { +- if (errno == EWOULDBLOCK || errno == EINTR) +- return; +- cleanup(0); +- } ++ ++ if (n == -1) { ++ if (errno == EWOULDBLOCK || errno == EINTR) ++ return; ++ cleanup(0); ++ /* NOTREACHED */ ++ } ++ + nbackp += n; + #if defined(ENCRYPT) + if (nbackp > nclearto) +@@ -332,7 +390,7 @@ netflush(void) + return; + } /* end of netflush */ + +- ++#if 0 + /* + * writenet + * +@@ -355,7 +413,7 @@ void writenet(register unsigned char *pt + nfrontp += len; + + } /* end of writenet */ +- ++#endif + + /* + * miscellaneous functions doing a variety of little jobs follow ... diff --git a/telnet-client-cvs.patch b/telnet-client-cvs.patch new file mode 100644 index 0000000..1f4e6b7 --- /dev/null +++ b/telnet-client-cvs.patch @@ -0,0 +1,1721 @@ +diff -uNr a/telnet/Makefile b/telnet.obsd-cvs/Makefile +--- a/telnet/Makefile Mon Jul 27 18:25:13 1998 ++++ b/telnet.obsd-cvs/Makefile Sat Mar 10 10:54:26 2001 +@@ -36,22 +36,20 @@ + + PROG= telnet + +-CFLAGS+=-DTERMCAP -DKLUDGELINEMODE -DUSE_TERMIO -DSKEY -Dunix +-CFLAGS+=-DENV_HACK -D_USE_OLD_CURSES_ ++CFLAGS+=-DKLUDGELINEMODE -DUSE_TERMIO -DENV_HACK -DSKEY -Dunix + CFLAGS+=-I${.CURDIR}/../../lib +-LDADD+= -locurses -ltelnet +-DPADD= ${LIBOLDCURSES} ${LIBTELNET} ++LDADD+= -lcurses -ltelnet ++DPADD= ${LIBCURSES} ${LIBTELNET + + SRCS= authenc.c commands.c main.c network.c ring.c sys_bsd.c telnet.c \ + terminal.c tn3270.c utilities.c + + .include # for KERBEROS + +-.if (${KERBEROS} == "yes") ++.if (${KERBEROS:L} == "yes") + CFLAGS+=-DENCRYPTION -DAUTHENTICATION -DKRB4 + LDADD+= -lkrb -ldes + DPADD+= ${LIBDES} ${LIBKRB} + .endif + + .include +- +diff -uNr a/telnet/commands.c b/telnet.obsd-cvs/commands.c +--- a/telnet/commands.c Fri Apr 9 02:30:20 1999 ++++ b/telnet.obsd-cvs/commands.c Sat Mar 10 10:51:22 2001 +@@ -1,4 +1,4 @@ +-/* $OpenBSD: commands.c,v 1.20 1999/01/04 07:55:05 art Exp $ */ ++/* $OpenBSD: commands.c,v 1.34 2000/11/08 21:49:44 aaron Exp $ */ + /* $NetBSD: commands.c,v 1.14 1996/03/24 22:03:48 jtk Exp $ */ + + /* +@@ -69,7 +69,7 @@ + int status; + + if(argc != 3) { +- printf("%s sequence challenge\n", argv[0]); ++ printf("usage: %s sequence challenge\n", argv[0]); + return 0; + } + +@@ -2175,17 +2175,19 @@ + int gotmachine = 0; + int l1 = strlen(m1); + int l2 = strlen(m2); +- char m1save[64]; ++ char m1save[MAXHOSTNAMELEN]; + + if (skiprc) + return; + +- strcpy(m1save, m1); ++ strncpy(m1save, m1, sizeof(m1save)); + m1 = m1save; + + if (rcname[0] == 0) { + char *home = getenv("HOME"); + ++ if (home == NULL || *home == '\0') ++ return; + snprintf (rcname, sizeof(rcname), "%s/.telnetrc", + home ? home : ""); + } +@@ -2248,15 +2250,9 @@ + int + tn(int argc, char *argv[]) + { +- struct hostent *host = 0, *alias = 0; +-#if defined(AF_INET6) +- struct sockaddr_in6 sin6; +-#endif ++ struct addrinfo hints, *res, *res0; ++ int error; + struct sockaddr_in sin; +- struct sockaddr_in ladr; +- struct sockaddr *sa; +- int sa_size; +- struct servent *sp = 0; + unsigned long temp; + #if !defined(__linux__) + extern char *inet_ntoa(); +@@ -2266,15 +2262,18 @@ + int srlen; + #endif + char *cmd, *hostp = 0, *portp = 0, *user = 0, *aliasp = 0; +- int family, port = 0; +- ++ int retry; ++#ifdef NI_WITHSCOPEID ++ const int niflags = NI_NUMERICHOST | NI_WITHSCOPEID; ++#else ++ const int niflags = NI_NUMERICHOST; ++#endif ++ + /* clear the socket address prior to use */ + memset((char *)&sin, 0, sizeof(sin)); + + if (connected) { + printf("?Already connected to %s\r\n", hostname); +- seteuid(getuid()); +- setuid(getuid()); + return 0; + } + if (argc < 2) { +@@ -2324,8 +2323,6 @@ + } + usage: + printf("usage: %s [-l user] [-a] host-name [port]\r\n", cmd); +- seteuid(getuid()); +- setuid(getuid()); + return 0; + } + if (hostp == 0) +@@ -2340,185 +2337,80 @@ + temp = sourceroute(hostp, &srp, &srlen); + if (temp == 0) { + herror(srp); +- seteuid(getuid()); +- setuid(getuid()); + return 0; + } else if (temp == -1) { + printf("Bad source route option: %s\r\n", hostp); +- seteuid(getuid()); +- setuid(getuid()); + return 0; + } else { + abort(); + } +- } else { +-#endif +- memset (&sin, 0, sizeof(sin)); +-#if defined(HAVE_INET_PTON) && defined(AF_INET6) +- memset (&sin6, 0, sizeof(sin6)); +- +- if(inet_pton(AF_INET6, hostp, &sin6.sin6_addr)) { +- sin6.sin6_family = family = AF_INET6; +- sa = (struct sockaddr *)&sin6; +- sa_size = sizeof(sin6); +- strcpy(_hostname, hostp); +- hostname =_hostname; +- } else +-#endif +- if(inet_aton(hostp, &sin.sin_addr)){ +- sin.sin_family = family = AF_INET; +- sa = (struct sockaddr *)&sin; +- sa_size = sizeof(sin); +- strcpy(_hostname, hostp); +- hostname = _hostname; +- } else { +-#ifdef HAVE_GETHOSTBYNAME2 +- host = gethostbyname2(hostp, AF_INET6); +- if(host == NULL) +- host = gethostbyname2(hostp, AF_INET); +-#else +- host = gethostbyname(hostp); +-#endif +- if (host) { +- strncpy(_hostname, host->h_name, sizeof(_hostname)); +- family = host->h_addrtype; +- +- switch(family) { +- case AF_INET: +- memset(&sin, 0, sizeof(sin)); +- sa_size = sizeof(sin); +- sa = (struct sockaddr *)&sin; +- sin.sin_family = family; +- +- memcpy(&sin.sin_addr, *host->h_addr_list, sizeof(struct in_addr)); +- break; +-#if defined(AF_INET6) && defined(HAVE_STRUCT_SOCKADDR_IN6) +- case AF_INET6: +- memset(&sin6, 0, sizeof(sin6)); +- sa_size = sizeof(sin6); +- sa = (struct sockaddr *)&sin6; +- sin6.sin6_family = family; +- memcpy(&sin6.sin6_addr, *host->h_addr_list, sizeof(struct in6_addr)); +- break; +-#endif +- default: +- fprintf(stderr, "Bad address family: %d\n", family); +- return 0; +- } +- +- _hostname[sizeof(_hostname)-1] = '\0'; +- hostname = _hostname; +- } else { +- herror(hostp); +- seteuid(getuid()); +- setuid(getuid()); +- return 0; +- } +- } +-#if defined(IP_OPTIONS) && defined(IPPROTO_IP) +- } ++ } else + #endif +- if (portp) { +- if (*portp == '-') { +- portp++; +- telnetport = 1; +- } else +- telnetport = 0; +- port = atoi(portp); +- if (port == 0) { +- sp = getservbyname(portp, "tcp"); +- if (sp) +- port = sp->s_port; +- else { +- printf("%s: bad port number\r\n", portp); +- seteuid(getuid()); +- setuid(getuid()); +- return 0; +- } +- } else { +- port = htons(port); +- } +- } else { +- if (sp == 0) { +- sp = getservbyname("telnet", "tcp"); +- if (sp == 0) { +- fprintf(stderr, "telnet: tcp/telnet: unknown service\r\n"); +- seteuid(getuid()); +- setuid(getuid()); +- return 0; +- } +- port = sp->s_port; ++ { ++ hostname = hostp; ++ memset(&hints, 0, sizeof(hints)); ++ hints.ai_family = PF_UNSPEC; ++ hints.ai_socktype = SOCK_STREAM; ++ hints.ai_flags = AI_CANONNAME; ++ if (portp == NULL) { ++ portp = "telnet"; ++ } else if (*portp == '-') { ++ portp++; ++ telnetport = 1; ++ } ++ h_errno = 0; ++ error = getaddrinfo(hostp, portp, &hints, &res0); ++ if (error) { ++ if (error == EAI_SERVICE) ++ warnx("%s: bad port", portp); ++ else ++ warnx("%s: %s", hostp, gai_strerror(error)); ++ if (h_errno) ++ herror(hostp); ++ return 0; + } +- telnetport = 1; + } +- switch(family) { +- case AF_INET: +- sin.sin_port = port; +- printf("Trying %s...\r\n", inet_ntoa(sin.sin_addr)); +- break; +-#if defined(AF_INET6) && defined(HAVE_STRUCT_SOCKADDR_IN6) +- case AF_INET6: { +-#ifndef INET6_ADDRSTRLEN +-#define INET6_ADDRSTRLEN 46 +-#endif + +- char buf[INET6_ADDRSTRLEN]; +- +- sin6.sin6_port = port; +-#ifdef HAVE_INET_NTOP +- printf("Trying %s...\r\n", inet_ntop(AF_INET6, +- &sin6.sin6_addr, +- buf, +- sizeof(buf))); +-#endif +- break; +- } +-#endif +- default: +- abort(); +- } +- +- do { +- net = socket(family, SOCK_STREAM, 0); +- seteuid(getuid()); +- setuid(getuid()); +- if (net < 0) { +- perror("telnet: socket"); +- return 0; ++ net = -1; ++ retry = 0; ++ for (res = res0; res; res = res->ai_next) { ++ if (1 /* retry */) { ++ char hbuf[NI_MAXHOST]; ++ ++ if (getnameinfo(res->ai_addr, res->ai_addrlen, hbuf, sizeof(hbuf), ++ NULL, 0, niflags) != 0) { ++ strcpy(hbuf, "(invalid)"); ++ } ++ printf("Trying %s...\r\n", hbuf); + } ++ net = socket(res->ai_family, res->ai_socktype, res->ai_protocol); ++ if (net < 0) ++ continue; ++ + if (aliasp) { +- memset ((caddr_t)&ladr, 0, sizeof (ladr)); +- temp = inet_addr(aliasp); +- if (temp != INADDR_NONE) { +- ladr.sin_addr.s_addr = temp; +- ladr.sin_family = AF_INET; +- alias = gethostbyaddr((char *)&temp, sizeof(temp), AF_INET); +- } else { +- alias = gethostbyname(aliasp); +- if (alias) { +- ladr.sin_family = alias->h_addrtype; +-#if defined(h_addr) /* In 4.3, this is a #define */ +- memmove((caddr_t)&ladr.sin_addr, +- alias->h_addr_list[0], alias->h_length); +-#else /* defined(h_addr) */ +- memmove((caddr_t)&ladr.sin_addr, alias->h_addr, +- alias->h_length); +-#endif /* defined(h_addr) */ +- } else { +- herror(aliasp); +- return 0; +- } ++ struct addrinfo ahints, *ares; ++ memset(&ahints, 0, sizeof(ahints)); ++ ahints.ai_family = PF_UNSPEC; ++ ahints.ai_socktype = SOCK_STREAM; ++ ahints.ai_flags = AI_PASSIVE; ++ error = getaddrinfo(aliasp, "0", &ahints, &ares); ++ if (error) { ++ warn("%s: %s", aliasp, gai_strerror(error)); ++ close(net); ++ freeaddrinfo(ares); ++ continue; + } +- ladr.sin_port = htons(0); +- +- if (bind (net, (struct sockaddr *)&ladr, sizeof(ladr)) < 0) { +- perror(aliasp);; ++ if (bind(net, ares->ai_addr, ares->ai_addrlen) < 0) { ++ perror(aliasp); + (void) close(net); /* dump descriptor */ +- return 0; ++ freeaddrinfo(ares); ++ continue; + } ++ freeaddrinfo(ares); + } + #if defined(IP_OPTIONS) && defined(IPPROTO_IP) +- if (srp && setsockopt(net, IPPROTO_IP, IP_OPTIONS, (char *)srp, srlen) < 0) ++ if (srp && res->ai_family == AF_INET ++ && setsockopt(net, IPPROTO_IP, IP_OPTIONS, (char *)srp, srlen) < 0) + perror("setsockopt (IP_OPTIONS)"); + #endif + #if defined(IPPROTO_IP) && defined(IP_TOS) +@@ -2542,65 +2434,32 @@ + perror("setsockopt (SO_DEBUG)"); + } + +- if (connect(net, sa, sa_size) < 0) { +- int retry = 0; +- +- if (host && host->h_addr_list[1]) { +- int oerrno = errno; +- retry = 1; +- +- switch(family) { +- case AF_INET : +- fprintf(stderr, "telnet: connect to address %s: ", +- inet_ntoa(sin.sin_addr)); +- ++host->h_addr_list; +- memcpy(&sin.sin_addr, *host->h_addr_list, sizeof(struct in_addr)); +- break; +-#if defined(AF_INET6) && defined(HAVE_STRUCT_SOCKADDR_IN6) +- case AF_INET6: { +- char buf[INET6_ADDRSTRLEN]; +- +- fprintf(stderr, "telnet: connect to address %s: ", +- inet_ntop(AF_INET6, &sin6.sin6_addr, buf, +- sizeof(buf))); +- ++host->h_addr_list; +- memcpy(&sin6.sin6_addr, *host->h_addr_list, sizeof(struct in6_addr)); +- break; +- } +-#endif +- default: +- abort(); +- } +- +- errno = oerrno; +- perror(NULL); +- +- switch(family) { +- case AF_INET : +- printf("Trying %s...\r\n", inet_ntoa(sin.sin_addr)); +- break; +-#if defined(AF_INET6) && defined(HAVE_STRUCT_SOCKADDR_IN6) +- case AF_INET6: { +- printf("Trying %s...\r\n", inet_ntop(AF_INET6, +- &sin6.sin6_addr, +- buf, +- sizeof(buf))); +- break; +- } +-#endif +- } +- +- (void) NetClose(net); +- continue; ++ if (connect(net, res->ai_addr, res->ai_addrlen) < 0) { ++ char hbuf[NI_MAXHOST]; ++ ++ if (getnameinfo(res->ai_addr, res->ai_addrlen, hbuf, sizeof(hbuf), ++ NULL, 0, NI_NUMERICHOST) != 0) { ++ strcpy(hbuf, "(invalid)"); + } +- perror("telnet: Unable to connect to remote host"); +- return 0; ++ fprintf(stderr, "telnet: connect to address %s: %s\n", hbuf, ++ strerror(errno)); ++ ++ close(net); ++ net = -1; ++ retry++; ++ continue; + } ++ + connected++; + #if defined(AUTHENTICATION) || defined(ENCRYPTION) + auth_encrypt_connect(connected); + #endif /* defined(AUTHENTICATION) */ +- } while (connected == 0); ++ break; ++ } ++ freeaddrinfo(res0); ++ if (net < 0) { ++ return 0; ++ } + cmdrc(hostp, hostname); + if (autologin && user == NULL) { + struct passwd *pw; +@@ -2652,6 +2511,9 @@ + encrypthelp[] = "turn on (off) encryption ('encrypt ?' for more)", + #endif + zhelp[] = "suspend telnet", ++#ifdef SKEY ++ skeyhelp[] = "compute response to s/key challenge", ++#endif + shellhelp[] = "invoke a subshell", + envhelp[] = "change environment variables ('environ ?' for more)", + modestring[] = "try to enter line or character mode ('mode ?' for more)"; +@@ -2690,7 +2552,7 @@ + { "environ", envhelp, env_cmd, 0 }, + { "?", helphelp, help, 0 }, + #if defined(SKEY) +- { "skey", NULL, skey_calc, 0 }, ++ { "skey", skeyhelp, skey_calc, 0 }, + #endif + { 0, 0, 0, 0 } + }; +diff -uNr a/telnet/externs.h b/telnet.obsd-cvs/externs.h +--- a/telnet/externs.h Mon Feb 8 22:56:11 1999 ++++ b/telnet.obsd-cvs/externs.h Sat Mar 10 10:54:35 2001 +@@ -1,4 +1,4 @@ +-/* $OpenBSD: externs.h,v 1.4 1998/03/12 17:31:32 deraadt Exp $ */ ++/* $OpenBSD: externs.h,v 1.5 1998/03/12 2001/01/22 11:03:38 fgsch Exp $ */ + /* $KTH: externs.h,v 1.16 1997/11/29 02:28:35 joda Exp $ */ + + /* +@@ -447,7 +447,7 @@ + *Ibackp, /* Oldest byte of 3270 data */ + Ibuf[], /* 3270 buffer */ + *Ifrontp, /* Where next 3270 byte goes */ +- tline[], ++ tline[200], + *transcom; /* Transparent command */ + + extern int +diff -uNr a/telnet/main.c b/telnet.obsd-cvs/main.c +--- a/telnet/main.c Wed Apr 7 23:23:35 1999 ++++ b/telnet.obsd-cvs/main.c Sat Mar 10 09:59:35 2001 +@@ -1,4 +1,4 @@ +-/* $OpenBSD: main.c,v 1.7 1998/05/15 03:16:38 art Exp $ */ ++/* $OpenBSD: main.c,v 1.10 2001/01/21 22:46:37 aaron Exp $ */ + /* $NetBSD: main.c,v 1.5 1996/02/28 21:04:05 thorpej Exp $ */ + + /* +@@ -81,10 +81,10 @@ + prompt, + #ifdef AUTHENTICATION + "[-8] [-E] [-K] [-L] [-S tos] [-X atype] [-a] [-c] [-d] [-e char]", +- "\n\t[-k realm] [-l user] [-f/-F] [-n tracefile] [-b hostalias ]", ++ "\n\t[-k realm] [-l user] [-f/-F] [-n tracefile] [-b hostalias ] ", + #else + "[-8] [-E] [-L] [-S tos] [-a] [-c] [-d] [-e char] [-l user]", +- "\n\t[-n tracefile] [-b hostalias ]", ++ "\n\t[-n tracefile] [-b hostalias ] ", + #endif + #if defined(TN3270) && defined(unix) + # ifdef AUTHENTICATION +@@ -95,13 +95,11 @@ + #else + "[-r] ", + #endif ++ "\n\r " + #ifdef ENCRYPTION +- "[-x] [host-name [port]]" +-#else +- +- "[host-name [port]]" ++ "[-x] " + #endif +- ); ++ "[host-name [port]]"); + exit(1); + } + +@@ -276,8 +274,8 @@ + break; + case 't': + #if defined(TN3270) && defined(unix) ++ (void)strncpy(tline, optarg, sizeof(tline)); + transcom = tline; +- (void)strcpy(transcom, optarg); + #else + fprintf(stderr, + "%s: Warning: -t ignored, no TN3270 support.\n", +diff -uNr a/telnet/sys_bsd.c b/telnet.obsd-cvs/sys_bsd.c +--- a/telnet/sys_bsd.c Wed Apr 7 21:38:31 1999 ++++ b/telnet.obsd-cvs/sys_bsd.c Sat Mar 10 10:55:18 2001 +@@ -1,4 +1,4 @@ +-/* $OpenBSD: sys_bsd.c,v 1.6 1998/12/28 11:13:51 deraadt Exp $ */ ++/* $OpenBSD: sys_bsd.c,v 1.8 2000/10/10 15:41:10 millert Exp $ */ + /* $NetBSD: sys_bsd.c,v 1.11 1996/02/28 21:04:10 thorpej Exp $ */ + + /* +@@ -35,6 +35,7 @@ + */ + + #include "telnet_locl.h" ++#include + + /* + * The following routines try to encapsulate what is system dependent +@@ -198,9 +199,10 @@ + TerminalFlushOutput(void) + { + #ifdef TIOCFLUSH +- (void) ioctl(fileno(stdout), TIOCFLUSH, (char *) 0); ++ int com = FWRITE; ++ (void) ioctl(fileno(stdout), TIOCFLUSH, (int *) &com); + #else +- (void) ioctl(fileno(stdout), TCFLSH, (char *) 0); ++ (void) ioctl(fileno(stdout), TCFLSH, (int *) 0); + #endif + } + +diff -uNr a/telnet/telnet.c b/telnet.obsd-cvs/telnet.c +--- a/telnet/telnet.c Wed Apr 7 23:22:14 1999 ++++ b/telnet.obsd-cvs/telnet.c Sat Mar 10 11:02:34 2001 +@@ -1,4 +1,4 @@ +-/* $OpenBSD: telnet.c,v 1.6 1998/07/27 15:29:29 millert Exp $ */ ++/* $OpenBSD: telnet.c,v 1.11 2000/11/10 15:33:13 provos millert Exp $ */ + /* $NetBSD: telnet.c,v 1.7 1996/02/28 21:04:15 thorpej Exp $ */ + + /* +@@ -35,6 +35,8 @@ + */ + + #include "telnet_locl.h" ++#include ++#include + + #define strip(x) (eight ? (x) : ((x) & 0x7f)) + +@@ -523,10 +525,9 @@ + } + + /* +- * Given a buffer returned by tgetent(), this routine will turn +- * the pipe seperated list of names in the buffer into an array +- * of pointers to null terminated names. We toss out any bad, +- * duplicate, or verbose names (names with spaces). ++ * This routine will turn a pipe seperated list of names in the buffer ++ * into an array of pointers to NUL terminated names. We toss out any ++ * bad, duplicate, or verbose names (names with spaces). + */ + + int is_unique P((char *, char **, char **)); +@@ -554,7 +555,7 @@ + /* + * Count up the number of names. + */ +- for (n = 1, cp = buf; *cp && *cp != ':'; cp++) { ++ for (n = 1, cp = buf; *cp; cp++) { + if (*cp == '|') + n++; + } +@@ -659,25 +660,6 @@ + return (1); + } + +-static char termbuf[1024]; +- +-int telnet_setupterm P((char *tname, int fd, int *errp)); /* XXX move elsewhere */ +- /*ARGSUSED*/ +- int +-telnet_setupterm(char *tname, int fd, int *errp) +-{ +- (void)fd; +- if (tgetent(termbuf, tname) == 1) { +- termbuf[1023] = '\0'; +- if (errp) +- *errp = 1; +- return(0); +- } +- if (errp) +- *errp = 0; +- return(-1); +-} +- + int resettermname = 1; + + char *gettermname P((void)); /* XXX move elsewhere */ +@@ -687,15 +669,15 @@ + char *tname; + static char **tnamep = 0; + static char **next; +- int err; ++ int errret; + + if (resettermname) { + resettermname = 0; + if (tnamep && tnamep != unknown) + free(tnamep); + if ((tname = (char *)env_getvalue((unsigned char *)"TERM")) && +- (telnet_setupterm(tname, 1, &err) == 0)) { +- tnamep = mklist(termbuf, tname); ++ (setupterm(tname, 1, &errret) == 0)) { ++ tnamep = mklist(ttytype, tname); + } else { + if (tname && ((int)strlen(tname) <= 40)) { + unknown[0] = tname; +@@ -1482,10 +1464,15 @@ + void + env_opt_start(void) + { +- if (opt_reply) +- opt_reply = (unsigned char *)realloc(opt_reply, OPT_REPLY_SIZE); +- else +- opt_reply = (unsigned char *)malloc(OPT_REPLY_SIZE); ++ unsigned char *p; ++ ++ if (opt_reply) { ++ p = (unsigned char *)realloc(opt_reply, OPT_REPLY_SIZE); ++ if (p == NULL) ++ free(opt_reply); ++ } else ++ p = (unsigned char *)malloc(OPT_REPLY_SIZE); ++ opt_reply = p; + if (opt_reply == NULL) { + /*@*/ printf("env_opt_start: malloc()/realloc() failed!!!\n"); + opt_reply = opt_replyp = opt_replyend = NULL; +@@ -1532,9 +1519,13 @@ + strlen((char *)ep) + 6 > opt_replyend) + { + int len; ++ unsigned char *p; + opt_replyend += OPT_REPLY_SIZE; + len = opt_replyend - opt_reply; +- opt_reply = (unsigned char *)realloc(opt_reply, len); ++ p = (unsigned char *)realloc(opt_reply, len); ++ if (p == NULL) ++ free(opt_reply); ++ opt_reply = p; + if (opt_reply == NULL) { + /*@*/ printf("env_opt_add: realloc() failed!!!\n"); + opt_reply = opt_replyp = opt_replyend = NULL; +@@ -1945,7 +1936,7 @@ + command(0, "z\n", 2); + continue; + } +- if (sc == escape) { ++ if (sc == escape && escape != _POSIX_VDISABLE) { + command(0, (char *)tbp, tcc); + bol = 1; + count += tcc; +@@ -1962,7 +1953,7 @@ + } + if ((sc == '\n') || (sc == '\r')) + bol = 1; +- } else if (sc == escape) { ++ } else if (sc == escape && escape != _POSIX_VDISABLE) { + /* + * Double escape is a pass through of a single escape character. + */ +diff -uNr a/telnet/telnet_locl.h b/telnet.obsd-cvs/telnet_locl.h +--- a/telnet/telnet_locl.h Thu Mar 12 06:57:44 1998 ++++ b/telnet.obsd-cvs/telnet_locl.h Sat Mar 10 11:12:37 2001 +@@ -1,4 +1,4 @@ +-/* $OpenBSD: telnet_locl.h,v 1.1 1998/03/12 04:57:44 art Exp $ */ ++/* $OpenBSD: telnet_locl.h,v 1.2 1999/12/11 09:08:09 itojun Exp $ */ + /* $KTH: telnet_locl.h,v 1.13 1997/11/03 21:37:55 assar Exp $ */ + + /* +@@ -86,7 +86,5 @@ + #include "defines.h" + #include "types.h" + +-#undef AF_INET6 /* XXX - it has not been tested and it doesn't exist yet */ +- + /* prototypes */ + +diff -uNr a/libtelnet/kerberos.c b/libtelnet.obsd-cvs/kerberos.c +--- a/libtelnet/kerberos.c Mon Feb 8 23:38:17 1999 ++++ b/libtelnet.obsd-cvs/kerberos.c Sat Mar 10 11:11:03 2001 +@@ -320,11 +320,10 @@ + char ts[MAXPATHLEN]; + struct passwd *pw = getpwnam(UserNameRequested); + +- if(pw){ ++ if (pw) { + snprintf(ts, sizeof(ts), +- "%s%u", +- TKT_ROOT, +- (unsigned)pw->pw_uid); ++ "%s%u", TKT_ROOT, (unsigned)pw->pw_uid); ++ /* XXX allocation failure? */ + setenv("KRBTKFILE", ts, 1); + } + Data(ap, KRB_ACCEPT, NULL, 0); +@@ -609,16 +608,26 @@ + { + unsigned char *p = buf; + +- p += krb_put_nir(cred->service, cred->instance, cred->realm, p); ++ memcpy (p, cred->service, ANAME_SZ); ++ p += ANAME_SZ; ++ memcpy (p, cred->instance, INST_SZ); ++ p += INST_SZ; ++ memcpy (p, cred->realm, REALM_SZ); ++ p += REALM_SZ; + memcpy(p, cred->session, 8); + p += 8; + *p++ = cred->lifetime; + *p++ = cred->kvno; +- p += krb_put_int(cred->ticket_st.length, p, 4); ++ p += krb_put_int(cred->ticket_st.length, p, 4, 4); + memcpy(p, cred->ticket_st.dat, cred->ticket_st.length); + p += cred->ticket_st.length; +- p += krb_put_int(cred->issue_date, p, 4); +- p += krb_put_nir(cred->pname, cred->pinst, NULL, p); ++ p += krb_put_int(cred->issue_date, p, 4, 4); ++ strncpy (cred->pname, p, ANAME_SZ); ++ cred->pname[ANAME_SZ - 1] = '\0'; ++ p += ANAME_SZ; ++ strncpy (cred->pinst, p, INST_SZ); ++ cred->pinst[INST_SZ - 1] = '\0'; ++ p += INST_SZ; + return p - buf; + } + +@@ -627,7 +636,16 @@ + { + unsigned char *p = buf; + +- p += krb_get_nir(p, cred->service, cred->instance, cred->realm); ++ strncpy (cred->service, p, ANAME_SZ); ++ cred->service[ANAME_SZ - 1] = '\0'; ++ p += ANAME_SZ; ++ strncpy (cred->instance, p, INST_SZ); ++ cred->instance[INST_SZ - 1] = '\0'; ++ p += INST_SZ; ++ strncpy (cred->realm, p, REALM_SZ); ++ cred->realm[REALM_SZ - 1] = '\0'; ++ p += REALM_SZ; ++ + memcpy(cred->session, p, 8); + p += 8; + cred->lifetime = *p++; +@@ -636,7 +654,10 @@ + memcpy(cred->ticket_st.dat, p, cred->ticket_st.length); + cred->ticket_st.mbz = 0; + p += krb_get_int(p, (u_int32_t *)&cred->issue_date, 4, 0); +- p += krb_get_nir(p, cred->pname, cred->pinst, NULL); ++ p += krb_get_nir(p, ++ cred->pname, sizeof(cred->pname), ++ cred->pinst, sizeof(cred->pinst), ++ NULL, 0); + return 0; + } + +--- a/telnet/telnet.1 Thu Nov 12 01:01:46 1998 ++++ b/telnet.obsd-cvs/telnet.1 Thu Nov 9 19:52:41 2000 +@@ -1,4 +1,4 @@ +-.\" $OpenBSD: telnet.1,v 1.14 1998/11/11 23:01:46 aaron Exp $ ++.\" $OpenBSD: telnet.1,v 1.27 2000/11/09 17:52:41 aaron Exp $ + .\" $NetBSD: telnet.1,v 1.5 1996/02/28 21:04:12 thorpej Exp $ + .\" + .\" Copyright (c) 1983, 1990, 1993 +@@ -36,45 +36,34 @@ + .\" + .Dd February 3, 1994 + .Dt TELNET 1 +-.Os BSD 4.2 ++.Os + .Sh NAME + .Nm telnet +-.Nd user interface to the ++.Nd user interface to the + .Tn TELNET + protocol + .Sh SYNOPSIS + .Nm telnet +-.Op Fl 8 +-.Op Fl E +-.Op Fl F +-.Op Fl K +-.Op Fl L +-.Op Fl S Ar tos ++.Op Fl 8EFKLacdfrx + .Op Fl X Ar authtype +-.Op Fl a + .Op Fl b Ar hostalias +-.Op Fl c +-.Op Fl d + .Op Fl e Ar escapechar +-.Op Fl f + .Op Fl k Ar realm + .Op Fl l Ar user + .Op Fl n Ar tracefile +-.Op Fl r +-.Op Fl x + .Oo + .Ar host + .Op Ar port + .Oc + .Sh DESCRIPTION + The +-.Nm telnet ++.Nm + command +-is used to communicate with another host using the ++is used to communicate with another host using the + .Tn TELNET + protocol. + If +-.Nm telnet ++.Nm + is invoked without the + .Ar host + argument, it enters command mode, +@@ -85,11 +74,11 @@ + .Ic open + command with those arguments. + .Pp +-Options: +-.Bl -tag -width indent ++The options are as follows: ++.Bl -tag -width Ds + .It Fl 8 +-Specifies an 8-bit data path. This causes an attempt to +-negotiate the ++Specifies an 8-bit data path. ++This causes an attempt to negotiate the + .Dv TELNET BINARY + option on both input and output. + .It Fl E +@@ -103,18 +92,9 @@ + .It Fl K + Specifies no automatic login to the remote system. + .It Fl L +-Specifies an 8-bit data path on output. This causes the +-BINARY option to be negotiated on output. +-.It Fl S Ar tos +-Sets the IP type-of-service (TOS) option for the telnet +-connection to the value +-.Ar tos , +-which can be a numeric TOS value +-or, on systems that support it, a symbolic +-TOS name found in the +-.Pa /etc/iptos +-file. +-.It Fl X Ar atype ++Specifies an 8-bit data path on output. ++This causes the BINARY option to be negotiated on output. ++.It Fl X Ar atype + Disables the + .Ar atype + type of authentication. +@@ -144,7 +124,8 @@ + .It Fl c + Disables the reading of the user's + .Pa \&.telnetrc +-file. (See the ++file. ++(See the + .Ic toggle skiprc + command on this man page.) + .It Fl d +@@ -152,7 +133,7 @@ + .Ic debug + toggle to + .Dv TRUE . +-.It Fl e Ar escapechar ++.It Fl e Ar escapechar + Sets the initial + .Nm + escape character to +@@ -169,14 +150,14 @@ + If Kerberos authentication is being used, the + .Fl k + option requests that +-.Nm telnet ++.Nm + obtain tickets for the remote host in + realm + .Ar realm + instead of the remote host's realm, as determined + by + .Xr krb_realmofhost 3 . +-.It Fl l Ar user ++.It Fl l Ar user + When connecting to the remote system, if the remote system + understands the + .Ev ENVIRON +@@ -189,7 +170,7 @@ + This option may also be used with the + .Ic open + command. +-.It Fl n Ar tracefile ++.It Fl n Ar tracefile + Opens + .Ar tracefile + for recording trace information. +@@ -210,35 +191,38 @@ + Indicates the official name, an alias, or the Internet address + of a remote host. + .It Ar port +-Indicates a port number (address of an application). If a number is +-not specified, the default +-.Nm telnet ++Indicates a port number (address of an application). ++If a number is not specified, the default ++.Nm + port is used. + .El + .Pp +-When in rlogin mode, a line of the form ~. disconnects from the ++When in rlogin mode, a line of the form ~. ++disconnects from the + remote host; ~ is the telnet escape character. + Similarly, the line ~^Z suspends the telnet session. + The line ~^] escapes to the normal telnet escape prompt. + .Pp + Once a connection has been opened, +-.Nm telnet ++.Nm + will attempt to enable the + .Dv TELNET LINEMODE + option. + If this fails, +-.Nm telnet ++.Nm + will revert to one of two input modes: + either ``character at a time'' + or ``old line by line'' + depending on what the remote system supports. + .Pp +-When ++When + .Dv LINEMODE + is enabled, character processing is done on the +-local system, under the control of the remote system. When input ++local system, under the control of the remote system. ++When input + editing or character echoing is to be disabled, the remote system +-will relay that information. The remote system will also relay ++will relay that information. ++The remote system will also relay + changes to any special characters that happen on the remote + system, so that they can take effect on the local system. + .Pp +@@ -252,7 +236,7 @@ + (this would mostly be used to enter passwords + without the password being echoed). + .Pp +-If the ++If the + .Dv LINEMODE + option is enabled, or if the + .Ic localchars +@@ -267,7 +251,7 @@ + characters are trapped locally, and sent as + .Tn TELNET + protocol sequences to the remote side. +-If ++If + .Dv LINEMODE + has ever been enabled, then the user's + .Ic susp +@@ -278,9 +262,9 @@ + protocol sequences, + and + .Ic quit +-is sent as a ++is sent as a + .Dv TELNET ABORT +-instead of ++instead of + .Dv BREAK . + There are options (see + .Ic toggle +@@ -296,17 +280,26 @@ + (in the case of + .Ic quit + and +-.Ic intr ) . ++.Ic intr ) . + .Pp + While connected to a remote host, +-.Nm telnet ++.Nm + command mode may be entered by typing the +-.Nm telnet ++.Nm + ``escape character'' (initially ``^]''). + When in command mode, the normal terminal editing conventions are available. ++Note that the escape character will return to the command mode of the initial ++invocation of ++.Nm ++that has the controlling terminal. ++Use the ++.Cm send escape ++command to switch to command mode in subsequent ++.Nm ++processes on remote hosts. + .Pp + The following +-.Nm telnet ++.Nm + commands are available. + Only enough of each command to uniquely identify it need be typed + (this is also true for arguments to the +@@ -320,26 +313,28 @@ + .Ic display + commands). + .Bl -tag -width "mode type" +-.It Ic auth Ar argument Op Ar ... ++.It Ic auth Ar argument Op Ar ... + The + .Ic auth + command manipulates the information sent through the + .Dv TELNET AUTHENTICATE +-option. Valid arguments for the +-auth command are as follows: ++option. ++Valid arguments for the ++.Ic auth ++command are as follows: + .Bl -tag -width "disable type" + .It Ic disable Ar type + Disables the specified + .Ar type +-of authentication. To +-obtain a list of available types, use the ++of authentication. ++To obtain a list of available types, use the + .Ic auth disable \&? + command. + .It Ic enable Ar type + Enables the specified + .Ar type +-of authentication. To +-obtain a list of available types, use the ++of authentication. ++To obtain a list of available types, use the + .Ic auth enable \&? + command. + .It Ic status +@@ -350,7 +345,7 @@ + Close a + .Tn TELNET + session and return to command mode. +-.It Ic display Ar argument Op Ar ... ++.It Ic display Ar argument Op Ar ... + Displays all, or some, of the + .Ic set + and +@@ -368,26 +363,27 @@ + .It Ic disable Ar type Ic [input|output] + Disables the specified + .Ar type +-of encryption. If you +-omit ++of encryption. ++If you omit + .Ic input + and + .Ic output , + both input and output +-are disabled. To obtain a list of available +-types, use the ++are disabled. ++To obtain a list of available types, use the + .Ic encrypt disable \&? + command. + .It Ic enable Ar type Ic [input|output] + Enables the specified + .Ar type +-of encryption. If you +-omit ++of encryption. ++If you omit + .Ic input + and + .Ic output , + both input and output are +-enabled. To obtain a list of available types, use the ++enabled. ++To obtain a list of available types, use the + .Ic encrypt enable \&? + command. + .It Ic input +@@ -407,18 +403,20 @@ + .Ic encrypt stop output + command. + .It Ic start Ic [input|output] +-Attempts to start encryption. If you omit ++Attempts to start encryption. ++If you omit + .Ic input + and +-.Ic output, +-both input and output are enabled. To +-obtain a list of available types, use the ++.Ic output , ++both input and output are enabled. ++To obtain a list of available types, use the + .Ic encrypt enable \&? + command. + .It Ic status + Lists the current status of encryption. + .It Ic stop Ic [input|output] +-Stops encryption. If you omit ++Stops encryption. ++If you omit + .Ic input + and + .Ic output , +@@ -431,7 +429,7 @@ + .Ic encrypt stop + commands. + .El +-.It Ic environ Ar arguments Op Ar ... ++.It Ic environ Ar arguments Op Ar ... + The + .Ic environ + command is used to manipulate the +@@ -456,7 +454,7 @@ + .Ic environ + command are: + .Bl -tag -width Fl +-.It Ic define Ar variable value ++.It Ic define Ar variable value + Define the variable + .Ar variable + to have a value of +@@ -466,15 +464,15 @@ + .Ar value + may be enclosed in single or double quotes so + that tabs and spaces may be included. +-.It Ic undefine Ar variable ++.It Ic undefine Ar variable + Remove + .Ar variable + from the list of environment variables. +-.It Ic export Ar variable ++.It Ic export Ar variable + Mark the variable + .Ar variable + to be exported to the remote side. +-.It Ic unexport Ar variable ++.It Ic unexport Ar variable + Mark the variable + .Ar variable + to not be exported unless +@@ -508,7 +506,7 @@ + suspending a user's session for later reattachment, + the logout argument indicates that you + should terminate the session immediately. +-.It Ic mode Ar type ++.It Ic mode Ar type + .Ar type + is one of several options, depending on the state of the + .Tn TELNET +@@ -529,40 +527,40 @@ + option, or, if the remote side does not understand the + .Dv LINEMODE + option, then attempt to enter ``old-line-by-line'' mode. +-.It Ic isig Pq Ic \-isig +-Attempt to enable (disable) the ++.It Ic isig Pq Ic \-isig ++Attempt to enable (disable) the + .Dv TRAPSIG +-mode of the ++mode of the + .Dv LINEMODE + option. +-This requires that the ++This requires that the + .Dv LINEMODE + option be enabled. +-.It Ic edit Pq Ic \-edit +-Attempt to enable (disable) the ++.It Ic edit Pq Ic \-edit ++Attempt to enable (disable) the + .Dv EDIT +-mode of the ++mode of the + .Dv LINEMODE + option. +-This requires that the ++This requires that the + .Dv LINEMODE + option be enabled. +-.It Ic softtabs Pq Ic \-softtabs +-Attempt to enable (disable) the ++.It Ic softtabs Pq Ic \-softtabs ++Attempt to enable (disable) the + .Dv SOFT_TAB +-mode of the ++mode of the + .Dv LINEMODE + option. +-This requires that the ++This requires that the + .Dv LINEMODE + option be enabled. +-.It Ic litecho Pq Ic \-litecho +-Attempt to enable (disable) the ++.It Ic litecho Pq Ic \-litecho ++Attempt to enable (disable) the + .Dv LIT_ECHO +-mode of the ++mode of the + .Dv LINEMODE + option. +-This requires that the ++This requires that the + .Dv LINEMODE + option be enabled. + .It Ic \&? +@@ -579,7 +577,7 @@ + Open a connection to the named host. + If no port number + is specified, +-.Nm telnet ++.Nm + will attempt to contact a + .Tn TELNET + server at the default port. +@@ -594,24 +592,29 @@ + .Ev ENVIRON + option. + When connecting to a non-standard port, +-.Nm telnet ++.Nm + omits any automatic initiation of + .Tn TELNET +-options. When the port number is preceded by a minus sign, ++options. ++When the port number is preceded by a minus sign, + the initial option negotiation is done. + After establishing a connection, the file + .Pa \&.telnetrc + in the +-user's home directory is opened. Lines beginning with a ``#'' are +-comment lines. Blank lines are ignored. Lines that begin +-without white space are the start of a machine entry. The +-first thing on the line is the name of the machine that is +-being connected to. The rest of the line, and successive +-lines that begin with white space are assumed to be +-.Nm telnet ++user's home directory is opened. ++Lines beginning with a ``#'' are ++comment lines. ++Blank lines are ignored. ++Lines that begin ++without whitespace are the start of a machine entry. ++The first thing on the line is the name of the machine that is ++being connected to. ++The rest of the line, and successive ++lines that begin with whitespace are assumed to be ++.Nm + commands and are processed as if they had been typed + in manually to the +-.Nm telnet ++.Nm + command prompt. + .It Ic quit + Close any open +@@ -619,7 +622,7 @@ + session and exit + .Nm telnet . + An end-of-file (in command mode) will also close a session and exit. +-.It Ic send Ar arguments ++.It Ic send Ar arguments + Sends one or more special character sequences to the remote host. + The following are the arguments which may be specified + (more than one argument may be specified at a time): +@@ -673,7 +676,7 @@ + sequence. + .It Ic escape + Sends the current +-.Nm telnet ++.Nm + escape character (initially ``^]''). + .It Ic ga + Sends the +@@ -788,12 +791,12 @@ + .Ic send + command. + .El +-.It Ic set Ar argument value +-.It Ic unset Ar argument value ++.It Ic set Ar argument value ++.It Ic unset Ar argument value + The + .Ic set + command will set any one of a number of +-.Nm telnet ++.Nm + variables to a specific value or to + .Dv TRUE . + The special value +@@ -811,7 +814,8 @@ + .Ic display + command. + The variables which may be set or unset, but not toggled, are +-listed here. In addition, any of the variables for the ++listed here. ++In addition, any of the variables for the + .Ic toggle + command may be explicitly set or unset using + the +@@ -832,7 +836,8 @@ + sequence (see + .Ic send ayt + preceding) is sent to the +-remote host. The initial value for the "Are You There" ++remote host. ++The initial value for the "Are You There" + character is the terminal's status character. + .It Ic echo + This is the value (initially ``^E'') which, when in +@@ -841,7 +846,7 @@ + echoing of entered characters (for entering, say, a password). + .It Ic eof + If +-.Nm telnet ++.Nm + is operating in + .Dv LINEMODE + or ``old line by line'' mode, entering this character +@@ -854,7 +859,7 @@ + character. + .It Ic erase + If +-.Nm telnet ++.Nm + is in + .Ic localchars + mode (see +@@ -862,7 +867,7 @@ + .Ic localchars + below), + and if +-.Nm telnet ++.Nm + is operating in ``character at a time'' mode, then when this + character is typed, a + .Dv TELNET EC +@@ -879,14 +884,14 @@ + character. + .It Ic escape + This is the +-.Nm telnet ++.Nm + escape character (initially ``^['') which causes entry + into +-.Nm telnet ++.Nm + command mode (when connected to a remote system). + .It Ic flushoutput + If +-.Nm telnet ++.Nm + is in + .Ic localchars + mode (see +@@ -916,12 +921,13 @@ + .Dv LINEMODE , + these are the + characters that, when typed, cause partial lines to be +-forwarded to the remote system. The initial value for ++forwarded to the remote system. ++The initial value for + the forwarding characters are taken from the terminal's + eol and eol2 characters. + .It Ic interrupt + If +-.Nm telnet ++.Nm + is in + .Ic localchars + mode (see +@@ -945,7 +951,7 @@ + character. + .It Ic kill + If +-.Nm telnet ++.Nm + is in + .Ic localchars + mode (see +@@ -953,7 +959,7 @@ + .Ic localchars + below), + and if +-.Nm telnet ++.Nm + is operating in ``character at a time'' mode, then when this + character is typed, a + .Dv TELNET EL +@@ -970,7 +976,7 @@ + character. + .It Ic lnext + If +-.Nm telnet ++.Nm + is operating in + .Dv LINEMODE + or ``old line by line'' mode, then this character is taken to +@@ -985,7 +991,7 @@ + character. + .It Ic quit + If +-.Nm telnet ++.Nm + is in + .Ic localchars + mode (see +@@ -1009,7 +1015,7 @@ + character. + .It Ic reprint + If +-.Nm telnet ++.Nm + is operating in + .Dv LINEMODE + or old line by line'' mode, then this character is taken to +@@ -1031,8 +1037,9 @@ + This character, at the beginning of a line, followed by + a "." closes the connection; when followed by a ^Z it + suspends the +-.Nm telnet +-command. The initial state is to ++.Nm ++command. ++The initial state is to + disable the + .Ic rlogin + escape character. +@@ -1066,7 +1073,7 @@ + character. + .It Ic susp + If +-.Nm telnet ++.Nm + is in + .Ic localchars + mode, or +@@ -1093,12 +1100,13 @@ + .Ic option + tracing being + .Dv TRUE , +-will be written. If it is set to ++will be written. ++If it is set to + .Dq Fl , + then tracing information will be written to standard output (the default). + .It Ic worderase + If +-.Nm telnet ++.Nm + is operating in + .Dv LINEMODE + or ``old line by line'' mode, then this character is taken to +@@ -1117,25 +1125,32 @@ + .Pq Ic unset + commands. + .El +-.It Ic slc Ar state ++.It Ic skey Ar sequence challenge ++The ++.Ic skey ++command computes a response to the S/Key challenge. ++See ++.Xr skey 1 ++for more information on the S/Key system. ++.It Ic slc Ar state + The + .Ic slc + command (Set Local Characters) is used to set + or change the state of the special +-characters when the ++characters when the + .Dv TELNET LINEMODE + option has +-been enabled. Special characters are characters that get +-mapped to ++been enabled. ++Special characters are characters that get mapped to + .Tn TELNET + commands sequences (like + .Ic ip + or +-.Ic quit ) ++.Ic quit ) + or line editing characters (like + .Ic erase + and +-.Ic kill ) . ++.Ic kill ) . + By default, the local special characters are exported. + .Bl -tag -width Fl + .It Ic check +@@ -1144,15 +1159,15 @@ + character settings, and if there are any discrepancies with + the local side, the local side will switch to the remote value. + .It Ic export +-Switch to the local defaults for the special characters. The +-local default characters are those of the local terminal at ++Switch to the local defaults for the special characters. ++The local default characters are those of the local terminal at + the time when +-.Nm telnet ++.Nm + was started. + .It Ic import + Switch to the remote defaults for the special characters. + The remote default characters are those of the remote system +-at the time when the ++at the time when the + .Tn TELNET + connection was established. + .It Ic \&? +@@ -1165,13 +1180,13 @@ + .Nm telnet . + This includes the peer one is connected to, as well + as the current mode. +-.It Ic toggle Ar arguments Op Ar ... ++.It Ic toggle Ar arguments Op Ar ... + Toggle (between + .Dv TRUE + and + .Dv FALSE ) + various flags that control how +-.Nm telnet ++.Nm + responds to events. + These flags may be set explicitly to + .Dv TRUE +@@ -1206,7 +1221,7 @@ + sequences; see + .Ic set + above for details), +-.Nm telnet ++.Nm + refuses to display any data on the user's terminal + until the remote system acknowledges (via a + .Dv TELNET TIMING MARK +@@ -1220,13 +1235,14 @@ + done an "stty noflsh", otherwise + .Dv FALSE + (see +-.Xr stty 1 ) . ++.Xr stty 1 ) . + .It Ic autodecrypt + When the + .Dv TELNET ENCRYPT + option is negotiated, by + default the actual encryption (decryption) of the data +-stream does not start automatically. The ++stream does not start automatically. ++The + .Ic autoencrypt + .Pq Ic autodecrypt + command states that encryption of the +@@ -1238,7 +1254,8 @@ + .Dv TELNET AUTHENTICATION + option + .Tn TELNET +-attempts to use it to perform automatic authentication. If the ++attempts to use it to perform automatic authentication. ++If the + .Dv AUTHENTICATION + option is not supported, the user's login + name are propagated through the +@@ -1314,7 +1331,7 @@ + The initial value for this toggle is + .Dv FALSE . + .It Ic debug +-Toggles socket level debugging (useful only to the super-user). ++Toggles socket level debugging (useful only to the superuser). + The initial value for this toggle is + .Dv FALSE . + .It Ic encdebug +@@ -1340,7 +1357,7 @@ + .Ic brk , + .Ic ec , + and +-.Ic el ; ++.Ic el ; + see + .Ic send + above). +@@ -1379,7 +1396,7 @@ + .Dv FALSE . + .It Ic options + Toggles the display of some internal +-.Nm telnet ++.Nm + protocol processing (having to do with + .Tn TELNET + options). +@@ -1404,8 +1421,8 @@ + skips the reading of the + .Pa \&.telnetrc + file in the user's home +-directory when connections are opened. The initial +-value for this toggle is ++directory when connections are opened. ++The initial value for this toggle is + .Dv FALSE . + .It Ic termdata + Toggles the display of all terminal data (in hexadecimal format). +@@ -1416,9 +1433,10 @@ + .Ic verbose_encrypt + toggle is + .Dv TRUE , +-.Nm telnet ++.Nm + prints out a message each time encryption is enabled or +-disabled. The initial value for this toggle is ++disabled. ++The initial value for this toggle is + .Dv FALSE . + .It Ic \&? + Displays the legal +@@ -1430,22 +1448,24 @@ + .Nm telnet . + This command only works when the user is using the + .Xr csh 1 . +-.It Ic \&! Op Ar command ++.It Ic \&! Op Ar command + Execute a single command in a subshell on the local +-system. If ++system. ++If + .Ar command + is omitted, then an interactive + subshell is invoked. +-.It Ic \&? Op Ar command +-Get help. With no arguments, +-.Nm telnet ++.It Ic \&? Op Ar command ++Get help. ++With no arguments, ++.Nm + prints a help summary. + If a command is specified, +-.Nm telnet ++.Nm + will print the help information for just that command. + .El + .Sh ENVIRONMENT +-.Nm telnet ++.Nm + uses at least the + .Ev HOME , + .Ev SHELL , +@@ -1464,16 +1484,18 @@ + .El + .Sh HISTORY + The +-.Nm telnet ++.Nm + command appeared in + .Bx 4.2 . + .Sh NOTES + On some remote systems, echo has to be turned off manually when in + ``old line by line'' mode. + .Pp +-In ``old line by line'' mode or ++In ``old line by line'' mode or + .Dv LINEMODE + the terminal's + .Ic eof + character is only recognized (and sent to the remote system) + when it is the first character on a line. ++.Pp ++Source routing is not supported yet for IPv6. diff --git a/telnet-client.tar.gz b/telnet-client.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..2b5a862fee854ae571668bf418fda7d542127880 GIT binary patch literal 105289 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 DQYnvN literal 0 HcmV?d00001 diff --git a/telnet-gethostbyname.patch b/telnet-gethostbyname.patch new file mode 100644 index 0000000..e1c1976 --- /dev/null +++ b/telnet-gethostbyname.patch @@ -0,0 +1,48 @@ +--- netkit-telnet-0.17/telnet/commands.c.old 2006-04-30 10:24:49.000000000 -0700 ++++ netkit-telnet-0.17/telnet/commands.c 2006-04-30 10:37:10.000000000 -0700 +@@ -1669,9 +1669,15 @@ + + /* If this is not the full name, try to get it via DNS */ + if (strchr(hbuf, '.') == 0) { +- struct hostent *he = gethostbyname(hbuf); +- if (he != 0) +- strncpy(hbuf, he->h_name, sizeof hbuf-1); ++ struct addrinfo hints; ++ struct addrinfo *res; ++ memset (&hints, '\0', sizeof (hints)); ++ hints.ai_flags = AI_V4MAPPED | AI_ADDRCONFIG | AI_CANONNAME; ++ if (getaddrinfo (hbuf, NULL, &hints, &res) == 0) { ++ if (res->ai_canonname != NULL) ++ strncpy(hbuf, res->ai_canonname, sizeof hbuf-1); ++ freeaddrinfo (res); ++ } + hbuf[sizeof hbuf-1] = '\0'; + } + +@@ -2832,17 +2838,15 @@ + if (!c) + cp2 = 0; + +- if ((tmp = inet_addr(cp)) != -1) { +- sin_addr.s_addr = tmp; +- } else if ((host = gethostbyname(cp))) { +-#if defined(h_addr) +- memmove((caddr_t)&sin_addr, +- host->h_addr_list[0], +- sizeof(sin_addr)); +-#else +- memmove((caddr_t)&sin_addr, host->h_addr, +- sizeof(sin_addr)); +-#endif ++ struct addrinfo hints; ++ memset (&hints, '\0', sizeof (hints)); ++ // XXX The code here seems to allow only IPv4 addresses. ++ hints.ai_family = AF_INET; ++ hints.ai_flags = AI_ADDRCONFIG; ++ struct addrinfo *aires; ++ if (getaddrinfo (cp, NULL, &hints, &aires) == 0) { ++ sin_addr = ((struct sockaddr_in *) aires->ai_addr)->sin_addr; ++ freeaddrinfo (aires); + } else { + *cpp = cp; + return(0); diff --git a/telnet-rh674942.patch b/telnet-rh674942.patch new file mode 100644 index 0000000..f06d99d --- /dev/null +++ b/telnet-rh674942.patch @@ -0,0 +1,47 @@ +--- netkit-telnet-0.17/telnetd/telnetd.c.orig 2011-01-31 12:05:37.942942871 -0600 ++++ netkit-telnet-0.17/telnetd/telnetd.c 2011-01-31 18:20:22.400743499 -0600 +@@ -82,6 +82,7 @@ char ptyibuf2[BUFSIZ]; + int hostinfo = 1; /* do we print login banner? */ + + int debug = 0; ++int debugsix = 0; + int keepalive = 1; + char *loginprg = _PATH_LOGIN; + char *progname; +@@ -150,8 +151,11 @@ main(int argc, char *argv[], char *env[] + #endif /* BFTPDAEMON */ + + case 'd': +- if (strcmp(optarg, "ebug") == 0) { ++ if (strncmp(optarg, "ebug", 4) == 0) { + debug++; ++ if (strncmp(optarg, "ebug6", 5) == 0) { ++ debugsix++; ++ } + break; + } + usage(); +@@ -271,6 +275,8 @@ main(int argc, char *argv[], char *env[] + hints.ai_socktype = SOCK_STREAM; + hints.ai_flags = AI_ADDRCONFIG | AI_PASSIVE; + hints.ai_protocol = IPPROTO_TCP; ++ if (debugsix) ++ hints.ai_family = AF_INET6; + + if (argc == 0) { + if (getaddrinfo(NULL, "telnet", &hints, &ai) != 0) { +@@ -380,12 +386,12 @@ usage(void) + { + fprintf(stderr, "Usage: telnetd"); + #ifdef AUTHENTICATE +- fprintf(stderr, " [-a (debug|other|user|valid|off)]\n\t"); ++ fprintf(stderr, " [-a (debug|debug6|other|user|valid|off)]\n\t"); + #endif + #ifdef BFTPDAEMON + fprintf(stderr, " [-B]"); + #endif +- fprintf(stderr, " [-debug]"); ++ fprintf(stderr, " [-debug|-debug6]"); + #ifdef DIAGNOSTICS + fprintf(stderr, " [-D (options|report|exercise|netdata|ptydata)]\n\t"); + #endif diff --git a/telnet-rh678324.patch b/telnet-rh678324.patch new file mode 100644 index 0000000..d3cfbe9 --- /dev/null +++ b/telnet-rh678324.patch @@ -0,0 +1,21 @@ +diff -up netkit-telnet-0.17/telnetd/telnetd.c.rh678324 netkit-telnet-0.17/telnetd/telnetd.c +--- netkit-telnet-0.17/telnetd/telnetd.c.rh678324 2011-06-28 14:51:09.996726296 +0200 ++++ netkit-telnet-0.17/telnetd/telnetd.c 2011-06-28 14:52:38.212726283 +0200 +@@ -92,7 +92,7 @@ extern void usage(void); + int + main(int argc, char *argv[], char *env[]) + { +- struct sockaddr from; ++ struct sockaddr_storage from; + int on = 1; + socklen_t fromlen; + register int ch; +@@ -344,7 +344,7 @@ main(int argc, char *argv[], char *env[] + + openlog("telnetd", LOG_PID | LOG_ODELAY, LOG_DAEMON); + fromlen = sizeof (from); +- if (getpeername(s, &from, &fromlen) < 0) { ++ if (getpeername(s, (struct sockaddr *)&from, &fromlen) < 0) { + fprintf(stderr, "%s: ", progname); + perror("getpeername"); + _exit(1); diff --git a/telnet-rh704604.patch b/telnet-rh704604.patch new file mode 100644 index 0000000..9c040ba --- /dev/null +++ b/telnet-rh704604.patch @@ -0,0 +1,24 @@ +--- netkit-telnet-0.17/telnet/commands.c.hostalias 2011-07-11 08:07:22.000000000 -0400 ++++ netkit-telnet-0.17/telnet/commands.c 2011-07-11 08:10:12.131039660 -0400 +@@ -2400,17 +2400,21 @@ + ahints.ai_family = PF_UNSPEC; + ahints.ai_socktype = SOCK_STREAM; + ahints.ai_flags = AI_PASSIVE; + error = getaddrinfo(aliasp, "0", &ahints, &ares); + if (error) { ++ printf ("Couldn't get address for %s\n", aliasp); + warn("%s: %s", aliasp, gai_strerror(error)); + close(net); ++ net = -1; + continue; + } + if (bind(net, ares->ai_addr, ares->ai_addrlen) < 0) { ++ printf ("Couldn't bind to %s\n", aliasp); + perror(aliasp); + (void) close(net); /* dump descriptor */ ++ net = -1; + freeaddrinfo(ares); + continue; + } + freeaddrinfo(ares); + } diff --git a/telnet-rh825946.patch b/telnet-rh825946.patch new file mode 100644 index 0000000..250ba7c --- /dev/null +++ b/telnet-rh825946.patch @@ -0,0 +1,25 @@ +diff -up netkit-telnet-0.17/telnetd/sys_term.c.rh825946 netkit-telnet-0.17/telnetd/sys_term.c +--- netkit-telnet-0.17/telnetd/sys_term.c.rh825946 1999-12-17 15:28:47.000000000 +0100 ++++ netkit-telnet-0.17/telnetd/sys_term.c 2012-06-14 14:05:30.538342755 +0200 +@@ -723,6 +723,9 @@ void cleanup(int sig) { + char *p; + (void)sig; + ++ /* to avoid a race for wtmp lock */ ++ signal(SIGCHLD, SIG_IGN); ++ + p = line + sizeof("/dev/") - 1; + if (logout(p)) logwtmp(p, "", ""); + #ifdef PARANOID_TTYS +diff -up netkit-telnet-0.17/telnetd/telnetd.c.rh825946 netkit-telnet-0.17/telnetd/telnetd.c +--- netkit-telnet-0.17/telnetd/telnetd.c.rh825946 2012-06-14 14:04:42.000000000 +0200 ++++ netkit-telnet-0.17/telnetd/telnetd.c 2012-06-14 14:06:01.547291404 +0200 +@@ -1147,8 +1147,6 @@ void telnet(int f, int p) + if (FD_ISSET(p, &obits) && (pfrontp - pbackp) > 0) + ptyflush(); + } +- /* to avoid a race for wtmp lock */ +- signal(SIGCHLD, SIG_IGN); + cleanup(0); + } /* end of telnet */ + diff --git a/telnet.socket b/telnet.socket new file mode 100644 index 0000000..811b672 --- /dev/null +++ b/telnet.socket @@ -0,0 +1,10 @@ +[Unit] +Description=Telnet Server Activation Socket +Documentation=man:telnetd(8) + +[Socket] +ListenStream=23 +Accept=true + +[Install] +WantedBy=sockets.target diff --git a/telnet.spec b/telnet.spec new file mode 100644 index 0000000..b09bd22 --- /dev/null +++ b/telnet.spec @@ -0,0 +1,105 @@ +Name: telnet +Epoch: 1 +Version: 0.17 +Release: 75 +Summary: Client and Server programs for the Telnet communication protocol +License: BSD +Url: http://web.archive.org/web/20070819111735/www.hcs.harvard.edu/~dholland/computers/old-netkit.html +Source0: ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/netkit-telnet-%{version}.tar.gz +#sources form fedora/redhat +Source1: telnet-client.tar.gz +Source2: telnet@.service +Source3: telnet.socket + +#patches from fedora/redhat repositories +Patch0001: telnet-client-cvs.patch +Patch0002: telnetd-0.17.diff +Patch0003: telnet-0.17-env.patch +Patch0004: telnet-0.17-pek.patch +Patch0005: telnet-0.17-issue.patch +Patch0006: telnet-0.17-sa-01-49.patch +Patch0007: telnet-0.17-8bit.patch +Patch0008: telnet-0.17-argv.patch +Patch0009: telnet-0.17-conf.patch +Patch0010: telnet-0.17-cleanup_race.patch +Patch0011: telnetd-0.17-pty_read.patch +Patch0012: telnet-0.17-CAN-2005-468_469.patch +Patch0013: telnet-gethostbyname.patch +Patch0014: netkit-telnet-0.17-ipv6.diff +Patch0015: netkit-telnet-0.17-nodns.patch +Patch0016: telnet-0.17-errno_test_sys_bsd.patch +Patch0017: netkit-telnet-0.17-reallynodns.patch +Patch0018: telnet-rh678324.patch +Patch0019: telnet-rh674942.patch +Patch0020: telnet-rh704604.patch +Patch0021: telnet-rh825946.patch +Patch0022: telnet-0.17-force-ipv6-ipv4.patch +Patch0023: netkit-telnet-0.17-core-dump.patch +Patch0024: netkit-telnet-0.17-gcc7.patch +Patch0025: netkit-telnet-0.17-manpage.patch +Patch0026: netkit-telnet-0.17-telnetrc.patch + +BuildRequires: gcc-c++ ncurses-devel systemd +Requires: systemd +Provides: %{name}-server +Obsoletes: %{name}-server + +%description +Telnet is an application protocol used on the Internet or local area +network to provide a bidirectional interactive text-oriented communication +facility using a virtual terminal connection. The package includes a remote +login client program for telnet and a server daemon. + +%package help +Summary: Help package for %{name}, including doc and man files. + +%description help +This is the help package for %{name}. It includes a doc file and +some man files. + +%prep +%setup -q -n netkit-telnet-%{version} +mv -f telnet telnet-NETKIT + +%autosetup -T -D -a 1 -n netkit-telnet-%{version} -p1 + +%build +%{_configure} --with-c-compiler=gcc --prefix=%{_prefix} --exec-prefix=%{_exec_prefix} +sed -i 's,-O2,\$(CC_FLAGS),;s,LDFLAGS=.*,LDFLAGS=\$(LD_FLAGS),;s,^MANDIR=.*$,MANDIR=%{_mandir},' MCONFIG +sed -i 's,install [+-]s,install,g' ./telnet/GNUmakefile ./telnetd/Makefile ./telnetlogin/Makefile ./telnet-NETKIT/Makefile + +%make_build CC_FLAGS="$RPM_OPT_FLAGS -fpie" LD_FLAGS="$LD_FLAGS -z now -pie" + +%install +install -d %{buildroot}{%{_bindir},%{_sbindir},%{_mandir}/man{1,5,8}} +make install INSTALLROOT=%{buildroot} + +install -Dpm644 %{SOURCE2} %{buildroot}%{_unitdir}/telnet@.service +install -pm644 %{SOURCE3} %{buildroot}%{_unitdir}/telnet.socket + +%post +%systemd_post telnet.socket + +%preun +%systemd_preun telnet.socket + +%postun +%systemd_postun_with_restart telnet.socket + +%files +%defattr(-,root,root,-) +%{_unitdir}/* +%{_sbindir}/in.telnetd +%{_bindir}/telnet + +%files help +%defattr(-,root,root,-) +%doc README +%{_mandir}/man5/issue.net.5* +%{_mandir}/man8/in.telnetd.8* +%{_mandir}/man8/telnetd.8* +%{_mandir}/man1/telnet.1* + +%changelog +* Sat Sep 14 2019 huzhiyu - 1:0.17-75 +- Package init diff --git a/telnet@.service b/telnet@.service new file mode 100644 index 0000000..7bf5914 --- /dev/null +++ b/telnet@.service @@ -0,0 +1,7 @@ +[Unit] +Description=Telnet Server +After=local-fs.target + +[Service] +ExecStart=-/usr/sbin/in.telnetd +StandardInput=socket diff --git a/telnetd-0.17-pty_read.patch b/telnetd-0.17-pty_read.patch new file mode 100644 index 0000000..cfcd4a7 --- /dev/null +++ b/telnetd-0.17-pty_read.patch @@ -0,0 +1,25 @@ +--- a/telnetd/telnetd.c 2005-01-19 14:37:25.000000000 +0000 ++++ b/telnetd/telnetd.c.new 2005-01-19 14:48:12.000000000 +0000 +@@ -697,6 +697,7 @@ + int on = 1; + char *HE; + const char *IM; ++ int pty_read_ok = 0; /* track whether the pty read has worked yet */ + + /* + * Initialize the slc mapping table. +@@ -1016,12 +1017,13 @@ + * off the master side before the slave side is + * opened, we get EIO. + */ +- if (pcc < 0 && (errno == EWOULDBLOCK || errno == EIO)) { ++ if (pcc < 0 && (errno == EWOULDBLOCK || (errno == EIO && pty_read_ok == 0))) { + pcc = 0; + } + else { + if (pcc <= 0) + break; ++ pty_read_ok = 1; /* mark connection up for read */ + #ifdef LINEMODE + /* + * If ioctl from pty, pass it through net diff --git a/telnetd-0.17.diff b/telnetd-0.17.diff new file mode 100644 index 0000000..7d6655b --- /dev/null +++ b/telnetd-0.17.diff @@ -0,0 +1,21 @@ +--- a/telnetd/telnetd.c Thu Apr 13 00:36:12 2000 ++++ b/telnetd.new/telnetd.c Sun Mar 11 03:10:43 2001 +@@ -44,7 +44,7 @@ + #include "../version.h" + + #include +-#include ++#include + #include + /* #include */ /* Don't think this is used at all here */ + #include +--- a/telnetd/defs.h Mon Aug 2 06:14:03 1999 ++++ b/telnetd.new/defs.h Sun Mar 11 03:28:13 2001 +@@ -56,6 +56,7 @@ + #include + #include + #include ++#include + #include + #include + #include