diff options
author | Werner Koch <[email protected]> | 2002-06-27 07:29:29 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2002-06-27 07:29:29 +0000 |
commit | 56b049686fccd110a368352ac704a9f0eeed67a8 (patch) | |
tree | d01226c73876fa4fe966653e982b65d4ede84046 /agent/query.c | |
parent | * import.c (gpgsm_import): Print an STATUS_IMPORTED. (diff) | |
download | gnupg-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.c | 14 |
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", |