[Pkg-gnupg-commit] [gnupg2] 51/118: agent: invoke scdaemon with --homedir.
Daniel Kahn Gillmor
dkg at fifthhorseman.net
Thu Sep 15 18:25:07 UTC 2016
This is an automated email from the git hooks/post-receive script.
dkg pushed a commit to branch encoding-and-speling
in repository gnupg2.
commit 8b6c0bae33bdc36892f4595806665ce61f77dfd2
Author: NIIBE Yutaka <gniibe at fsij.org>
Date: Fri Sep 2 13:41:19 2016 +0900
agent: invoke scdaemon with --homedir.
* agent/call-scd.c (start_scd): Supply --homedir option when it's not
default homedir.
--
Signed-off-by: NIIBE Yutaka <gniibe at fsij.org>
---
agent/call-scd.c | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/agent/call-scd.c b/agent/call-scd.c
index b776840..934ab4c 100644
--- a/agent/call-scd.c
+++ b/agent/call-scd.c
@@ -195,10 +195,11 @@ start_scd (ctrl_t ctrl)
gpg_error_t err = 0;
const char *pgmname;
assuan_context_t ctx = NULL;
- const char *argv[3];
+ const char *argv[5];
assuan_fd_t no_close_list[3];
int i;
int rc;
+ char *abs_homedir = NULL;
if (opt.disable_scdaemon)
return gpg_error (GPG_ERR_NOT_SUPPORTED);
@@ -313,7 +314,22 @@ start_scd (ctrl_t ctrl)
argv[0] = pgmname;
argv[1] = "--multi-server";
- argv[2] = NULL;
+ if (gnupg_default_homedir_p ())
+ argv[2] = NULL;
+ else
+ {
+ abs_homedir = make_absfilename_try (gnupg_homedir (), NULL);
+ if (!abs_homedir)
+ {
+ log_error ("error building filename: %s\n",
+ gpg_strerror (gpg_error_from_syserror ()));
+ goto leave;
+ }
+
+ argv[2] = "--homedir";
+ argv[3] = abs_homedir;
+ argv[4] = NULL;
+ }
i=0;
if (!opt.running_detached)
@@ -393,6 +409,7 @@ start_scd (ctrl_t ctrl)
primary_scd_ctx_reusable = 0;
leave:
+ xfree (abs_homedir);
if (err)
{
unlock_scd (ctrl, err);
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gnupg/gnupg2.git
More information about the Pkg-gnupg-commit
mailing list