[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.18 and 1.19

version 1.18, 2001/04/03 19:53:29 version 1.19, 2001/04/03 23:32:12
Line 59 
Line 59 
         DH_GEX_SHA1          DH_GEX_SHA1
 };  };
   
   #define KEX_INIT_SENT   0x0001
   
 typedef struct Kex Kex;  typedef struct Kex Kex;
 typedef struct Mac Mac;  typedef struct Mac Mac;
 typedef struct Comp Comp;  typedef struct Comp Comp;
 typedef struct Enc Enc;  typedef struct Enc Enc;
   typedef struct Newkeys Newkeys;
   
 struct Enc {  struct Enc {
         char            *name;          char    *name;
         Cipher          *cipher;          Cipher  *cipher;
         int             enabled;          int     enabled;
         u_char  *key;          u_char  *key;
         u_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;
         u_char  *key;          u_char  *key;
         int             key_len;          int     key_len;
 };  };
 struct Comp {  struct Comp {
         int             type;          int     type;
         int             enabled;          int     enabled;
         char            *name;          char    *name;
 };  };
 #define KEX_INIT_SENT   0x0001  struct Newkeys {
           Enc     enc;
           Mac     mac;
           Comp    comp;
   };
 struct Kex {  struct Kex {
         Enc             enc [MODE_MAX];          u_char  *session_id;
         Mac             mac [MODE_MAX];          int     session_id_len;
         Comp            comp[MODE_MAX];          Newkeys *keys[MODE_MAX];
         int             we_need;          int     we_need;
         int             server;          int     server;
         char            *name;          char    *name;
         int             hostkey_type;          int     hostkey_type;
         int             kex_type;          int     kex_type;
           Buffer  my;
         /* used during kex */          Buffer  peer;
         Buffer          my;          int     newkeys;
         Buffer          peer;          int     flags;
         int             newkeys;          char    *client_version_string;
         int             flags;          char    *server_version_string;
         void            *state;          int     (*check_host_key)(Key *hostkey);
         char            *client_version_string;          Key     *(*load_host_key)(int type);
         char            *server_version_string;  
   
         int             (*check_host_key)(Key *hostkey);  
         Key             *(*load_host_key)(int type);  
 };  };
   
 void    kex_derive_keys(Kex *k, u_char *hash, BIGNUM *shared_secret);  
 void    packet_set_kex(Kex *k);  
 Kex     *kex_start(char *proposal[PROPOSAL_MAX]);  Kex     *kex_start(char *proposal[PROPOSAL_MAX]);
 void    kex_send_newkeys(void);  void    kex_send_newkeys(void);
   void    kex_send_kexinit(Kex *kex);
 void    kex_protocol_error(int type, int plen, void *ctxt);  void    kex_protocol_error(int type, int plen, void *ctxt);
   void    kex_derive_keys(Kex *k, u_char *hash, BIGNUM *shared_secret);
   
 void    kexdh(Kex *);  void    kexdh(Kex *);
 void    kexgex(Kex *);  void    kexgex(Kex *);
   
   Newkeys *kex_get_newkeys(int mode);
   
 #if defined(DEBUG_KEX) || defined(DEBUG_KEXDH)  #if defined(DEBUG_KEX) || defined(DEBUG_KEXDH)
 void    dump_digest(char *msg, u_char *digest, int len);  void    dump_digest(char *msg, u_char *digest, int len);

Legend:
Removed from v.1.18  
changed lines
  Added in v.1.19