[BACK]Return to kexgex.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/kexgex.c between version 1.23 and 1.23.12.3

version 1.23, 2003/02/16 17:09:57 version 1.23.12.3, 2006/11/08 00:44:05
Line 1 
Line 1 
   /* $OpenBSD$ */
 /*  /*
  * Copyright (c) 2000 Niels Provos.  All rights reserved.   * Copyright (c) 2000 Niels Provos.  All rights reserved.
  * Copyright (c) 2001 Markus Friedl.  All rights reserved.   * Copyright (c) 2001 Markus Friedl.  All rights reserved.
Line 23 
Line 24 
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.   * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */   */
   
 #include "includes.h"  #include <sys/types.h>
 RCSID("$OpenBSD$");  
   
 #include <openssl/evp.h>  #include <openssl/evp.h>
   #include <signal.h>
   
 #include "buffer.h"  #include "buffer.h"
 #include "bufaux.h"  #include "key.h"
   #include "cipher.h"
 #include "kex.h"  #include "kex.h"
 #include "ssh2.h"  #include "ssh2.h"
   
 u_char *  void
 kexgex_hash(  kexgex_hash(
       const EVP_MD *evp_md,
     char *client_version_string,      char *client_version_string,
     char *server_version_string,      char *server_version_string,
     char *ckexinit, int ckexinitlen,      char *ckexinit, int ckexinitlen,
Line 43 
Line 46 
     int min, int wantbits, int max, BIGNUM *prime, BIGNUM *gen,      int min, int wantbits, int max, BIGNUM *prime, BIGNUM *gen,
     BIGNUM *client_dh_pub,      BIGNUM *client_dh_pub,
     BIGNUM *server_dh_pub,      BIGNUM *server_dh_pub,
     BIGNUM *shared_secret)      BIGNUM *shared_secret,
       u_char **hash, u_int *hashlen)
 {  {
         Buffer b;          Buffer b;
         static u_char digest[EVP_MAX_MD_SIZE];          static u_char digest[EVP_MAX_MD_SIZE];
         const EVP_MD *evp_md = EVP_sha1();  
         EVP_MD_CTX md;          EVP_MD_CTX md;
   
         buffer_init(&b);          buffer_init(&b);
Line 79 
Line 82 
 #ifdef DEBUG_KEXDH  #ifdef DEBUG_KEXDH
         buffer_dump(&b);          buffer_dump(&b);
 #endif  #endif
   
         EVP_DigestInit(&md, evp_md);          EVP_DigestInit(&md, evp_md);
         EVP_DigestUpdate(&md, buffer_ptr(&b), buffer_len(&b));          EVP_DigestUpdate(&md, buffer_ptr(&b), buffer_len(&b));
         EVP_DigestFinal(&md, digest, NULL);          EVP_DigestFinal(&md, digest, NULL);
   
         buffer_free(&b);          buffer_free(&b);
           *hash = digest;
           *hashlen = EVP_MD_size(evp_md);
 #ifdef DEBUG_KEXDH  #ifdef DEBUG_KEXDH
         dump_digest("hash", digest, EVP_MD_size(evp_md));          dump_digest("hash", digest, *hashlen);
 #endif  #endif
         return digest;  
 }  }

Legend:
Removed from v.1.23  
changed lines
  Added in v.1.23.12.3