From 062eadfa35739e6266118953c6e70ef343eebd73 Mon Sep 17 00:00:00 2001 From: Ben Kibbey Date: Thu, 16 Apr 2015 21:00:30 -0400 Subject: [PATCH] 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. --- common/status.h | 4 +++- g10/call-agent.c | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) 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 017e91692..e9c6ca82d 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])