From 3f7788f2e035eb939abb27b3a53854ec0fc6178c Mon Sep 17 00:00:00 2001 From: Ben Kibbey Date: Wed, 1 Feb 2012 21:38:13 -0500 Subject: [PATCH] Inform the client of the preset passphrase length. * agent/command.c (cmd_preset_passphrase): Send the INQUIRE_MAXLEN status message before inquiring the passphrase. --- agent/command.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/agent/command.c b/agent/command.c index 5fa8bceaf..732046ce3 100644 --- a/agent/command.c +++ b/agent/command.c @@ -1696,7 +1696,13 @@ cmd_preset_passphrase (assuan_context_t ctx, char *line) { /* Note that the passphrase will be truncated at any null byte and the * limit is 480 characters. */ - rc = assuan_inquire (ctx, "PASSPHRASE", &passphrase, &len, 480); + char buf[50]; + size_t maxlen = 480; + + snprintf (buf, sizeof (buf), "%u", maxlen); + rc = assuan_write_status (ctx, "INQUIRE_MAXLEN", buf); + if (!rc) + rc = assuan_inquire (ctx, "PASSPHRASE", &passphrase, &len, maxlen); } else rc = set_error (GPG_ERR_NOT_IMPLEMENTED, "passphrase is required");