diff options
Diffstat (limited to 'ssh-keyscan.c')
-rw-r--r-- | ssh-keyscan.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/ssh-keyscan.c b/ssh-keyscan.c index 8d0a6b8d8..3fabfba14 100644 --- a/ssh-keyscan.c +++ b/ssh-keyscan.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh-keyscan.c,v 1.89 2013/12/06 13:39:49 markus Exp $ */ | 1 | /* $OpenBSD: ssh-keyscan.c,v 1.92 2014/04/29 18:01:49 markus Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright 1995, 1996 by David Mazieres <dm@lcs.mit.edu>. | 3 | * Copyright 1995, 1996 by David Mazieres <dm@lcs.mit.edu>. |
4 | * | 4 | * |
@@ -58,7 +58,7 @@ int ssh_port = SSH_DEFAULT_PORT; | |||
58 | #define KT_ECDSA 8 | 58 | #define KT_ECDSA 8 |
59 | #define KT_ED25519 16 | 59 | #define KT_ED25519 16 |
60 | 60 | ||
61 | int get_keytypes = KT_RSA|KT_ECDSA;/* Get RSA and ECDSA keys by default */ | 61 | int get_keytypes = KT_RSA|KT_ECDSA|KT_ED25519; |
62 | 62 | ||
63 | int hash_hosts = 0; /* Hash hostname on output */ | 63 | int hash_hosts = 0; /* Hash hostname on output */ |
64 | 64 | ||
@@ -182,6 +182,7 @@ strnnsep(char **stringp, char *delim) | |||
182 | return (tok); | 182 | return (tok); |
183 | } | 183 | } |
184 | 184 | ||
185 | #ifdef WITH_SSH1 | ||
185 | static Key * | 186 | static Key * |
186 | keygrab_ssh1(con *c) | 187 | keygrab_ssh1(con *c) |
187 | { | 188 | { |
@@ -215,6 +216,7 @@ keygrab_ssh1(con *c) | |||
215 | 216 | ||
216 | return (rsa); | 217 | return (rsa); |
217 | } | 218 | } |
219 | #endif | ||
218 | 220 | ||
219 | static int | 221 | static int |
220 | hostjump(Key *hostkey) | 222 | hostjump(Key *hostkey) |
@@ -242,6 +244,7 @@ ssh2_capable(int remote_major, int remote_minor) | |||
242 | static Key * | 244 | static Key * |
243 | keygrab_ssh2(con *c) | 245 | keygrab_ssh2(con *c) |
244 | { | 246 | { |
247 | char *myproposal[PROPOSAL_MAX] = { KEX_CLIENT }; | ||
245 | int j; | 248 | int j; |
246 | 249 | ||
247 | packet_set_connection(c->c_fd, c->c_fd); | 250 | packet_set_connection(c->c_fd, c->c_fd); |
@@ -252,11 +255,13 @@ keygrab_ssh2(con *c) | |||
252 | (c->c_keytype == KT_ED25519 ? "ssh-ed25519" : | 255 | (c->c_keytype == KT_ED25519 ? "ssh-ed25519" : |
253 | "ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521")); | 256 | "ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521")); |
254 | c->c_kex = kex_setup(myproposal); | 257 | c->c_kex = kex_setup(myproposal); |
258 | #ifdef WITH_OPENSSL | ||
255 | c->c_kex->kex[KEX_DH_GRP1_SHA1] = kexdh_client; | 259 | c->c_kex->kex[KEX_DH_GRP1_SHA1] = kexdh_client; |
256 | c->c_kex->kex[KEX_DH_GRP14_SHA1] = kexdh_client; | 260 | c->c_kex->kex[KEX_DH_GRP14_SHA1] = kexdh_client; |
257 | c->c_kex->kex[KEX_DH_GEX_SHA1] = kexgex_client; | 261 | c->c_kex->kex[KEX_DH_GEX_SHA1] = kexgex_client; |
258 | c->c_kex->kex[KEX_DH_GEX_SHA256] = kexgex_client; | 262 | c->c_kex->kex[KEX_DH_GEX_SHA256] = kexgex_client; |
259 | c->c_kex->kex[KEX_ECDH_SHA2] = kexecdh_client; | 263 | c->c_kex->kex[KEX_ECDH_SHA2] = kexecdh_client; |
264 | #endif | ||
260 | c->c_kex->kex[KEX_C25519_SHA256] = kexc25519_client; | 265 | c->c_kex->kex[KEX_C25519_SHA256] = kexc25519_client; |
261 | c->c_kex->verify_host_key = hostjump; | 266 | c->c_kex->verify_host_key = hostjump; |
262 | 267 | ||
@@ -506,10 +511,12 @@ conread(int s) | |||
506 | c->c_data = xmalloc(c->c_len); | 511 | c->c_data = xmalloc(c->c_len); |
507 | c->c_status = CS_KEYS; | 512 | c->c_status = CS_KEYS; |
508 | break; | 513 | break; |
514 | #ifdef WITH_SSH1 | ||
509 | case CS_KEYS: | 515 | case CS_KEYS: |
510 | keyprint(c, keygrab_ssh1(c)); | 516 | keyprint(c, keygrab_ssh1(c)); |
511 | confree(s); | 517 | confree(s); |
512 | return; | 518 | return; |
519 | #endif | ||
513 | default: | 520 | default: |
514 | fatal("conread: invalid status %d", c->c_status); | 521 | fatal("conread: invalid status %d", c->c_status); |
515 | break; | 522 | break; |