aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Kibbey <[email protected]>2015-04-17 01:00:30 +0000
committerBen Kibbey <[email protected]>2015-08-15 21:14:13 +0000
commitf126ca61565922b3b938c3486614b9bd7e6e454c (patch)
tree8f1b8360088eddb163d81b591a1717e68a07837a
parentAllow --gen-key to inquire a passphrase. (diff)
downloadgnupg-f126ca61565922b3b938c3486614b9bd7e6e454c.tar.gz
gnupg-f126ca61565922b3b938c3486614b9bd7e6e454c.zip
Inform a user about inquire length limit.
* 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.
-rw-r--r--common/status.h4
-rw-r--r--g10/call-agent.c4
2 files changed, 7 insertions, 1 deletions
diff --git a/common/status.h b/common/status.h
index 9219bf4d9..3c78eda08 100644
--- a/common/status.h
+++ b/common/status.h
@@ -125,7 +125,9 @@ enum
STATUS_PINENTRY_LAUNCHED,
STATUS_ERROR,
- STATUS_SUCCESS
+ STATUS_SUCCESS,
+
+ STATUS_INQUIRE_MAXLEN,
};
diff --git a/g10/call-agent.c b/g10/call-agent.c
index 0df572a62..326eb822c 100644
--- a/g10/call-agent.c
+++ b/g10/call-agent.c
@@ -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])