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