1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-06-09 23:39:51 +02:00

dirmngr: Support gpgMailbox for mode MAILSUB and MAILEND.

* dirmngr/ks-engine-ldap.c (keyspec_to_ldap_filter): Use gpgMailbox if
server supports this.
This commit is contained in:
Werner Koch 2022-09-26 14:38:11 +02:00
parent 44960e702e
commit 615c9717c1
No known key found for this signature in database
GPG Key ID: E3FDFF218E45B72B

View File

@ -227,13 +227,19 @@ keyspec_to_ldap_filter (const char *keyspec, char **filter, int only_exact,
break;
case KEYDB_SEARCH_MODE_MAILSUB:
if (! only_exact)
if ((serverinfo & SERVERINFO_SCHEMAV2))
f = xasprintf("(&(gpgMailbox=*%s*)(!(|(pgpRevoked=1)(pgpDisabled=1))))",
(freeme = ldap_escape_filter (desc.u.name)));
else if (!only_exact)
f = xasprintf ("(pgpUserID=*<*%s*>*)",
(freeme = ldap_escape_filter (desc.u.name)));
break;
case KEYDB_SEARCH_MODE_MAILEND:
if (! only_exact)
if ((serverinfo & SERVERINFO_SCHEMAV2))
f = xasprintf("(&(gpgMailbox=*%s)(!(|(pgpRevoked=1)(pgpDisabled=1))))",
(freeme = ldap_escape_filter (desc.u.name)));
else if (!only_exact)
f = xasprintf ("(pgpUserID=*<*%s>*)",
(freeme = ldap_escape_filter (desc.u.name)));
break;