Uhhh, sorry guys... I have found the problem and it has nothing to do with Net::LDAP and it has nothing to to with Convert::ASN1. Both modules do the job perfectly!

Just quick: The problem was a X509 Certificate parsing module who also use Convert::ASN1 for parsing the certificates. Instead of passing binary data to Convert::ASN1, my module passes the HEX encoded data. This was wrong and I fixed my own fault with converting the hex data to binary before passing to Convert::ASN1.

Sorry for the misunderstanding on my side.

Many thanks for your support!

Regards
Roman

Graham Barr wrote:

On 29 Oct 2004, at 14:54, Roman Baumer wrote:

If up-to-date modules don't work, then try calling:
$ldap->debug(3);
just before you call the code that causes the decode failure. It should
print out a hex dump of the received message, which you should send to the
list for analysis.


Sure, here is the output:

Net::LDAP=HASH(0xd89ab8) received:

30 0C 02 01 3E 65 07 0A 01 00 04 00 04 00 __ __ 0...>e........

Net::LDAP=HASH(0xd89ab8) sending:

30 05 02 01 3F 42 00 __ __ __ __ __ __ __ __ __ 0...?B.

[Fri Oct 29 15:42:50 2004] [error] decode error 7b<=>30 at /usr/local/home/dsamgr/mdstools/lib/site_perl/5.6.1/Convert/ASN1/ _decode.pm line 110, <DATA> line 283


Hm, it is odd that it should report a sending packet just before the failure

This only happens when I try to fetch a userCertificate. And this is a little bit special, because in out LDAP server schema the attribute userCertificate is defined as string, rather then binary. (Hack to support an old version of Entrust ;-( )

Bye the way, although this attribute setup is unusual, I have no problems with other clients. It then looks like: "{ASN}308206C7..."


That should make no difference to this part of the code.

Let me know if you need the whole debug output.


The more the better. Although if it is big sending to the list might not be desirable :)
Send it to me, and Chris if he wants it


Graham.





Reply via email to