Mercurial > dropbear
diff svr-chansession.c @ 1289:a23386821e9f
Add -c <command> option to force a specific command
This change adds a -c option to dropbear, to force the session to use a
specific command, in a similar fashion to OpenSSH's ForceCommand
configuration option.
This is useful to provide a simple fixed service over ssh, without
requiring an authorized key file for the per-key forced_command option.
This setting takes precedence over the channel session's provided
command, and the per-key forced_command setting.
Signed-off-by: Jeremy Kerr <[email protected]>
author | Jeremy Kerr <jk@ozlabs.org> |
---|---|
date | Tue, 12 Apr 2016 21:01:08 +0800 |
parents | b1fabf797bd3 |
children | 750ec4ec4cbe |
line wrap: on
line diff
--- a/svr-chansession.c Fri Mar 18 23:51:50 2016 +0800 +++ b/svr-chansession.c Tue Apr 12 21:01:08 2016 +0800 @@ -671,8 +671,16 @@ } } - /* take public key option 'command' into account */ - svr_pubkey_set_forced_command(chansess); + + /* take global command into account */ + if (svr_opts.forced_command) { + chansess->original_command = chansess->cmd ? : m_strdup(""); + chansess->cmd = m_strdup(svr_opts.forced_command); + } else { + /* take public key option 'command' into account */ + svr_pubkey_set_forced_command(chansess); + } + #ifdef LOG_COMMANDS if (chansess->cmd) {