X-Git-Url: http://andersk.mit.edu/gitweb/openssh.git/blobdiff_plain/1975fb98a1b58942714779fec010a2f1c563a1fa..04b061c4f010dc56e46211f948a5ae8d9d22b2fb:/kex.c diff --git a/kex.c b/kex.c index 48b54f5f..148cfee8 100644 --- a/kex.c +++ b/kex.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kex.c,v 1.80 2008/09/06 12:24:13 djm Exp $ */ +/* $OpenBSD: kex.c,v 1.82 2009/10/24 11:13:54 andreas Exp $ */ /* * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. * @@ -48,8 +48,7 @@ #include "match.h" #include "dispatch.h" #include "monitor.h" - -#define KEX_COOKIE_LEN 16 +#include "roaming.h" #if OPENSSL_VERSION_NUMBER >= 0x00907000L # if defined(HAVE_EVP_SHA256) @@ -388,6 +387,16 @@ kex_choose_conf(Kex *kex) sprop=peer; } + /* Check whether server offers roaming */ + if (!kex->server) { + char *roaming; + roaming = match_list(KEX_RESUME, peer[PROPOSAL_KEX_ALGS], NULL); + if (roaming) { + kex->roaming = 1; + xfree(roaming); + } + } + /* Algorithm Negotiation */ for (mode = 0; mode < MODE_MAX; mode++) { newkeys = xcalloc(1, sizeof(*newkeys));