dirmngr: Implement querying nameservers over IPv6.
authorJustus Winter <justus@g10code.com>
Tue, 13 Jun 2017 09:33:06 +0000 (11:33 +0200)
committerJustus Winter <justus@g10code.com>
Tue, 13 Jun 2017 09:33:06 +0000 (11:33 +0200)
commit15d2a009931f44a60b9df6325f837add208459d6
treede19b05bd112cdb319b751fd355f7051482d94c2
parente80925171ddb20c7e76c1db88c15ce2d9b09db86
dirmngr: Implement querying nameservers over IPv6.

* dirmngr/dns.c (dns_so_check): Reinitialize sockets on address family
mismatch.
(enum dns_res_state): New states for querying over IPv6.
(dns_res_exec): Implement the new states by copying and modifying the
IPv4 variants.  Branch to their respective counterparts if the current
list of resolvers using the current address family is exhausted.
--

This allows dirmngr to resolve names on systems where the nameservers
are only reachable via IPv6.

GnuPG-bug-id: 2990
Signed-off-by: Justus Winter <justus@g10code.com>
dirmngr/dns.c