diff --git a/ChangeLog b/ChangeLog index e22fa7ea4..3450ef5c9 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 b58b12f40..02c9780ad 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 @@ -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; }