diff options
Diffstat (limited to 'sshd.c')
-rw-r--r-- | sshd.c | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -40,7 +40,7 @@ | |||
40 | */ | 40 | */ |
41 | 41 | ||
42 | #include "includes.h" | 42 | #include "includes.h" |
43 | RCSID("$OpenBSD: sshd.c,v 1.182 2001/03/28 20:50:45 markus Exp $"); | 43 | RCSID("$OpenBSD: sshd.c,v 1.183 2001/03/28 21:59:41 provos Exp $"); |
44 | 44 | ||
45 | #include <openssl/dh.h> | 45 | #include <openssl/dh.h> |
46 | #include <openssl/bn.h> | 46 | #include <openssl/bn.h> |
@@ -1720,6 +1720,12 @@ ssh_dhgex_server(Kex *kex, Buffer *client_kexinit, Buffer *server_kexinit) | |||
1720 | /* XXX precompute? */ | 1720 | /* XXX precompute? */ |
1721 | key_to_blob(hostkey, &server_host_key_blob, &sbloblen); | 1721 | key_to_blob(hostkey, &server_host_key_blob, &sbloblen); |
1722 | 1722 | ||
1723 | if (type == SSH2_MSG_KEX_DH_GEX_REQUEST_OLD) { | ||
1724 | /* These values are not included in the hash */ | ||
1725 | min = -1; | ||
1726 | max = -1; | ||
1727 | } | ||
1728 | |||
1723 | /* calc H */ /* XXX depends on 'kex' */ | 1729 | /* calc H */ /* XXX depends on 'kex' */ |
1724 | hash = kex_hash_gex( | 1730 | hash = kex_hash_gex( |
1725 | client_version_string, | 1731 | client_version_string, |
@@ -1727,7 +1733,8 @@ ssh_dhgex_server(Kex *kex, Buffer *client_kexinit, Buffer *server_kexinit) | |||
1727 | buffer_ptr(client_kexinit), buffer_len(client_kexinit), | 1733 | buffer_ptr(client_kexinit), buffer_len(client_kexinit), |
1728 | buffer_ptr(server_kexinit), buffer_len(server_kexinit), | 1734 | buffer_ptr(server_kexinit), buffer_len(server_kexinit), |
1729 | (char *)server_host_key_blob, sbloblen, | 1735 | (char *)server_host_key_blob, sbloblen, |
1730 | nbits, dh->p, dh->g, | 1736 | min, nbits, max, |
1737 | dh->p, dh->g, | ||
1731 | dh_client_pub, | 1738 | dh_client_pub, |
1732 | dh->pub_key, | 1739 | dh->pub_key, |
1733 | shared_secret | 1740 | shared_secret |