summaryrefslogtreecommitdiff
path: root/kex.h
diff options
context:
space:
mode:
Diffstat (limited to 'kex.h')
-rw-r--r--kex.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/kex.h b/kex.h
index ee468157c..123ef83c1 100644
--- a/kex.h
+++ b/kex.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: kex.h,v 1.73 2015/07/30 00:01:34 djm Exp $ */ 1/* $OpenBSD: kex.h,v 1.76 2016/02/08 10:57:07 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.
@@ -54,7 +54,6 @@
54#define KEX_DH14 "diffie-hellman-group14-sha1" 54#define KEX_DH14 "diffie-hellman-group14-sha1"
55#define KEX_DHGEX_SHA1 "diffie-hellman-group-exchange-sha1" 55#define KEX_DHGEX_SHA1 "diffie-hellman-group-exchange-sha1"
56#define KEX_DHGEX_SHA256 "diffie-hellman-group-exchange-sha256" 56#define KEX_DHGEX_SHA256 "diffie-hellman-group-exchange-sha256"
57#define KEX_RESUME "resume@appgate.com"
58#define KEX_ECDH_SHA2_NISTP256 "ecdh-sha2-nistp256" 57#define KEX_ECDH_SHA2_NISTP256 "ecdh-sha2-nistp256"
59#define KEX_ECDH_SHA2_NISTP384 "ecdh-sha2-nistp384" 58#define KEX_ECDH_SHA2_NISTP384 "ecdh-sha2-nistp384"
60#define KEX_ECDH_SHA2_NISTP521 "ecdh-sha2-nistp521" 59#define KEX_ECDH_SHA2_NISTP521 "ecdh-sha2-nistp521"
@@ -132,10 +131,12 @@ struct kex {
132 u_int dh_need; 131 u_int dh_need;
133 int server; 132 int server;
134 char *name; 133 char *name;
134 char *hostkey_alg;
135 int hostkey_type; 135 int hostkey_type;
136 int hostkey_nid; 136 int hostkey_nid;
137 u_int kex_type; 137 u_int kex_type;
138 int roaming; 138 int rsa_sha2;
139 int ext_info_c;
139 struct sshbuf *my; 140 struct sshbuf *my;
140 struct sshbuf *peer; 141 struct sshbuf *peer;
141 sig_atomic_t done; 142 sig_atomic_t done;
@@ -155,8 +156,8 @@ struct kex {
155 struct sshkey *(*load_host_public_key)(int, int, struct ssh *); 156 struct sshkey *(*load_host_public_key)(int, int, struct ssh *);
156 struct sshkey *(*load_host_private_key)(int, int, struct ssh *); 157 struct sshkey *(*load_host_private_key)(int, int, struct ssh *);
157 int (*host_key_index)(struct sshkey *, int, struct ssh *); 158 int (*host_key_index)(struct sshkey *, int, struct ssh *);
158 int (*sign)(struct sshkey *, struct sshkey *, 159 int (*sign)(struct sshkey *, struct sshkey *, u_char **, size_t *,
159 u_char **, size_t *, const u_char *, size_t, u_int); 160 const u_char *, size_t, const char *, u_int);
160 int (*kex[KEX_MAX])(struct ssh *); 161 int (*kex[KEX_MAX])(struct ssh *);
161 /* kex specific state */ 162 /* kex specific state */
162 DH *dh; /* DH */ 163 DH *dh; /* DH */
@@ -183,9 +184,11 @@ void kex_prop_free(char **);
183 184
184int kex_send_kexinit(struct ssh *); 185int kex_send_kexinit(struct ssh *);
185int kex_input_kexinit(int, u_int32_t, void *); 186int kex_input_kexinit(int, u_int32_t, void *);
187int kex_input_ext_info(int, u_int32_t, void *);
186int kex_derive_keys(struct ssh *, u_char *, u_int, const struct sshbuf *); 188int kex_derive_keys(struct ssh *, u_char *, u_int, const struct sshbuf *);
187int kex_derive_keys_bn(struct ssh *, u_char *, u_int, const BIGNUM *); 189int kex_derive_keys_bn(struct ssh *, u_char *, u_int, const BIGNUM *);
188int kex_send_newkeys(struct ssh *); 190int kex_send_newkeys(struct ssh *);
191int kex_start_rekex(struct ssh *);
189 192
190int kexdh_client(struct ssh *); 193int kexdh_client(struct ssh *);
191int kexdh_server(struct ssh *); 194int kexdh_server(struct ssh *);