diff options
author | Colin Watson <cjwatson@debian.org> | 2010-03-31 00:48:57 +0100 |
---|---|---|
committer | Colin Watson <cjwatson@debian.org> | 2010-03-31 00:48:57 +0100 |
commit | d1a87e462e1db89f19cd960588d0c6b287cb5ccc (patch) | |
tree | f0d13e1687800f36a3c4322b94ac5230ad17bdbf /kex.c | |
parent | 964476f91b66c475d5b8fa1e8b28d39a97a1b56e (diff) | |
parent | 004a7fb9c6a00b13dc98f56599918a54a3506d10 (diff) |
merge 5.4p1
Diffstat (limited to 'kex.c')
-rw-r--r-- | kex.c | 13 |
1 files changed, 12 insertions, 1 deletions
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: kex.c,v 1.81 2009/05/27 06:34:36 andreas Exp $ */ | 1 | /* $OpenBSD: kex.c,v 1.82 2009/10/24 11:13:54 andreas Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. |
4 | * | 4 | * |
@@ -48,6 +48,7 @@ | |||
48 | #include "match.h" | 48 | #include "match.h" |
49 | #include "dispatch.h" | 49 | #include "dispatch.h" |
50 | #include "monitor.h" | 50 | #include "monitor.h" |
51 | #include "roaming.h" | ||
51 | 52 | ||
52 | #ifdef GSSAPI | 53 | #ifdef GSSAPI |
53 | #include "ssh-gss.h" | 54 | #include "ssh-gss.h" |
@@ -404,6 +405,16 @@ kex_choose_conf(Kex *kex) | |||
404 | sprop=peer; | 405 | sprop=peer; |
405 | } | 406 | } |
406 | 407 | ||
408 | /* Check whether server offers roaming */ | ||
409 | if (!kex->server) { | ||
410 | char *roaming; | ||
411 | roaming = match_list(KEX_RESUME, peer[PROPOSAL_KEX_ALGS], NULL); | ||
412 | if (roaming) { | ||
413 | kex->roaming = 1; | ||
414 | xfree(roaming); | ||
415 | } | ||
416 | } | ||
417 | |||
407 | /* Algorithm Negotiation */ | 418 | /* Algorithm Negotiation */ |
408 | for (mode = 0; mode < MODE_MAX; mode++) { | 419 | for (mode = 0; mode < MODE_MAX; mode++) { |
409 | newkeys = xcalloc(1, sizeof(*newkeys)); | 420 | newkeys = xcalloc(1, sizeof(*newkeys)); |