gpg: Change pinentry prompt to talk about "secret key".
authorWerner Koch <wk@gnupg.org>
Mon, 14 Apr 2014 12:40:18 +0000 (14:40 +0200)
committerWerner Koch <wk@gnupg.org>
Tue, 15 Apr 2014 17:29:57 +0000 (19:29 +0200)
* g10/passphrase.c (gpg_format_keydesc): Add mode 2.  Change strings.
* g10/keydb.h (FORMAT_KEYDESC_NORMAL, FORMAT_KEYDESC_IMPORT)
(FORMAT_KEYDESC_EXPORT): New.  Use them for clarity.
--

The use of the term "certificate" was more confusing than helpful.

g10/import.c
g10/keydb.h
g10/keyedit.c
g10/passphrase.c
g10/pubkey-enc.c
g10/sign.c

index c3ad536..8223041 100644 (file)
@@ -1431,7 +1431,7 @@ transfer_secret_keys (ctrl_t ctrl, struct stats_s *stats, kbnode_t sec_keyblock)
 
       /* Send the wrapped key to the agent.  */
       {
-        char *desc = gpg_format_keydesc (pk, 1, 1);
+        char *desc = gpg_format_keydesc (pk, FORMAT_KEYDESC_IMPORT, 1);
         err = agent_import_key (ctrl, desc, &cache_nonce,
                                 wrappedkey, wrappedkeylen, opt.batch);
         xfree (desc);
index 6834fc9..492cde3 100644 (file)
@@ -198,6 +198,10 @@ void next_to_last_passphrase(void);
 
 void emit_status_need_passphrase (u32 *keyid, u32 *mainkeyid, int pubkey_algo);
 
+#define FORMAT_KEYDESC_NORMAL  0
+#define FORMAT_KEYDESC_IMPORT  1
+#define FORMAT_KEYDESC_EXPORT  2
+
 char *gpg_format_keydesc (PKT_public_key *pk, int mode, int escaped);
 
 
index c4d7ca8..9e5fb8f 100644 (file)
@@ -1200,7 +1200,7 @@ change_passphrase (ctrl_t ctrl, kbnode_t keyblock)
           if (err)
             goto leave;
 
-          desc = gpg_format_keydesc (pk, 0, 1);
+          desc = gpg_format_keydesc (pk, FORMAT_KEYDESC_NORMAL, 1);
           err = agent_passwd (ctrl, hexgrip, desc, &cache_nonce, &passwd_nonce);
           xfree (desc);
 
index bd0f0ff..7c1d6aa 100644 (file)
@@ -645,29 +645,49 @@ gpg_format_keydesc (PKT_public_key *pk, int mode, int escaped)
   char *maink;
   char *desc;
   const char *prompt;
+  const char *trailer = "";
+  int is_subkey;
 
+  is_subkey = (pk->main_keyid[0] && pk->main_keyid[1]
+               && pk->keyid[0] != pk->main_keyid[0]
+               && pk->keyid[1] != pk->main_keyid[1]);
   algo_name = openpgp_pk_algo_name (pk->pubkey_algo);
   timestr = strtimestamp (pk->timestamp);
-  uid = get_user_id (pk->keyid, &uidlen);
+  uid = get_user_id (is_subkey? pk->main_keyid:pk->keyid, &uidlen);
 
   orig_codeset = i18n_switchto_utf8 ();
 
-  if (pk->main_keyid[0] && pk->main_keyid[1]
-      && pk->keyid[0] != pk->main_keyid[0]
-      && pk->keyid[1] != pk->main_keyid[1])
+  if (is_subkey)
     maink = xtryasprintf (_(" (main key ID %s)"), keystr (pk->main_keyid));
   else
     maink = NULL;
 
   switch (mode)
     {
-    case 0:
+    case FORMAT_KEYDESC_NORMAL:
       prompt = _("Please enter the passphrase to unlock the"
-                 " secret key for the OpenPGP certificate:");
+                 " OpenPGP secret key:");
       break;
-    case 1:
+    case FORMAT_KEYDESC_IMPORT:
       prompt = _("Please enter the passphrase to import the"
-                 " secret key for the OpenPGP certificate:");
+                 " OpenPGP secret key:");
+      break;
+    case FORMAT_KEYDESC_EXPORT:
+      if (is_subkey)
+        prompt = _("Please enter the passphrase to export the"
+                   " OpenPGP secret subkey:");
+      else
+        prompt = _("Please enter the passphrase to export the"
+                   " OpenPGP secret key:");
+      break;
+    case FORMAT_KEYDESC_DELKEY:
+      if (is_subkey)
+        prompt = _("Do you really want to permanently delete the"
+                   " OpenPGP secret subkey key:");
+      else
+        prompt = _("Do you really want to permanently delete the"
+                   " OpenPGP secret key:");
+      trailer = "?";
       break;
     default:
       prompt = "?";
@@ -677,12 +697,12 @@ gpg_format_keydesc (PKT_public_key *pk, int mode, int escaped)
   desc = xtryasprintf (_("%s\n"
                          "\"%.*s\"\n"
                          "%u-bit %s key, ID %s,\n"
-                         "created %s%s.\n"),
+                         "created %s%s.\n%s"),
                        prompt,
                        (int)uidlen, uid,
                        nbits_from_pk (pk), algo_name,
                        keystr (pk->keyid), timestr,
-                       maink?maink:"" );
+                       maink?maink:"", trailer );
   xfree (maink);
   xfree (uid);
 
index 042a255..a563ec0 100644 (file)
@@ -200,7 +200,7 @@ get_it (PKT_pubkey_enc *enc, DEK *dek, PKT_public_key *sk, u32 *keyid)
     }
 
   /* Decrypt. */
-  desc = gpg_format_keydesc (sk, 0, 1);
+  desc = gpg_format_keydesc (sk, FORMAT_KEYDESC_NORMAL, 1);
   err = agent_pkdecrypt (NULL, keygrip,
                          desc, sk->keyid, sk->main_keyid, sk->pubkey_algo,
                          s_data, &frame, &nframe, &padding);
index d9f2dd3..8a87888 100644 (file)
@@ -270,7 +270,7 @@ do_sign (PKT_public_key *pksk, PKT_signature *sig,
       char *desc;
       gcry_sexp_t s_sigval;
 
-      desc = gpg_format_keydesc (pksk, 0, 1);
+      desc = gpg_format_keydesc (pksk, FORMAT_KEYDESC_NORMAL, 1);
       err = agent_pksign (NULL/*ctrl*/, cache_nonce, hexgrip, desc,
                           pksk->keyid, pksk->main_keyid, pksk->pubkey_algo,
                           dp, gcry_md_get_algo_dlen (mdalgo), mdalgo,