diff options
author | Werner Koch <[email protected]> | 2016-01-21 10:49:27 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2016-01-21 10:49:27 +0000 |
commit | 09117e769a093467cb47154f36d7dda613313e33 (patch) | |
tree | 91337ec1aa1669180aa685660caf247fef6d3fa5 /g10/call-dirmngr.c | |
parent | gpg: Silence message about ignoring revoked user ids. (diff) | |
download | gnupg-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.c | 8 |
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: |