1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-02 22:46:30 +02:00

dirmngr: Prepare for new command KS_DEL.

* dirmngr/server.c (cmd_ks_del): New.
* dirmngr/ks-action.c (ks_action_del): New.
* dirmngr/ks-engine-ldap.c (ks_ldap_del): New stub.
--

GnuPG-bug-id: 5447
This commit is contained in:
Werner Koch 2025-02-21 14:45:15 +01:00
parent db7141d462
commit fdcc69c29d
No known key found for this signature in database
GPG key ID: E3FDFF218E45B72B
4 changed files with 95 additions and 0 deletions

View file

@ -548,6 +548,40 @@ ks_action_put (ctrl_t ctrl, uri_item_t keyservers,
/* Delete an OpenPGP key from all KEYSERVERS which use LDAP. The key
* is specifified by PATTERNS. */
gpg_error_t
ks_action_del (ctrl_t ctrl, uri_item_t keyservers, strlist_t patterns)
{
gpg_error_t err = 0;
gpg_error_t first_err = 0;
int any_server = 0;
uri_item_t uri;
for (uri = keyservers; uri; uri = uri->next)
{
#if USE_LDAP
if ( !strcmp (uri->parsed_uri->scheme, "ldap")
|| !strcmp (uri->parsed_uri->scheme, "ldaps")
|| !strcmp (uri->parsed_uri->scheme, "ldapi")
|| uri->parsed_uri->opaque )
{
any_server = 1;
err = ks_ldap_del (ctrl, uri->parsed_uri, patterns);
if (err && !first_err)
first_err = err;
}
#endif
}
if (!any_server)
err = gpg_error (GPG_ERR_NO_KEYSERVER); /* Actual: No LDAP keyserver */
else if (!err && first_err)
err = first_err;
return err;
}
/* Query the default LDAP server or the one given by URL using
* the filter expression FILTER. Write the result to OUTFP. */
gpg_error_t