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

Diff for /src/usr.bin/ssh/ssh-keysign.c between version 1.35 and 1.36

version 1.35, 2010/08/31 12:33:38 version 1.36, 2011/02/16 00:31:14
Line 145 
Line 145 
 {  {
         Buffer b;          Buffer b;
         Options options;          Options options;
         Key *keys[2], *key = NULL;  #define NUM_KEYTYPES 3
           Key *keys[NUM_KEYTYPES], *key = NULL;
         struct passwd *pw;          struct passwd *pw;
         int key_fd[2], i, found, version = 2, fd;          int key_fd[NUM_KEYTYPES], i, found, version = 2, fd;
         u_char *signature, *data;          u_char *signature, *data;
         char *host;          char *host;
         u_int slen, dlen;          u_int slen, dlen;
Line 160 
Line 161 
         if (fd > 2)          if (fd > 2)
                 close(fd);                  close(fd);
   
         key_fd[0] = open(_PATH_HOST_RSA_KEY_FILE, O_RDONLY);          i = 0;
         key_fd[1] = open(_PATH_HOST_DSA_KEY_FILE, O_RDONLY);          key_fd[i++] = open(_PATH_HOST_DSA_KEY_FILE, O_RDONLY);
           key_fd[i++] = open(_PATH_HOST_ECDSA_KEY_FILE, O_RDONLY);
           key_fd[i++] = open(_PATH_HOST_RSA_KEY_FILE, O_RDONLY);
   
         original_real_uid = getuid();   /* XXX readconf.c needs this */          original_real_uid = getuid();   /* XXX readconf.c needs this */
         if ((pw = getpwuid(original_real_uid)) == NULL)          if ((pw = getpwuid(original_real_uid)) == NULL)
Line 182 
Line 185 
                 fatal("ssh-keysign not enabled in %s",                  fatal("ssh-keysign not enabled in %s",
                     _PATH_HOST_CONFIG_FILE);                      _PATH_HOST_CONFIG_FILE);
   
         if (key_fd[0] == -1 && key_fd[1] == -1)          for (i = found = 0; i < NUM_KEYTYPES; i++) {
                   if (key_fd[i] != -1)
                           found = 1;
           }
           if (found == 0)
                 fatal("could not open any host key");                  fatal("could not open any host key");
   
         OpenSSL_add_all_algorithms();          OpenSSL_add_all_algorithms();
Line 191 
Line 198 
         RAND_seed(rnd, sizeof(rnd));          RAND_seed(rnd, sizeof(rnd));
   
         found = 0;          found = 0;
         for (i = 0; i < 2; i++) {          for (i = 0; i < NUM_KEYTYPES; i++) {
                 keys[i] = NULL;                  keys[i] = NULL;
                 if (key_fd[i] == -1)                  if (key_fd[i] == -1)
                         continue;                          continue;
Line 221 
Line 228 
         xfree(host);          xfree(host);
   
         found = 0;          found = 0;
         for (i = 0; i < 2; i++) {          for (i = 0; i < NUM_KEYTYPES; i++) {
                 if (keys[i] != NULL &&                  if (keys[i] != NULL &&
                     key_equal_public(key, keys[i])) {                      key_equal_public(key, keys[i])) {
                         found = 1;                          found = 1;

Legend:
Removed from v.1.35  
changed lines
  Added in v.1.36