Home GnuPG
Diffusion GnuPG 20b52be9ca29

dirmngr: Check for WKD support at session end


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.

(cherry picked from commit d4e2302d8f4a1ff52d56da4f8e3a5d1c6303822d)

  • Signed-off-by: Werner Koch <wk@gnupg.org>


wernerAuthored on Nov 14 2017, 4:24 PM
rGf2997adee045: dirmngr: Add a background task framework.