diff options
Diffstat (limited to 'kex.h')
-rw-r--r-- | kex.h | 17 |
1 files changed, 8 insertions, 9 deletions
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: kex.h,v 1.54 2013/01/08 18:49:04 markus Exp $ */ | 1 | /* $OpenBSD: kex.h,v 1.56 2013/07/19 07:37:48 markus 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. |
@@ -40,8 +40,9 @@ | |||
40 | #define KEX_DHGEX_SHA1 "diffie-hellman-group-exchange-sha1" | 40 | #define KEX_DHGEX_SHA1 "diffie-hellman-group-exchange-sha1" |
41 | #define KEX_DHGEX_SHA256 "diffie-hellman-group-exchange-sha256" | 41 | #define KEX_DHGEX_SHA256 "diffie-hellman-group-exchange-sha256" |
42 | #define KEX_RESUME "resume@appgate.com" | 42 | #define KEX_RESUME "resume@appgate.com" |
43 | /* The following represents the family of ECDH methods */ | 43 | #define KEX_ECDH_SHA2_NISTP256 "ecdh-sha2-nistp256" |
44 | #define KEX_ECDH_SHA2_STEM "ecdh-sha2-" | 44 | #define KEX_ECDH_SHA2_NISTP384 "ecdh-sha2-nistp384" |
45 | #define KEX_ECDH_SHA2_NISTP521 "ecdh-sha2-nistp521" | ||
45 | 46 | ||
46 | #define COMP_NONE 0 | 47 | #define COMP_NONE 0 |
47 | #define COMP_ZLIB 1 | 48 | #define COMP_ZLIB 1 |
@@ -89,7 +90,7 @@ typedef struct Newkeys Newkeys; | |||
89 | 90 | ||
90 | struct Enc { | 91 | struct Enc { |
91 | char *name; | 92 | char *name; |
92 | Cipher *cipher; | 93 | const Cipher *cipher; |
93 | int enabled; | 94 | int enabled; |
94 | u_int key_len; | 95 | u_int key_len; |
95 | u_int iv_len; | 96 | u_int iv_len; |
@@ -134,6 +135,7 @@ struct Kex { | |||
134 | sig_atomic_t done; | 135 | sig_atomic_t done; |
135 | int flags; | 136 | int flags; |
136 | const EVP_MD *evp_md; | 137 | const EVP_MD *evp_md; |
138 | int ec_nid; | ||
137 | #ifdef GSSAPI | 139 | #ifdef GSSAPI |
138 | int gss_deleg_creds; | 140 | int gss_deleg_creds; |
139 | int gss_trust_dns; | 141 | int gss_trust_dns; |
@@ -146,10 +148,12 @@ struct Kex { | |||
146 | Key *(*load_host_public_key)(int); | 148 | Key *(*load_host_public_key)(int); |
147 | Key *(*load_host_private_key)(int); | 149 | Key *(*load_host_private_key)(int); |
148 | int (*host_key_index)(Key *); | 150 | int (*host_key_index)(Key *); |
151 | void (*sign)(Key *, Key *, u_char **, u_int *, u_char *, u_int); | ||
149 | void (*kex[KEX_MAX])(Kex *); | 152 | void (*kex[KEX_MAX])(Kex *); |
150 | }; | 153 | }; |
151 | 154 | ||
152 | int kex_names_valid(const char *); | 155 | int kex_names_valid(const char *); |
156 | char *kex_alg_list(void); | ||
153 | 157 | ||
154 | Kex *kex_setup(char *[PROPOSAL_MAX]); | 158 | Kex *kex_setup(char *[PROPOSAL_MAX]); |
155 | void kex_finish(Kex *); | 159 | void kex_finish(Kex *); |
@@ -184,11 +188,6 @@ void | |||
184 | kex_ecdh_hash(const EVP_MD *, const EC_GROUP *, char *, char *, char *, int, | 188 | kex_ecdh_hash(const EVP_MD *, const EC_GROUP *, char *, char *, char *, int, |
185 | char *, int, u_char *, int, const EC_POINT *, const EC_POINT *, | 189 | char *, int, u_char *, int, const EC_POINT *, const EC_POINT *, |
186 | const BIGNUM *, u_char **, u_int *); | 190 | const BIGNUM *, u_char **, u_int *); |
187 | int kex_ecdh_name_to_nid(const char *); | ||
188 | const EVP_MD *kex_ecdh_name_to_evpmd(const char *); | ||
189 | #else | ||
190 | # define kex_ecdh_name_to_nid(x) (-1) | ||
191 | # define kex_ecdh_name_to_evpmd(x) (NULL) | ||
192 | #endif | 191 | #endif |
193 | 192 | ||
194 | void | 193 | void |