(anderes) LDAP Problem: ldap_search failed: Size limit exceeded

Wenger Florian wenger at unifox.at
Do Okt 13 11:04:14 CEST 2016


Am 2016-10-12 21:36, schrieb Patrick Ben Koetter:
> * Patrick Ben Koetter <dovecot at listen.jpberlin.de>:
>> * Wenger Florian <dovecot at listen.jpberlin.de>:
>> > Hallo liebe Dovecot-Leute!
>> >
>> > Ich möchte gerne eine Dovecot-Installation an ein Active-Directory anbinden.
>> > (Wir müssen unser Mailsystem überarbeiten und testen verschiedene Produkte.)
>> > Die Anbindung funktioniert mittlerweile auch, dennoch gibt es Probleme mit der
>> > Menge des LDAP-Ergebnis,
>> >
>> > doveadm  user '*wenger@*'
>> > doveadm(root): Error: User listing returned failure
>> > doveadm(root): Fatal: user listing failed
>> >
>> > und im Log steht
>> > Oct 12 20:50:43 khsdovecot1 dovecot: auth-worker(14579): Error:
>> > ldap(*wenger@*): ldap_search(base=OU=users,DC=example,DC=local
>> > filter=(&(objectClass=person)(mail=*)(!(userAccountControl=514)))) failed: Size
>> > limit exceeded
>> >
>> > Wie kann ich Dovecot bitten, die LDAP - Abfragen in kleinere Häppchen zu
>> > zerlegen.
>> 
>> Soviel ich weiß, kannst Du das nicht. Du kannst dem Account, der die
>> LDAP-Abfrage im AD durchführt, das search limit entsprechend hoch 
>> setzen. Oder
>> alles auf einen OpenLDAP replizieren und denn befragen.
> 
> On second thought...
> 
> Vor Jahren habe ich Timo mal überredet, eine ldap.conf-Datei mit 
> besonderen
> Settings in die dovecot-ldap.conf einbinden zu können. Er hat das über 
> den
> ldaprc_path-Parameter ermöglicht.
> 
> Ich weiß nicht, ob Dovecot alle Werte importiert, die man in einer 
> ldaprc
> angeben kann. Wenn (!) es das tut, dann kannst Du mit SIZELIMIT das 
> search
> limit steuern.
> 
> Viel Erfolg! Lass uns wissen wie es ausgegangen ist. ;)
> 
> p at rick

Teilerfolg:
Ich habe nun in /etc/dovecot/dovecot-ldap.conf.ext
ldaprc_path = /etc/ldap/ldap.conf
eingetragen.

In /etc/ldap/ldap.conf steht
SIZELIMIT       333

dann bekomme ich mit
doveadm user '*@*' | wc -l
333 Ergebnisse

d.h. SIZELIMIT wird von ldaprc_path ausgewertet.
Aber mehr als 3000 bekomme ich nicht raus.
Ganz egal, wie hoch der Wert SIZELIMIT gesetzt ist.

Bei mir limitiert der LDAP - Server;
Max-Page-Size= 3000
Hier 
(http://www.microsoftnow.com/2008/10/increasing-number-of-objects-returned.html) 
ist beschrieben, wie man die Werte auslesen kann.

Ich möchte die Pagesize aber nicht verändern. Wer kann schon sagen, wo 
das dann sonst noch Probleme verursacht ;-)

Ich bin schon gespannt, Welche News sich beim Gespräch Peer mit Dovecot 
bezüglich LDAP-Paging ergeben...

---
Mfg Wenger Florian
---
Ah! [230] The Element of Surprise




Mehr Informationen über die Mailingliste Dovecot