mirror of
https://github.com/clearml/dropbear
synced 2025-03-12 14:48:34 +00:00
Add -N "no remote command" dbclient option.
Document -N in dbclient.1 and -P in dropbear.8 --HG-- extra : convert_revision : 7cada79bf8f61e09a72e5d492170bd10ab0acee3
This commit is contained in:
parent
1428c01a5f
commit
be2b7d9725
@ -50,6 +50,7 @@ static void printhelp() {
|
|||||||
"-l <username>\n"
|
"-l <username>\n"
|
||||||
"-t Allocate a pty\n"
|
"-t Allocate a pty\n"
|
||||||
"-T Don't allocate a pty\n"
|
"-T Don't allocate a pty\n"
|
||||||
|
"-N Don't run a remote command\n"
|
||||||
#ifdef ENABLE_CLI_PUBKEY_AUTH
|
#ifdef ENABLE_CLI_PUBKEY_AUTH
|
||||||
"-i <identityfile> (multiple allowed)\n"
|
"-i <identityfile> (multiple allowed)\n"
|
||||||
#endif
|
#endif
|
||||||
@ -88,6 +89,7 @@ void cli_getopts(int argc, char ** argv) {
|
|||||||
cli_opts.remoteport = NULL;
|
cli_opts.remoteport = NULL;
|
||||||
cli_opts.username = NULL;
|
cli_opts.username = NULL;
|
||||||
cli_opts.cmd = NULL;
|
cli_opts.cmd = NULL;
|
||||||
|
cli_opts.no_cmd = 0;
|
||||||
cli_opts.wantpty = 9; /* 9 means "it hasn't been touched", gets set later */
|
cli_opts.wantpty = 9; /* 9 means "it hasn't been touched", gets set later */
|
||||||
#ifdef ENABLE_CLI_PUBKEY_AUTH
|
#ifdef ENABLE_CLI_PUBKEY_AUTH
|
||||||
cli_opts.privkeys = NULL;
|
cli_opts.privkeys = NULL;
|
||||||
@ -163,6 +165,9 @@ void cli_getopts(int argc, char ** argv) {
|
|||||||
case 'T': /* don't want a pty */
|
case 'T': /* don't want a pty */
|
||||||
cli_opts.wantpty = 0;
|
cli_opts.wantpty = 0;
|
||||||
break;
|
break;
|
||||||
|
case 'N':
|
||||||
|
cli_opts.no_cmd = 1;
|
||||||
|
break;
|
||||||
#ifdef ENABLE_CLI_LOCALTCPFWD
|
#ifdef ENABLE_CLI_LOCALTCPFWD
|
||||||
case 'L':
|
case 'L':
|
||||||
nextislocal = 1;
|
nextislocal = 1;
|
||||||
|
@ -218,13 +218,15 @@ static void cli_sessionloop() {
|
|||||||
#ifdef ENABLE_CLI_REMOTETCPFWD
|
#ifdef ENABLE_CLI_REMOTETCPFWD
|
||||||
setup_remotetcp();
|
setup_remotetcp();
|
||||||
#endif
|
#endif
|
||||||
cli_send_chansess_request();
|
if (!cli_opts.no_cmd) {
|
||||||
TRACE(("leave cli_sessionloop: cli_send_chansess_request"))
|
cli_send_chansess_request();
|
||||||
|
}
|
||||||
|
TRACE(("leave cli_sessionloop: running"))
|
||||||
cli_ses.state = SESSION_RUNNING;
|
cli_ses.state = SESSION_RUNNING;
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case SESSION_RUNNING:
|
case SESSION_RUNNING:
|
||||||
if (ses.chancount < 1) {
|
if (ses.chancount < 1 && !cli_opts.no_cmd) {
|
||||||
cli_finished();
|
cli_finished();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -60,6 +60,9 @@ Allocate a pty.
|
|||||||
.B \-T
|
.B \-T
|
||||||
Don't allocate a pty.
|
Don't allocate a pty.
|
||||||
.TP
|
.TP
|
||||||
|
.B \-N
|
||||||
|
Don't request a remote shell or run any commands. Any command arguments are ignored.
|
||||||
|
.TP
|
||||||
.B \-g
|
.B \-g
|
||||||
Allow non-local hosts to connect to forwarded ports. Applies to -L and -R
|
Allow non-local hosts to connect to forwarded ports. Applies to -L and -R
|
||||||
forwarded ports, though remote connections to -R forwarded ports may be limited
|
forwarded ports, though remote connections to -R forwarded ports may be limited
|
||||||
|
@ -72,6 +72,10 @@ Use this option to run
|
|||||||
under TCP/IP servers like inetd, tcpsvd, or tcpserver.
|
under TCP/IP servers like inetd, tcpsvd, or tcpserver.
|
||||||
In program mode the \-F option is implied, and \-p options are ignored.
|
In program mode the \-F option is implied, and \-p options are ignored.
|
||||||
.TP
|
.TP
|
||||||
|
.B \-P \fIpidfile
|
||||||
|
Specify a pidfile to create when running as a daemon. If not specified, the
|
||||||
|
default is /var/run/dropbear.pid
|
||||||
|
.TP
|
||||||
.B \-a
|
.B \-a
|
||||||
Allow remote hosts to connect to forwarded ports.
|
Allow remote hosts to connect to forwarded ports.
|
||||||
.SH AUTHOR
|
.SH AUTHOR
|
||||||
|
@ -321,8 +321,7 @@ static void printpubkey(sign_key * key, int keytype) {
|
|||||||
/* a user@host comment is informative */
|
/* a user@host comment is informative */
|
||||||
username = "";
|
username = "";
|
||||||
pw = getpwuid(getuid());
|
pw = getpwuid(getuid());
|
||||||
if (pw)
|
if (pw) {
|
||||||
{
|
|
||||||
username = pw->pw_name;
|
username = pw->pw_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -102,6 +102,7 @@ typedef struct cli_runopts {
|
|||||||
|
|
||||||
char *cmd;
|
char *cmd;
|
||||||
int wantpty;
|
int wantpty;
|
||||||
|
int no_cmd;
|
||||||
#ifdef ENABLE_CLI_PUBKEY_AUTH
|
#ifdef ENABLE_CLI_PUBKEY_AUTH
|
||||||
struct SignKeyList *privkeys; /* Keys to use for public-key auth */
|
struct SignKeyList *privkeys; /* Keys to use for public-key auth */
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user