diff options
author | Colin Watson <cjwatson@debian.org> | 2014-02-10 00:18:28 +0000 |
---|---|---|
committer | Colin Watson <cjwatson@debian.org> | 2014-02-10 00:18:28 +0000 |
commit | 9a975a9faed7c4f334e8c8490db3e77e102f2b21 (patch) | |
tree | 764a885ec9a963f6a8b15de6e1765f16b9ac4738 /ssh-keyscan.c | |
parent | ee196dab7c5f97f0b80c8099343a375bead92010 (diff) | |
parent | cdb6c90811caa5df2df856be9b0b16db020fe31d (diff) |
Import openssh_6.5p1.orig.tar.gz
Diffstat (limited to 'ssh-keyscan.c')
-rw-r--r-- | ssh-keyscan.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/ssh-keyscan.c b/ssh-keyscan.c index 8b807c10a..8d0a6b8d8 100644 --- a/ssh-keyscan.c +++ b/ssh-keyscan.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh-keyscan.c,v 1.87 2013/05/17 00:13:14 djm Exp $ */ | 1 | /* $OpenBSD: ssh-keyscan.c,v 1.89 2013/12/06 13:39: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 | * |
@@ -56,6 +56,7 @@ int ssh_port = SSH_DEFAULT_PORT; | |||
56 | #define KT_DSA 2 | 56 | #define KT_DSA 2 |
57 | #define KT_RSA 4 | 57 | #define KT_RSA 4 |
58 | #define KT_ECDSA 8 | 58 | #define KT_ECDSA 8 |
59 | #define KT_ED25519 16 | ||
59 | 60 | ||
60 | int get_keytypes = KT_RSA|KT_ECDSA;/* Get RSA and ECDSA keys by default */ | 61 | int get_keytypes = KT_RSA|KT_ECDSA;/* Get RSA and ECDSA keys by default */ |
61 | 62 | ||
@@ -245,15 +246,18 @@ keygrab_ssh2(con *c) | |||
245 | 246 | ||
246 | packet_set_connection(c->c_fd, c->c_fd); | 247 | packet_set_connection(c->c_fd, c->c_fd); |
247 | enable_compat20(); | 248 | enable_compat20(); |
248 | myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS] = c->c_keytype == KT_DSA? | 249 | myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS] = |
249 | "ssh-dss" : (c->c_keytype == KT_RSA ? "ssh-rsa" : | 250 | c->c_keytype == KT_DSA ? "ssh-dss" : |
250 | "ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521"); | 251 | (c->c_keytype == KT_RSA ? "ssh-rsa" : |
252 | (c->c_keytype == KT_ED25519 ? "ssh-ed25519" : | ||
253 | "ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521")); | ||
251 | c->c_kex = kex_setup(myproposal); | 254 | c->c_kex = kex_setup(myproposal); |
252 | c->c_kex->kex[KEX_DH_GRP1_SHA1] = kexdh_client; | 255 | c->c_kex->kex[KEX_DH_GRP1_SHA1] = kexdh_client; |
253 | c->c_kex->kex[KEX_DH_GRP14_SHA1] = kexdh_client; | 256 | c->c_kex->kex[KEX_DH_GRP14_SHA1] = kexdh_client; |
254 | c->c_kex->kex[KEX_DH_GEX_SHA1] = kexgex_client; | 257 | c->c_kex->kex[KEX_DH_GEX_SHA1] = kexgex_client; |
255 | c->c_kex->kex[KEX_DH_GEX_SHA256] = kexgex_client; | 258 | c->c_kex->kex[KEX_DH_GEX_SHA256] = kexgex_client; |
256 | c->c_kex->kex[KEX_ECDH_SHA2] = kexecdh_client; | 259 | c->c_kex->kex[KEX_ECDH_SHA2] = kexecdh_client; |
260 | c->c_kex->kex[KEX_C25519_SHA256] = kexc25519_client; | ||
257 | c->c_kex->verify_host_key = hostjump; | 261 | c->c_kex->verify_host_key = hostjump; |
258 | 262 | ||
259 | if (!(j = setjmp(kexjmp))) { | 263 | if (!(j = setjmp(kexjmp))) { |
@@ -574,7 +578,7 @@ do_host(char *host) | |||
574 | 578 | ||
575 | if (name == NULL) | 579 | if (name == NULL) |
576 | return; | 580 | return; |
577 | for (j = KT_RSA1; j <= KT_ECDSA; j *= 2) { | 581 | for (j = KT_RSA1; j <= KT_ED25519; j *= 2) { |
578 | if (get_keytypes & j) { | 582 | if (get_keytypes & j) { |
579 | while (ncon >= MAXCON) | 583 | while (ncon >= MAXCON) |
580 | conloop(); | 584 | conloop(); |
@@ -681,6 +685,9 @@ main(int argc, char **argv) | |||
681 | case KEY_RSA: | 685 | case KEY_RSA: |
682 | get_keytypes |= KT_RSA; | 686 | get_keytypes |= KT_RSA; |
683 | break; | 687 | break; |
688 | case KEY_ED25519: | ||
689 | get_keytypes |= KT_ED25519; | ||
690 | break; | ||
684 | case KEY_UNSPEC: | 691 | case KEY_UNSPEC: |
685 | fatal("unknown key type %s", tname); | 692 | fatal("unknown key type %s", tname); |
686 | } | 693 | } |