diff options
Diffstat (limited to 'kex.h')
-rw-r--r-- | kex.h | 22 |
1 files changed, 12 insertions, 10 deletions
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: kex.h,v 1.37 2005/07/25 11:59:39 markus Exp $ */ | 1 | /* $OpenBSD: kex.h,v 1.38 2005/11/04 05:15:59 djm Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. | 4 | * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. |
@@ -31,9 +31,9 @@ | |||
31 | #include "cipher.h" | 31 | #include "cipher.h" |
32 | #include "key.h" | 32 | #include "key.h" |
33 | 33 | ||
34 | #define KEX_DH1 "diffie-hellman-group1-sha1" | 34 | #define KEX_DH1 "diffie-hellman-group1-sha1" |
35 | #define KEX_DH14 "diffie-hellman-group14-sha1" | 35 | #define KEX_DH14 "diffie-hellman-group14-sha1" |
36 | #define KEX_DHGEX "diffie-hellman-group-exchange-sha1" | 36 | #define KEX_DHGEX_SHA1 "diffie-hellman-group-exchange-sha1" |
37 | 37 | ||
38 | #define COMP_NONE 0 | 38 | #define COMP_NONE 0 |
39 | #define COMP_ZLIB 1 | 39 | #define COMP_ZLIB 1 |
@@ -114,6 +114,7 @@ struct Kex { | |||
114 | Buffer peer; | 114 | Buffer peer; |
115 | int done; | 115 | int done; |
116 | int flags; | 116 | int flags; |
117 | const EVP_MD *evp_md; | ||
117 | char *client_version_string; | 118 | char *client_version_string; |
118 | char *server_version_string; | 119 | char *server_version_string; |
119 | int (*verify_host_key)(Key *); | 120 | int (*verify_host_key)(Key *); |
@@ -127,7 +128,7 @@ void kex_finish(Kex *); | |||
127 | 128 | ||
128 | void kex_send_kexinit(Kex *); | 129 | void kex_send_kexinit(Kex *); |
129 | void kex_input_kexinit(int, u_int32_t, void *); | 130 | void kex_input_kexinit(int, u_int32_t, void *); |
130 | void kex_derive_keys(Kex *, u_char *, BIGNUM *); | 131 | void kex_derive_keys(Kex *, u_char *, u_int, BIGNUM *); |
131 | 132 | ||
132 | Newkeys *kex_get_newkeys(int); | 133 | Newkeys *kex_get_newkeys(int); |
133 | 134 | ||
@@ -136,12 +137,13 @@ void kexdh_server(Kex *); | |||
136 | void kexgex_client(Kex *); | 137 | void kexgex_client(Kex *); |
137 | void kexgex_server(Kex *); | 138 | void kexgex_server(Kex *); |
138 | 139 | ||
139 | u_char * | 140 | void |
140 | kex_dh_hash(char *, char *, char *, int, char *, int, u_char *, int, | 141 | kex_dh_hash(char *, char *, char *, int, char *, int, u_char *, int, |
141 | BIGNUM *, BIGNUM *, BIGNUM *); | 142 | BIGNUM *, BIGNUM *, BIGNUM *, u_char **, u_int *); |
142 | u_char * | 143 | void |
143 | kexgex_hash(char *, char *, char *, int, char *, int, u_char *, int, | 144 | kexgex_hash(const EVP_MD *, char *, char *, char *, int, char *, |
144 | int, int, int, BIGNUM *, BIGNUM *, BIGNUM *, BIGNUM *, BIGNUM *); | 145 | int, u_char *, int, int, int, int, BIGNUM *, BIGNUM *, BIGNUM *, |
146 | BIGNUM *, BIGNUM *, u_char **, u_int *); | ||
145 | 147 | ||
146 | void | 148 | void |
147 | derive_ssh1_session_id(BIGNUM *, BIGNUM *, u_int8_t[8], u_int8_t[16]); | 149 | derive_ssh1_session_id(BIGNUM *, BIGNUM *, u_int8_t[8], u_int8_t[16]); |