gpg,sm: Set confidential in assuan communication for password.

* g10/call-agent.c (default_inq_cb): Call assuan_begin_confidential
and assuan_end_confidential.
* sm/call-agent.c (default_inq_cb): Likewise.

--

Cherry pick from master commit of:
	ec1446f944

GnuPG-bug-id: 6654
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
NIIBE Yutaka 2023-11-09 13:36:12 +09:00 committed by Werner Koch
parent 77fb089835
commit 3654fee3a4
No known key found for this signature in database
GPG Key ID: E3FDFF218E45B72B
2 changed files with 4 additions and 0 deletions

View File

@ -149,6 +149,7 @@ default_inq_cb (void *opaque, const char *line)
|| has_leading_keyword (line, "NEW_PASSPHRASE"))
&& opt.pinentry_mode == PINENTRY_MODE_LOOPBACK)
{
assuan_begin_confidential (parm->ctx);
if (have_static_passphrase ())
{
const char *s = get_static_passphrase ();
@ -175,6 +176,7 @@ default_inq_cb (void *opaque, const char *line)
err = assuan_send_data (parm->ctx, pw, strlen (pw));
xfree (pw);
}
assuan_end_confidential (parm->ctx);
}
else
log_debug ("ignoring gpg-agent inquiry '%s'\n", line);

View File

@ -246,7 +246,9 @@ default_inq_cb (void *opaque, const char *line)
&& have_static_passphrase ())
{
const char *s = get_static_passphrase ();
assuan_begin_confidential (parm->ctx);
err = assuan_send_data (parm->ctx, s, strlen (s));
assuan_end_confidential (parm->ctx);
}
else
log_error ("ignoring gpg-agent inquiry '%s'\n", line);