diff options
author | Matt Johnston <matt@ucc.asn.au> | 2006-12-06 13:11:41 +0000 |
---|---|---|
committer | Matt Johnston <matt@ucc.asn.au> | 2006-12-06 13:11:41 +0000 |
commit | d5897b9a5d461c91cd525e5b2212125cf53ad268 (patch) | |
tree | cec78b43140a2610175f8e918ae22bfff0bbdf1f /cli-runopts.c | |
parent | 7b780efb42e3d9b369b4f00421fba1fc21ec2a22 (diff) | |
parent | 35bcc463e5ffe2f630c71962ca12d69a84952568 (diff) |
merge of '182c2d8dbd5321ef4d1df8758936f4dc7127015f'
and '31dcd7a22983ef19d6c63248e415e71d292dd0ec'
--HG--
extra : convert_revision : e84f66826c7ee6ebe99ef92cc0f6c22ecf638d01
Diffstat (limited to 'cli-runopts.c')
-rw-r--r-- | cli-runopts.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/cli-runopts.c b/cli-runopts.c index 54d4875..7a672da 100644 --- a/cli-runopts.c +++ b/cli-runopts.c @@ -44,12 +44,14 @@ static void addforward(char* str, struct TCPFwdList** fwdlist); static void printhelp() { fprintf(stderr, "Dropbear client v%s\n" - "Usage: %s [options] [user@]host\n" + "Usage: %s [options] [user@]host [command]\n" "Options are:\n" "-p <remoteport>\n" "-l <username>\n" "-t Allocate a pty\n" "-T Don't allocate a pty\n" + "-N Don't run a remote command\n" + "-f Run in background after auth\n" #ifdef ENABLE_CLI_PUBKEY_AUTH "-i <identityfile> (multiple allowed)\n" #endif @@ -88,6 +90,8 @@ void cli_getopts(int argc, char ** argv) { cli_opts.remoteport = NULL; cli_opts.username = NULL; cli_opts.cmd = NULL; + cli_opts.no_cmd = 0; + cli_opts.backgrounded = 0; cli_opts.wantpty = 9; /* 9 means "it hasn't been touched", gets set later */ #ifdef ENABLE_CLI_PUBKEY_AUTH cli_opts.privkeys = NULL; @@ -163,6 +167,12 @@ void cli_getopts(int argc, char ** argv) { case 'T': /* don't want a pty */ cli_opts.wantpty = 0; break; + case 'N': + cli_opts.no_cmd = 1; + break; + case 'f': + cli_opts.backgrounded = 1; + break; #ifdef ENABLE_CLI_LOCALTCPFWD case 'L': nextislocal = 1; @@ -269,6 +279,11 @@ void cli_getopts(int argc, char ** argv) { cli_opts.wantpty = 0; } } + + if (cli_opts.backgrounded && cli_opts.cmd == NULL + && cli_opts.no_cmd == 0) { + dropbear_exit("command required for -f"); + } } #ifdef ENABLE_CLI_PUBKEY_AUTH |