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

Diff for /src/usr.bin/ssh/authfile.c between version 1.55 and 1.55.2.2

version 1.55, 2003/09/18 07:56:05 version 1.55.2.2, 2005/03/10 17:15:04
Line 51 
Line 51 
 #include "log.h"  #include "log.h"
 #include "authfile.h"  #include "authfile.h"
 #include "rsa.h"  #include "rsa.h"
   #include "misc.h"
   
 /* Version identification string for SSH v1 identity files. */  /* Version identification string for SSH v1 identity files. */
 static const char authfile_id_string[] =  static const char authfile_id_string[] =
Line 72 
Line 73 
         int fd, i, cipher_num;          int fd, i, cipher_num;
         CipherContext ciphercontext;          CipherContext ciphercontext;
         Cipher *cipher;          Cipher *cipher;
         u_int32_t rand;          u_int32_t rnd;
   
         /*          /*
          * If the passphrase is empty, use SSH_CIPHER_NONE to ease converting           * If the passphrase is empty, use SSH_CIPHER_NONE to ease converting
Line 87 
Line 88 
         buffer_init(&buffer);          buffer_init(&buffer);
   
         /* Put checkbytes for checking passphrase validity. */          /* Put checkbytes for checking passphrase validity. */
         rand = arc4random();          rnd = arc4random();
         buf[0] = rand & 0xff;          buf[0] = rnd & 0xff;
         buf[1] = (rand >> 8) & 0xff;          buf[1] = (rnd >> 8) & 0xff;
         buf[2] = buf[0];          buf[2] = buf[0];
         buf[3] = buf[1];          buf[3] = buf[1];
         buffer_append(&buffer, buf, 4);          buffer_append(&buffer, buf, 4);
Line 236 
Line 237 
         struct stat st;          struct stat st;
         char *cp;          char *cp;
         int i;          int i;
         off_t len;          size_t len;
   
         if (fstat(fd, &st) < 0) {          if (fstat(fd, &st) < 0) {
                 error("fstat for key file %.200s failed: %.100s",                  error("fstat for key file %.200s failed: %.100s",
                     filename, strerror(errno));                      filename, strerror(errno));
                 return NULL;                  return NULL;
         }          }
         len = st.st_size;          if (st.st_size > 1*1024*1024) {
                   error("key file %.200s too large", filename);
                   return NULL;
           }
           len = (size_t)st.st_size;               /* truncated */
   
         buffer_init(&buffer);          buffer_init(&buffer);
         cp = buffer_append_space(&buffer, len);          cp = buffer_append_space(&buffer, len);
Line 318 
Line 323 
     char **commentp)      char **commentp)
 {  {
         int i, check1, check2, cipher_type;          int i, check1, check2, cipher_type;
         off_t len;          size_t len;
         Buffer buffer, decrypted;          Buffer buffer, decrypted;
         u_char *cp;          u_char *cp;
         CipherContext ciphercontext;          CipherContext ciphercontext;
Line 332 
Line 337 
                 close(fd);                  close(fd);
                 return NULL;                  return NULL;
         }          }
         len = st.st_size;          if (st.st_size > 1*1024*1024) {
                   error("key file %.200s too large", filename);
                   close(fd);
                   return (NULL);
           }
           len = (size_t)st.st_size;               /* truncated */
   
         buffer_init(&buffer);          buffer_init(&buffer);
         cp = buffer_append_space(&buffer, len);          cp = buffer_append_space(&buffer, len);
Line 589 
Line 599 
 key_try_load_public(Key *k, const char *filename, char **commentp)  key_try_load_public(Key *k, const char *filename, char **commentp)
 {  {
         FILE *f;          FILE *f;
         char line[4096];          char line[SSH_MAX_PUBKEY_BYTES];
         char *cp;          char *cp;
           u_long linenum = 0;
   
         f = fopen(filename, "r");          f = fopen(filename, "r");
         if (f != NULL) {          if (f != NULL) {
                 while (fgets(line, sizeof(line), f)) {                  while (read_keyfile_line(f, filename, line, sizeof(line),
                         line[sizeof(line)-1] = '\0';                              &linenum) != -1) {
                         cp = line;                          cp = line;
                         switch (*cp) {                          switch (*cp) {
                         case '#':                          case '#':

Legend:
Removed from v.1.55  
changed lines
  Added in v.1.55.2.2