* query.c (agent_askpin): Provide the default desc text depending NEWPG-0-9-1
authorWerner Koch <wk@gnupg.org>
Thu, 22 Aug 2002 09:47:39 +0000 (09:47 +0000)
committerWerner Koch <wk@gnupg.org>
Thu, 22 Aug 2002 09:47:39 +0000 (09:47 +0000)
on the pininfo.  Do the basic PIN verification only when
min_digist is set.

agent/ChangeLog
agent/gpg-agent.c
agent/query.c

index 0fbccc9..e645142 100644 (file)
@@ -1,3 +1,9 @@
+2002-08-22  Werner Koch  <wk@gnupg.org>
+
+       * query.c (agent_askpin): Provide the default desc text depending
+       on the pininfo.  Do the basic PIN verification only when
+       min_digist is set.
+
 2002-08-21  Werner Koch  <wk@gnupg.org>
 
        * query.c (agent_askpin): Hack to show the right default prompt.
index 73569b8..a297370 100644 (file)
@@ -732,7 +732,7 @@ handle_signal (int signo)
           cleanup ();
           agent_exit (0);
        }
-       break;
+      break;
         
     case SIGINT:
       log_info ("SIGINT received - immediate shutdown\n");
index 7780abb..c461a55 100644 (file)
@@ -236,15 +236,18 @@ agent_askpin (const char *desc_text, struct pin_entry_info_s *pininfo)
   char line[ASSUAN_LINELENGTH];
   struct entry_parm_s parm;
   const char *errtext = NULL;
-  int is_pin;
+  int is_pin = 0;
 
   if (opt.batch)
     return 0; /* fixme: we should return BAD PIN */
 
   if (!pininfo || pininfo->max_length < 1)
     return seterr (Invalid_Value);
-  if (!desc_text)
-    desc_text = _("Please enter you PIN, so that the secret key "
+  if (!desc_text && pininfo->min_digits)
+    desc_text = _("Please enter your PIN, so that the secret key "
+                  "can be unlocked for this session");
+  else if (!desc_text)
+    desc_text = _("Please enter your passphrase, so that the secret key "
                   "can be unlocked for this session");
 
   is_pin = desc_text && strstr (desc_text, "PIN");
@@ -292,7 +295,7 @@ agent_askpin (const char *desc_text, struct pin_entry_info_s *pininfo)
       else if (rc)
         return unlock_pinentry (map_assuan_err (rc));
 
-      if (!errtext && is_pin)
+      if (!errtext && pininfo->min_digits)
         {
           /* do some basic checks on the entered PIN. */
           if (!all_digitsp (pininfo->pin))