diff options
Diffstat (limited to 'sshconnect2.c')
-rw-r--r-- | sshconnect2.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/sshconnect2.c b/sshconnect2.c index d534e6190..c35a0bd50 100644 --- a/sshconnect2.c +++ b/sshconnect2.c | |||
@@ -222,7 +222,6 @@ ssh_kex2(char *host, struct sockaddr *hostaddr, u_short port) | |||
222 | orig = myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS]; | 222 | orig = myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS]; |
223 | xasprintf(&myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS], | 223 | xasprintf(&myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS], |
224 | "%s,null", orig); | 224 | "%s,null", orig); |
225 | free(gss); | ||
226 | } | 225 | } |
227 | } | 226 | } |
228 | #endif | 227 | #endif |
@@ -273,6 +272,16 @@ ssh_kex2(char *host, struct sockaddr *hostaddr, u_short port) | |||
273 | /* remove ext-info from the KEX proposals for rekeying */ | 272 | /* remove ext-info from the KEX proposals for rekeying */ |
274 | myproposal[PROPOSAL_KEX_ALGS] = | 273 | myproposal[PROPOSAL_KEX_ALGS] = |
275 | compat_kex_proposal(options.kex_algorithms); | 274 | compat_kex_proposal(options.kex_algorithms); |
275 | #ifdef GSSAPI | ||
276 | /* repair myproposal after it was crumpled by the */ | ||
277 | /* ext-info removal above */ | ||
278 | if (gss) { | ||
279 | orig = myproposal[PROPOSAL_KEX_ALGS]; | ||
280 | xasprintf(&myproposal[PROPOSAL_KEX_ALGS], | ||
281 | "%s,%s", gss, orig); | ||
282 | free(gss); | ||
283 | } | ||
284 | #endif | ||
276 | if ((r = kex_prop2buf(kex->my, myproposal)) != 0) | 285 | if ((r = kex_prop2buf(kex->my, myproposal)) != 0) |
277 | fatal("kex_prop2buf: %s", ssh_err(r)); | 286 | fatal("kex_prop2buf: %s", ssh_err(r)); |
278 | 287 | ||