diff options
author | Matt Johnston <matt@ucc.asn.au> | 2020-03-14 23:28:18 +0800 |
---|---|---|
committer | Matt Johnston <matt@ucc.asn.au> | 2020-03-14 23:28:18 +0800 |
commit | e35d0784a83ecb936c27599257d9e42b3dedd411 (patch) | |
tree | e4dc12a453d87a349216515703ce632166b16cdd | |
parent | cc6fa57a410a786804cee69c97e633f45304c88b (diff) |
Set SSH_ORIGINAL_COMMAND for "dropbear -c" too, fix build without
DROPBEAR_SVR_PUBKEY_OPTIONS
-rw-r--r-- | chansession.h | 7 | ||||
-rw-r--r-- | svr-chansession.c | 7 |
2 files changed, 4 insertions, 10 deletions
diff --git a/chansession.h b/chansession.h index fa429d5..cf4fba3 100644 --- a/chansession.h +++ b/chansession.h @@ -41,6 +41,9 @@ struct ChanSess { char * cmd; /* command to exec */ pid_t pid; /* child process pid */ + /* command that was sent by the client, if authorized_keys command= or + dropbear -c was used */ + char *original_command; /* pty details */ int master; /* the master terminal fd*/ @@ -72,10 +75,6 @@ struct ChanSess { char * agentfile; char * agentdir; #endif - -#if DROPBEAR_SVR_PUBKEY_OPTIONS_BUILT - char *original_command; -#endif }; struct ChildPid { diff --git a/svr-chansession.c b/svr-chansession.c index 5a5a8c8..fff9dbc 100644 --- a/svr-chansession.c +++ b/svr-chansession.c @@ -322,10 +322,7 @@ static void cleanupchansess(const struct Channel *channel) { m_free(chansess->cmd); m_free(chansess->term); - -#if DROPBEAR_SVR_PUBKEY_OPTIONS_BUILT m_free(chansess->original_command); -#endif if (chansess->tty) { /* write the utmp/wtmp login record */ @@ -833,7 +830,7 @@ static int ptycommand(struct Channel *channel, struct ChanSess *chansess) { (dup2(chansess->slave, STDOUT_FILENO) < 0)) { TRACE(("leave ptycommand: error redirecting filedesc")) return DROPBEAR_FAILURE; - } + } close(chansess->slave); @@ -997,11 +994,9 @@ static void execchild(const void *user_data) { addnewvar("SSH_CLIENT", chansess->client_string); } -#if DROPBEAR_SVR_PUBKEY_OPTIONS_BUILT if (chansess->original_command) { addnewvar("SSH_ORIGINAL_COMMAND", chansess->original_command); } -#endif /* change directory */ if (chdir(ses.authstate.pw_dir) < 0) { |