=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/clientloop.c,v retrieving revision 1.98 retrieving revision 1.99 diff -u -r1.98 -r1.99 --- src/usr.bin/ssh/clientloop.c 2002/03/21 16:58:13 1.98 +++ src/usr.bin/ssh/clientloop.c 2002/03/21 23:07:37 1.99 @@ -59,7 +59,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: clientloop.c,v 1.98 2002/03/21 16:58:13 markus Exp $"); +RCSID("$OpenBSD: clientloop.c,v 1.99 2002/03/21 23:07:37 markus Exp $"); #include "ssh.h" #include "ssh1.h" @@ -472,39 +472,33 @@ } static void -process_cmdline(Buffer *bin, Buffer *bout, Buffer *berr) +process_cmdline(void) { void (*handler)(int); char *s, *cmd; u_short fwd_port, fwd_host_port; char buf[1024], sfwd_port[6], sfwd_host_port[6]; int local = 0; - int n; leave_raw_mode(); handler = signal(SIGINT, SIG_IGN); - s = read_passphrase("\r\nssh> ", RP_ECHO); + cmd = s = read_passphrase("\r\nssh> ", RP_ECHO); if (s == NULL) goto out; - cmd = s; - while (*s && isspace(*s)) s++; - if (*s == 0) goto out; - if (strlen(s) < 2 || s[0] != '-' || !(s[1] == 'L' || s[1] == 'R')) { - log("Invalid command"); + log("Invalid command."); goto out; } if (s[1] == 'L') local = 1; if (!local && !compat20) { - log("Not supported for SSH protocol version 1"); + log("Not supported for SSH protocol version 1."); goto out; } - s += 2; while (*s && isspace(*s)) s++; @@ -513,25 +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) { - log("Bad forwarding specification"); + log("Bad forwarding specification."); goto out; } if ((fwd_port = a2port(sfwd_port)) == 0 || (fwd_host_port = a2port(sfwd_host_port)) == 0) { - log("Bad forwarding port(s)"); + log("Bad forwarding port(s)."); goto out; } if (local) { - n = channel_setup_local_fwd_listener(fwd_port, buf, - fwd_host_port, options.gateway_ports); - if (n <= 0) { - log("Port forwarding failed"); + if (channel_setup_local_fwd_listener(fwd_port, buf, + fwd_host_port, options.gateway_ports) < 0) { + log("Port forwarding failed."); goto out; } } else channel_request_remote_forwarding(fwd_port, buf, fwd_host_port); - log("Forwarding port"); + log("Forwarding port."); out: signal(SIGINT, handler); enter_raw_mode(); @@ -664,7 +657,7 @@ continue; case 'C': - process_cmdline(bin, bout, berr); + process_cmdline(); continue; default: