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

Diff for /src/usr.bin/ssh/ssh-keygen.c between version 1.406 and 1.407

version 1.406, 2020/04/17 07:16:07 version 1.407, 2020/04/20 04:43:57
Line 890 
Line 890 
 {  {
         struct stat st;          struct stat st;
         char *comment = NULL;          char *comment = NULL;
         struct sshkey *key = NULL;          struct sshkey *privkey = NULL, *pubkey = NULL;
         int r;          int r;
   
         if (stat(identity_file, &st) == -1)          if (stat(identity_file, &st) == -1)
                 fatal("%s: %s", path, strerror(errno));                  fatal("%s: %s", path, strerror(errno));
         if ((r = sshkey_load_private(path, NULL, &key, &comment)) != 0) {          if ((r = sshkey_load_public(path, &pubkey, &comment)) != 0)
                 debug("load private \"%s\": %s", path, ssh_err(r));                  debug("load public \"%s\": %s", path, ssh_err(r));
                 if ((r = sshkey_load_public(path, &key, &comment)) != 0) {          if (pubkey == NULL || comment == NULL || *comment == '\0') {
                         debug("load public \"%s\": %s", path, ssh_err(r));                  free(comment);
                         fatal("%s is not a key file.", path);                  if ((r = sshkey_load_private(path, NULL,
                 }                      &privkey, &comment)) != 0)
                           debug("load private \"%s\": %s", path, ssh_err(r));
         }          }
           if (pubkey == NULL && privkey == NULL)
                   fatal("%s is not a key file.", path);
   
         fingerprint_one_key(key, comment);          fingerprint_one_key(pubkey == NULL ? privkey : pubkey, comment);
         sshkey_free(key);          sshkey_free(pubkey);
           sshkey_free(privkey);
         free(comment);          free(comment);
 }  }
   

Legend:
Removed from v.1.406  
changed lines
  Added in v.1.407