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.
Cheers,
Chris