Hi, On Saturday, 1. December 2007, Chris Ridd wrote: > On 30 Nov 2007, at 19:53, Chris Ridd wrote: > > On 30 Nov 2007, at 17:37, Michael Chiles wrote: > >> Perl LDAP Folk, > >> > >> Tracking down an issue with a business process, I've run into a > >> problem with an audit using Net::LDAP. There are some string > >> attributes in > >> one of our LDAP servers that were written to the directory as base 64 > >> encoded strings. The strings in question have a trailing space > >> ( which > >> caused the input system to encode them as base64 ). Fixed the input > >> problem, but trying to use Net::LDAP to locate these attributes has > >> failed, as the base64 decoding of the string appears to result in > >> the > >> trailing space being removed. When I call get_value method on an > >> entry > >> object, none of them have the trailing string. > >> > >> I verified the results using openldap seaches to confirm the > >> data I'm > >> seeing does have a trailing space in the directory. > >> > >> Does anyone have suggestions on how to address this using > >> Net::LDAP? > >> Is this a bug? > > > > I've not seen Net::LDAP do this before. > > > > Are the values being sent over the network actually base-64-encoded > > strings, or are they just getting encoded as base-64 when your > > client app is displaying them? > > > > To see what Net::LDAP's actually sending/receiving over the network, > > call $ldap->debug(12) and all subsequent packets will be dumped to > > stderr. The perldoc for Net::LDAP explains why "12" is used. > > One other possibility has occurred to me. Recent versions of Net::LDAP > will try to convert values of all attributes into UTF-8 strings, so > something may be going awry there. You can prevent that conversion > using the 'raw' option to the constructor, passing it a regex of > attribute types you don't want to convert. See the docs for details > and a little example.
Just to avoid misunderstandings: When the raw option is not given, Net::LDAP's behaviour is unchanged. Only when raw => REGEX is given, all attributes not matching the regex are converted to Perl-Unicode strings Regrds Peter -- Peter Marschall [EMAIL PROTECTED]