Inform a user about inquire length limit.
authorBen Kibbey <bjk@luxsci.net>
Fri, 17 Apr 2015 01:00:30 +0000 (21:00 -0400)
committerBen Kibbey <bjk@luxsci.net>
Sat, 15 Aug 2015 21:14:13 +0000 (17:14 -0400)
* common/status.h (INQUIRE_MAXLEN): New.
* g10/call-agent.c (default_inquire_cb): Send STATUS_INQUIRE_MAXLEN.
client when inquiring a passphrase over pinentry-loopback.

--
This is to inform a user about the maximum length of a passphrase. The
limit is the same that gpg-agent uses.

common/status.h
g10/call-agent.c

index 9219bf4..3c78eda 100644 (file)
@@ -125,7 +125,9 @@ enum
     STATUS_PINENTRY_LAUNCHED,
 
     STATUS_ERROR,
-    STATUS_SUCCESS
+    STATUS_SUCCESS,
+
+    STATUS_INQUIRE_MAXLEN,
 };
 
 
index 0df572a..326eb82 100644 (file)
@@ -177,11 +177,15 @@ default_inq_cb (void *opaque, const char *line)
       else
         {
           char *pw;
+          char buf[32];
 
           if (parm->keyinfo.keyid)
             emit_status_need_passphrase (parm->keyinfo.keyid,
                                          parm->keyinfo.mainkeyid,
                                          parm->keyinfo.pubkey_algo);
+
+          snprintf (buf, sizeof (buf), "%u", 100);
+          write_status_text (STATUS_INQUIRE_MAXLEN, buf);
           pw = cpr_get_hidden ("passphrase.enter", _("Enter passphrase: "));
           cpr_kill_prompt ();
           if (*pw == CONTROL_D && !pw[1])