summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2008-02-10 22:27:47 +1100
committerDamien Miller <djm@mindrot.org>2008-02-10 22:27:47 +1100
commit5ed3d575f90cb62979e25c611da29e08069f1006 (patch)
treef9cfbc8edcb230ce3ffd9a5f8322194d4e8a10a4
parentacdf25b31f02c010ed2b5f655bbae0f5b75f07f6 (diff)
downloadopenssh-git-5ed3d575f90cb62979e25c611da29e08069f1006.tar.gz
- 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).
-rw-r--r--ChangeLog7
-rw-r--r--clientloop.c10
-rw-r--r--packet.c13
-rw-r--r--serverloop.c4
4 files changed, 15 insertions, 19 deletions
diff --git a/ChangeLog b/ChangeLog
index dfda7a5d..d6655ba1 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
@@ -3586,4 +3591,4 @@
OpenServer 6 and add osr5bigcrypt support so when someone migrates
passwords between UnixWare and OpenServer they will still work. OK dtucker@
-$Id: ChangeLog,v 1.4831 2008/02/10 11:27:24 djm Exp $
+$Id: ChangeLog,v 1.4832 2008/02/10 11:27:47 djm Exp $
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 <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -465,12 +465,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)
{
server_alive_timeouts = 0;
@@ -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 <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, 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 <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, 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);
}