diff options
author | Dag-Erling Smørgrav <des@FreeBSD.org> | 2014-01-31 13:12:02 +0000 |
---|---|---|
committer | Dag-Erling Smørgrav <des@FreeBSD.org> | 2014-01-31 13:12:02 +0000 |
commit | f7167e0ea0bf5aaabff9490453b3b71b3f1b4d51 (patch) | |
tree | d32fb61cec38c52314210c3459fd436685dacdba /crypto/openssh/kexgex.c | |
parent | 9e90c870232242ab23aa7d473996f68cb1fe449d (diff) | |
parent | 02d4c2ac3daa0f36264392972709ccd7676ab3e8 (diff) |
Upgrade to OpenSSH 6.5p1.
Notes
Notes:
svn path=/head/; revision=261320
Diffstat (limited to 'crypto/openssh/kexgex.c')
-rw-r--r-- | crypto/openssh/kexgex.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/crypto/openssh/kexgex.c b/crypto/openssh/kexgex.c index b60ab5c53cc9..c2e6bc16d567 100644 --- a/crypto/openssh/kexgex.c +++ b/crypto/openssh/kexgex.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kexgex.c,v 1.27 2006/08/03 03:34:42 deraadt Exp $ */ +/* $OpenBSD: kexgex.c,v 1.28 2014/01/09 23:20:00 djm Exp $ */ /* * Copyright (c) 2000 Niels Provos. All rights reserved. * Copyright (c) 2001 Markus Friedl. All rights reserved. @@ -36,10 +36,12 @@ #include "cipher.h" #include "kex.h" #include "ssh2.h" +#include "digest.h" +#include "log.h" void kexgex_hash( - const EVP_MD *evp_md, + int hash_alg, char *client_version_string, char *server_version_string, char *ckexinit, int ckexinitlen, @@ -52,8 +54,7 @@ kexgex_hash( u_char **hash, u_int *hashlen) { Buffer b; - static u_char digest[EVP_MAX_MD_SIZE]; - EVP_MD_CTX md; + static u_char digest[SSH_DIGEST_MAX_LENGTH]; buffer_init(&b); buffer_put_cstring(&b, client_version_string); @@ -84,15 +85,14 @@ kexgex_hash( #ifdef DEBUG_KEXDH buffer_dump(&b); #endif - - EVP_DigestInit(&md, evp_md); - EVP_DigestUpdate(&md, buffer_ptr(&b), buffer_len(&b)); - EVP_DigestFinal(&md, digest, NULL); + if (ssh_digest_buffer(hash_alg, &b, digest, sizeof(digest)) != 0) + fatal("%s: ssh_digest_buffer failed", __func__); buffer_free(&b); - *hash = digest; - *hashlen = EVP_MD_size(evp_md); -#ifdef DEBUG_KEXDH - dump_digest("hash", digest, *hashlen); + +#ifdef DEBUG_KEX + dump_digest("hash", digest, ssh_digest_bytes(hash_alg)); #endif + *hash = digest; + *hashlen = ssh_digest_bytes(hash_alg); } |