diff options
author | markm <markm@FreeBSD.org> | 1997-09-07 07:02:53 +0000 |
---|---|---|
committer | markm <markm@FreeBSD.org> | 1997-09-07 07:02:53 +0000 |
commit | cd2a6be22c3f5c010eb7ec63c77cd0699a832567 (patch) | |
tree | 316b7a514809054240510520a7e779098c17795e /contrib/telnet/telnet | |
parent | 2075d422d2e14fa0f55c71e4790fd46d0979a7a1 (diff) | |
download | FreeBSD-src-cd2a6be22c3f5c010eb7ec63c77cd0699a832567.zip FreeBSD-src-cd2a6be22c3f5c010eb7ec63c77cd0699a832567.tar.gz |
Bring the FreeBSD changes to the virgin sources.
Diffstat (limited to 'contrib/telnet/telnet')
-rw-r--r-- | contrib/telnet/telnet/authenc.c | 4 | ||||
-rw-r--r-- | contrib/telnet/telnet/commands.c | 145 | ||||
-rw-r--r-- | contrib/telnet/telnet/externs.h | 13 | ||||
-rw-r--r-- | contrib/telnet/telnet/main.c | 23 | ||||
-rw-r--r-- | contrib/telnet/telnet/network.c | 3 | ||||
-rw-r--r-- | contrib/telnet/telnet/ring.c | 4 | ||||
-rw-r--r-- | contrib/telnet/telnet/sys_bsd.c | 7 | ||||
-rw-r--r-- | contrib/telnet/telnet/telnet.c | 32 | ||||
-rw-r--r-- | contrib/telnet/telnet/terminal.c | 6 | ||||
-rw-r--r-- | contrib/telnet/telnet/tn3270.c | 2 | ||||
-rw-r--r-- | contrib/telnet/telnet/utilities.c | 13 |
11 files changed, 180 insertions, 72 deletions
diff --git a/contrib/telnet/telnet/authenc.c b/contrib/telnet/telnet/authenc.c index 545df78..f829b1a 100644 --- a/contrib/telnet/telnet/authenc.c +++ b/contrib/telnet/telnet/authenc.c @@ -32,7 +32,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)authenc.c 8.1 (Berkeley) 6/6/93"; +static const char sccsid[] = "@(#)authenc.c 8.1 (Berkeley) 6/6/93"; #endif /* not lint */ #if defined(AUTHENTICATION) || defined(ENCRYPTION) @@ -101,7 +101,7 @@ telnet_gets(prompt, result, length, echo) if (echo) { printf("%s", prompt); res = fgets(result, length, stdin); - } else if (res = getpass(prompt)) { + } else if ((res = getpass(prompt))) { strncpy(result, res, length); res = result; } diff --git a/contrib/telnet/telnet/commands.c b/contrib/telnet/telnet/commands.c index 41ef5cd..8073fb5 100644 --- a/contrib/telnet/telnet/commands.c +++ b/contrib/telnet/telnet/commands.c @@ -32,7 +32,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)commands.c 8.4 (Berkeley) 5/30/95"; +static const char sccsid[] = "@(#)commands.c 8.4 (Berkeley) 5/30/95"; #endif /* not lint */ #if defined(unix) @@ -56,6 +56,8 @@ static char sccsid[] = "@(#)commands.c 8.4 (Berkeley) 5/30/95"; #include <pwd.h> #include <varargs.h> #include <errno.h> +#include <unistd.h> +#include <stdlib.h> #include <arpa/telnet.h> @@ -67,6 +69,13 @@ static char sccsid[] = "@(#)commands.c 8.4 (Berkeley) 5/30/95"; #include "defines.h" #include "types.h" +#if defined(AUTHENTICATION) +#include <libtelnet/auth.h> +#endif +#if defined(ENCRYPTION) +#include <libtelnet/encrypt.h> +#endif + #if !defined(CRAY) && !defined(sysV88) #include <netinet/in_systm.h> # if (defined(vax) || defined(tahoe) || defined(hp300)) && !defined(ultrix) @@ -93,7 +102,11 @@ extern int isprefix(); extern char **genget(); extern int Ambiguous(); -static call(); +static int help(int argc, char *argv[]); +static int call(); +static void cmdrc(char *m1, char *m2); + +int quit(void); typedef struct { char *name; /* command name */ @@ -107,6 +120,37 @@ static char saveline[256]; static int margc; static char *margv[20]; +#if defined(SKEY) +#include <sys/wait.h> +#define PATH_SKEY "/usr/bin/key" + int +skey_calc(argc, argv) + int argc; + char **argv; +{ + int status; + + if(argc != 3) { + printf("%s sequence challenge\n", argv[0]); + return; + } + + switch(fork()) { + case 0: + execv(PATH_SKEY, argv); + exit (1); + case -1: + perror("fork"); + break; + default: + (void) wait(&status); + if (WIFEXITED(status)) + return (WEXITSTATUS(status)); + return (0); + } +} +#endif + static void makeargv() { @@ -121,7 +165,7 @@ makeargv() margc++; cp++; } - while (c = *cp) { + while ((c = *cp)) { register int inquote = 0; while (isspace(c)) c = *++cp; @@ -164,7 +208,7 @@ makeargv() * Todo: 1. Could take random integers (12, 0x12, 012, 0b1). */ - static + static int special(s) register char *s; { @@ -293,7 +337,6 @@ sendcmd(argc, argv) { int count; /* how many bytes we are going to need to send */ int i; - int question = 0; /* was at least one argument a question */ struct sendlist *s; /* pointer to current command */ int success = 0; int needconnect = 0; @@ -499,7 +542,7 @@ togdebug() } #else /* NOT43 */ if (debug) { - if (net > 0 && SetSockOpt(net, SOL_SOCKET, SO_DEBUG, 0, 0) < 0) + if (net > 0 && SetSockOpt(net, SOL_SOCKET, SO_DEBUG, 1) < 0) perror("setsockopt (SO_DEBUG)"); } else printf("Cannot turn off socket debugging\n"); @@ -1082,7 +1125,7 @@ unsetcmd(argc, argv) #ifdef KLUDGELINEMODE extern int kludgelinemode; - static int + static void dokludgemode() { kludgelinemode = 1; @@ -1139,7 +1182,7 @@ dolmmode(bit, on) } int -setmode(bit) +setmod(bit) { return dolmmode(bit, 1); } @@ -1171,17 +1214,17 @@ static struct modelist ModeList[] = { #endif { "", "", 0 }, { "", "These require the LINEMODE option to be enabled", 0 }, - { "isig", "Enable signal trapping", setmode, 1, MODE_TRAPSIG }, - { "+isig", 0, setmode, 1, MODE_TRAPSIG }, + { "isig", "Enable signal trapping", setmod, 1, MODE_TRAPSIG }, + { "+isig", 0, setmod, 1, MODE_TRAPSIG }, { "-isig", "Disable signal trapping", clearmode, 1, MODE_TRAPSIG }, - { "edit", "Enable character editing", setmode, 1, MODE_EDIT }, - { "+edit", 0, setmode, 1, MODE_EDIT }, + { "edit", "Enable character editing", setmod, 1, MODE_EDIT }, + { "+edit", 0, setmod, 1, MODE_EDIT }, { "-edit", "Disable character editing", clearmode, 1, MODE_EDIT }, - { "softtabs", "Enable tab expansion", setmode, 1, MODE_SOFT_TAB }, - { "+softtabs", 0, setmode, 1, MODE_SOFT_TAB }, + { "softtabs", "Enable tab expansion", setmod, 1, MODE_SOFT_TAB }, + { "+softtabs", 0, setmod, 1, MODE_SOFT_TAB }, { "-softtabs", "Disable character editing", clearmode, 1, MODE_SOFT_TAB }, - { "litecho", "Enable literal character echo", setmode, 1, MODE_LIT_ECHO }, - { "+litecho", 0, setmode, 1, MODE_LIT_ECHO }, + { "litecho", "Enable literal character echo", setmod, 1, MODE_LIT_ECHO }, + { "+litecho", 0, setmod, 1, MODE_LIT_ECHO }, { "-litecho", "Disable literal character echo", clearmode, 1, MODE_LIT_ECHO }, { "help", 0, modehelp, 0 }, #ifdef KLUDGELINEMODE @@ -1435,7 +1478,7 @@ extern int shell(); #endif /* !defined(TN3270) */ /*VARARGS*/ - static + static int bye(argc, argv) int argc; /* Number of arguments */ char *argv[]; /* arguments */ @@ -1465,6 +1508,7 @@ bye(argc, argv) } /*VARARGS*/ + int quit() { (void) call(bye, "bye", "fromquit", 0); @@ -1530,7 +1574,7 @@ getslc(name) genget(name, (char **) SlcList, sizeof(struct slclist)); } - static + static int slccmd(argc, argv) int argc; char *argv[]; @@ -1627,6 +1671,7 @@ getenvcmd(name) genget(name, (char **) EnvList, sizeof(struct envlist)); } + int env_cmd(argc, argv) int argc; char *argv[]; @@ -1693,7 +1738,7 @@ env_init() extern char *strchr(); for (epp = environ; *epp; epp++) { - if (cp = strchr(*epp, '=')) { + if ((cp = strchr(*epp, '='))) { *cp = '\0'; ep = env_define((unsigned char *)*epp, (unsigned char *)cp+1); @@ -1738,7 +1783,7 @@ env_define(var, value) { register struct env_lst *ep; - if (ep = env_find(var)) { + if ((ep = env_find(var))) { if (ep->var) free(ep->var); if (ep->value) @@ -1764,7 +1809,7 @@ env_undefine(var) { register struct env_lst *ep; - if (ep = env_find(var)) { + if ((ep = env_find(var))) { ep->prev->next = ep->next; if (ep->next) ep->next->prev = ep->prev; @@ -1782,7 +1827,7 @@ env_export(var) { register struct env_lst *ep; - if (ep = env_find(var)) + if ((ep = env_find(var))) ep->export = 1; } @@ -1792,7 +1837,7 @@ env_unexport(var) { register struct env_lst *ep; - if (ep = env_find(var)) + if ((ep = env_find(var))) ep->export = 0; } @@ -1842,10 +1887,10 @@ env_default(init, welldefined) if (init) { nep = &envlisthead; - return; + return(NULL); } if (nep) { - while (nep = nep->next) { + while ((nep = nep->next)) { if (nep->export && (nep->welldefined == welldefined)) return(nep->var); } @@ -1859,7 +1904,7 @@ env_getvalue(var) { register struct env_lst *ep; - if (ep = env_find(var)) + if ((ep = env_find(var))) return(ep->value); return(NULL); } @@ -1949,6 +1994,7 @@ auth_help() return 0; } + int auth_cmd(argc, argv) int argc; char *argv[]; @@ -2055,6 +2101,7 @@ EncryptHelp() return 0; } + int encrypt_cmd(argc, argv) int argc; char *argv[]; @@ -2142,7 +2189,7 @@ filestuff(fd) * Print status about the connection. */ /*ARGSUSED*/ - static + static int status(argc, argv) int argc; char *argv[]; @@ -2215,6 +2262,7 @@ status(argc, argv) /* * Function that gets called when SIGINFO is received. */ + void ayt_status() { (void) call(status, "status", "notmuch", 0); @@ -2313,10 +2361,15 @@ tn(argc, argv) } else { #endif temp = inet_addr(hostp); - if (temp != (unsigned long) -1) { + if (temp != INADDR_NONE) { sin.sin_addr.s_addr = temp; sin.sin_family = AF_INET; - (void) strcpy(_hostname, hostp); + host = gethostbyaddr((char *)&temp, sizeof(temp), AF_INET); + if (host) + (void) strncpy(_hostname, host->h_name, sizeof(_hostname)); + else + (void) strncpy(_hostname, hostp, sizeof(_hostname)); + _hostname[sizeof(_hostname)-1] = '\0'; hostname = _hostname; } else { host = gethostbyname(hostp); @@ -2437,8 +2490,8 @@ tn(argc, argv) user = getenv("USER"); if (user == NULL || - (pw = getpwnam(user)) && pw->pw_uid != getuid()) { - if (pw = getpwuid(getuid())) + ((pw = getpwnam(user)) && pw->pw_uid != getuid())) { + if ((pw = getpwuid(getuid()))) user = pw->pw_name; else user = NULL; @@ -2483,12 +2536,13 @@ static char #if defined(unix) zhelp[] = "suspend telnet", #endif /* defined(unix) */ +#if defined(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)"; -static int help(); - static Command cmdtab[] = { { "close", closehelp, bye, 1 }, { "logout", logouthelp, logout, 1 }, @@ -2521,7 +2575,10 @@ static Command cmdtab[] = { #endif { "environ", envhelp, env_cmd, 0 }, { "?", helphelp, help, 0 }, - 0 +#if defined(SKEY) + { "skey", skeyhelp, skey_calc, 0 }, +#endif + { 0, 0, 0, 0 } }; static char crmodhelp[] = "deprecated command -- use 'toggle crmod' instead"; @@ -2531,7 +2588,7 @@ static Command cmdtab2[] = { { "help", 0, help, 0 }, { "escape", escapehelp, setescape, 0 }, { "crmod", crmodhelp, togcrmod, 0 }, - 0 + { 0, 0, 0, 0 } }; @@ -2540,7 +2597,7 @@ static Command cmdtab2[] = { */ /*VARARGS1*/ - static + static int call(va_alist) va_dcl { @@ -2566,7 +2623,7 @@ getcmd(name) { Command *cm; - if (cm = (Command *) genget(name, (char **) cmdtab, sizeof(Command))) + if ((cm = (Command *) genget(name, (char **) cmdtab, sizeof(Command)))) return cm; return (Command *) genget(name, (char **) cmdtab2, sizeof(Command)); } @@ -2655,7 +2712,7 @@ command(top, tbuf, cnt) /* * Help command. */ - static + static int help(argc, argv) int argc; char *argv[]; @@ -2669,9 +2726,8 @@ help(argc, argv) printf("%-*s\t%s\n", HELPINDENT, c->name, c->help); } - return 0; } - while (--argc > 0) { + else while (--argc > 0) { register char *arg; arg = *++argv; c = getcmd(arg); @@ -2682,12 +2738,13 @@ help(argc, argv) else printf("%s\n", c->help); } - return 0; + return(0); } static char *rcname = 0; static char rcbuf[128]; + void cmdrc(m1, m2) char *m1, *m2; { @@ -2706,7 +2763,7 @@ cmdrc(m1, m2) if (rcname == 0) { rcname = getenv("HOME"); - if (rcname) + if (rcname && (strlen(rcname) + 10) < sizeof(rcbuf)) strcpy(rcbuf, rcname); else rcbuf[0] = '\0'; @@ -2881,7 +2938,7 @@ sourceroute(arg, cpp, lenp) for (c = 0;;) { if (c == ':') cp2 = 0; - else for (cp2 = cp; c = *cp2; cp2++) { + else for (cp2 = cp; (c = *cp2); cp2++) { if (c == ',') { *cp2++ = '\0'; if (*cp2 == '@') @@ -2899,7 +2956,7 @@ sourceroute(arg, cpp, lenp) if ((tmp = inet_addr(cp)) != -1) { sin_addr.s_addr = tmp; - } else if (host = gethostbyname(cp)) { + } else if ((host = gethostbyname(cp))) { #if defined(h_addr) memmove((caddr_t)&sin_addr, host->h_addr_list[0], host->h_length); diff --git a/contrib/telnet/telnet/externs.h b/contrib/telnet/telnet/externs.h index 83ba07b..a834c61 100644 --- a/contrib/telnet/telnet/externs.h +++ b/contrib/telnet/telnet/externs.h @@ -145,7 +145,8 @@ extern int #endif /* defined(TN3270) */ termdata, /* Print out terminal data flow */ #endif /* defined(unix) */ - debug; /* Debug level */ + debug, /* Debug level */ + clienteof; /* Client received EOF */ extern cc_t escape; /* Escape to command mode */ extern cc_t rlogin; /* Rlogin mode escape character */ @@ -245,6 +246,7 @@ extern jmp_buf extern void command P((int, char *, int)), Dump P((int, unsigned char *, int)), + ExitString P((char *, int)), init_3270 P((void)), printoption P((char *, int, int)), printsub P((int, unsigned char *, int)), @@ -290,7 +292,14 @@ extern void slc_add_reply P((int, int, int)), slc_end_reply P((void)); extern int - slc_update P((void)); + NetClose P((int)), + netflush P((void)), + SetSockOpt P((int, int, int, int)), + slc_update P((void)), + telrcv P((void)), + TerminalWrite P((char *, int)), + TerminalAutoFlush P((void)), + ttyflush P((int)); extern void env_opt P((unsigned char *, int)), diff --git a/contrib/telnet/telnet/main.c b/contrib/telnet/telnet/main.c index 6073dbf..9049385 100644 --- a/contrib/telnet/telnet/main.c +++ b/contrib/telnet/telnet/main.c @@ -32,21 +32,29 @@ */ #ifndef lint -static char copyright[] = +static const char copyright[] = "@(#) Copyright (c) 1988, 1990, 1993\n\ The Regents of the University of California. All rights reserved.\n"; #endif /* not lint */ #ifndef lint -static char sccsid[] = "@(#)main.c 8.3 (Berkeley) 5/30/95"; +static const char sccsid[] = "@(#)main.c 8.3 (Berkeley) 5/30/95"; #endif /* not lint */ #include <sys/types.h> +#include <stdlib.h> #include "ring.h" #include "externs.h" #include "defines.h" +#if defined(AUTHENTICATION) +#include <libtelnet/auth.h> +#endif +#if defined(ENCRYPTION) +#include <libtelnet/encrypt.h> +#endif + /* These values need to be the same as defined in libtelnet/kerberos5.c */ /* Either define them in both places, or put in some common header file. */ #define OPTS_FORWARD_CREDS 0x00000002 @@ -56,6 +64,12 @@ static char sccsid[] = "@(#)main.c 8.3 (Berkeley) 5/30/95"; #define FORWARD #endif +void init_terminal(void); +void init_network(void); +void init_telnet(void); +void init_sys(void); +void init_3270(void); + /* * Initialize variables. */ @@ -109,7 +123,7 @@ usage() * main. Parse arguments, invoke the protocol or command parser. */ - + int main(argc, argv) int argc; char *argv[]; @@ -129,7 +143,7 @@ main(argc, argv) TerminalSaveState(); - if (prompt = strrchr(argv[0], '/')) + if ((prompt = strrchr(argv[0], '/'))) ++prompt; else prompt = argv[0]; @@ -319,4 +333,5 @@ main(argc, argv) #endif command(1, 0, 0); } + return 0; } diff --git a/contrib/telnet/telnet/network.c b/contrib/telnet/telnet/network.c index 0fe5cee..9964bc2 100644 --- a/contrib/telnet/telnet/network.c +++ b/contrib/telnet/telnet/network.c @@ -32,7 +32,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)network.c 8.2 (Berkeley) 12/15/93"; +static const char sccsid[] = "@(#)network.c 8.2 (Berkeley) 12/15/93"; #endif /* not lint */ #include <sys/types.h> @@ -42,6 +42,7 @@ static char sccsid[] = "@(#)network.c 8.2 (Berkeley) 12/15/93"; #include <errno.h> #include <arpa/telnet.h> +#include <unistd.h> #include "ring.h" diff --git a/contrib/telnet/telnet/ring.c b/contrib/telnet/telnet/ring.c index 37dfda8..13fe6c2 100644 --- a/contrib/telnet/telnet/ring.c +++ b/contrib/telnet/telnet/ring.c @@ -32,7 +32,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)ring.c 8.2 (Berkeley) 5/30/95"; +static const char sccsid[] = "@(#)ring.c 8.2 (Berkeley) 5/30/95"; #endif /* not lint */ /* @@ -48,6 +48,7 @@ static char sccsid[] = "@(#)ring.c 8.2 (Berkeley) 5/30/95"; #include <stdio.h> #include <errno.h> +#include <string.h> #ifdef size_t #undef size_t @@ -99,6 +100,7 @@ static u_long ring_clock = 0; /* Buffer state transition routines */ + int ring_init(ring, buffer, count) Ring *ring; unsigned char *buffer; diff --git a/contrib/telnet/telnet/sys_bsd.c b/contrib/telnet/telnet/sys_bsd.c index f2769ac..ed5f459 100644 --- a/contrib/telnet/telnet/sys_bsd.c +++ b/contrib/telnet/telnet/sys_bsd.c @@ -32,7 +32,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)sys_bsd.c 8.4 (Berkeley) 5/30/95"; +static const char sccsid[] = "@(#)sys_bsd.c 8.4 (Berkeley) 5/30/95"; #endif /* not lint */ /* @@ -48,6 +48,7 @@ static char sccsid[] = "@(#)sys_bsd.c 8.4 (Berkeley) 5/30/95"; #include <signal.h> #include <errno.h> #include <arpa/telnet.h> +#include <unistd.h> #include "ring.h" @@ -140,7 +141,7 @@ TerminalWrite(buf, n) int TerminalRead(buf, n) - unsigned char *buf; + char *buf; int n; { return read(tin, buf, n); @@ -1051,7 +1052,7 @@ process_rings(netin, netout, netex, ttyin, ttyout, poll) } # endif /* defined(TN3270) */ /* I don't like this, does it ever happen? */ - printf("sleep(5) from telnet, after select\r\n"); + printf("sleep(5) from telnet, after select: %s\r\n", strerror(errno)); sleep(5); } return 0; diff --git a/contrib/telnet/telnet/telnet.c b/contrib/telnet/telnet/telnet.c index e792262..1c1ee33 100644 --- a/contrib/telnet/telnet/telnet.c +++ b/contrib/telnet/telnet/telnet.c @@ -32,7 +32,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)telnet.c 8.4 (Berkeley) 5/30/95"; +static const char sccsid[] = "@(#)telnet.c 8.4 (Berkeley) 5/30/95"; #endif /* not lint */ #include <sys/types.h> @@ -49,6 +49,10 @@ static char sccsid[] = "@(#)telnet.c 8.4 (Berkeley) 5/30/95"; #include <ctype.h> +#include <stdlib.h> +#include <unistd.h> +#include <termcap.h> + #include "ring.h" #include "defines.h" @@ -56,6 +60,13 @@ static char sccsid[] = "@(#)telnet.c 8.4 (Berkeley) 5/30/95"; #include "types.h" #include "general.h" +#if defined(AUTHENTICATION) +#include <libtelnet/auth.h> +#endif +#if defined(ENCRYPTION) +#include <libtelnet/encrypt.h> +#endif +#include <libtelnet/misc.h> #define strip(x) ((my_want_state_is_wont(TELOPT_BINARY)) ? ((x)&0x7f) : (x)) @@ -104,7 +115,8 @@ int donelclchars, /* the user has set "localchars" */ donebinarytoggle, /* the user has put us in binary */ dontlecho, /* do we suppress local echoing right now? */ - globalmode; + globalmode, + clienteof = 0; char *prompt = 0; @@ -856,7 +868,7 @@ suboption() TerminalSpeeds(&ispeed, &ospeed); - sprintf((char *)temp, "%c%c%c%c%d,%d%c%c", IAC, SB, TELOPT_TSPEED, + sprintf((char *)temp, "%c%c%c%c%ld,%ld%c%c", IAC, SB, TELOPT_TSPEED, TELQUAL_IS, ospeed, ispeed, IAC, SE); len = strlen((char *)temp+4) + 4; /* temp[3] is 0 ... */ @@ -1212,7 +1224,7 @@ slc_init() #define initfunc(func, flags) { \ spcp = &spc_data[func]; \ - if (spcp->valp = tcval(func)) { \ + if ((spcp->valp = tcval(func))) { \ spcp->val = *spcp->valp; \ spcp->mylevel = SLC_VARIABLE|flags; \ } else { \ @@ -1620,12 +1632,12 @@ env_opt_add(ep) if (ep == NULL || *ep == '\0') { /* Send user defined variables first. */ env_default(1, 0); - while (ep = env_default(0, 0)) + while ((ep = env_default(0, 0))) env_opt_add(ep); /* Now add the list of well know variables. */ env_default(1, 1); - while (ep = env_default(0, 1)) + while ((ep = env_default(0, 1))) env_opt_add(ep); return; } @@ -1655,7 +1667,7 @@ env_opt_add(ep) else *opt_replyp++ = ENV_USERVAR; for (;;) { - while (c = *ep++) { + while ((c = *ep++)) { switch(c&0xff) { case IAC: *opt_replyp++ = IAC; @@ -1669,7 +1681,7 @@ env_opt_add(ep) } *opt_replyp++ = c; } - if (ep = vp) { + if ((ep = vp)) { #ifdef OLD_ENVIRON if (telopt_environ == TELOPT_OLD_ENVIRON) *opt_replyp++ = old_env_value; @@ -2184,9 +2196,9 @@ Scheduler(block) ttyout = ring_full_count(&ttyoring); #if defined(TN3270) - ttyin = ring_empty_count(&ttyiring) && (shell_active == 0); + ttyin = ring_empty_count(&ttyiring) && (clienteof == 0) && (shell_active == 0); #else /* defined(TN3270) */ - ttyin = ring_empty_count(&ttyiring); + ttyin = ring_empty_count(&ttyiring) && (clienteof == 0); #endif /* defined(TN3270) */ #if defined(TN3270) diff --git a/contrib/telnet/telnet/terminal.c b/contrib/telnet/telnet/terminal.c index b5ceeda..a2383d9 100644 --- a/contrib/telnet/telnet/terminal.c +++ b/contrib/telnet/telnet/terminal.c @@ -32,7 +32,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)terminal.c 8.2 (Berkeley) 2/16/95"; +static const char sccsid[] = "@(#)terminal.c 8.2 (Berkeley) 2/16/95"; #endif /* not lint */ #include <arpa/telnet.h> @@ -43,6 +43,10 @@ static char sccsid[] = "@(#)terminal.c 8.2 (Berkeley) 2/16/95"; #include "externs.h" #include "types.h" +#if defined(ENCRYPTION) +#include <libtelnet/encrypt.h> +#endif + Ring ttyoring, ttyiring; unsigned char ttyobuf[2*BUFSIZ], ttyibuf[BUFSIZ]; diff --git a/contrib/telnet/telnet/tn3270.c b/contrib/telnet/telnet/tn3270.c index a75cd1e..5a453d9 100644 --- a/contrib/telnet/telnet/tn3270.c +++ b/contrib/telnet/telnet/tn3270.c @@ -32,7 +32,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)tn3270.c 8.2 (Berkeley) 5/30/95"; +static const char sccsid[] = "@(#)tn3270.c 8.2 (Berkeley) 5/30/95"; #endif /* not lint */ #include <sys/types.h> diff --git a/contrib/telnet/telnet/utilities.c b/contrib/telnet/telnet/utilities.c index 06d08a4..0ee882e 100644 --- a/contrib/telnet/telnet/utilities.c +++ b/contrib/telnet/telnet/utilities.c @@ -32,7 +32,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)utilities.c 8.3 (Berkeley) 5/30/95"; +static const char sccsid[] = "@(#)utilities.c 8.3 (Berkeley) 5/30/95"; #endif /* not lint */ #define TELOPTS @@ -40,7 +40,9 @@ static char sccsid[] = "@(#)utilities.c 8.3 (Berkeley) 5/30/95"; #define SLC_NAMES #include <arpa/telnet.h> #include <sys/types.h> +#include <sys/socket.h> #include <sys/time.h> +#include <unistd.h> #include <ctype.h> @@ -54,6 +56,13 @@ static char sccsid[] = "@(#)utilities.c 8.3 (Berkeley) 5/30/95"; #include "externs.h" +#if defined(AUTHENTICATION) +#include <libtelnet/auth.h> +#endif +#if defined(ENCRYPTION) +#include <libtelnet/encrypt.h> +#endif + FILE *NetTrace = 0; /* Not in bss, since needs to stay */ int prettydump; @@ -134,7 +143,6 @@ Dump(direction, buffer, length) # define min(x,y) ((x<y)? x:y) unsigned char *pThis; int offset; - extern pettydump; offset = 0; @@ -819,7 +827,6 @@ printsub(direction, pointer, length) break; default: - def_case: if (isprint(pointer[i]) && pointer[i] != '"') { if (noquote) { putc('"', NetTrace); |