version 1.89, 2015/04/10 05:16:50 |
version 1.90, 2015/04/13 02:04:08 |
|
|
"OSU_1.5alpha3*", SSH_BUG_PASSWORDPAD }, |
"OSU_1.5alpha3*", SSH_BUG_PASSWORDPAD }, |
{ "*SSH_Version_Mapper*", |
{ "*SSH_Version_Mapper*", |
SSH_BUG_SCANNER }, |
SSH_BUG_SCANNER }, |
|
{ "PuTTY*", SSH_OLD_DHGEX }, |
{ "Probe-*", |
{ "Probe-*", |
SSH_BUG_PROBE }, |
SSH_BUG_PROBE }, |
{ "TeraTerm SSH*," |
{ "TeraTerm SSH*," |
|
|
} |
} |
|
|
char * |
char * |
compat_kex_proposal(char *kex_prop) |
compat_kex_proposal(char *p) |
{ |
{ |
if (!(datafellows & SSH_BUG_CURVE25519PAD)) |
if ((datafellows & (SSH_BUG_CURVE25519PAD|SSH_OLD_DHGEX)) == 0) |
return kex_prop; |
return p; |
debug2("%s: original KEX proposal: %s", __func__, kex_prop); |
debug2("%s: original KEX proposal: %s", __func__, p); |
kex_prop = filter_proposal(kex_prop, "curve25519-sha256@libssh.org"); |
if ((datafellows & SSH_BUG_CURVE25519PAD) != 0) |
debug2("%s: compat KEX proposal: %s", __func__, kex_prop); |
p = filter_proposal(p, "curve25519-sha256@libssh.org"); |
if (*kex_prop == '\0') |
if ((datafellows & SSH_OLD_DHGEX) != 0) { |
|
p = filter_proposal(p, "diffie-hellman-group-exchange-sha256"); |
|
p = filter_proposal(p, "diffie-hellman-group-exchange-sha1"); |
|
} |
|
debug2("%s: compat KEX proposal: %s", __func__, p); |
|
if (*p == '\0') |
fatal("No supported key exchange algorithms found"); |
fatal("No supported key exchange algorithms found"); |
return kex_prop; |
return p; |
} |
} |
|
|