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

Diff for /src/usr.bin/ssh/ssh-rsa.c between version 1.8 and 1.8.2.2

version 1.8, 2001/03/27 10:57:00 version 1.8.2.2, 2001/11/15 22:51:15
Line 54 
Line 54 
                 error("ssh_rsa_sign: no RSA key");                  error("ssh_rsa_sign: no RSA key");
                 return -1;                  return -1;
         }          }
           if (datafellows & SSH_BUG_SIGBLOB) {
                   error("ssh_rsa_sign: SSH_BUG_SIGBLOB not supported");
                   return -1;
           }
         nid = (datafellows & SSH_BUG_RSASIGMD5) ? NID_md5 : NID_sha1;          nid = (datafellows & SSH_BUG_RSASIGMD5) ? NID_md5 : NID_sha1;
         if ((evp_md = EVP_get_digestbynid(nid)) == NULL) {          if ((evp_md = EVP_get_digestbynid(nid)) == NULL) {
                 error("ssh_rsa_sign: EVP_get_digestbynid %d failed", nid);                  error("ssh_rsa_sign: EVP_get_digestbynid %d failed", nid);
Line 103 
Line 107 
                 *lenp = len;                  *lenp = len;
         if (sigp != NULL)          if (sigp != NULL)
                 *sigp = ret;                  *sigp = ret;
         debug2("ssh_rsa_sign: done");  
         return 0;          return 0;
 }  }
   
Line 125 
Line 128 
                 error("ssh_rsa_verify: no RSA key");                  error("ssh_rsa_verify: no RSA key");
                 return -1;                  return -1;
         }          }
           if (datafellows & SSH_BUG_SIGBLOB) {
                   error("ssh_rsa_verify: SSH_BUG_SIGBLOB not supported");
                   return -1;
           }
         if (BN_num_bits(key->rsa->n) < 768) {          if (BN_num_bits(key->rsa->n) < 768) {
                 error("ssh_rsa_verify: n too small: %d bits",                  error("ssh_rsa_verify: n too small: %d bits",
                     BN_num_bits(key->rsa->n));                      BN_num_bits(key->rsa->n));
                 return -1;                  return -1;
         }          }
         buffer_init(&b);          buffer_init(&b);
         buffer_append(&b, (char *) signature, signaturelen);          buffer_append(&b, signature, signaturelen);
         ktype = buffer_get_string(&b, NULL);          ktype = buffer_get_string(&b, NULL);
         if (strcmp("ssh-rsa", ktype) != 0) {          if (strcmp("ssh-rsa", ktype) != 0) {
                 error("ssh_rsa_verify: cannot handle type %s", ktype);                  error("ssh_rsa_verify: cannot handle type %s", ktype);
Line 140 
Line 147 
                 return -1;                  return -1;
         }          }
         xfree(ktype);          xfree(ktype);
         sigblob = (u_char *)buffer_get_string(&b, &len);          sigblob = buffer_get_string(&b, &len);
         rlen = buffer_len(&b);          rlen = buffer_len(&b);
         buffer_free(&b);          buffer_free(&b);
         if(rlen != 0) {          if(rlen != 0) {
                 xfree(sigblob);  
                 error("ssh_rsa_verify: remaining bytes in signature %d", rlen);                  error("ssh_rsa_verify: remaining bytes in signature %d", rlen);
                   xfree(sigblob);
                 return -1;                  return -1;
         }          }
         nid = (datafellows & SSH_BUG_RSASIGMD5) ? NID_md5 : NID_sha1;          nid = (datafellows & SSH_BUG_RSASIGMD5) ? NID_md5 : NID_sha1;
         if ((evp_md = EVP_get_digestbynid(nid)) == NULL) {          if ((evp_md = EVP_get_digestbynid(nid)) == NULL) {
                 xfree(sigblob);  
                 error("ssh_rsa_verify: EVP_get_digestbynid %d failed", nid);                  error("ssh_rsa_verify: EVP_get_digestbynid %d failed", nid);
                   xfree(sigblob);
                 return -1;                  return -1;
         }          }
         dlen = evp_md->md_size;          dlen = evp_md->md_size;

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.8.2.2