summaryrefslogtreecommitdiffstats
path: root/usr.bin/ssh/clientloop.c
diff options
context:
space:
mode:
authormarkus <markus@openbsd.org>2002-01-10 11:24:04 +0000
committermarkus <markus@openbsd.org>2002-01-10 11:24:04 +0000
commite83bf0631273a8f7d5879ebd38262a3be4f6f85c (patch)
treea0069dba5540346cbeec46864890e9ff101946bc /usr.bin/ssh/clientloop.c
parentskip client_alive_check until there are channels; ok beck@ (diff)
downloadwireguard-openbsd-e83bf0631273a8f7d5879ebd38262a3be4f6f85c.tar.xz
wireguard-openbsd-e83bf0631273a8f7d5879ebd38262a3be4f6f85c.zip
handle SSH2_MSG_GLOBAL_REQUEST (just reply with failure); ok djm@
Diffstat (limited to 'usr.bin/ssh/clientloop.c')
-rw-r--r--usr.bin/ssh/clientloop.c21
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);