From 46d6e0909951021c3b16bf8ccf1778c01d370c4b Mon Sep 17 00:00:00 2001 From: Ben Lindstrom Date: Mon, 5 Mar 2001 07:10:47 +0000 Subject: - markus@cvs.openbsd.org 2001/03/03 23:52:22 [sftp.c] clean up arg processing. based on work by Christophe_Moret@hp.com --- ChangeLog | 5 ++++- sftp.c | 23 ++++++++++------------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index a0bb45a5b..1eab73d8d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -137,6 +137,9 @@ - deraadt@cvs.openbsd.org 2001/03/03 22:07:50 [sftp-server.c] KNF + - markus@cvs.openbsd.org 2001/03/03 23:52:22 + [sftp.c] + clean up arg processing. based on work by Christophe_Moret@hp.com 20010304 - (bal) Remove make-ssh-known-hosts.1 since it's no longer valid. @@ -4329,4 +4332,4 @@ - Wrote replacements for strlcpy and mkdtemp - Released 1.0pre1 -$Id: ChangeLog,v 1.893 2001/03/05 07:09:11 mouring Exp $ +$Id: ChangeLog,v 1.894 2001/03/05 07:10:47 mouring Exp $ diff --git a/sftp.c b/sftp.c index 16a2616a9..b2c4a649a 100644 --- a/sftp.c +++ b/sftp.c @@ -24,7 +24,7 @@ #include "includes.h" -RCSID("$OpenBSD: sftp.c,v 1.8 2001/02/28 05:36:28 deraadt Exp $"); +RCSID("$OpenBSD: sftp.c,v 1.9 2001/03/03 23:52:22 markus Exp $"); /* XXX: commandline mode */ /* XXX: copy between two remote hosts (commandline) */ @@ -91,24 +91,14 @@ make_ssh_args(char *add_arg) static char **args = NULL; static int nargs = 0; char debug_buf[4096]; - int i, use_subsystem = 1; - - /* no subsystem if protocol 1 or the server-spec contains a '/' */ - if (use_ssh1 || - (sftp_server != NULL && strchr(sftp_server, '/') != NULL)) - use_subsystem = 0; + int i; /* Init args array */ if (args == NULL) { - nargs = use_subsystem ? 6 : 5; + nargs = 2; i = 0; args = xmalloc(sizeof(*args) * nargs); args[i++] = "ssh"; - args[i++] = use_ssh1 ? "-oProtocol=1" : "-oProtocol=2"; - if (use_subsystem) - args[i++] = "-s"; - args[i++] = "-oForwardAgent=no"; - args[i++] = "-oForwardX11=no"; args[i++] = NULL; } @@ -121,6 +111,13 @@ make_ssh_args(char *add_arg) return(NULL); } + /* no subsystem if the server-spec contains a '/' */ + if (sftp_server == NULL || strchr(sftp_server, '/') == NULL) + make_ssh_args("-s"); + make_ssh_args("-oForwardX11=no"); + make_ssh_args("-oForwardAgent=no"); + make_ssh_args(use_ssh1 ? "-oProtocol=1" : "-oProtocol=2"); + /* Otherwise finish up and return the arg array */ if (sftp_server != NULL) make_ssh_args(sftp_server); -- cgit v1.2.3