1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-12-23 10:29:58 +01:00

dirmngr: Fix adding keys to an LDAP server.

* dirmngr/ks-engine-ldap.c (ks_ldap_put): Extract attribites into
addlist.
--

The code used the wrong list which resulting in adding attributes
marked for deletion.  In particular Active Directory does not accept
such an data and rejects them.  The bug was introduced into 2.1 while
porting the code from the old keyserver helpers to dirmngr.

Fixes-commit: 51341badb623927f2a358588c725a356fc77dbe7
Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
Werner Koch 2020-12-14 15:15:17 +01:00
parent 3c55e15cee
commit e47de85382
No known key found for this signature in database
GPG Key ID: E3FDFF218E45B72B

View File

@ -1995,7 +1995,7 @@ ks_ldap_put (ctrl_t ctrl, parsed_uri_t uri,
*newline = '\0';
extract_attributes (&modlist, info);
extract_attributes (&addlist, info);
infolen = infolen - ((uintptr_t) newline - (uintptr_t) info + 1);
info = newline + 1;
@ -2042,7 +2042,7 @@ ks_ldap_put (ctrl_t ctrl, parsed_uri_t uri,
char **certid;
char *dn;
certid = modlist_lookup (modlist, "pgpCertID");
certid = modlist_lookup (addlist, "pgpCertID");
if (/* We should have a value. */
! certid
/* Exactly one. */