View | Details | Raw Unified | Return to bug 2929 | Differences between
and this patch

Collapse All | Expand All

(-)a/kex.c (-1 / +3 lines)
Lines 487-492 kex_input_newkeys(int type, u_int32_t seq, struct ssh *ssh) Link Here
487
	if ((r = ssh_set_newkeys(ssh, MODE_IN)) != 0)
487
	if ((r = ssh_set_newkeys(ssh, MODE_IN)) != 0)
488
		return r;
488
		return r;
489
	kex->done = 1;
489
	kex->done = 1;
490
	kex->flags &= ~KEX_INITIAL;
490
	sshbuf_reset(kex->peer);
491
	sshbuf_reset(kex->peer);
491
	/* sshbuf_reset(kex->my); */
492
	/* sshbuf_reset(kex->my); */
492
	kex->flags &= ~KEX_INIT_SENT;
493
	kex->flags &= ~KEX_INIT_SENT;
Lines 594-599 kex_new(struct ssh *ssh, char *proposal[PROPOSAL_MAX], struct kex **kexp) Link Here
594
	if ((r = kex_prop2buf(kex->my, proposal)) != 0)
595
	if ((r = kex_prop2buf(kex->my, proposal)) != 0)
595
		goto out;
596
		goto out;
596
	kex->done = 0;
597
	kex->done = 0;
598
	kex->flags = KEX_INITIAL;
597
	kex_reset_dispatch(ssh);
599
	kex_reset_dispatch(ssh);
598
	ssh_dispatch_set(ssh, SSH2_MSG_KEXINIT, &kex_input_kexinit);
600
	ssh_dispatch_set(ssh, SSH2_MSG_KEXINIT, &kex_input_kexinit);
599
	r = 0;
601
	r = 0;
Lines 839-845 kex_choose_conf(struct ssh *ssh) Link Here
839
	}
841
	}
840
842
841
	/* Check whether client supports ext_info_c */
843
	/* Check whether client supports ext_info_c */
842
	if (kex->server) {
844
	if (kex->server && (kex->flags & KEX_INITIAL)) {
843
		char *ext;
845
		char *ext;
844
846
845
		ext = match_list("ext-info-c", peer[PROPOSAL_KEX_ALGS], NULL);
847
		ext = match_list("ext-info-c", peer[PROPOSAL_KEX_ALGS], NULL);
(-)a/kex.h (+1 lines)
Lines 104-109 enum kex_exchange { Link Here
104
};
104
};
105
105
106
#define KEX_INIT_SENT	0x0001
106
#define KEX_INIT_SENT	0x0001
107
#define KEX_INITIAL	0x0002
107
108
108
struct sshenc {
109
struct sshenc {
109
	char	*name;
110
	char	*name;

Return to bug 2929