- markus@cvs.openbsd.org 2002/01/10 11:24:04
     [clientloop.c]
     handle SSH2_MSG_GLOBAL_REQUEST (just reply with failure); ok djm@
diff --git a/ChangeLog b/ChangeLog
index 3826cd0..ff22e18 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 e66b60c..1b9c28e 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 @@
 	}
 	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 @@
 	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);