dirmngr: Check for WKD support at session end
authorWerner Koch <wk@gnupg.org>
Tue, 14 Nov 2017 15:24:12 +0000 (16:24 +0100)
committerWerner Koch <wk@gnupg.org>
Mon, 11 Dec 2017 10:31:15 +0000 (11:31 +0100)
commit20b52be9ca29b0bc843fc68a279cb72728ede72f
treee15823d6dd0f76e512de1f0229ab52eee97ac5d8
parentf2997adee0455c8c0fa391a853ec1b0c9fc43342
dirmngr: Check for WKD support at session end

* dirmngr/domaininfo.c (insert_or_update): Copy the name.
* dirmngr/misc.c (copy_stream): Allow arg OUT to be NULL.
* dirmngr/server.c (set_error): Protect CTX.
(dirmngr_status): Protect against missing ASSUAN_CTX.
(dirmngr_status_help): Ditto.
(dirmngr_status_printf): Ditto.
(cmd_wkd_get): Factor code out to ...
(proc_wkd_get): new func.  Support silent operation with no CTX.
(task_check_wkd_support): New.
--

This finalizes the feature to efficiently cache WKD checks.  If a
standard WKD query returns no data, we queue a test to be run after
the end of the session (so that we do not delay the calling client).
This check tests whether the server responsible for the queried
address has WKD at all enabled.  The test is done by checking whether
the "policy" file exists.  We do not check the "submission-address"
file because that is not necessary for the web key operation.  The
policy file is now required.

Signed-off-by: Werner Koch <wk@gnupg.org>
(cherry picked from commit d4e2302d8f4a1ff52d56da4f8e3a5d1c6303822d)
dirmngr/domaininfo.c
dirmngr/ks-action.c
dirmngr/misc.c
dirmngr/server.c