* card-util.c, delkey.c, keygen.c, plaintext.c, keyedit.c, passphrase.c,
[gnupg.git] / g10 / card-util.c
index 8f638c9..066db0c 100644 (file)
@@ -67,7 +67,7 @@ change_pin (int chvno, int allow_admin)
 
   if (opt.batch)
     {
-      log_error (_("sorry, can't do this in batch mode\n"));
+      log_error (_("can't do this in batch mode\n"));
       return;
     }
 
@@ -523,6 +523,7 @@ change_url (void)
 static int
 fetch_url(void)
 {
+#if GNUPG_MAJOR_VERSION == 1
   int rc;
   struct agent_card_info_s info;
 
@@ -560,6 +561,9 @@ fetch_url(void)
     log_error("no URL set on card\n");
 
   return rc;
+#else
+  return 0;
+#endif
 }
 
 
@@ -577,17 +581,26 @@ change_login (const char *args)
       for (args++; spacep (args); args++)
         ;
       fp = fopen (args, "rb");
+#if GNUPG_MAJOR_VERSION == 1
+      if (fp && is_secured_file (fileno (fp)))
+        {
+          fclose (fp);
+          fp = NULL;
+          errno = EPERM;
+        }
+#endif
       if (!fp)
         {
-          tty_printf ("can't open `%s': %s\n", args, strerror (errno));
+          tty_printf (_("can't open `%s': %s\n"), args, strerror (errno));
           return -1;
         }
+          
       data = xmalloc (254);
       n = fread (data, 1, 254, fp);
       fclose (fp);
       if (n < 0)
         {
-          tty_printf ("error reading `%s': %s\n", args, strerror (errno));
+          tty_printf (_("error reading `%s': %s\n"), args, strerror (errno));
           xfree (data);
           return -1;
         }
@@ -832,6 +845,7 @@ restore_forced_chv1 (int *forced_chv1)
     }
 }
 
+#if GNUPG_MAJOR_VERSION == 1
 /* Helper for the key generation/edit functions.  */
 static void
 show_card_key_info (struct agent_card_info_s *info)
@@ -844,8 +858,9 @@ show_card_key_info (struct agent_card_info_s *info)
   print_sha1_fpr (NULL, info->fpr3valid? info->fpr3:NULL);
   tty_printf ("\n");
 }
+#endif
 
-
+#if GNUPG_MAJOR_VERSION == 1
 /* Helper for the key generation/edit functions.  */
 static int
 replace_existing_key_p (struct agent_card_info_s *info, int keyno)
@@ -865,7 +880,7 @@ replace_existing_key_p (struct agent_card_info_s *info, int keyno)
     }
   return 0;
 }
-
+#endif
 
 
 static void
@@ -888,10 +903,10 @@ generate_card_keys (const char *serialno)
     m_free(answer);
   }
 #else
-  /* Does 1.9 have answer_is_yes_no_default() ? */
-  want_backup = !(cpr_get_answer_is_yes 
+  want_backup = cpr_get_answer_is_yes 
                   ( "cardedit.genkeys.backup_enc",
-                   _("Inhibit off-card backup of encryption key? (y/N) ")));
+                    _("Make off-card backup of encryption key? (Y/n) "));
+  /*FIXME: we need answer_is_yes_no_default()*/
 #endif
 
   if ( (info.fpr1valid && !fpr_is_zero (info.fpr1))
@@ -921,8 +936,12 @@ generate_card_keys (const char *serialno)
   if (check_pin_for_key_operation (&info, &forced_chv1))
     goto leave;
   
+#if GNUPG_MAJOR_VERSION == 1
   generate_keypair (NULL, info.serialno,
                     want_backup? opt.homedir:NULL);
+#else
+  generate_keypair (NULL, info.serialno);
+#endif
 
  leave:
   agent_release_card_info (&info);
@@ -935,6 +954,7 @@ generate_card_keys (const char *serialno)
 int
 card_generate_subkey (KBNODE pub_keyblock, KBNODE sec_keyblock)
 {
+#if GNUPG_MAJOR_VERSION == 1
   struct agent_card_info_s info;
   int okay = 0;
   int forced_chv1 = 0;
@@ -981,6 +1001,9 @@ card_generate_subkey (KBNODE pub_keyblock, KBNODE sec_keyblock)
   agent_release_card_info (&info);
   restore_forced_chv1 (&forced_chv1);
   return okay;
+#else
+  return 0;
+#endif
 }
 
 
@@ -990,6 +1013,7 @@ card_generate_subkey (KBNODE pub_keyblock, KBNODE sec_keyblock)
 int 
 card_store_subkey (KBNODE node, int use)
 {
+#if GNUPG_MAJOR_VERSION == 1
   struct agent_card_info_s info;
   int okay = 0;
   int rc;
@@ -1110,6 +1134,9 @@ card_store_subkey (KBNODE node, int use)
     free_secret_key (copied_sk);
   agent_release_card_info (&info);
   return okay;
+#else
+  return 0;
+#endif
 }
 
 
@@ -1168,7 +1195,7 @@ card_edit (STRLIST commands)
     ;
   else if (opt.batch && !have_commands)
     {
-      log_error(_("can't do that in batchmode\n"));
+      log_error(_("can't do this in batch mode\n"));
       goto leave;
     }
 
@@ -1266,6 +1293,10 @@ card_edit (STRLIST commands)
 
        case cmdADMIN:
          allow_admin=!allow_admin;
+         if(allow_admin)
+           tty_printf(_("Admin commands are allowed\n"));
+         else
+           tty_printf(_("Admin commands are not allowed\n"));
          break;
 
         case cmdLIST: