summaryrefslogtreecommitdiff
path: root/kex.h
diff options
context:
space:
mode:
authorColin Watson <cjwatson@debian.org>2016-02-29 12:15:15 +0000
committerColin Watson <cjwatson@debian.org>2016-02-29 12:15:15 +0000
commitc52a95cc4754e6630c96fe65ae0c65eb41d2c590 (patch)
tree793395934013923b7b2426382c0676edcd4be3d4 /kex.h
parenteeff4de96f5d7365750dc56912c2c62b5c28db6b (diff)
parent72b061d4ba0f909501c595d709ea76e06b01e5c9 (diff)
Import openssh_7.2p1.orig.tar.gz
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 d71b53293..1c5896605 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"
@@ -129,10 +128,12 @@ struct kex {
129 u_int dh_need; 128 u_int dh_need;
130 int server; 129 int server;
131 char *name; 130 char *name;
131 char *hostkey_alg;
132 int hostkey_type; 132 int hostkey_type;
133 int hostkey_nid; 133 int hostkey_nid;
134 u_int kex_type; 134 u_int kex_type;
135 int roaming; 135 int rsa_sha2;
136 int ext_info_c;
136 struct sshbuf *my; 137 struct sshbuf *my;
137 struct sshbuf *peer; 138 struct sshbuf *peer;
138 sig_atomic_t done; 139 sig_atomic_t done;
@@ -146,8 +147,8 @@ struct kex {
146 struct sshkey *(*load_host_public_key)(int, int, struct ssh *); 147 struct sshkey *(*load_host_public_key)(int, int, struct ssh *);
147 struct sshkey *(*load_host_private_key)(int, int, struct ssh *); 148 struct sshkey *(*load_host_private_key)(int, int, struct ssh *);
148 int (*host_key_index)(struct sshkey *, int, struct ssh *); 149 int (*host_key_index)(struct sshkey *, int, struct ssh *);
149 int (*sign)(struct sshkey *, struct sshkey *, 150 int (*sign)(struct sshkey *, struct sshkey *, u_char **, size_t *,
150 u_char **, size_t *, const u_char *, size_t, u_int); 151 const u_char *, size_t, const char *, u_int);
151 int (*kex[KEX_MAX])(struct ssh *); 152 int (*kex[KEX_MAX])(struct ssh *);
152 /* kex specific state */ 153 /* kex specific state */
153 DH *dh; /* DH */ 154 DH *dh; /* DH */
@@ -174,9 +175,11 @@ void kex_prop_free(char **);
174 175
175int kex_send_kexinit(struct ssh *); 176int kex_send_kexinit(struct ssh *);
176int kex_input_kexinit(int, u_int32_t, void *); 177int kex_input_kexinit(int, u_int32_t, void *);
178int kex_input_ext_info(int, u_int32_t, void *);
177int kex_derive_keys(struct ssh *, u_char *, u_int, const struct sshbuf *); 179int kex_derive_keys(struct ssh *, u_char *, u_int, const struct sshbuf *);
178int kex_derive_keys_bn(struct ssh *, u_char *, u_int, const BIGNUM *); 180int kex_derive_keys_bn(struct ssh *, u_char *, u_int, const BIGNUM *);
179int kex_send_newkeys(struct ssh *); 181int kex_send_newkeys(struct ssh *);
182int kex_start_rekex(struct ssh *);
180 183
181int kexdh_client(struct ssh *); 184int kexdh_client(struct ssh *);
182int kexdh_server(struct ssh *); 185int kexdh_server(struct ssh *);