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

Diff for /src/usr.bin/ssh/ssh-add.c between version 1.166 and 1.167

version 1.166, 2022/06/18 02:17:16 version 1.167, 2023/03/08 00:05:58
Line 470 
Line 470 
 {  {
         struct sshkey *key = NULL;          struct sshkey *key = NULL;
         u_char *sig = NULL;          u_char *sig = NULL;
           const char *alg = NULL;
         size_t slen = 0;          size_t slen = 0;
         int r, ret = -1;          int r, ret = -1;
         char data[1024];          char data[1024];
Line 478 
Line 479 
                 error_r(r, "Couldn't read public key %s", filename);                  error_r(r, "Couldn't read public key %s", filename);
                 return -1;                  return -1;
         }          }
           if (sshkey_type_plain(key->type) == KEY_RSA)
                   alg = "rsa-sha2-256";
         arc4random_buf(data, sizeof(data));          arc4random_buf(data, sizeof(data));
         if ((r = ssh_agent_sign(agent_fd, key, &sig, &slen, data, sizeof(data),          if ((r = ssh_agent_sign(agent_fd, key, &sig, &slen, data, sizeof(data),
             NULL, 0)) != 0) {              alg, 0)) != 0) {
                 error_r(r, "Agent signature failed for %s", filename);                  error_r(r, "Agent signature failed for %s", filename);
                 goto done;                  goto done;
         }          }
         if ((r = sshkey_verify(key, sig, slen, data, sizeof(data),          if ((r = sshkey_verify(key, sig, slen, data, sizeof(data),
             NULL, 0, NULL)) != 0) {              alg, 0, NULL)) != 0) {
                 error_r(r, "Signature verification failed for %s", filename);                  error_r(r, "Signature verification failed for %s", filename);
                 goto done;                  goto done;
         }          }

Legend:
Removed from v.1.166  
changed lines
  Added in v.1.167