diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | clientloop.c | 21 |
2 files changed, 24 insertions, 2 deletions
@@ -113,6 +113,9 @@ | |||
113 | - markus@cvs.openbsd.org 2002/01/10 11:13:29 | 113 | - markus@cvs.openbsd.org 2002/01/10 11:13:29 |
114 | [serverloop.c] | 114 | [serverloop.c] |
115 | skip client_alive_check until there are channels; ok beck@ | 115 | skip client_alive_check until there are channels; ok beck@ |
116 | - markus@cvs.openbsd.org 2002/01/10 11:24:04 | ||
117 | [clientloop.c] | ||
118 | handle SSH2_MSG_GLOBAL_REQUEST (just reply with failure); ok djm@ | ||
116 | 119 | ||
117 | 120 | ||
118 | 20020121 | 121 | 20020121 |
@@ -7261,4 +7264,4 @@ | |||
7261 | - Wrote replacements for strlcpy and mkdtemp | 7264 | - Wrote replacements for strlcpy and mkdtemp |
7262 | - Released 1.0pre1 | 7265 | - Released 1.0pre1 |
7263 | 7266 | ||
7264 | $Id: ChangeLog,v 1.1755 2002/01/22 12:21:39 djm Exp $ | 7267 | $Id: ChangeLog,v 1.1756 2002/01/22 12:21:58 djm Exp $ |
diff --git a/clientloop.c b/clientloop.c index e66b60cf5..1b9c28e9d 100644 --- a/clientloop.c +++ b/clientloop.c | |||
@@ -59,7 +59,7 @@ | |||
59 | */ | 59 | */ |
60 | 60 | ||
61 | #include "includes.h" | 61 | #include "includes.h" |
62 | RCSID("$OpenBSD: clientloop.c,v 1.94 2001/12/28 15:06:00 markus Exp $"); | 62 | RCSID("$OpenBSD: clientloop.c,v 1.95 2002/01/10 11:24:04 markus Exp $"); |
63 | 63 | ||
64 | #include "ssh.h" | 64 | #include "ssh.h" |
65 | #include "ssh1.h" | 65 | #include "ssh1.h" |
@@ -1236,6 +1236,24 @@ client_input_channel_req(int type, u_int32_t seq, void *ctxt) | |||
1236 | } | 1236 | } |
1237 | xfree(rtype); | 1237 | xfree(rtype); |
1238 | } | 1238 | } |
1239 | static void | ||
1240 | client_input_global_request(int type, u_int32_t seq, void *ctxt) | ||
1241 | { | ||
1242 | char *rtype; | ||
1243 | int want_reply; | ||
1244 | int success = 0; | ||
1245 | |||
1246 | rtype = packet_get_string(NULL); | ||
1247 | want_reply = packet_get_char(); | ||
1248 | debug("client_input_global_request: rtype %s want_reply %d", rtype, want_reply); | ||
1249 | if (want_reply) { | ||
1250 | packet_start(success ? | ||
1251 | SSH2_MSG_REQUEST_SUCCESS : SSH2_MSG_REQUEST_FAILURE); | ||
1252 | packet_send(); | ||
1253 | packet_write_wait(); | ||
1254 | } | ||
1255 | xfree(rtype); | ||
1256 | } | ||
1239 | 1257 | ||
1240 | static void | 1258 | static void |
1241 | client_init_dispatch_20(void) | 1259 | client_init_dispatch_20(void) |
@@ -1250,6 +1268,7 @@ client_init_dispatch_20(void) | |||
1250 | dispatch_set(SSH2_MSG_CHANNEL_OPEN_FAILURE, &channel_input_open_failure); | 1268 | dispatch_set(SSH2_MSG_CHANNEL_OPEN_FAILURE, &channel_input_open_failure); |
1251 | dispatch_set(SSH2_MSG_CHANNEL_REQUEST, &client_input_channel_req); | 1269 | dispatch_set(SSH2_MSG_CHANNEL_REQUEST, &client_input_channel_req); |
1252 | dispatch_set(SSH2_MSG_CHANNEL_WINDOW_ADJUST, &channel_input_window_adjust); | 1270 | dispatch_set(SSH2_MSG_CHANNEL_WINDOW_ADJUST, &channel_input_window_adjust); |
1271 | dispatch_set(SSH2_MSG_GLOBAL_REQUEST, &client_input_global_request); | ||
1253 | 1272 | ||
1254 | /* rekeying */ | 1273 | /* rekeying */ |
1255 | dispatch_set(SSH2_MSG_KEXINIT, &kex_input_kexinit); | 1274 | dispatch_set(SSH2_MSG_KEXINIT, &kex_input_kexinit); |