diff options
Diffstat (limited to 'monitor.c')
-rw-r--r-- | monitor.c | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: monitor.c,v 1.108 2010/07/13 23:13:16 djm Exp $ */ | 1 | /* $OpenBSD: monitor.c,v 1.110 2010/09/09 10:45:45 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright 2002 Niels Provos <provos@citi.umich.edu> | 3 | * Copyright 2002 Niels Provos <provos@citi.umich.edu> |
4 | * Copyright 2002 Markus Friedl <markus@openbsd.org> | 4 | * Copyright 2002 Markus Friedl <markus@openbsd.org> |
@@ -609,10 +609,10 @@ mm_answer_sign(int sock, Buffer *m) | |||
609 | p = buffer_get_string(m, &datlen); | 609 | p = buffer_get_string(m, &datlen); |
610 | 610 | ||
611 | /* | 611 | /* |
612 | * Supported KEX types will only return SHA1 (20 byte) or | 612 | * Supported KEX types use SHA1 (20 bytes), SHA256 (32 bytes), |
613 | * SHA256 (32 byte) hashes | 613 | * SHA384 (48 bytes) and SHA512 (64 bytes). |
614 | */ | 614 | */ |
615 | if (datlen != 20 && datlen != 32) | 615 | if (datlen != 20 && datlen != 32 && datlen != 48 && datlen != 64) |
616 | fatal("%s: data length incorrect: %u", __func__, datlen); | 616 | fatal("%s: data length incorrect: %u", __func__, datlen); |
617 | 617 | ||
618 | /* save session id, it will be passed on the first call */ | 618 | /* save session id, it will be passed on the first call */ |
@@ -1734,6 +1734,7 @@ mm_get_kex(Buffer *m) | |||
1734 | kex->kex[KEX_DH_GRP14_SHA1] = kexdh_server; | 1734 | kex->kex[KEX_DH_GRP14_SHA1] = kexdh_server; |
1735 | kex->kex[KEX_DH_GEX_SHA1] = kexgex_server; | 1735 | kex->kex[KEX_DH_GEX_SHA1] = kexgex_server; |
1736 | kex->kex[KEX_DH_GEX_SHA256] = kexgex_server; | 1736 | kex->kex[KEX_DH_GEX_SHA256] = kexgex_server; |
1737 | kex->kex[KEX_ECDH_SHA2] = kexecdh_server; | ||
1737 | #ifdef GSSAPI | 1738 | #ifdef GSSAPI |
1738 | if (options.gss_keyex) { | 1739 | if (options.gss_keyex) { |
1739 | kex->kex[KEX_GSS_GRP1_SHA1] = kexgss_server; | 1740 | kex->kex[KEX_GSS_GRP1_SHA1] = kexgss_server; |