mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-09-03 14:37:02 +03:00
Search contact suggestions across several LDAP branches
A directory rarely keeps everything worth suggesting in one branch: people sit under ou=People, while meeting rooms and other bookable resources live elsewhere - ou=Resources on our installations. Because the plugin queries a single base DN, typing part of a room's name while composing an invitation returns nothing, even though the entry exists. Widening the base to the domain root is not a fix: it pulls every service account into the suggestion list. base_dn now accepts several branches separated by '|', each queried with the same filter, results concatenated. That separator cannot appear unescaped in a DN, so existing single-branch configurations keep working untouched. An unreachable branch is logged with its own DN and no longer silences the remaining ones - previously a single failed search discarded the whole lookup. Plugin version bumped to 2.15.
This commit is contained in:
parent
c154d23cfe
commit
f0bfa29133
2 changed files with 32 additions and 20 deletions
|
|
@ -4,8 +4,8 @@ class LdapContactsSuggestionsPlugin extends \RainLoop\Plugins\AbstractPlugin
|
|||
{
|
||||
const
|
||||
NAME = 'Contacts suggestions (LDAP)',
|
||||
VERSION = '2.14',
|
||||
RELEASE = '2024-03-12',
|
||||
VERSION = '2.15',
|
||||
RELEASE = '2026-08-19',
|
||||
REQUIRED = '2.35.3',
|
||||
CATEGORY = 'Contacts',
|
||||
DESCRIPTION = 'Get contacts suggestions from LDAP.';
|
||||
|
|
@ -79,7 +79,7 @@ class LdapContactsSuggestionsPlugin extends \RainLoop\Plugins\AbstractPlugin
|
|||
->SetType(\RainLoop\Enumerations\PluginPropertyType::PASSWORD)
|
||||
->SetDefaultValue(''),
|
||||
\RainLoop\Plugins\Property::NewInstance('base_dn')->SetLabel('Search base DN')
|
||||
->SetDescription('DN to use as the search base. Supported tokens: {domain}, {domain:dc}, {email}, {email:user}, {email:domain}, {login}, {imap:login}, {imap:host}, {imap:port}')
|
||||
->SetDescription('DN to use as the search base. Supported tokens: {domain}, {domain:dc}, {email}, {email:user}, {email:domain}, {login}, {imap:login}, {imap:host}, {imap:port} Several branches may be given, separated by | - useful when meeting rooms or other resources live outside the people branch.')
|
||||
->SetDefaultValue('ou=People,dc=example,dc=com'),
|
||||
\RainLoop\Plugins\Property::NewInstance('object_classes')->SetLabel('objectClasses')
|
||||
->SetDescription('LDAP objectClasses to search for, comma separated list')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue