diff options
author | Ben Kibbey <bjk@luxsci.net> | 2012-02-03 23:50:22 +0100 |
---|---|---|
committer | Ben Kibbey <bjk@luxsci.net> | 2012-02-03 23:50:22 +0100 |
commit | ecda65498ac60dfde50fbbc71cd0cc321d7175a9 (patch) | |
tree | 79ed841e3929fe43134c749df9c69b1fb3a577e5 /agent | |
parent | Inform the client of the preset passphrase length. (diff) | |
download | gnupg2-ecda65498ac60dfde50fbbc71cd0cc321d7175a9.tar.xz gnupg2-ecda65498ac60dfde50fbbc71cd0cc321d7175a9.zip |
Also let GENKEY and PKDECRYPT send the INQUIRE_MAXLEN status message.
* agent/command.c (cmd_pkdecrypt): Send the INQUIRE_MAXLEN status
message before doing the inquire.
(cmd_genkey): Ditto.
Diffstat (limited to 'agent')
-rw-r--r-- | agent/command.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/agent/command.c b/agent/command.c index 732046ce3..c673662d1 100644 --- a/agent/command.c +++ b/agent/command.c @@ -855,12 +855,16 @@ cmd_pkdecrypt (assuan_context_t ctx, char *line) unsigned char *value; size_t valuelen; membuf_t outbuf; + char buf[50]; (void)line; /* First inquire the data to decrypt */ - rc = assuan_inquire (ctx, "CIPHERTEXT", - &value, &valuelen, MAXLEN_CIPHERTEXT); + snprintf (buf, sizeof (buf), "%u", MAXLEN_CIPHERTEXT); + rc = assuan_write_status (ctx, "INQUIRE_MAXLEN", buf); + if (!rc) + rc = assuan_inquire (ctx, "CIPHERTEXT", + &value, &valuelen, MAXLEN_CIPHERTEXT); if (rc) return rc; @@ -908,6 +912,7 @@ cmd_genkey (assuan_context_t ctx, char *line) char *cache_nonce = NULL; int opt_preset; char *p; + char buf[50]; opt_preset = has_option (line, "--preset"); no_protection = has_option (line, "--no-protection"); @@ -921,7 +926,10 @@ cmd_genkey (assuan_context_t ctx, char *line) cache_nonce = xtrystrdup (line); /* First inquire the parameters */ - rc = assuan_inquire (ctx, "KEYPARAM", &value, &valuelen, MAXLEN_KEYPARAM); + snprintf (buf, sizeof (buf), "%u", MAXLEN_KEYPARAM); + rc = assuan_write_status (ctx, "INQUIRE_MAXLEN", buf); + if (!rc) + rc = assuan_inquire (ctx, "KEYPARAM", &value, &valuelen, MAXLEN_KEYPARAM); if (rc) return rc; |