[BACK]Return to compat.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/compat.c between version 1.27.2.3 and 1.27.2.4

version 1.27.2.3, 2001/03/21 19:46:24 version 1.27.2.4, 2001/05/07 21:09:28
Line 60 
Line 60 
                 int     bugs;                  int     bugs;
         } check[] = {          } check[] = {
                 { "^OpenSSH[-_]2\\.[012]",                  { "^OpenSSH[-_]2\\.[012]",
                                         SSH_OLD_SESSIONID|SSH_BUG_BANNER },                                          SSH_OLD_SESSIONID|SSH_BUG_BANNER|
                 { "^OpenSSH_2\\.3\\.0", SSH_BUG_BANNER },                                          SSH_OLD_DHGEX|SSH_BUG_NOREKEY },
                   { "^OpenSSH_2\\.3\\.0", SSH_BUG_BANNER|SSH_BUG_BIGENDIANAES|
                                           SSH_OLD_DHGEX|SSH_BUG_NOREKEY},
                   { "^OpenSSH_2\\.3\\.",  SSH_BUG_BIGENDIANAES|SSH_OLD_DHGEX|
                                           SSH_BUG_NOREKEY},
                   { "^OpenSSH_2\\.5\\.[01]p1",
                                           SSH_BUG_BIGENDIANAES|SSH_OLD_DHGEX|
                                           SSH_BUG_NOREKEY },
                   { "^OpenSSH_2\\.5\\.[012]",
                                           SSH_OLD_DHGEX|SSH_BUG_NOREKEY },
                   { "^OpenSSH_2\\.5\\.3",
                                           SSH_BUG_NOREKEY },
                 { "^OpenSSH",           0 },                  { "^OpenSSH",           0 },
                 { "MindTerm",           0 },                  { "MindTerm",           0 },
                 { "^2\\.1\\.0",         SSH_BUG_SIGBLOB|SSH_BUG_HMAC|                  { "^2\\.1\\.0",         SSH_BUG_SIGBLOB|SSH_BUG_HMAC|
                                         SSH_OLD_SESSIONID|SSH_BUG_DEBUG },                                          SSH_OLD_SESSIONID|SSH_BUG_DEBUG|
                                           SSH_BUG_RSASIGMD5|SSH_BUG_HBSERVICE },
                 { "^2\\.1 ",            SSH_BUG_SIGBLOB|SSH_BUG_HMAC|                  { "^2\\.1 ",            SSH_BUG_SIGBLOB|SSH_BUG_HMAC|
                                         SSH_OLD_SESSIONID|SSH_BUG_DEBUG },                                          SSH_OLD_SESSIONID|SSH_BUG_DEBUG|
                                           SSH_BUG_RSASIGMD5|SSH_BUG_HBSERVICE },
                 { "^2\\.0\\.1[3-9]",    SSH_BUG_SIGBLOB|SSH_BUG_HMAC|                  { "^2\\.0\\.1[3-9]",    SSH_BUG_SIGBLOB|SSH_BUG_HMAC|
                                         SSH_OLD_SESSIONID|SSH_BUG_DEBUG|                                          SSH_OLD_SESSIONID|SSH_BUG_DEBUG|
                                         SSH_BUG_PKSERVICE|SSH_BUG_X11FWD|                                          SSH_BUG_PKSERVICE|SSH_BUG_X11FWD|
                                         SSH_BUG_PKOK },                                          SSH_BUG_PKOK|SSH_BUG_RSASIGMD5|
                                           SSH_BUG_HBSERVICE },
                 { "^2\\.0\\.",          SSH_BUG_SIGBLOB|SSH_BUG_HMAC|                  { "^2\\.0\\.",          SSH_BUG_SIGBLOB|SSH_BUG_HMAC|
                                         SSH_OLD_SESSIONID|SSH_BUG_DEBUG|                                          SSH_OLD_SESSIONID|SSH_BUG_DEBUG|
                                         SSH_BUG_PKSERVICE|SSH_BUG_X11FWD|                                          SSH_BUG_PKSERVICE|SSH_BUG_X11FWD|
                                         SSH_BUG_PKAUTH|SSH_BUG_PKOK },                                          SSH_BUG_PKAUTH|SSH_BUG_PKOK|
                 { "^2\\.[23]\\.0",      SSH_BUG_HMAC },                                          SSH_BUG_RSASIGMD5 },
                   { "^2\\.[23]\\.0",      SSH_BUG_HMAC|SSH_BUG_RSASIGMD5 },
                   { "^2\\.3\\.",          SSH_BUG_RSASIGMD5 },
                 { "^2\\.[2-9]\\.",      0 },                  { "^2\\.[2-9]\\.",      0 },
                 { "^2\\.4$",            SSH_OLD_SESSIONID },    /* Van Dyke */                  { "^2\\.4$",            SSH_OLD_SESSIONID },    /* Van Dyke */
                 { "^3\\.0 SecureCRT",   SSH_OLD_SESSIONID },                  { "^3\\.0 SecureCRT",   SSH_OLD_SESSIONID },
                 { "^1\\.7 SecureFX",    SSH_OLD_SESSIONID },                  { "^1\\.7 SecureFX",    SSH_OLD_SESSIONID },
                 { "^1\\.2\\.1[89]",     SSH_BUG_IGNOREMSG },                  { "^1\\.2\\.1[89]",     SSH_BUG_IGNOREMSG },
                 { "^1\\.2\\.2[012]",    SSH_BUG_IGNOREMSG },                  { "^1\\.2\\.2[012]",    SSH_BUG_IGNOREMSG },
                   { "^1\\.3\\.2",         SSH_BUG_IGNOREMSG },    /* f-secure */
                 { "^SSH Compatible Server",                     /* Netscreen */                  { "^SSH Compatible Server",                     /* Netscreen */
                                         SSH_BUG_PASSWORDPAD },                                          SSH_BUG_PASSWORDPAD },
                 { "^OSU_0",             SSH_BUG_PASSWORDPAD },                  { "^OSU_0",             SSH_BUG_PASSWORDPAD },
Line 140 
Line 157 
         }          }
         xfree(s);          xfree(s);
         return ret;          return ret;
   }
   
   char *
   compat_cipher_proposal(char *cipher_prop)
   {
           char *orig_prop, *fix_ciphers;
           char *cp, *tmp;
           size_t len;
   
           if (!(datafellows & SSH_BUG_BIGENDIANAES))
                   return(cipher_prop);
   
           len = strlen(cipher_prop) + 1;
           fix_ciphers = xmalloc(len);
           *fix_ciphers = '\0';
           tmp = orig_prop = xstrdup(cipher_prop);
           while((cp = strsep(&tmp, ",")) != NULL) {
                   if (strncmp(cp, "aes", 3) && strncmp(cp, "rijndael", 8)) {
                           if (*fix_ciphers)
                                   strlcat(fix_ciphers, ",", len);
                           strlcat(fix_ciphers, cp, len);
                   }
           }
           xfree(orig_prop);
           debug2("Original cipher proposal: %s", cipher_prop);
           debug2("Compat cipher proposal: %s", fix_ciphers);
           if (!*fix_ciphers)
                   fatal("No available ciphers found.");
   
           return(fix_ciphers);
 }  }

Legend:
Removed from v.1.27.2.3  
changed lines
  Added in v.1.27.2.4