=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/kexdh.c,v retrieving revision 1.19 retrieving revision 1.19.12.2 diff -u -r1.19 -r1.19.12.2 --- src/usr.bin/ssh/kexdh.c 2003/02/16 17:09:57 1.19 +++ src/usr.bin/ssh/kexdh.c 2006/10/06 03:19:32 1.19.12.2 @@ -1,3 +1,4 @@ +/* $OpenBSD: kexdh.c,v 1.19.12.2 2006/10/06 03:19:32 brad Exp $ */ /* * Copyright (c) 2001 Markus Friedl. All rights reserved. * @@ -22,17 +23,19 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include "includes.h" -RCSID("$OpenBSD: kexdh.c,v 1.19 2003/02/16 17:09:57 markus Exp $"); +#include +#include + #include #include "buffer.h" -#include "bufaux.h" #include "ssh2.h" +#include "key.h" +#include "cipher.h" #include "kex.h" -u_char * +void kex_dh_hash( char *client_version_string, char *server_version_string, @@ -41,7 +44,8 @@ u_char *serverhostkeyblob, int sbloblen, BIGNUM *client_dh_pub, BIGNUM *server_dh_pub, - BIGNUM *shared_secret) + BIGNUM *shared_secret, + u_char **hash, u_int *hashlen) { Buffer b; static u_char digest[EVP_MAX_MD_SIZE]; @@ -77,5 +81,6 @@ #ifdef DEBUG_KEX dump_digest("hash", digest, EVP_MD_size(evp_md)); #endif - return digest; + *hash = digest; + *hashlen = EVP_MD_size(evp_md); }