diff options
author | Markus Friedl <markus@cvs.openbsd.org> | 2002-01-10 11:24:05 +0000 |
---|---|---|
committer | Markus Friedl <markus@cvs.openbsd.org> | 2002-01-10 11:24:05 +0000 |
commit | 7624adb324378b6a61cd8d0c871d2c87e15ae76f (patch) | |
tree | 692daa0282a5f9f5bccea3dcb494f3cd6c79a44d /usr.bin/ssh | |
parent | f7735f31b0fc64c4aae5b93048a2d26c3848341e (diff) |
handle SSH2_MSG_GLOBAL_REQUEST (just reply with failure); ok djm@
Diffstat (limited to 'usr.bin/ssh')
-rw-r--r-- | usr.bin/ssh/clientloop.c | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/usr.bin/ssh/clientloop.c b/usr.bin/ssh/clientloop.c index e66b60cf5f6..1b9c28e9d46 100644 --- a/usr.bin/ssh/clientloop.c +++ b/usr.bin/ssh/clientloop.c @@ -59,7 +59,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: clientloop.c,v 1.94 2001/12/28 15:06:00 markus Exp $"); +RCSID("$OpenBSD: clientloop.c,v 1.95 2002/01/10 11:24:04 markus Exp $"); #include "ssh.h" #include "ssh1.h" @@ -1236,6 +1236,24 @@ client_input_channel_req(int type, u_int32_t seq, void *ctxt) } xfree(rtype); } +static void +client_input_global_request(int type, u_int32_t seq, void *ctxt) +{ + char *rtype; + int want_reply; + int success = 0; + + rtype = packet_get_string(NULL); + want_reply = packet_get_char(); + debug("client_input_global_request: rtype %s want_reply %d", rtype, want_reply); + if (want_reply) { + packet_start(success ? + SSH2_MSG_REQUEST_SUCCESS : SSH2_MSG_REQUEST_FAILURE); + packet_send(); + packet_write_wait(); + } + xfree(rtype); +} static void client_init_dispatch_20(void) @@ -1250,6 +1268,7 @@ client_init_dispatch_20(void) dispatch_set(SSH2_MSG_CHANNEL_OPEN_FAILURE, &channel_input_open_failure); dispatch_set(SSH2_MSG_CHANNEL_REQUEST, &client_input_channel_req); dispatch_set(SSH2_MSG_CHANNEL_WINDOW_ADJUST, &channel_input_window_adjust); + dispatch_set(SSH2_MSG_GLOBAL_REQUEST, &client_input_global_request); /* rekeying */ dispatch_set(SSH2_MSG_KEXINIT, &kex_input_kexinit); |