dirmngr: Add FLUSHCRLs command
ClosedPublic

Authored by aheinecke on Oct 24 2018, 10:44 AM.

Details

Summary
  • dirmngr/crlcache.c (crl_cache_flush): Also deinit the cache.
  • dirmngr/server.c (hlp_flushcrls, cmd_flushcrls): New.

(register_commands): Add FLUSHCRLS.

This allows it to flush the CRL cache of a running dirmngr
server. This can be useful to debug / analyze CRL issues.

GnuPG-Bug-Id: T3967

Test Plan

Tested on Windows

Diff Detail

Repository
rG GnuPG
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
aheinecke created this revision.Oct 24 2018, 10:44 AM
werner accepted this revision.Nov 12 2018, 12:27 PM

I think there are some races in the crl updated code but no real harm.
To improve you patch we could write a wait_for_idle function which counts the active connections and the housekeeping threads. It would also need to block new connections etc.

dirmngr/server.c
2703

Please replace the last line with

return leave_cmd  (ctx, crl_flush_cache ()?GPG_ERR_GENERAL:0);
This revision is now accepted and ready to land.Nov 12 2018, 12:27 PM
This revision was automatically updated to reflect the committed changes.