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.

[originally from svn r5081]
This commit is contained in:
Simon Tatham 2005-01-08 13:28:41 +00:00
Родитель 7647f57dc4
Коммит d72eb8f6db
1 изменённых файлов: 2 добавлений и 0 удалений

2
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;