diff options
author | Werner Koch <wk@gnupg.org> | 2017-07-05 11:54:45 +0200 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2017-07-05 11:54:45 +0200 |
commit | 3681ee7dc1e9d8c94fdb046d7be0bbcfeba1cfe9 (patch) | |
tree | e25e94157833e514bd0e35769646c60889b73185 /agent | |
parent | doc: Update yat2m to take care of SOURCE_DATE_EPOCH. (diff) | |
download | gnupg2-3681ee7dc1e9d8c94fdb046d7be0bbcfeba1cfe9.tar.xz gnupg2-3681ee7dc1e9d8c94fdb046d7be0bbcfeba1cfe9.zip |
agent: Use MAX_PASSPHRASE_LEN (255) also for the loopback.
* agent/call-pinentry.c (agent_get_passphrase): Reduce maximum
passphrase length as conveyed to the loopback to MAX_PASSPHRASE_LEN.
* agent/genkey.c (agent_ask_new_passphrase): Extend the maximum
passphrase as conveyed to the loopback to MAX_PASSPHRASE_LEN.
--
Note that in genkey() max_length is set to MAX_PASSPHRASE_LEN + 1
because in agent_askpin() decrements that value before conveying it to
the loopback.
GnuPG-bug-id: 3254
Signed-off-by: Werner Koch <wk@gnupg.org>
Diffstat (limited to 'agent')
-rw-r--r-- | agent/call-pinentry.c | 8 | ||||
-rw-r--r-- | agent/genkey.c | 4 |
2 files changed, 6 insertions, 6 deletions
diff --git a/agent/call-pinentry.c b/agent/call-pinentry.c index 9d8e7f63e..cb7997faa 100644 --- a/agent/call-pinentry.c +++ b/agent/call-pinentry.c @@ -964,8 +964,8 @@ agent_askpin (ctrl_t ctrl, size_t size; *pininfo->pin = 0; /* Reset the PIN. */ - rc = pinentry_loopback(ctrl, "PASSPHRASE", &passphrase, &size, - pininfo->max_length - 1); + rc = pinentry_loopback (ctrl, "PASSPHRASE", &passphrase, &size, + pininfo->max_length - 1); if (rc) return rc; @@ -1192,10 +1192,10 @@ agent_get_passphrase (ctrl_t ctrl, if (ctrl->pinentry_mode == PINENTRY_MODE_LOOPBACK) { size_t size; - size_t len = ASSUAN_LINELENGTH/2; return pinentry_loopback (ctrl, "PASSPHRASE", - (unsigned char **)retpass, &size, len); + (unsigned char **)retpass, &size, + MAX_PASSPHRASE_LEN); } return gpg_error (GPG_ERR_NO_PIN_ENTRY); } diff --git a/agent/genkey.c b/agent/genkey.c index 31742a13c..a3e37ee3a 100644 --- a/agent/genkey.c +++ b/agent/genkey.c @@ -357,10 +357,10 @@ agent_ask_new_passphrase (ctrl_t ctrl, const char *prompt, if (ctrl->pinentry_mode == PINENTRY_MODE_LOOPBACK) { size_t size; - size_t len = 100; unsigned char *buffer; - err = pinentry_loopback(ctrl, "NEW_PASSPHRASE", &buffer, &size, len); + err = pinentry_loopback (ctrl, "NEW_PASSPHRASE", &buffer, &size, + MAX_PASSPHRASE_LEN); if (!err) { if (size) |