# HG changeset patch # User Matt Johnston # Date 1222185452 0 # Node ID 3c0dc22bda20f48e6f7c993b02472d30dce2f18b # Parent 9f583f4d59a6892372fd687f32d45f18a220dde0# Parent ae600f1eef81892459965fe1310d2c36c5b2a6e0 merge of '6fd2597077a4e2421bf45388e058d15606f6dd74' and 'c7b916e6c522f16f06fe1bd52815ba13aa88b90b' diff -r 9f583f4d59a6 -r 3c0dc22bda20 cli-chansession.c --- a/cli-chansession.c Tue Sep 23 13:16:22 2008 +0000 +++ b/cli-chansession.c Tue Sep 23 15:57:32 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 9f583f4d59a6 -r 3c0dc22bda20 cli-runopts.c --- a/cli-runopts.c Tue Sep 23 13:16:22 2008 +0000 +++ b/cli-runopts.c Tue Sep 23 15:57:32 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 9f583f4d59a6 -r 3c0dc22bda20 runopts.h --- a/runopts.h Tue Sep 23 13:16:22 2008 +0000 +++ b/runopts.h Tue Sep 23 15:57:32 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