aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Nilsson <[email protected]>2018-05-02 14:44:52 +0200
committerHans Nilsson <[email protected]>2018-05-04 15:31:42 +0200
commit169e26ba4facb637831aaaa02d878b988a090ff0 (patch)
treef7debd23eb5a63c2ce3729c5d2f6d12b4a5de147
parentb5b627ded69445c06e8fbe34cda3421854c5582e (diff)
downloadotp-169e26ba4facb637831aaaa02d878b988a090ff0.tar.gz
otp-169e26ba4facb637831aaaa02d878b988a090ff0.tar.bz2
otp-169e26ba4facb637831aaaa02d878b988a090ff0.zip
ssh: Fix DH group exchange server bug for PuTTY
and others following draft-draft-00 from 2001 and not the rfc4419
-rw-r--r--lib/ssh/src/ssh_transport.erl5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/ssh/src/ssh_transport.erl b/lib/ssh/src/ssh_transport.erl
index 975053d301..edc927e807 100644
--- a/lib/ssh/src/ssh_transport.erl
+++ b/lib/ssh/src/ssh_transport.erl
@@ -1839,9 +1839,10 @@ kex_alg_dependent({E, F, K}) ->
%% diffie-hellman and ec diffie-hellman (with E = Q_c, F = Q_s)
<<?Empint(E), ?Empint(F), ?Empint(K)>>;
-kex_alg_dependent({-1, _, -1, _, _, E, F, K}) ->
+kex_alg_dependent({-1, NBits, -1, Prime, Gen, E, F, K}) ->
%% ssh_msg_kex_dh_gex_request_old
- <<?Empint(E), ?Empint(F), ?Empint(K)>>;
+ <<?Euint32(NBits),
+ ?Empint(Prime), ?Empint(Gen), ?Empint(E), ?Empint(F), ?Empint(K)>>;
kex_alg_dependent({Min, NBits, Max, Prime, Gen, E, F, K}) ->
%% diffie-hellman group exchange