diff options
author | Werner Koch <[email protected]> | 2009-04-01 10:51:53 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2009-04-01 10:51:53 +0000 |
commit | f8b4cd76501824d56d3cf78a8ba85291a62f0e6d (patch) | |
tree | cec902ba7d3dd1a38846805cf491a65b95bb79cd /sm/export.c | |
parent | Implement decryption for TCOS 3 cards. (diff) | |
download | gnupg-f8b4cd76501824d56d3cf78a8ba85291a62f0e6d.tar.gz gnupg-f8b4cd76501824d56d3cf78a8ba85291a62f0e6d.zip |
Import/export of pkcs#12 now uses the gpg-agent directly.
Removed duplicated code (percent unescaping).
Diffstat (limited to 'sm/export.c')
-rw-r--r-- | sm/export.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/sm/export.c b/sm/export.c index f8e23cec1..fcf1dccc1 100644 --- a/sm/export.c +++ b/sm/export.c @@ -574,13 +574,14 @@ popen_protect_tool (ctrl_t ctrl, const char *pgmname, const char *prompt, const char *keygrip, pid_t *pid) { - const char *argv[20]; + const char *argv[22]; int i=0; /* Make sure that the agent is running so that the protect tool is able to ask for a passphrase. This has only an effect under W32 where the agent is started on demand; sending a NOP does not harm - on other platforms. */ + on other platforms. This is not really necessary anymore because + the protect tool does this now by itself; it does not harm either.*/ gpgsm_agent_send_nop (ctrl); argv[i++] = "--homedir"; @@ -595,13 +596,18 @@ popen_protect_tool (ctrl_t ctrl, const char *pgmname, argv[i++] = "--p12-charset"; argv[i++] = opt.p12_charset; } + if (opt.agent_program) + { + argv[i++] = "--agent-program"; + argv[i++] = opt.agent_program; + } argv[i++] = "--", argv[i++] = keygrip, argv[i] = NULL; assert (i < sizeof argv); return gnupg_spawn_process (pgmname, argv, infile, outfile, - setup_pinentry_env, 128, + setup_pinentry_env, (128|64), statusfile, pid); } |