tests: Fix fake-pinentry for Windows.

* tests/openpgp/fake-pinentry.c (main): Override PINENTRY_USER_DATA,
by the option.

--

In the Assuan implementation for Windows, spawn function doesn't call
the atfork callback.  Thus, the environment variable is not updated by
gpg-agent when it spawns pinentry.  Reliable way is the interaction
to override the option.

Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
NIIBE Yutaka 2022-12-02 16:16:07 +09:00
parent 7663fdd983
commit 7c6b014d3b
No known key found for this signature in database
GPG Key ID: 640114AF89DE6054
1 changed files with 1 additions and 8 deletions

View File

@ -201,7 +201,6 @@ main (int argc, char **argv)
{
char *args;
char *option_user_data = NULL;
int got_environment_user_data;
char *logfile;
char *passphrasefile;
char *passphrase;
@ -213,7 +212,6 @@ main (int argc, char **argv)
setvbuf (stdout, NULL, _IOLBF, BUFSIZ);
args = getenv ("PINENTRY_USER_DATA");
got_environment_user_data = !!args;
if (! args)
args = "";
@ -290,12 +288,7 @@ main (int argc, char **argv)
}
else if (strncmp (buffer, OPT_USER_DATA, strlen (OPT_USER_DATA)) == 0)
{
if (got_environment_user_data)
{
reply ("OK - I already got the data from the environment.\n");
continue;
}
/* Prefer interactive data to the one from environment variable. */
if (log_stream)
fclose (log_stream);
log_stream = NULL;