From: simon Date: Sat, 8 Jan 2005 13:28:41 +0000 (+0000) Subject: Clear the kex-specific context in ssh->pkt_ctx for every new key X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/commitdiff_plain/149d2abcdd4fbe7e424debd86ccefc2be7d83b08 Clear the kex-specific context in ssh->pkt_ctx for every new key exchange. Without doing this, after we have done one specific-group DH exchange (group1 or group14), ssh2_pkt_type _always_ translates 30 and 31 as KEXDH_INIT and KEXDH_REPLY, making a subsequent group-exchange kex look rather strange in an SSH packet log. git-svn-id: svn://svn.tartarus.org/sgt/putty@5081 cda61777-01e9-0310-a592-d414129be87e --- diff --git a/ssh.c b/ssh.c index 736c1fb1..3ca48c5d 100644 --- a/ssh.c +++ b/ssh.c @@ -106,6 +106,7 @@ */ #define SSH2_PKTCTX_DHGROUP 0x0001 #define SSH2_PKTCTX_DHGEX 0x0002 +#define SSH2_PKTCTX_KEX_MASK 0x000F #define SSH2_PKTCTX_PUBLICKEY 0x0010 #define SSH2_PKTCTX_PASSWORD 0x0020 #define SSH2_PKTCTX_KBDINTER 0x0040 @@ -4675,6 +4676,7 @@ static int do_ssh2_transport(Ssh ssh, unsigned char *in, int inlen, s->maclist = macs, s->nmacs = lenof(macs); begin_key_exchange: + ssh->pkt_ctx &= ~SSH2_PKTCTX_KEX_MASK; { int i, j, commalist_started;