# HG changeset patch # User Matt Johnston # Date 1222185446 0 # Node ID ae600f1eef81892459965fe1310d2c36c5b2a6e0 # Parent cd02449b709cb042a4933f469c2eb92941b9a552 - Enable -s for specifying a subsystem (such as sftp) diff -r cd02449b709c -r ae600f1eef81 cli-chansession.c --- a/cli-chansession.c Tue Sep 23 12:03:01 2008 +0000 +++ b/cli-chansession.c Tue Sep 23 15:57:26 2008 +0000 @@ -321,7 +321,11 @@ TRACE(("enter send_chansess_shell_req")) if (cli_opts.cmd) { - reqtype = "exec"; + if (cli_opts.is_subsystem) { + reqtype = "subsystem"; + } else { + reqtype = "exec"; + } } else { reqtype = "shell"; } diff -r cd02449b709c -r ae600f1eef81 cli-runopts.c --- a/cli-runopts.c Tue Sep 23 12:03:01 2008 +0000 +++ b/cli-runopts.c Tue Sep 23 15:57:26 2008 +0000 @@ -58,6 +58,7 @@ "-N Don't run a remote command\n" "-f Run in background after auth\n" "-y Always accept remote host key if unknown\n" + "-s Request a subsystem (use for sftp)\n" #ifdef ENABLE_CLI_PUBKEY_AUTH "-i (multiple allowed)\n" #endif @@ -116,6 +117,7 @@ cli_opts.backgrounded = 0; cli_opts.wantpty = 9; /* 9 means "it hasn't been touched", gets set later */ cli_opts.always_accept_key = 0; + cli_opts.is_subsystem = 0; #ifdef ENABLE_CLI_PUBKEY_AUTH cli_opts.privkeys = NULL; #endif @@ -213,6 +215,9 @@ case 'f': cli_opts.backgrounded = 1; break; + case 's': + cli_opts.is_subsystem = 1; + break; #ifdef ENABLE_CLI_LOCALTCPFWD case 'L': nextislocal = 1; diff -r cd02449b709c -r ae600f1eef81 runopts.h --- a/runopts.h Tue Sep 23 12:03:01 2008 +0000 +++ b/runopts.h Tue Sep 23 15:57:26 2008 +0000 @@ -109,6 +109,7 @@ int always_accept_key; int no_cmd; int backgrounded; + int is_subsystem; #ifdef ENABLE_CLI_PUBKEY_AUTH struct SignKeyList *privkeys; /* Keys to use for public-key auth */ #endif