From 0dcf517700387e75ce46c28993f882031e34c816 Mon Sep 17 00:00:00 2001 From: Ben Kibbey Date: Mon, 12 Sep 2011 20:13:19 -0400 Subject: [PATCH] Allow no protection in pinentry-mode=loopback. When the inquired passphrase has a 0 length then treat it as no protection. --- agent/ChangeLog | 5 +++++ agent/genkey.c | 9 +++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/agent/ChangeLog b/agent/ChangeLog index 18a94916d..3c52e1f2c 100644 --- a/agent/ChangeLog +++ b/agent/ChangeLog @@ -1,3 +1,8 @@ +2011-09-12 Ben Kibbey + + * genkey.c (agent_ask_new_passphrase): Allow for an empty passphrase + (no protection) in PINENTRY_MODE_LOOPBACK. + 2011-09-10 Ben Kibbey * agent.h (pinentry_loopback): New prototype. diff --git a/agent/genkey.c b/agent/genkey.c index b02268497..20b9230bd 100644 --- a/agent/genkey.c +++ b/agent/genkey.c @@ -313,8 +313,13 @@ agent_ask_new_passphrase (ctrl_t ctrl, const char *prompt, err = pinentry_loopback(ctrl, "NEW_PASSPHRASE", &buffer, &size, len); if (!err) { - buffer[size] = 0; - *r_passphrase = buffer; + if (size) + { + buffer[size] = 0; + *r_passphrase = buffer; + } + else + *r_passphrase = NULL; } return err; }