summaryrefslogtreecommitdiff
path: root/cli-session.c
diff options
context:
space:
mode:
authorMatt Johnston <matt@ucc.asn.au>2014-07-08 21:59:36 +0800
committerMatt Johnston <matt@ucc.asn.au>2014-07-08 21:59:36 +0800
commit51c741e841899cb73574d108abc0996e87b28b75 (patch)
treeb39698579812f4c9f514fbb3cbad9484fadac401 /cli-session.c
parent24ca13217e27d71da7ed6756b0decdc7f8c33977 (diff)
downloaddropbear-51c741e841899cb73574d108abc0996e87b28b75.tar.gz
Send a failure response if a client receives a global request
Diffstat (limited to 'cli-session.c')
-rw-r--r--cli-session.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/cli-session.c b/cli-session.c
index c71d859..d5ff02d 100644
--- a/cli-session.c
+++ b/cli-session.c
@@ -44,6 +44,7 @@ static void cli_session_init();
static void cli_finished();
static void recv_msg_service_accept(void);
static void cli_session_cleanup(void);
+static void recv_msg_global_request_cli(void);
struct clientsession cli_ses; /* GLOBAL */
@@ -68,6 +69,7 @@ static const packettype cli_packettypes[] = {
{SSH_MSG_CHANNEL_OPEN_FAILURE, recv_msg_channel_open_failure},
{SSH_MSG_USERAUTH_BANNER, recv_msg_userauth_banner}, /* client */
{SSH_MSG_USERAUTH_SPECIFIC_60, recv_msg_userauth_specific_60}, /* client */
+ {SSH_MSG_GLOBAL_REQUEST, recv_msg_global_request_cli},
#ifdef ENABLE_CLI_REMOTETCPFWD
{SSH_MSG_REQUEST_SUCCESS, cli_recv_msg_request_success}, /* client */
{SSH_MSG_REQUEST_FAILURE, cli_recv_msg_request_failure}, /* client */
@@ -366,3 +368,9 @@ void cleantext(unsigned char* dirtytext) {
/* Null terminate */
dirtytext[j] = '\0';
}
+
+static void recv_msg_global_request_cli(void) {
+ TRACE(("recv_msg_global_request_cli"))
+ /* Send a proper rejection */
+ send_msg_request_failure();
+}