dirmngr: Fix problems with the getsrv function.
authorWerner Koch <wk@gnupg.org>
Mon, 19 Dec 2016 22:27:02 +0000 (23:27 +0100)
committerWerner Koch <wk@gnupg.org>
Mon, 19 Dec 2016 22:27:02 +0000 (23:27 +0100)
commitaf8b68fae39b1378c769e0de6ba6437ea1aac7e3
tree16bc96db023b812d21422caf3c029dcee0c91dcf
parent284ec54495dddc9eb0232e959cf994234097578a
dirmngr: Fix problems with the getsrv function.

* dirmngr/dns-stuff.c (opt_debug, opt_verbose): New vars.
(set_dns_verbose): New func.
(libdns_switch_port_p): Add debug output.
(resolve_dns_name): Ditto.
(get_dns_cert): Ditto.
(get_dns_cname): Ditto.
(getsrv_libdns, getsrv_standard): Change SRVCOUNT to an unsigend int.
(getsrv): Rename to ...
((get_dns_srv): this.  Add arg R_COUNT and return an error.  Add debug
output.
* dirmngr/http.c: Adjust for chnaged getsrv().
* dirmngr/ks-engine-hkp.c (map_host): Ditto.
* dirmngr/t-dns-stuff.c (main): Ditto.  Call set_dns_verbose.
* dirmngr/dirmngr.c (parse_rereadable_options): Call set_dns_verbose.
--

Due to our switch to Libdns getsrv didn't worked correctly because it
returned -1 for an NXDOMAIN.  However, it is perfectly okay to have no
SRV record and thus we change the way this function is called to be
aligned with the other functions and also map NXDOMAIN to a zero SRV
record count.

Signed-off-by: Werner Koch <wk@gnupg.org>
dirmngr/dirmngr.c
dirmngr/dns-stuff.c
dirmngr/dns-stuff.h
dirmngr/http.c
dirmngr/ks-engine-hkp.c
dirmngr/t-dns-stuff.c