]> andersk Git - openssh.git/blobdiff - mpaux.c
- (tim) [contrib/cygwin/README] add minires-devel requirement. Patch from
[openssh.git] / mpaux.c
diff --git a/mpaux.c b/mpaux.c
index c17df9e7d26a2f17a65226528ab5abd580623bb6..0c486275ffbcd650f0c5ac03043eac6d88f40fd1 100644 (file)
--- a/mpaux.c
+++ b/mpaux.c
@@ -1,54 +1,46 @@
 /*
+ * Author: Tatu Ylonen <ylo@cs.hut.fi>
+ * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
+ *                    All rights reserved
+ * This file contains various auxiliary functions related to multiple
+ * precision integers.
+ *
+ * As far as I am concerned, the code I have written for this software
+ * can be used freely for any purpose.  Any derived versions of this
+ * software must be clearly marked as such, and if the derived work is
+ * incompatible with the protocol description in the RFC file, it must be
+ * called by a name other than "ssh" or "Secure Shell".
+ */
 
-mpaux.c
-
-Author: Tatu Ylonen <ylo@cs.hut.fi>
-
-Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
-                   All rights reserved
-
-Created: Sun Jul 16 04:29:30 1995 ylo
-
-This file contains various auxiliary functions related to multiple
-precision integers.
-
-*/
-
-#include "config.h"
 #include "includes.h"
-RCSID("$Id$");
+RCSID("$OpenBSD: mpaux.c,v 1.16 2001/02/08 19:30:52 itojun Exp $");
 
-#ifdef HAVE_OPENSSL
 #include <openssl/bn.h>
-#include <openssl/md5.h>
-#endif
-#ifdef HAVE_SSL
-#include <ssl/bn.h>
-#include <ssl/md5.h>
-#endif
-
 #include "getput.h"
 #include "xmalloc.h"
 
+#include <openssl/md5.h>
+
+#include "mpaux.h"
 
 void
-compute_session_id(unsigned char session_id[16],
-                  unsigned char cookie[8],
-                  unsigned int host_key_bits,
-                  BIGNUM *host_key_n,
-                  unsigned int session_key_bits,
-                  BIGNUM *session_key_n)
+compute_session_id(u_char session_id[16],
+    u_char cookie[8],
+    BIGNUM* host_key_n,
+    BIGNUM* session_key_n)
 {
-  unsigned int bytes = (host_key_bits + 7) / 8 + (session_key_bits + 7) / 8 + 8;
-  unsigned char *buf = xmalloc(bytes);
-  MD5_CTX md;
-  
-  BN_bn2bin(host_key_n, buf);
-  BN_bn2bin(session_key_n, buf + (host_key_bits + 7 ) / 8);
-  memcpy(buf + (host_key_bits + 7) / 8 + (session_key_bits + 7) / 8,
-        cookie, 8);
-  MD5_Init(&md);
-  MD5_Update(&md, buf, bytes);
-  MD5_Final(session_id, &md);
-  xfree(buf);
+       u_int host_key_bytes = BN_num_bytes(host_key_n);
+       u_int session_key_bytes = BN_num_bytes(session_key_n);
+       u_int bytes = host_key_bytes + session_key_bytes;
+       u_char *buf = xmalloc(bytes);
+       MD5_CTX md;
+
+       BN_bn2bin(host_key_n, buf);
+       BN_bn2bin(session_key_n, buf + host_key_bytes);
+       MD5_Init(&md);
+       MD5_Update(&md, buf, bytes);
+       MD5_Update(&md, cookie, 8);
+       MD5_Final(session_id, &md);
+       memset(buf, 0, bytes);
+       xfree(buf);
 }
This page took 0.033315 seconds and 4 git commands to generate.