I was trying to blame this on perl-ldap, but I think I'm ready to try pinning
the blame on openldap...
My perl script (which worked with openldap 1.2.11) notices if a call to
search returns LDAP_PARTIAL_RESULTS, and if it does looks in the error message
to see what the referral is.
Under 2.0.11, it's getting 'Referral: ldap://10.1.2.1' instead of
'Referral: ldap://10.1.2.1/ou=people,o=vircio,c=US'
I tried calling the referrals method and that returns an empty list.
I've enabled debugging in perl-ldap, and I see that it's getting this back
from the server:
Net::LDAP=HASH(0x8414940) received:
30 25 02 01 05 65 20 0A 01 09 04 00 04 19 52 65 0%...e .......Re
66 65 72 72 61 6C 3A 0A 6C 64 61 70 3A 2F 2F 31 ferral:.ldap://1
30 2E 31 2E 32 2E 31 __ __ __ __ __ __ __ __ __ 0.1.2.1
0000 30 37: SEQUENCE {
0002 02 1: INTEGER = 5
0005 65 32: [APPLICATION 5] {
0007 0A 1: ENUM = 9
000A 04 0: STRING = ''
000C 04 25: STRING
000E : 52 65 66 65 72 72 61 6C 3A 0A 6C 64 61 70 3A 2F Referral:.ldap:/
001E : 2F 31 30 2E 31 2E 32 2E 31 __ __ __ __ __ __ __ /10.1.2.1
0027 : }
0027 : }
So...it doesn't look like it's perl-ldap's fault.
This is what's in the database:
dn: dc=vircio-admin,ou=people,dc=deepeddy,dc=com
objectClass: referral
objectClass: extensibleObject
dc: vircio-admin
ref: ldap://10.1.2.1/ou=people,o=vircio,c=US
Is there something I can or should do in my code or does something need to be
fixed in openldap?
--
Chris Garrigues http://www.DeepEddy.Com/~cwg/
virCIO http://www.virCIO.Com
4314 Avenue C
Austin, TX 78751-3709 +1 512 374 0500
My email address is an experiment in SPAM elimination. For an
explanation of what we're doing, see http://www.DeepEddy.Com/tms.html
Nobody ever got fired for buying Microsoft,
but they could get fired for relying on Microsoft.
Attachment:
pgpRlG4jYTEaT.pgp
Description: PGP signature