Chris Ridd wrote:
On 15/5/06 11:55, Si Smith <[EMAIL PROTECTED]> wrote:
Hi,
I am using Perl-ldap ( and excellent it is too ) to connect
to an Active Directory. I am using an SSL connection since
I do not want to pass the password in the clear.
When reading a large sub-tree, in a number of pages, I get this
error ( LDAP_DECODING_ERROR:C<Net::LDAP> ). If I change the page
size it occurs after a different number of entries.
e.g Page size 250 - after 20250 entries
50 - after 5400 entries
If I make the connection without SSL there is no problem and
all the records can be read without sign of the decoding error.
Any clues anyone.
What sort of control are you using to get these results? We might have got
something wrong in there, like getting confused about byte/utf8. You could
try calling debug(15) to get hex dumps of all the result packets to see
what's different about the failing one.
Alternatively (worst case scenario) I wonder if something's happening at the
SSL level which we're (or IO::Socket::SSL or Net::SSLeay are) not dealing
with properly. If you don't get any insights from the debug output above,
can you attach a network sniffer like Ethereal and see anything interesting
happening around the times both connections go bad?
Cheers,
Chris
Hi Chris,
The control is Net::LDAP::Control::Paged.
I switched on debugging ( level 15 ) and interestingly the last packet
looks pretty much the same as the previous one except the ASN.1
representation does not get output as the decode error happens.
I am wondering if this is an overrun issue or something when a large
number of paged results are sent back. It is not one specific entry
that causes the problem since the search gets further ( or not so far )
if I change the page size on the control.
I do suspect some interaction with the SSL layer since without it
there is no problem ( I guess a timeout would cause a different error ).
Regards,
Simon