diff options
author | markus@openbsd.org <markus@openbsd.org> | 2015-12-04 16:41:28 +0000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2015-12-07 12:38:58 +1100 |
commit | 76c9fbbe35aabc1db977fb78e827644345e9442e (patch) | |
tree | e7c85e7e1471f1bd00b3a50a58e315c055f40b86 /kex.h | |
parent | 6064a8b8295cb5a17b5ebcfade53053377714f40 (diff) |
upstream commit
implement SHA2-{256,512} for RSASSA-PKCS1-v1_5 signatures
(user and host auth) based on draft-rsa-dsa-sha2-256-03.txt and
draft-ssh-ext-info-04.txt; with & ok djm@
Upstream-ID: cf82ce532b2733e5c4b34bb7b7c94835632db309
Diffstat (limited to 'kex.h')
-rw-r--r-- | kex.h | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -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.74 2015/12/04 16:41:28 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. |
@@ -129,10 +129,13 @@ struct kex { | |||
129 | u_int dh_need; | 129 | u_int dh_need; |
130 | int server; | 130 | int server; |
131 | char *name; | 131 | char *name; |
132 | char *hostkey_alg; | ||
132 | int hostkey_type; | 133 | int hostkey_type; |
133 | int hostkey_nid; | 134 | int hostkey_nid; |
134 | u_int kex_type; | 135 | u_int kex_type; |
135 | int roaming; | 136 | int roaming; |
137 | int rsa_sha2; | ||
138 | int ext_info_c; | ||
136 | struct sshbuf *my; | 139 | struct sshbuf *my; |
137 | struct sshbuf *peer; | 140 | struct sshbuf *peer; |
138 | sig_atomic_t done; | 141 | sig_atomic_t done; |
@@ -146,8 +149,8 @@ struct kex { | |||
146 | struct sshkey *(*load_host_public_key)(int, int, struct ssh *); | 149 | struct sshkey *(*load_host_public_key)(int, int, struct ssh *); |
147 | struct sshkey *(*load_host_private_key)(int, int, struct ssh *); | 150 | struct sshkey *(*load_host_private_key)(int, int, struct ssh *); |
148 | int (*host_key_index)(struct sshkey *, int, struct ssh *); | 151 | int (*host_key_index)(struct sshkey *, int, struct ssh *); |
149 | int (*sign)(struct sshkey *, struct sshkey *, | 152 | int (*sign)(struct sshkey *, struct sshkey *, u_char **, size_t *, |
150 | u_char **, size_t *, const u_char *, size_t, u_int); | 153 | const u_char *, size_t, const char *, u_int); |
151 | int (*kex[KEX_MAX])(struct ssh *); | 154 | int (*kex[KEX_MAX])(struct ssh *); |
152 | /* kex specific state */ | 155 | /* kex specific state */ |
153 | DH *dh; /* DH */ | 156 | DH *dh; /* DH */ |
@@ -174,6 +177,7 @@ void kex_prop_free(char **); | |||
174 | 177 | ||
175 | int kex_send_kexinit(struct ssh *); | 178 | int kex_send_kexinit(struct ssh *); |
176 | int kex_input_kexinit(int, u_int32_t, void *); | 179 | int kex_input_kexinit(int, u_int32_t, void *); |
180 | int kex_input_ext_info(int, u_int32_t, void *); | ||
177 | int kex_derive_keys(struct ssh *, u_char *, u_int, const struct sshbuf *); | 181 | int kex_derive_keys(struct ssh *, u_char *, u_int, const struct sshbuf *); |
178 | int kex_derive_keys_bn(struct ssh *, u_char *, u_int, const BIGNUM *); | 182 | int kex_derive_keys_bn(struct ssh *, u_char *, u_int, const BIGNUM *); |
179 | int kex_send_newkeys(struct ssh *); | 183 | int kex_send_newkeys(struct ssh *); |