From 0ea332497b2b2fc3995f72f6bafe9d664c0195b3 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Thu, 5 Sep 2019 09:25:13 +0000 Subject: [PATCH] upstream: only send ext_info for KEX_INITIAL; bz#2929 ok dtucker OpenBSD-Commit-ID: 00f5c6062f6863769f5447c6346f78c05d2e4a63 --- kex.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/kex.c b/kex.c index 34808b5c3..ff88dd7e3 100644 --- a/kex.c +++ b/kex.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kex.c,v 1.150 2019/01/21 12:08:13 djm Exp $ */ +/* $OpenBSD: kex.c,v 1.151 2019/09/05 09:25:13 djm Exp $ */ /* * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. * @@ -409,6 +409,7 @@ kex_send_ext_info(struct ssh *ssh) int r; char *algs; + debug("Sending SSH2_MSG_EXT_INFO"); if ((algs = sshkey_alg_list(0, 1, 1, ',')) == NULL) return SSH_ERR_ALLOC_FAIL; /* XXX filter algs list by allowed pubkey/hostbased types */ @@ -435,11 +436,11 @@ kex_send_newkeys(struct ssh *ssh) (r = sshpkt_send(ssh)) != 0) return r; debug("SSH2_MSG_NEWKEYS sent"); - debug("expecting SSH2_MSG_NEWKEYS"); ssh_dispatch_set(ssh, SSH2_MSG_NEWKEYS, &kex_input_newkeys); - if (ssh->kex->ext_info_c) + if (ssh->kex->ext_info_c && (ssh->kex->flags & KEX_INITIAL) != 0) if ((r = kex_send_ext_info(ssh)) != 0) return r; + debug("expecting SSH2_MSG_NEWKEYS"); return 0; }