aboutsummaryrefslogtreecommitdiffstats
path: root/g10/call-dirmngr.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2016-01-21 10:49:27 +0000
committerWerner Koch <[email protected]>2016-01-21 10:49:27 +0000
commit09117e769a093467cb47154f36d7dda613313e33 (patch)
tree91337ec1aa1669180aa685660caf247fef6d3fa5 /g10/call-dirmngr.c
parentgpg: Silence message about ignoring revoked user ids. (diff)
downloadgnupg-09117e769a093467cb47154f36d7dda613313e33.tar.gz
gnupg-09117e769a093467cb47154f36d7dda613313e33.zip
gpg: Make --auto-key-retrieve work with dirmngr configured server.
* g10/call-dirmngr.c (gpg_dirmngr_ks_list): Make R_KEYSERVER optional. * g10/keyserver.c (keyserver_any_configured): New. (keyserver_put): Remove arg keyserver because this will always receive opt.keyserver which is anyway used when connecting dirmngr. Do not check opt.keyserver. (keyserver_import_cert): Replace opt.keyserver by keyserver_any_configured. * g10/mainproc.c (check_sig_and_print): Ditto. * g10/import.c (revocation_present): Ditto. * g10/getkey.c (get_pubkey_byname): Ditto. * g10/gpgv.c (keyserver_any_configured): Add stub. * g10/test-stubs.c (keyserver_any_configured): Add stub. -- The keyserver should be configured in dirmngr.conf and thus we can't use opt.keyserver in gpg to decide whether a keyserver has been configured. GnuPG-bug-id: 2147 Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'g10/call-dirmngr.c')
-rw-r--r--g10/call-dirmngr.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/g10/call-dirmngr.c b/g10/call-dirmngr.c
index 360e12743..e59653362 100644
--- a/g10/call-dirmngr.c
+++ b/g10/call-dirmngr.c
@@ -404,7 +404,8 @@ gpg_dirmngr_ks_list (ctrl_t ctrl, char **r_keyserver)
memset (&stparm, 0, sizeof stparm);
stparm.keyword = "KEYSERVER";
- *r_keyserver = NULL;
+ if (r_keyserver)
+ *r_keyserver = NULL;
err = open_context (ctrl, &ctx);
if (err)
@@ -420,7 +421,10 @@ gpg_dirmngr_ks_list (ctrl_t ctrl, char **r_keyserver)
goto leave;
}
- *r_keyserver = stparm.source;
+ if (r_keyserver)
+ *r_keyserver = stparm.source;
+ else
+ xfree (stparm.source);
stparm.source = NULL;
leave: