+/* $OpenBSD: kexdh.c,v 1.23 2006/08/03 03:34:42 deraadt Exp $ */
/*
* Copyright (c) 2001 Markus Friedl. All rights reserved.
*
*/
#include "includes.h"
-RCSID("$OpenBSD: kexdh.c,v 1.19 2003/02/16 17:09:57 markus Exp $");
+
+#include <sys/types.h>
+
+#include <signal.h>
#include <openssl/evp.h>
#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,
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];
#ifdef DEBUG_KEX
dump_digest("hash", digest, EVP_MD_size(evp_md));
#endif
- return digest;
+ *hash = digest;
+ *hashlen = EVP_MD_size(evp_md);
}