mirror of
https://git.libssh.org/projects/libssh.git
synced 2026-02-11 02:38:09 +09:00
dh: Removed duplicated code
The code for calculating SHA 512 in ssh_make_sessionid() had been duplicated; the cases were unified. Signed-off-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
This commit is contained in:
committed by
Andreas Schneider
parent
71594f9d6c
commit
0eab270754
20
src/dh.c
20
src/dh.c
@@ -890,19 +890,6 @@ int ssh_make_sessionid(ssh_session session) {
|
|||||||
sha1(ssh_buffer_get(buf), ssh_buffer_get_len(buf),
|
sha1(ssh_buffer_get(buf), ssh_buffer_get_len(buf),
|
||||||
session->next_crypto->secret_hash);
|
session->next_crypto->secret_hash);
|
||||||
break;
|
break;
|
||||||
case SSH_KEX_DH_GROUP16_SHA512:
|
|
||||||
case SSH_KEX_DH_GROUP18_SHA512:
|
|
||||||
session->next_crypto->digest_len = SHA512_DIGEST_LENGTH;
|
|
||||||
session->next_crypto->mac_type = SSH_MAC_SHA512;
|
|
||||||
session->next_crypto->secret_hash = malloc(session->next_crypto->digest_len);
|
|
||||||
if (session->next_crypto->secret_hash == NULL) {
|
|
||||||
ssh_set_error_oom(session);
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
sha512(ssh_buffer_get(buf),
|
|
||||||
ssh_buffer_get_len(buf),
|
|
||||||
session->next_crypto->secret_hash);
|
|
||||||
break;
|
|
||||||
case SSH_KEX_ECDH_SHA2_NISTP256:
|
case SSH_KEX_ECDH_SHA2_NISTP256:
|
||||||
case SSH_KEX_CURVE25519_SHA256:
|
case SSH_KEX_CURVE25519_SHA256:
|
||||||
case SSH_KEX_CURVE25519_SHA256_LIBSSH_ORG:
|
case SSH_KEX_CURVE25519_SHA256_LIBSSH_ORG:
|
||||||
@@ -927,6 +914,8 @@ int ssh_make_sessionid(ssh_session session) {
|
|||||||
sha384(ssh_buffer_get(buf), ssh_buffer_get_len(buf),
|
sha384(ssh_buffer_get(buf), ssh_buffer_get_len(buf),
|
||||||
session->next_crypto->secret_hash);
|
session->next_crypto->secret_hash);
|
||||||
break;
|
break;
|
||||||
|
case SSH_KEX_DH_GROUP16_SHA512:
|
||||||
|
case SSH_KEX_DH_GROUP18_SHA512:
|
||||||
case SSH_KEX_ECDH_SHA2_NISTP521:
|
case SSH_KEX_ECDH_SHA2_NISTP521:
|
||||||
session->next_crypto->digest_len = SHA512_DIGEST_LENGTH;
|
session->next_crypto->digest_len = SHA512_DIGEST_LENGTH;
|
||||||
session->next_crypto->mac_type = SSH_MAC_SHA512;
|
session->next_crypto->mac_type = SSH_MAC_SHA512;
|
||||||
@@ -935,8 +924,9 @@ int ssh_make_sessionid(ssh_session session) {
|
|||||||
ssh_set_error_oom(session);
|
ssh_set_error_oom(session);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
sha512(ssh_buffer_get(buf), ssh_buffer_get_len(buf),
|
sha512(ssh_buffer_get(buf),
|
||||||
session->next_crypto->secret_hash);
|
ssh_buffer_get_len(buf),
|
||||||
|
session->next_crypto->secret_hash);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
/* During the first kex, secret hash and session ID are equal. However, after
|
/* During the first kex, secret hash and session ID are equal. However, after
|
||||||
|
|||||||
Reference in New Issue
Block a user