[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.288 and 1.294

version 1.288, 2016/02/15 09:47:49 version 1.294, 2017/02/10 03:36:40
Line 28 
Line 28 
 #include <string.h>  #include <string.h>
 #include <unistd.h>  #include <unistd.h>
 #include <limits.h>  #include <limits.h>
   #include <locale.h>
   
 #include "xmalloc.h"  #include "xmalloc.h"
 #include "sshkey.h"  #include "sshkey.h"
Line 47 
Line 48 
 #include "atomicio.h"  #include "atomicio.h"
 #include "krl.h"  #include "krl.h"
 #include "digest.h"  #include "digest.h"
   #include "utf8.h"
   
 #ifdef ENABLE_PKCS11  #ifdef ENABLE_PKCS11
 #include "ssh-pkcs11.h"  #include "ssh-pkcs11.h"
Line 200 
Line 202 
                                 *bitsp = sshkey_curve_nid_to_bits(nid);                                  *bitsp = sshkey_curve_nid_to_bits(nid);
                         if (*bitsp == 0)                          if (*bitsp == 0)
                                 *bitsp = DEFAULT_BITS_ECDSA;                                  *bitsp = DEFAULT_BITS_ECDSA;
                 }                  } else
                 else  
 #endif  #endif
                         *bitsp = DEFAULT_BITS;                          *bitsp = DEFAULT_BITS;
         }          }
Line 830 
Line 831 
         ra = sshkey_fingerprint(public, fingerprint_hash, SSH_FP_RANDOMART);          ra = sshkey_fingerprint(public, fingerprint_hash, SSH_FP_RANDOMART);
         if (fp == NULL || ra == NULL)          if (fp == NULL || ra == NULL)
                 fatal("%s: sshkey_fingerprint failed", __func__);                  fatal("%s: sshkey_fingerprint failed", __func__);
         printf("%u %s %s (%s)\n", sshkey_size(public), fp,          mprintf("%u %s %s (%s)\n", sshkey_size(public), fp,
             comment ? comment : "no comment", sshkey_type(public));              comment ? comment : "no comment", sshkey_type(public));
         if (log_level >= SYSLOG_LEVEL_VERBOSE)          if (log_level >= SYSLOG_LEVEL_VERBOSE)
                 printf("%s\n", ra);                  printf("%s\n", ra);
Line 870 
Line 871 
         char *comment = NULL, *cp, *ep, line[SSH_MAX_PUBKEY_BYTES];          char *comment = NULL, *cp, *ep, line[SSH_MAX_PUBKEY_BYTES];
         int i, invalid = 1;          int i, invalid = 1;
         const char *path;          const char *path;
         long int lnum = 0;          u_long lnum = 0;
   
         if (!have_identity)          if (!have_identity)
                 ask_filename(pw, "Enter file in which the key is");                  ask_filename(pw, "Enter file in which the key is");
Line 933 
Line 934 
                 }                  }
                 /* Retry after parsing leading hostname/key options */                  /* Retry after parsing leading hostname/key options */
                 if (public == NULL && (public = try_read_key(&cp)) == NULL) {                  if (public == NULL && (public = try_read_key(&cp)) == NULL) {
                         debug("%s:%ld: not a public key", path, lnum);                          debug("%s:%lu: not a public key", path, lnum);
                         continue;                          continue;
                 }                  }
   
Line 1151 
Line 1152 
                                 known_hosts_hash(l, ctx);                                  known_hosts_hash(l, ctx);
                         else if (print_fingerprint) {                          else if (print_fingerprint) {
                                 fp = sshkey_fingerprint(l->key, fptype, rep);                                  fp = sshkey_fingerprint(l->key, fptype, rep);
                                 printf("%s %s %s %s\n", ctx->host,                                  mprintf("%s %s %s %s\n", ctx->host,
                                     sshkey_type(l->key), fp, l->comment);                                      sshkey_type(l->key), fp, l->comment);
                                 free(fp);                                  free(fp);
                         } else                          } else
Line 1302 
Line 1303 
                 fatal("Failed to load key %s: %s", identity_file, ssh_err(r));                  fatal("Failed to load key %s: %s", identity_file, ssh_err(r));
         }          }
         if (comment)          if (comment)
                 printf("Key has comment '%s'\n", comment);                  mprintf("Key has comment '%s'\n", comment);
   
         /* Ask the new passphrase (twice). */          /* Ask the new passphrase (twice). */
         if (identity_new_passphrase) {          if (identity_new_passphrase) {
Line 1426 
Line 1427 
                 sshkey_free(private);                  sshkey_free(private);
                 exit(1);                  exit(1);
         }          }
         printf("Key now has comment '%s'\n", comment);          if (comment)
                   printf("Key now has comment '%s'\n", comment);
           else
                   printf("Key now has no comment\n");
   
         if (identity_comment) {          if (identity_comment) {
                 strlcpy(new_comment, identity_comment, sizeof(new_comment));                  strlcpy(new_comment, identity_comment, sizeof(new_comment));
Line 1584 
Line 1588 
                 ca = load_identity(tmp);                  ca = load_identity(tmp);
         free(tmp);          free(tmp);
   
           if (key_type_name != NULL &&
               sshkey_type_from_name(key_type_name) != ca->type)  {
                   fatal("CA key type %s doesn't match specified %s",
                       sshkey_ssh_name(ca), key_type_name);
           }
   
         for (i = 0; i < argc; i++) {          for (i = 0; i < argc; i++) {
                 /* Split list of principals */                  /* Split list of principals */
                 n = 0;                  n = 0;
Line 1625 
Line 1635 
                     &public->cert->signature_key)) != 0)                      &public->cert->signature_key)) != 0)
                         fatal("key_from_private (ca key): %s", ssh_err(r));                          fatal("key_from_private (ca key): %s", ssh_err(r));
   
                 if (sshkey_certify(public, ca) != 0)                  if ((r = sshkey_certify(public, ca, key_type_name)) != 0)
                         fatal("Couldn't not certify key %s", tmp);                          fatal("Couldn't certify key %s: %s", tmp, ssh_err(r));
   
                 if ((cp = strrchr(tmp, '.')) != NULL && strcmp(cp, ".pub") == 0)                  if ((cp = strrchr(tmp, '.')) != NULL && strcmp(cp, ".pub") == 0)
                         *cp = '\0';                          *cp = '\0';
Line 1905 
Line 1915 
         FILE *f;          FILE *f;
         char *cp, line[SSH_MAX_PUBKEY_BYTES];          char *cp, line[SSH_MAX_PUBKEY_BYTES];
         const char *path;          const char *path;
         long int lnum = 0;          u_long lnum = 0;
   
         if (!have_identity)          if (!have_identity)
                 ask_filename(pw, "Enter file in which the key is");                  ask_filename(pw, "Enter file in which the key is");
Line 2255 
Line 2265 
         OpenSSL_add_all_algorithms();          OpenSSL_add_all_algorithms();
         log_init(argv[0], SYSLOG_LEVEL_INFO, SYSLOG_FACILITY_USER, 1);          log_init(argv[0], SYSLOG_LEVEL_INFO, SYSLOG_FACILITY_USER, 1);
   
           setlocale(LC_CTYPE, "");
   
         /* we need this for the home * directory.  */          /* we need this for the home * directory.  */
         pw = getpwuid(getuid());          pw = getpwuid(getuid());
         if (!pw)          if (!pw)
Line 2431 
Line 2443 
                         break;                          break;
                 case 'J':                  case 'J':
                         lines_to_process = strtoul(optarg, NULL, 10);                          lines_to_process = strtoul(optarg, NULL, 10);
                         break;                          break;
                 case 'j':                  case 'j':
                         start_lineno = strtoul(optarg, NULL, 10);                          start_lineno = strtoul(optarg, NULL, 10);
                         break;                          break;
                 case 'K':                  case 'K':
                         if (strlen(optarg) >= PATH_MAX)                          if (strlen(optarg) >= PATH_MAX)
                                 fatal("Checkpoint filename too long");                                  fatal("Checkpoint filename too long");

Legend:
Removed from v.1.288  
changed lines
  Added in v.1.294