summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--clientloop.c21
2 files changed, 24 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 3826cd03..ff22e182 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -113,6 +113,9 @@
- markus@cvs.openbsd.org 2002/01/10 11:13:29
[serverloop.c]
skip client_alive_check until there are channels; ok beck@
+ - markus@cvs.openbsd.org 2002/01/10 11:24:04
+ [clientloop.c]
+ handle SSH2_MSG_GLOBAL_REQUEST (just reply with failure); ok djm@
20020121
@@ -7261,4 +7264,4 @@
- Wrote replacements for strlcpy and mkdtemp
- Released 1.0pre1
-$Id: ChangeLog,v 1.1755 2002/01/22 12:21:39 djm Exp $
+$Id: ChangeLog,v 1.1756 2002/01/22 12:21:58 djm Exp $
diff --git a/clientloop.c b/clientloop.c
index e66b60cf..1b9c28e9 100644
--- a/clientloop.c
+++ b/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);