From: simon Date: Wed, 5 Sep 2001 19:58:25 +0000 (+0000) Subject: Better yet, look for sftp-server on the user's PATH as well, which X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/commitdiff_plain/248c0c5a75ec3e23d966af7e8d8d1f6af0092ff2?hp=bebf22d0b9d2f0bd19089feee92980125f4dcccc Better yet, look for sftp-server on the user's PATH as well, which allows individual users with shell access to install it without reference to the admin. git-svn-id: svn://svn.tartarus.org/sgt/putty@1229 cda61777-01e9-0310-a592-d414129be87e --- diff --git a/psftp.c b/psftp.c index 3a50c257..49e67492 100644 --- a/psftp.c +++ b/psftp.c @@ -1513,26 +1513,23 @@ int main(int argc, char *argv[]) * Set up fallback option, for SSH1 servers or servers with the * sftp subsystem not enabled but the server binary installed * in the usual place. We only support fallback on Unix - * systems, and we use the kludgy command string + * systems, and we use a kludgy piece of shellery which should + * try to find sftp-server in various places (the obvious + * systemwide spots /usr/lib and /usr/local/lib, and then the + * user's PATH) and finally give up. * - * if test ! -x /usr/lib/sftp-server -a -x /usr/local/lib/sftp-server - * then - * exec /usr/local/lib/sftp-server - * else - * exec /usr/lib/sftp-server - * fi + * test -x /usr/lib/sftp-server && exec /usr/lib/sftp-server + * test -x /usr/local/lib/sftp-server && exec /usr/local/lib/sftp-server + * exec sftp-server * * the idea being that this will attempt to use either of the * obvious pathnames and then give up, and when it does give up * it will print the preferred pathname in the error messages. */ cfg.remote_cmd_ptr2 = - "if test ! -x /usr/lib/sftp-server -a -x /usr/local/lib/sftp-server\n" - "then\n" - " exec /usr/local/lib/sftp-server\n" - "else\n" - " exec /usr/lib/sftp-server\n" - "fi"; + "test -x /usr/lib/sftp-server && exec /usr/lib/sftp-server\n" + "test -x /usr/local/lib/sftp-server && exec /usr/local/lib/sftp-server\n" + "exec sftp-server"; cfg.ssh_subsys2 = FALSE; back = &ssh_backend;