X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/f67b4e855de19ce0468b8679566ffe14cf3f29a4..25d39ef60aed5cbfcc11f2dd064a3964a8c6ca3b:/telnet.c diff --git a/telnet.c b/telnet.c index 00b081bd..33b921b0 100644 --- a/telnet.c +++ b/telnet.c @@ -184,7 +184,7 @@ static void log_option (char *sender, int cmd, int option) { (cmd == WILL ? "WILL" : cmd == WONT ? "WONT" : cmd == DO ? "DO" : cmd == DONT ? "DONT" : ""), telopt(option)); - lognegot(buf); + logevent(buf); } static void send_opt (int cmd, int option) { @@ -285,11 +285,11 @@ static void process_subneg (void) { n = 4 + strlen(cfg.termspeed); b[n] = IAC; b[n+1] = SE; s_write (b, n+2); - lognegot("server:\tSB TSPEED SEND"); + logevent("server:\tSB TSPEED SEND"); sprintf(logbuf, "client:\tSB TSPEED IS %s", cfg.termspeed); - lognegot (logbuf); + logevent (logbuf); } else - lognegot ("server:\tSB TSPEED "); + logevent ("server:\tSB TSPEED "); break; case TELOPT_TTYPE: if (sb_len == 1 && sb_buf[0] == TELQUAL_SEND) { @@ -302,11 +302,11 @@ static void process_subneg (void) { b[n+4] = IAC; b[n+5] = SE; s_write (b, n+6); b[n+4] = 0; - lognegot("server:\tSB TTYPE SEND"); + logevent("server:\tSB TTYPE SEND"); sprintf(logbuf, "client:\tSB TTYPE IS %s", b+4); - lognegot(logbuf); + logevent(logbuf); } else - lognegot("server:\tSB TTYPE \r\n"); + logevent("server:\tSB TTYPE \r\n"); break; case TELOPT_OLD_ENVIRON: case TELOPT_NEW_ENVIRON: @@ -316,7 +316,7 @@ static void process_subneg (void) { char logbuf[50]; p++; sprintf (logbuf, "server:\tSB %s SEND", telopt(sb_opt)); - lognegot (logbuf); + logevent (logbuf); if (sb_opt == TELOPT_OLD_ENVIRON) { if (cfg.rfc_environ) { value = RFC_VALUE; @@ -368,7 +368,7 @@ static void process_subneg (void) { s_write (b, n); sprintf(logbuf, "client:\tSB %s IS %s", telopt(sb_opt), n==6 ? "" : ""); - lognegot (logbuf); + logevent (logbuf); } break; } @@ -410,7 +410,12 @@ static void do_telnet_read (char *buf, int len) { else if (c == WILL) telnet_state = SEENWILL; else if (c == WONT) telnet_state = SEENWONT; else if (c == SB) telnet_state = SEENSB; - else telnet_state = TOPLEVEL;/* ignore _everything_ else! */ + else { + /* ignore (and print) everything else */ + b[0] = c; + c_write(b,1); + telnet_state = TOPLEVEL; + } break; case SEENWILL: proc_rec_opt (WILL, c); @@ -676,7 +681,7 @@ static void telnet_size(void) { sprintf(logbuf, "client:\tSB NAWS %d,%d", ((unsigned char)b[3] << 8) + (unsigned char)b[4], ((unsigned char)b[5] << 8) + (unsigned char)b[6]); - lognegot (logbuf); + logevent (logbuf); } /*