[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.96 and 1.100

version 1.96, 2002/03/21 21:54:34 version 1.100, 2002/06/19 00:27:55
Line 136 
Line 136 
 }  }
   
 #define SSH_COM_PUBLIC_BEGIN            "---- BEGIN SSH2 PUBLIC KEY ----"  #define SSH_COM_PUBLIC_BEGIN            "---- BEGIN SSH2 PUBLIC KEY ----"
 #define SSH_COM_PUBLIC_END              "---- END SSH2 PUBLIC KEY ----"  #define SSH_COM_PUBLIC_END              "---- END SSH2 PUBLIC KEY ----"
 #define SSH_COM_PRIVATE_BEGIN           "---- BEGIN SSH2 ENCRYPTED PRIVATE KEY ----"  #define SSH_COM_PRIVATE_BEGIN           "---- BEGIN SSH2 ENCRYPTED PRIVATE KEY ----"
 #define SSH_COM_PRIVATE_KEY_MAGIC       0x3f6ff9eb  #define SSH_COM_PRIVATE_KEY_MAGIC       0x3f6ff9eb
   
Line 286 
Line 286 
 {  {
         Key *k;          Key *k;
         int blen;          int blen;
           u_int len;
         char line[1024], *p;          char line[1024], *p;
         u_char blob[8096];          u_char blob[8096];
         char encoded[8096];          char encoded[8096];
Line 330 
Line 331 
                 *p = '\0';                  *p = '\0';
                 strlcat(encoded, line, sizeof(encoded));                  strlcat(encoded, line, sizeof(encoded));
         }          }
           len = strlen(encoded);
           if (((len % 4) == 3) &&
               (encoded[len-1] == '=') &&
               (encoded[len-2] == '=') &&
               (encoded[len-3] == '='))
                   encoded[len-3] = '\0';
         blen = uudecode(encoded, blob, sizeof(blob));          blen = uudecode(encoded, blob, sizeof(blob));
         if (blen < 0) {          if (blen < 0) {
                 fprintf(stderr, "uudecode failed.\n");                  fprintf(stderr, "uudecode failed.\n");
Line 405 
Line 412 
         key_free(prv);          key_free(prv);
         if (ret < 0)          if (ret < 0)
                 exit(1);                  exit(1);
         log("loading key done");          log("loading key done");
         exit(0);          exit(0);
 }  }
   
 static void  static void
 do_download(struct passwd *pw, const char *sc_reader_id)  do_download(struct passwd *pw, const char *sc_reader_id)
 {  {
         Key *pub = NULL;          Key **keys = NULL;
           int i;
   
         pub = sc_get_key(sc_reader_id, NULL);          keys = sc_get_keys(sc_reader_id, NULL);
         if (pub == NULL)          if (keys == NULL)
                 fatal("cannot read public key from smartcard");                  fatal("cannot read public key from smartcard");
         key_write(pub, stdout);          for (i = 0; keys[i]; i++) {
         key_free(pub);                  key_write(keys[i], stdout);
         fprintf(stdout, "\n");                  key_free(keys[i]);
                   fprintf(stdout, "\n");
           }
           xfree(keys);
         exit(0);          exit(0);
 }  }
 #endif /* SMARTCARD */  #endif /* SMARTCARD */

Legend:
Removed from v.1.96  
changed lines
  Added in v.1.100