[Date Prev][Date Next] [Chronological] [Thread] [Top]

referrals and mystery sizelimit



I am adding the capability to follow referrals to my software. It appears to work fine with one serious exception: it won't return more than two entries per query! Here is how I'm testing:

I have two servers, a source (v2.1.12) with the following:

---
dn: ou=Beatles, ou=People, o=mentata.com
objectclass: referral
objectclass: extensibleObject
ou: Beatles
ref: ldap://192.168.1.110/ou=Beatles,ou=People,o=mentata.com
---

and a destination (v2.1.21), with:

---
dn: ou=Beatles, ou=People, o=mentata.com
objectclass: top
objectclass: organizationalunit
ou: Beatles

dn: sn=Lennon, ou=Beatles, ou=People, o=mentata.com
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
cn: John Lennon
givenname: John
sn: Lennon
description: Guitar, keyboards

dn: sn=McCartney, ou=Beatles, ou=People, o=mentata.com
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
cn: Paul McCartney
givenname: Paul
sn: McCartney
description: Bass

dn: sn=Harrison, ou=Beatles, ou=People, o=mentata.com
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
cn: George Harrison
givenname: George
sn: Harrison
description: Lead guitar

dn: sn=Starr, ou=Beatles, ou=People, o=mentata.com
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
cn: Ringo Starr
givenname: Ringo
sn: Starr
description: drums
---

If I search the source, everything works fine for one or two entries. For instance, the destination log says:

---
Jul 7 14:24:59 scooter slapd[788]: conn=3 fd=9 ACCEPT from IP=192.168.1.105:32806 (IP=0.0.0.0:389)
Jul 7 14:24:59 scooter slapd[788]: conn=3 op=0 BIND dn="" method=128
Jul 7 14:24:59 scooter slapd[788]: conn=3 op=0 RESULT tag=97 err=0 text=
Jul 7 14:24:59 scooter slapd[788]: conn=3 op=1 SRCH base="ou=Beatles,ou=People,o=mentata.com" scope=1 filter="(&(|(sn=starr)(sn=harrison))(objectClass=person))"
Jul 7 14:24:59 scooter slapd[788]: conn=3 op=1 SEARCH RESULT tag=101 err=0 nentries=2 text=
Jul 7 14:24:59 scooter slapd[788]: conn=3 op=2 UNBIND
Jul 7 14:24:59 scooter slapd[788]: conn=3 fd=9 closed
---


But if I ask for more than two entries...

---
Jul 7 14:25:05 scooter slapd[788]: conn=5 fd=9 ACCEPT from IP=192.168.1.105:32809 (IP=0.0.0.0:389)
Jul 7 14:25:05 scooter slapd[788]: conn=5 op=0 BIND dn="" method=128
Jul 7 14:25:05 scooter slapd[788]: conn=5 op=0 RESULT tag=97 err=0 text=
Jul 7 14:25:05 scooter slapd[788]: conn=5 op=1 SRCH base="ou=Beatles,ou=People,o=mentata.com" scope=1 filter="(&(|(sn=lennon)(sn=harrison)(sn=starr))(objectClass=person))"
Jul 7 14:25:05 scooter slapd[788]: conn=5 op=1 SEARCH RESULT tag=101 err=4 nentries=2 text=
Jul 7 14:25:05 scooter slapd[788]: conn=5 op=2 UNBIND
Jul 7 14:25:05 scooter slapd[788]: conn=5 fd=9 closed
---


Getting err=4 and nentries=2 would mean I have a sizelimit of 2, but both servers have an explicit

sizelimit 1000

in their respective slapd.conf files and I can get multiple entries with other non-referral searches without issue. This happens with all manner of search filters, ie. anything that matches more than two Beatles gives me this error. What is wrong?

Jon Roberts
www.mentata.com