gpg: Move all DNS access to Dirmngr.
authorWerner Koch <wk@gnupg.org>
Thu, 23 Apr 2015 13:42:56 +0000 (15:42 +0200)
committerWerner Koch <wk@gnupg.org>
Thu, 23 Apr 2015 13:52:39 +0000 (15:52 +0200)
commit154f3ed2bf64de801ae0f9796338a2767ec6357b
tree064311a8189256ab5b8354409fb53e5a1ffa2b43
parentce11cc39ea7e011040debc9339a2310a714efe7e
gpg: Move all DNS access to Dirmngr.

* common/dns-cert.h: Move to ../dirmngr/.
* common/dns-cert.c: Move to ../dirmngr/.  Change args to return the
key as a buffer.
* common/t-dns-cert.c: Move to ../dirmngr/.
* common/pka.c, common/pka.h, common/t-pka.c: Remove.

* dirmngr/server.c (data_line_cookie_write): Factor code out to
data_line_write and make it a wrapper for that.
(data_line_write): New.
(cmd_dns_cert): New.
(register_commands): Register new command.

* g10/Makefile.am (LDADD): Remove DNSLIBS.
* g10/call-dirmngr.c (dns_cert_parm_s): New.
(dns_cert_data_cb, dns_cert_status_cb): New.
(gpg_dirmngr_dns_cert): New.
(gpg_dirmngr_get_pka): New.
* g10/gpgv.c (gpg_dirmngr_get_pka): New dummy function.
* g10/keyserver.c (keyserver_import_cert): Replace get_dns_cert by
gpg_dirmngr_dns_cert.
(keyserver_import_pka): Replace get_pka_info by gpg_dirmngr_get_pka.
* g10/mainproc.c: Include call-dirmngr.h.
(pka_uri_from_sig): Add CTX arg. Replace get_pka_info by
gpg_dirmngr_get_pka.
--

With this patch gpg does not do any network access itself but uses
dirmngr for that.  Note that we need to keep linking to NETLIBS due to
the logging code and because we need TCP for our socket emulation
under Windows.  Probably also required for Solaris etc.

Signed-off-by: Werner Koch <wk@gnupg.org>
16 files changed:
common/Makefile.am
common/pka.c [deleted file]
common/pka.h [deleted file]
common/t-pka.c [deleted file]
dirmngr/Makefile.am
dirmngr/dns-cert.c [moved from common/dns-cert.c with 93% similarity]
dirmngr/dns-cert.h [moved from common/dns-cert.h with 92% similarity]
dirmngr/server.c
dirmngr/t-dns-cert.c [moved from common/t-dns-cert.c with 88% similarity]
g10/Makefile.am
g10/call-dirmngr.c
g10/call-dirmngr.h
g10/gpgv.c
g10/keyserver-internal.h
g10/keyserver.c
g10/mainproc.c