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

Diff for /src/usr.bin/ssh/kex.h between version 1.7 and 1.7.2.3

version 1.7, 2000/10/12 14:21:12 version 1.7.2.3, 2001/03/21 19:46:25
Line 1 
Line 1 
   /*      $OpenBSD$       */
   
 /*  /*
  * Copyright (c) 2000 Markus Friedl.  All rights reserved.   * Copyright (c) 2000 Markus Friedl.  All rights reserved.
  *   *
Line 24 
Line 26 
 #ifndef KEX_H  #ifndef KEX_H
 #define KEX_H  #define KEX_H
   
   #include <openssl/evp.h>
   #include "buffer.h"
   
 #define KEX_DH1         "diffie-hellman-group1-sha1"  #define KEX_DH1         "diffie-hellman-group1-sha1"
 #define KEX_DHGEX       "diffie-hellman-group-exchange-sha1"  #define KEX_DHGEX       "diffie-hellman-group-exchange-sha1"
 #define KEX_DSS         "ssh-dss"  
   
 enum kex_init_proposals {  enum kex_init_proposals {
         PROPOSAL_KEX_ALGS,          PROPOSAL_KEX_ALGS,
Line 52 
Line 56 
         DH_GRP1_SHA1,          DH_GRP1_SHA1,
         DH_GEX_SHA1          DH_GEX_SHA1
 };  };
   
 typedef struct Kex Kex;  typedef struct Kex Kex;
 typedef struct Mac Mac;  typedef struct Mac Mac;
 typedef struct Comp Comp;  typedef struct Comp Comp;
Line 62 
Line 66 
         char            *name;          char            *name;
         Cipher          *cipher;          Cipher          *cipher;
         int             enabled;          int             enabled;
         unsigned char   *key;          u_char  *key;
         unsigned char   *iv;          u_char  *iv;
 };  };
 struct Mac {  struct Mac {
         char            *name;          char            *name;
         int             enabled;          int             enabled;
         EVP_MD          *md;          EVP_MD          *md;
         int             mac_len;          int             mac_len;
         unsigned char   *key;          u_char  *key;
         int             key_len;          int             key_len;
 };  };
 struct Comp {  struct Comp {
Line 85 
Line 89 
         int             we_need;          int             we_need;
         int             server;          int             server;
         char            *name;          char            *name;
         char            *hostkeyalg;          int             hostkey_type;
         int             kex_type;          int             kex_type;
 };  };
   
Line 97 
Line 101 
 Kex *  Kex *
 kex_choose_conf(char *cprop[PROPOSAL_MAX],  kex_choose_conf(char *cprop[PROPOSAL_MAX],
     char *sprop[PROPOSAL_MAX], int server);      char *sprop[PROPOSAL_MAX], int server);
 int     kex_derive_keys(Kex *k, unsigned char *hash, BIGNUM *shared_secret);  int     kex_derive_keys(Kex *k, u_char *hash, BIGNUM *shared_secret);
 void    packet_set_kex(Kex *k);  void    packet_set_kex(Kex *k);
 int     dh_pub_is_valid(DH *dh, BIGNUM *dh_pub);  int     dh_pub_is_valid(DH *dh, BIGNUM *dh_pub);
 DH      *dh_new_group_asc(const char *, const char *);  DH      *dh_new_group_asc(const char *, const char *);
 DH      *dh_new_group(BIGNUM *, BIGNUM *);  DH      *dh_new_group(BIGNUM *, BIGNUM *);
 DH      *dh_new_group1();  void    dh_gen_key(DH *, int);
   DH      *dh_new_group1(void);
   
 unsigned char *  u_char *
 kex_hash(  kex_hash(
     char *client_version_string,      char *client_version_string,
     char *server_version_string,      char *server_version_string,
Line 115 
Line 120 
     BIGNUM *server_dh_pub,      BIGNUM *server_dh_pub,
     BIGNUM *shared_secret);      BIGNUM *shared_secret);
   
 unsigned char *  u_char *
 kex_hash_gex(  kex_hash_gex(
     char *client_version_string,      char *client_version_string,
     char *server_version_string,      char *server_version_string,

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.7.2.3