зеркало из https://github.com/github/putty.git
Modify bug-compatibility checks to use wildcards. Should have exactly the
same behaviour as before (tested a little bit), but should be easier to expand. (This is the easy bit -- work still needs to be done to fix ssh2-keyderive-nonbug, vshell-no-bug-compat, etc -- but should be easier now.) [originally from svn r2293]
This commit is contained in:
Родитель
5d20178a12
Коммит
4ffd0ca9d1
2
Recipe
2
Recipe
|
@ -98,7 +98,7 @@ NONSSH = telnet raw rlogin ldisc
|
|||
# SSH back end (putty, plink, pscp, psftp).
|
||||
SSH = ssh sshcrc sshdes sshmd5 sshrsa sshrand sshsha sshblowf
|
||||
+ sshdh sshcrcda sshpubk sshzlib sshdss x11fwd portfwd
|
||||
+ sshaes sshsh512 sshbn
|
||||
+ sshaes sshsh512 sshbn wildcard
|
||||
WINSSH = SSH noise pageantc
|
||||
UXSSH = SSH uxnoise uxagentc
|
||||
|
||||
|
|
14
ssh.c
14
ssh.c
|
@ -1776,9 +1776,9 @@ static void ssh_detect_bugs(Ssh ssh, char *vstring)
|
|||
|
||||
if (cfg.sshbug_hmac2 == BUG_ON ||
|
||||
(cfg.sshbug_hmac2 == BUG_AUTO &&
|
||||
(!strncmp(imp, "2.1.0", 5) || !strncmp(imp, "2.0.", 4) ||
|
||||
!strncmp(imp, "2.2.0", 5) || !strncmp(imp, "2.3.0", 5) ||
|
||||
!strncmp(imp, "2.1 ", 4)))) {
|
||||
(wc_match("2.1.0*", imp) || wc_match("2.0.*", imp) ||
|
||||
wc_match("2.2.0*", imp) || wc_match("2.3.0*", imp) ||
|
||||
wc_match("2.1 *", imp)))) {
|
||||
/*
|
||||
* These versions have the HMAC bug.
|
||||
*/
|
||||
|
@ -1788,7 +1788,7 @@ static void ssh_detect_bugs(Ssh ssh, char *vstring)
|
|||
|
||||
if (cfg.sshbug_derivekey2 == BUG_ON ||
|
||||
(cfg.sshbug_derivekey2 == BUG_AUTO &&
|
||||
(!strncmp(imp, "2.0.", 4)))) {
|
||||
(wc_match("2.0.*", imp)))) {
|
||||
/*
|
||||
* These versions have the key-derivation bug (failing to
|
||||
* include the literal shared secret in the hashes that
|
||||
|
@ -1800,8 +1800,8 @@ static void ssh_detect_bugs(Ssh ssh, char *vstring)
|
|||
|
||||
if (cfg.sshbug_rsapad2 == BUG_ON ||
|
||||
(cfg.sshbug_rsapad2 == BUG_AUTO &&
|
||||
((!strncmp(imp, "OpenSSH_2.", 10) && imp[10]>='5' && imp[10]<='9') ||
|
||||
(!strncmp(imp, "OpenSSH_3.", 10) && imp[10]>='0' && imp[10]<='2')))){
|
||||
(wc_match("OpenSSH_2.[5-9]*", imp) ||
|
||||
wc_match("OpenSSH_3.[0-2]*", imp)))) {
|
||||
/*
|
||||
* These versions have the SSH2 RSA padding bug.
|
||||
*/
|
||||
|
@ -1811,7 +1811,7 @@ static void ssh_detect_bugs(Ssh ssh, char *vstring)
|
|||
|
||||
if (cfg.sshbug_dhgex2 == BUG_ON) {
|
||||
/*
|
||||
* These versions have the SSH2 DH GEX bug.
|
||||
* User specified the SSH2 DH GEX bug.
|
||||
*/
|
||||
ssh->remote_bugs |= BUG_SSH2_DH_GEX;
|
||||
logevent("We believe remote version has SSH2 DH group exchange bug");
|
||||
|
|
Загрузка…
Ссылка в новой задаче