summaryrefslogtreecommitdiffhomepage
path: root/svr-chansession.c
diff options
context:
space:
mode:
Diffstat (limited to 'svr-chansession.c')
-rw-r--r--svr-chansession.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/svr-chansession.c b/svr-chansession.c
index bfaf7f6..8c6f3a2 100644
--- a/svr-chansession.c
+++ b/svr-chansession.c
@@ -671,8 +671,16 @@ static int sessioncommand(struct Channel *channel, struct ChanSess *chansess,
}
}
- /* 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) {