summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--kex.c10
2 files changed, 13 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index e22fa7ea..3450ef5c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+20010213
+ - (djm) OpenBSD CVS Sync
+ - markus@cvs.openbsd.org 2002/02/11 16:10:15
+ [kex.c]
+ restore kexinit handler if we reset the dispatcher, this unbreaks
+ rekeying s/kex_clear_dispatch/kex_reset_dispatch/
+
20020210
- (djm) OpenBSD CVS Sync
- deraadt@cvs.openbsd.org 2002/02/09 17:37:34
@@ -7544,4 +7551,4 @@
- Wrote replacements for strlcpy and mkdtemp
- Released 1.0pre1
-$Id: ChangeLog,v 1.1838 2002/02/10 07:32:55 djm Exp $
+$Id: ChangeLog,v 1.1839 2002/02/13 02:54:06 djm Exp $
diff --git a/kex.c b/kex.c
index b58b12f4..02c9780a 100644
--- a/kex.c
+++ b/kex.c
@@ -23,7 +23,7 @@
*/
#include "includes.h"
-RCSID("$OpenBSD: kex.c,v 1.43 2002/01/25 22:07:40 markus Exp $");
+RCSID("$OpenBSD: kex.c,v 1.44 2002/02/11 16:10:15 markus Exp $");
#include <openssl/crypto.h>
@@ -113,16 +113,17 @@ kex_protocol_error(int type, u_int32_t seq, void *ctxt)
}
static void
-kex_clear_dispatch(void)
+kex_reset_dispatch(void)
{
dispatch_range(SSH2_MSG_TRANSPORT_MIN,
SSH2_MSG_TRANSPORT_MAX, &kex_protocol_error);
+ dispatch_set(SSH2_MSG_KEXINIT, &kex_input_kexinit);
}
void
kex_finish(Kex *kex)
{
- kex_clear_dispatch();
+ kex_reset_dispatch();
packet_start(SSH2_MSG_NEWKEYS);
packet_send();
@@ -200,8 +201,7 @@ kex_setup(char *proposal[PROPOSAL_MAX])
kex->done = 0;
kex_send_kexinit(kex); /* we start */
- kex_clear_dispatch();
- dispatch_set(SSH2_MSG_KEXINIT, &kex_input_kexinit);
+ kex_reset_dispatch();
return kex;
}