Add the INQUIRE_MAXLEN status message.
authorBen Kibbey <bjk@luxsci.net>
Wed, 18 Jan 2012 00:49:10 +0000 (19:49 -0500)
committerBen Kibbey <bjk@luxsci.net>
Wed, 18 Jan 2012 00:49:10 +0000 (19:49 -0500)
This status message is used to inform the client of the maximum length
of an inquired passphrase and is used in pinentry-mode=loopback.

* agent/command.c (pinentry_loopback): Send the INQUIRE_MAXLEN status
message before doing the inquire.

agent/command.c

index ad86a35..5fa8bce 100644 (file)
@@ -2791,6 +2791,12 @@ pinentry_loopback(ctrl_t ctrl, const char *keyword,
 {
   gpg_error_t rc;
   assuan_context_t ctx = ctrl->server_local->assuan_ctx;
+  char buf[50];
+
+  snprintf (buf, sizeof (buf), "%u", max_length);
+  rc = assuan_write_status (ctx, "INQUIRE_MAXLEN", buf);
+  if (rc)
+    return rc;
 
   assuan_begin_confidential (ctx);
   rc = assuan_inquire (ctx, keyword, buffer, size, max_length);