aboutsummaryrefslogtreecommitdiffstats
path: root/dirmngr/dirmngr.c
diff options
context:
space:
mode:
Diffstat (limited to 'dirmngr/dirmngr.c')
-rw-r--r--dirmngr/dirmngr.c15
1 files changed, 14 insertions, 1 deletions
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: