version 1.91, 2014/03/27 23:01:27 |
version 1.92, 2014/04/29 18:01:49 |
|
|
return (tok); |
return (tok); |
} |
} |
|
|
|
#ifdef WITH_SSH1 |
static Key * |
static Key * |
keygrab_ssh1(con *c) |
keygrab_ssh1(con *c) |
{ |
{ |
|
|
|
|
return (rsa); |
return (rsa); |
} |
} |
|
#endif |
|
|
static int |
static int |
hostjump(Key *hostkey) |
hostjump(Key *hostkey) |
|
|
(c->c_keytype == KT_ED25519 ? "ssh-ed25519" : |
(c->c_keytype == KT_ED25519 ? "ssh-ed25519" : |
"ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521")); |
"ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521")); |
c->c_kex = kex_setup(myproposal); |
c->c_kex = kex_setup(myproposal); |
|
#ifdef WITH_OPENSSL |
c->c_kex->kex[KEX_DH_GRP1_SHA1] = kexdh_client; |
c->c_kex->kex[KEX_DH_GRP1_SHA1] = kexdh_client; |
c->c_kex->kex[KEX_DH_GRP14_SHA1] = kexdh_client; |
c->c_kex->kex[KEX_DH_GRP14_SHA1] = kexdh_client; |
c->c_kex->kex[KEX_DH_GEX_SHA1] = kexgex_client; |
c->c_kex->kex[KEX_DH_GEX_SHA1] = kexgex_client; |
c->c_kex->kex[KEX_DH_GEX_SHA256] = kexgex_client; |
c->c_kex->kex[KEX_DH_GEX_SHA256] = kexgex_client; |
c->c_kex->kex[KEX_ECDH_SHA2] = kexecdh_client; |
c->c_kex->kex[KEX_ECDH_SHA2] = kexecdh_client; |
|
#endif |
c->c_kex->kex[KEX_C25519_SHA256] = kexc25519_client; |
c->c_kex->kex[KEX_C25519_SHA256] = kexc25519_client; |
c->c_kex->verify_host_key = hostjump; |
c->c_kex->verify_host_key = hostjump; |
|
|
|
|
c->c_data = xmalloc(c->c_len); |
c->c_data = xmalloc(c->c_len); |
c->c_status = CS_KEYS; |
c->c_status = CS_KEYS; |
break; |
break; |
|
#ifdef WITH_SSH1 |
case CS_KEYS: |
case CS_KEYS: |
keyprint(c, keygrab_ssh1(c)); |
keyprint(c, keygrab_ssh1(c)); |
confree(s); |
confree(s); |
return; |
return; |
|
#endif |
default: |
default: |
fatal("conread: invalid status %d", c->c_status); |
fatal("conread: invalid status %d", c->c_status); |
break; |
break; |