[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.467 and 1.471

version 1.467, 2023/04/12 08:53:54 version 1.471, 2023/09/04 10:29:58
Line 61 
Line 61 
 #include "ssh-pkcs11.h"  #include "ssh-pkcs11.h"
 #endif  #endif
   
 #ifdef WITH_OPENSSL  #define DEFAULT_KEY_TYPE_NAME "ed25519"
 # define DEFAULT_KEY_TYPE_NAME "rsa"  
 #else  
 # define DEFAULT_KEY_TYPE_NAME "ed25519"  
 #endif  
   
 /*  /*
  * Default number of bits in the RSA, DSA and ECDSA keys.  These value can be   * Default number of bits in the RSA, DSA and ECDSA keys.  These value can be
Line 252 
Line 248 
         char *name = NULL;          char *name = NULL;
   
         if (key_type_name == NULL)          if (key_type_name == NULL)
                 name = _PATH_SSH_CLIENT_ID_RSA;                  name = _PATH_SSH_CLIENT_ID_ED25519;
         else {          else {
                 switch (sshkey_type_from_name(key_type_name)) {                  switch (sshkey_type_from_name(key_type_name)) {
                 case KEY_DSA_CERT:                  case KEY_DSA_CERT:
Line 976 
Line 972 
                  * accept a public key prefixed with a hostname or options.                   * accept a public key prefixed with a hostname or options.
                  * Try a bare key first, otherwise skip the leading stuff.                   * Try a bare key first, otherwise skip the leading stuff.
                  */                   */
                   comment = NULL;
                 if ((public = try_read_key(&cp)) == NULL) {                  if ((public = try_read_key(&cp)) == NULL) {
                         i = strtol(cp, &ep, 10);                          i = strtol(cp, &ep, 10);
                         if (i == 0 || ep == NULL ||                          if (i == 0 || ep == NULL ||
Line 2199 
Line 2196 
         if ((r = sshbuf_load_file(path, &krlbuf)) != 0)          if ((r = sshbuf_load_file(path, &krlbuf)) != 0)
                 fatal_r(r, "Unable to load KRL %s", path);                  fatal_r(r, "Unable to load KRL %s", path);
         /* XXX check sigs */          /* XXX check sigs */
         if ((r = ssh_krl_from_blob(krlbuf, krlp, NULL, 0)) != 0 ||          if ((r = ssh_krl_from_blob(krlbuf, krlp)) != 0 ||
             *krlp == NULL)              *krlp == NULL)
                 fatal_r(r, "Invalid KRL file %s", path);                  fatal_r(r, "Invalid KRL file %s", path);
         sshbuf_free(krlbuf);          sshbuf_free(krlbuf);
Line 2222 
Line 2219 
          * OpenSSH base64 hashes omit trailing '='           * OpenSSH base64 hashes omit trailing '='
          * characters; put them back for decode.           * characters; put them back for decode.
          */           */
         tlen = strlen(cp);          if ((tlen = strlen(cp)) >= SIZE_MAX - 5)
                   fatal_f("hash too long: %zu bytes", tlen);
         tmp = xmalloc(tlen + 4 + 1);          tmp = xmalloc(tlen + 4 + 1);
         strlcpy(tmp, cp, tlen + 1);          strlcpy(tmp, cp, tlen + 1);
         while ((tlen % 4) != 0) {          while ((tlen % 4) != 0) {
Line 2264 
Line 2262 
         if (!quiet)          if (!quiet)
                 printf("Revoking from %s\n", path);                  printf("Revoking from %s\n", path);
         while (getline(&line, &linesize, krl_spec) != -1) {          while (getline(&line, &linesize, krl_spec) != -1) {
                   if (linesize >= INT_MAX) {
                           fatal_f("%s contains unparsable line, len=%zu",
                               path, linesize);
                   }
                 lnum++;                  lnum++;
                 was_explicit_key = was_sha1 = was_sha256 = was_hash = 0;                  was_explicit_key = was_sha1 = was_sha256 = was_hash = 0;
                 cp = line + strspn(line, " \t");                  cp = line + strspn(line, " \t");
Line 2437 
Line 2439 
   
         if ((kbuf = sshbuf_new()) == NULL)          if ((kbuf = sshbuf_new()) == NULL)
                 fatal("sshbuf_new failed");                  fatal("sshbuf_new failed");
         if (ssh_krl_to_blob(krl, kbuf, NULL, 0) != 0)          if (ssh_krl_to_blob(krl, kbuf) != 0)
                 fatal("Couldn't generate KRL");                  fatal("Couldn't generate KRL");
         if ((r = sshbuf_write_file(identity_file, kbuf)) != 0)          if ((r = sshbuf_write_file(identity_file, kbuf)) != 0)
                 fatal("write %s: %s", identity_file, strerror(errno));                  fatal("write %s: %s", identity_file, strerror(errno));

Legend:
Removed from v.1.467  
changed lines
  Added in v.1.471