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>
Tue, 14 Nov 2017 15:24:12 +0000 (16:24 +0100)
commitd4e2302d8f4a1ff52d56da4f8e3a5d1c6303822d
tree5b4411772c0b11d7f079aad9407d5504f8f4938c
parent96a4fbecd1acf946dcde20bef4752c539dae196b
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>
dirmngr/domaininfo.c
dirmngr/ks-action.c
dirmngr/misc.c
dirmngr/server.c