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]

Reply via email to