From 7ccd489aa2e5c5ef6c4554c9f04dd74394b43409 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Thu, 6 Oct 2022 18:38:29 +0200 Subject: wkd: New command --mirror for gpg-wks-client. * tools/gpg-wks-client.c (aMirror,oBlacklist,oNoAutostart): New. (opts): Add ----mirror, --no-autostart, and --blacklist. (parse_arguments): Parse new options. (main): Parse common.conf. Implement aMirror. (mirror_one_key_parm): New. (mirror_one_keys_userid, mirror_one_key): New. (command_mirror): New. * tools/gpg-wks.h (struct uidinfo_list_s): Add fields flags. * tools/wks-util.c (wks_cmd_install_key): Factor some code out to ... (wks_install_key_core): new. * tools/call-dirmngr.c (wkd_dirmngr_ks_get): New. -- This implements the basic LDAP to WKD mirroring. The blacklist option and domain restrictions are not yet fully implemented. Take care: In OpenLDAP you may need to increase the paged result limit by using a configuration like: dn: olcDatabase={1}mdb,cn=config changetype: modify replace: olcLimits olcLimits: dn.subtree="dc=example,dc=org" size.prtotal=unlimited GnuPG-bug-id: 6224 --- tools/call-dirmngr.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'tools/call-dirmngr.h') diff --git a/tools/call-dirmngr.h b/tools/call-dirmngr.h index 4da0145e7..3acea513d 100644 --- a/tools/call-dirmngr.h +++ b/tools/call-dirmngr.h @@ -28,5 +28,8 @@ gpg_error_t wkd_get_policy_flags (const char *addrspec, estream_t *r_buffer); gpg_error_t wkd_get_key (const char *addrspec, estream_t *r_key); +gpg_error_t wkd_dirmngr_ks_get (const char *domain, + gpg_error_t cb (estream_t key)); + #endif /*GNUPG_TOOLS_CALL_DIRMNGR_H*/ -- cgit v1.2.3