aboutsummaryrefslogtreecommitdiffstats
path: root/agent/query.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2002-06-27 07:29:29 +0000
committerWerner Koch <[email protected]>2002-06-27 07:29:29 +0000
commit56b049686fccd110a368352ac704a9f0eeed67a8 (patch)
treed01226c73876fa4fe966653e982b65d4ede84046 /agent/query.c
parent* import.c (gpgsm_import): Print an STATUS_IMPORTED. (diff)
downloadgnupg-56b049686fccd110a368352ac704a9f0eeed67a8.tar.gz
gnupg-56b049686fccd110a368352ac704a9f0eeed67a8.zip
* Makefile.am (pkglib_PROGRAMS): Put protect-tool there.
* findkey.c (agent_write_private_key,agent_key_from_file) (agent_key_available): Use GNUPG_PRIVATE_KEYS_DIR constant. * gpg-agent.c (main): Use GNUPG_DEFAULT_HOMEDIR constant. * protect-tool.c (store_private_key): New. (import_p12_file): Store the new file if requested. (main): New options --force and --store. * gpg-agent.c (main): Set a global flag when runing detached. * query.c (start_pinentry): Pass the list of FD to keep in the child when not running detached. * call-scd.c (start_scd): Ditto.
Diffstat (limited to '')
-rw-r--r--agent/query.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/agent/query.c b/agent/query.c
index 724bbd57d..c7cba5e93 100644
--- a/agent/query.c
+++ b/agent/query.c
@@ -80,6 +80,8 @@ start_pinentry (void)
const char *pgmname;
ASSUAN_CONTEXT ctx;
const char *argv[5];
+ int no_close_list[3];
+ int i;
#ifdef USE_GNU_PTH
if (!pth_mutex_acquire (&entry_lock, 0, NULL))
@@ -119,9 +121,19 @@ start_pinentry (void)
}
else
argv[1] = NULL;
+
+ i=0;
+ if (!opt.running_detached)
+ {
+ if (log_get_fd () != -1)
+ no_close_list[i++] = log_get_fd ();
+ no_close_list[i++] = fileno (stderr);
+ }
+ no_close_list[i] = -1;
/* connect to the pinentry and perform initial handshaking */
- rc = assuan_pipe_connect (&ctx, opt.pinentry_program, (char**)argv, 0);
+ rc = assuan_pipe_connect (&ctx, opt.pinentry_program, (char**)argv,
+ no_close_list);
if (rc)
{
log_error ("can't connect to the PIN entry module: %s\n",