summaryrefslogtreecommitdiff
path: root/kex.h
diff options
context:
space:
mode:
Diffstat (limited to 'kex.h')
-rw-r--r--kex.h17
1 files changed, 8 insertions, 9 deletions
diff --git a/kex.h b/kex.h
index 8013ab8a4..d5046c627 100644
--- a/kex.h
+++ b/kex.h
@@ -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
90struct Enc { 91struct 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
152int kex_names_valid(const char *); 155int kex_names_valid(const char *);
156char *kex_alg_list(void);
153 157
154Kex *kex_setup(char *[PROPOSAL_MAX]); 158Kex *kex_setup(char *[PROPOSAL_MAX]);
155void kex_finish(Kex *); 159void kex_finish(Kex *);
@@ -184,11 +188,6 @@ void
184kex_ecdh_hash(const EVP_MD *, const EC_GROUP *, char *, char *, char *, int, 188kex_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 *);
187int kex_ecdh_name_to_nid(const char *);
188const 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
194void 193void