From 9db6547a00cded92c00c8f8382b1b605be1027d2 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Tue, 6 Oct 2015 13:10:26 +0200 Subject: dirmngr: Do tilde expansion for --hkp-cacert. * dirmngr/dirmngr.c (parse_rereadable_options): Do tilde expansion and check for cert file existance in option --hkp-cacert. -- GnuPG-bug-id: 2120 Signed-off-by: Werner Koch --- dirmngr/dirmngr.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'dirmngr/dirmngr.c') diff --git a/dirmngr/dirmngr.c b/dirmngr/dirmngr.c index 847a65d51..a32040e7b 100644 --- a/dirmngr/dirmngr.c +++ b/dirmngr/dirmngr.c @@ -580,7 +580,20 @@ parse_rereadable_options (ARGPARSE_ARGS *pargs, int reread) case oMaxReplies: opt.max_replies = pargs->r.ret_int; break; case oHkpCaCert: - http_register_tls_ca (pargs->r.ret_str); + { + char *tmpname; + + /* Do tilde expansion and print a warning if the file can't be + accessed. */ + tmpname = make_absfilename_try (pargs->r.ret_str, NULL); + if (!tmpname || access (tmpname, F_OK)) + log_info (_("can't access '%s': %s\n"), + tmpname? tmpname : pargs->r.ret_str, + gpg_strerror (gpg_error_from_syserror())); + else + http_register_tls_ca (tmpname); + xfree (tmpname); + } break; case oIgnoreCertExtension: -- cgit v1.2.3