1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-09 09:27:59 +00:00

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.

[originally from svn r1229]
This commit is contained in:
Simon Tatham 2001-09-05 19:58:25 +00:00
parent cb1aa5d0f3
commit 6dacf35120

23
psftp.c
View File

@ -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;