From: djm Date: Sun, 10 Feb 2008 11:27:47 +0000 (+0000) Subject: - dtucker@cvs.openbsd.org 2008/01/23 01:56:54 X-Git-Tag: V_4_9_P1~70 X-Git-Url: http://andersk.mit.edu/gitweb/openssh.git/commitdiff_plain/aacfb17b5f4356c17c231d083205009d39156d5e - dtucker@cvs.openbsd.org 2008/01/23 01:56:54 [clientloop.c packet.c serverloop.c] Revert the change for bz #1307 as it causes connection aborts if an IGNORE packet arrives while we're waiting in packet_read_expect (and possibly elsewhere). --- diff --git a/ChangeLog b/ChangeLog index 9928c3b5..497172fa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -58,6 +58,11 @@ [sftp-client.c] when a remote write error occurs during an upload, ensure that ACKs for all issued requests are properly drained. patch from t8m AT centrum.cz + - dtucker@cvs.openbsd.org 2008/01/23 01:56:54 + [clientloop.c packet.c serverloop.c] + Revert the change for bz #1307 as it causes connection aborts if an IGNORE + packet arrives while we're waiting in packet_read_expect (and possibly + elsewhere). 20080119 - (djm) Silence noice from expr in ssh-copy-id; patch from diff --git a/clientloop.c b/clientloop.c index 19561506..d3fdc2bf 100644 --- a/clientloop.c +++ b/clientloop.c @@ -1,4 +1,4 @@ -/* $OpenBSD: clientloop.c,v 1.186 2008/01/19 20:48:53 djm Exp $ */ +/* $OpenBSD: clientloop.c,v 1.187 2008/01/23 01:56:54 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -464,12 +464,6 @@ client_check_window_change(void) } } -static void -client_global_keepalive(int type, u_int32_t seq, void *ctxt) -{ - server_alive_timeouts = 0; -} - static void client_global_request_reply(int type, u_int32_t seq, void *ctxt) { @@ -2083,8 +2077,6 @@ client_init_dispatch_20(void) /* global request reply messages */ dispatch_set(SSH2_MSG_REQUEST_FAILURE, &client_global_request_reply); dispatch_set(SSH2_MSG_REQUEST_SUCCESS, &client_global_request_reply); - dispatch_set(SSH2_MSG_IGNORE, &client_global_keepalive); - dispatch_set(SSH2_MSG_UNIMPLEMENTED, &client_global_keepalive); } static void client_init_dispatch_13(void) diff --git a/packet.c b/packet.c index 561fbf4c..92997288 100644 --- a/packet.c +++ b/packet.c @@ -1,4 +1,4 @@ -/* $OpenBSD: packet.c,v 1.149 2007/12/28 15:32:24 dtucker Exp $ */ +/* $OpenBSD: packet.c,v 1.150 2008/01/23 01:56:54 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -968,10 +968,9 @@ packet_read_expect(int expected_type) * packet_process_incoming. If so, reads the packet; otherwise returns * SSH_MSG_NONE. This does not wait for data from the connection. * - * SSH_MSG_DISCONNECT is handled specially here. Also, SSH_MSG_IGNORE - * messages are skipped by this function and are never returned - * to higher levels, although SSH2_MSG_IGNORE are since they are needed - * for keepalives. + * SSH_MSG_DISCONNECT is handled specially here. Also, + * SSH_MSG_IGNORE messages are skipped by this function and are never returned + * to higher levels. */ static int @@ -1196,6 +1195,8 @@ packet_read_poll_seqnr(u_int32_t *seqnr_p) if (type) DBG(debug("received packet type %d", type)); switch (type) { + case SSH2_MSG_IGNORE: + break; case SSH2_MSG_DEBUG: packet_get_char(); msg = packet_get_string(NULL); @@ -1216,7 +1217,7 @@ packet_read_poll_seqnr(u_int32_t *seqnr_p) seqnr = packet_get_int(); debug("Received SSH2_MSG_UNIMPLEMENTED for %u", seqnr); - /* FALLTHROUGH */ + break; default: return type; } diff --git a/serverloop.c b/serverloop.c index 81888d0e..124d86c6 100644 --- a/serverloop.c +++ b/serverloop.c @@ -1,4 +1,4 @@ -/* $OpenBSD: serverloop.c,v 1.146 2007/12/28 15:32:24 dtucker Exp $ */ +/* $OpenBSD: serverloop.c,v 1.147 2008/01/23 01:56:54 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -1193,8 +1193,6 @@ server_init_dispatch_20(void) dispatch_set(SSH2_MSG_CHANNEL_FAILURE, &server_input_keep_alive); dispatch_set(SSH2_MSG_REQUEST_SUCCESS, &server_input_keep_alive); dispatch_set(SSH2_MSG_REQUEST_FAILURE, &server_input_keep_alive); - dispatch_set(SSH2_MSG_IGNORE, &server_input_keep_alive); - dispatch_set(SSH2_MSG_UNIMPLEMENTED, &server_input_keep_alive); /* rekeying */ dispatch_set(SSH2_MSG_KEXINIT, &kex_input_kexinit); }