=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/clientloop.c,v retrieving revision 1.104.2.2 retrieving revision 1.105 diff -u -r1.104.2.2 -r1.105 --- src/usr.bin/ssh/clientloop.c 2003/09/16 21:20:25 1.104.2.2 +++ src/usr.bin/ssh/clientloop.c 2002/11/18 16:43:44 1.105 @@ -59,7 +59,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: clientloop.c,v 1.104.2.2 2003/09/16 21:20:25 brad Exp $"); +RCSID("$OpenBSD: clientloop.c,v 1.105 2002/11/18 16:43:44 markus Exp $"); #include "ssh.h" #include "ssh1.h" @@ -395,9 +395,9 @@ /* Flush stdout and stderr buffers. */ if (buffer_len(bout) > 0) - atomicio(vwrite, fileno(stdout), buffer_ptr(bout), buffer_len(bout)); + atomicio(write, fileno(stdout), buffer_ptr(bout), buffer_len(bout)); if (buffer_len(berr) > 0) - atomicio(vwrite, fileno(stderr), buffer_ptr(berr), buffer_len(berr)); + atomicio(write, fileno(stderr), buffer_ptr(berr), buffer_len(berr)); leave_raw_mode(); @@ -490,13 +490,13 @@ if (*s == 0) goto out; if (strlen(s) < 2 || s[0] != '-' || !(s[1] == 'L' || s[1] == 'R')) { - logit("Invalid command."); + log("Invalid command."); goto out; } if (s[1] == 'L') local = 1; if (!local && !compat20) { - logit("Not supported for SSH protocol version 1."); + log("Not supported for SSH protocol version 1."); goto out; } s += 2; @@ -507,24 +507,24 @@ sfwd_port, buf, sfwd_host_port) != 3 && sscanf(s, "%5[0-9]/%255[^/]/%5[0-9]", sfwd_port, buf, sfwd_host_port) != 3) { - logit("Bad forwarding specification."); + log("Bad forwarding specification."); goto out; } if ((fwd_port = a2port(sfwd_port)) == 0 || (fwd_host_port = a2port(sfwd_host_port)) == 0) { - logit("Bad forwarding port(s)."); + log("Bad forwarding port(s)."); goto out; } if (local) { if (channel_setup_local_fwd_listener(fwd_port, buf, fwd_host_port, options.gateway_ports) < 0) { - logit("Port forwarding failed."); + log("Port forwarding failed."); goto out; } } else channel_request_remote_forwarding(fwd_port, buf, fwd_host_port); - logit("Forwarding port."); + log("Forwarding port."); out: signal(SIGINT, handler); enter_raw_mode(); @@ -574,23 +574,10 @@ /* We have been continued. */ continue; - case 'B': - if (compat20) { - snprintf(string, sizeof string, - "%cB\r\n", escape_char); - buffer_append(berr, string, - strlen(string)); - channel_request_start(session_ident, - "break", 0); - packet_put_int(1000); - packet_send(); - } - continue; - case 'R': if (compat20) { if (datafellows & SSH_BUG_NOREKEY) - logit("Server does not support re-keying"); + log("Server does not support re-keying"); else need_rekeying = 1; } @@ -649,7 +636,6 @@ "%c?\r\n\ Supported escape sequences:\r\n\ %c. - terminate connection\r\n\ -%cB - send a BREAK to the remote system\r\n\ %cC - open a command line\r\n\ %cR - Request rekey (SSH protocol 2 only)\r\n\ %c^Z - suspend ssh\r\n\ @@ -660,7 +646,7 @@ (Note that escapes are only recognized immediately after newline.)\r\n", escape_char, escape_char, escape_char, escape_char, escape_char, escape_char, escape_char, escape_char, - escape_char, escape_char, escape_char); + escape_char, escape_char); buffer_append(berr, string, strlen(string)); continue; @@ -982,8 +968,9 @@ /* Do channel operations unless rekeying in progress. */ if (!rekeying) { channel_after_select(readset, writeset); - if (need_rekeying || packet_need_rekeying()) { - debug("need rekeying"); + + if (need_rekeying) { + debug("user requests rekeying"); xxx_kex->done = 0; kex_send_kexinit(xxx_kex); need_rekeying = 0; @@ -1159,7 +1146,7 @@ c = channel_new("forwarded-tcpip", SSH_CHANNEL_CONNECTING, sock, sock, -1, CHAN_TCP_WINDOW_DEFAULT, CHAN_TCP_WINDOW_DEFAULT, 0, - originator_address, 1); + xstrdup(originator_address), 1); xfree(originator_address); xfree(listen_address); return c; @@ -1195,7 +1182,8 @@ return NULL; c = channel_new("x11", SSH_CHANNEL_X11_OPEN, sock, sock, -1, - CHAN_TCP_WINDOW_DEFAULT, CHAN_X11_PACKET_DEFAULT, 0, "x11", 1); + CHAN_TCP_WINDOW_DEFAULT, CHAN_X11_PACKET_DEFAULT, 0, + xstrdup("x11"), 1); c->force_drain = 1; return c; } @@ -1217,7 +1205,7 @@ c = channel_new("authentication agent connection", SSH_CHANNEL_OPEN, sock, sock, -1, CHAN_X11_WINDOW_DEFAULT, CHAN_TCP_WINDOW_DEFAULT, 0, - "authentication agent connection", 1); + xstrdup("authentication agent connection"), 1); c->force_drain = 1; return c; }