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

Diff for /src/usr.bin/ssh/ssh-add.c between version 1.47 and 1.48

version 1.47, 2001/12/19 07:18:56 version 1.48, 2001/12/21 10:06:43
Line 52 
Line 52 
 /* argv0 */  /* argv0 */
 extern char *__progname;  extern char *__progname;
   
   /* Default files to add */
   static char *default_files[] = {
           _PATH_SSH_CLIENT_ID_RSA,
           _PATH_SSH_CLIENT_ID_DSA,
           _PATH_SSH_CLIENT_IDENTITY,
           NULL
   };
   
   
 /* we keep a cache of one passphrases */  /* we keep a cache of one passphrases */
 static char *pass = NULL;  static char *pass = NULL;
 static void  static void
Line 204 
Line 213 
                 printf("The agent has no identities.\n");                  printf("The agent has no identities.\n");
 }  }
   
   static int
   do_file(AuthenticationConnection *ac, int deleting, char *file)
   {
           if (deleting) {
                   if (delete_file(ac, file) == -1)
                           return -1;
           } else {
                   if (add_file(ac, file) == -1)
                           return -1;
           }
           return 0;
   }
   
 static void  static void
 usage(void)  usage(void)
 {  {
Line 225 
Line 247 
         extern char *optarg;          extern char *optarg;
         extern int optind;          extern int optind;
         AuthenticationConnection *ac = NULL;          AuthenticationConnection *ac = NULL;
         struct passwd *pw;  
         char buf[1024];  
         char *sc_reader_id = NULL;          char *sc_reader_id = NULL;
         int i, ch, deleting = 0, ret = 0;          int i, ch, deleting = 0, ret = 0;
   
Line 274 
Line 294 
                 goto done;                  goto done;
         }          }
         if (argc == 0) {          if (argc == 0) {
                 pw = getpwuid(getuid());                  char buf[MAXPATHLEN];
                 if (!pw) {                  struct passwd *pw;
   
                   if ((pw = getpwuid(getuid())) == NULL) {
                         fprintf(stderr, "No user found with uid %u\n",                          fprintf(stderr, "No user found with uid %u\n",
                             (u_int)getuid());                              (u_int)getuid());
                         ret = 1;                          ret = 1;
                         goto done;                          goto done;
                 }                  }
                 snprintf(buf, sizeof buf, "%s/%s", pw->pw_dir, _PATH_SSH_CLIENT_IDENTITY);  
                 if (deleting) {                  for(i = 0; default_files[i]; i++) {
                         if (delete_file(ac, buf) == -1)                          snprintf(buf, sizeof(buf), "%s/%s", pw->pw_dir,
                               default_files[i]);
                           if (do_file(ac, deleting, buf) == -1)
                                 ret = 1;                                  ret = 1;
                 } else {  
                         if (add_file(ac, buf) == -1)  
                                 ret = 1;  
                 }                  }
         } else {          } else {
                 for (i = 0; i < argc; i++) {                  for(i = 0; i < argc; i++) {
                         if (deleting) {                          if (do_file(ac, deleting, argv[1]) == -1)
                                 if (delete_file(ac, argv[i]) == -1)                                  ret = 1;
                                         ret = 1;  
                         } else {  
                                 if (add_file(ac, argv[i]) == -1)  
                                         ret = 1;  
                         }  
                 }                  }
         }          }
         clear_pass();          clear_pass();

Legend:
Removed from v.1.47  
changed lines
  Added in v.1.48