The DIGEST-MD5 mechanism in Authen-SASL 2.06 seems slightly broken, using
either perl 5.8.0 or perl 5.8.1.

I am told by our SASL guru that DIGEST-MD5 is a multi-step procedure, and it
looks like the client_step code in DIGEST_MD5.pm isn't aware of this and
tries to use stuff in step 2 that only exists in step 1. Or something like
that.

Essentially I log this:

Net::LDAP=HASH(0x8610f0) received:
0000   54: SEQUENCE {
0002    1:   INTEGER = 2
0005   49:   [APPLICATION 1] {
0007    1:     ENUM = 14
000A    0:     STRING = ''
000C    0:     STRING = ''
000E   40:     [CONTEXT 7]
0010     :       72 73 70 61 75 74 68 3D 66 31 36 38 64 35 36 30
rspauth=f168d560
0020     :       63 65 33 37 36 33 39 34 61 37 36 38 64 31 63 38
ce376394a768d1c8
0030     :       36 62 62 30 63 30 34 31 __ __ __ __ __ __ __ __ 6bb0c041
0038     :   }
0038     : }

And directly afterwards this happens:

Use of uninitialized value in hash element at
/Library/Perl/5.8.1/Authen/SASL/Perl/DIGEST_MD5.pm line 54, <DATA> line 283.
Use of uninitialized value in hash element at
/Library/Perl/5.8.1/Authen/SASL/Perl/DIGEST_MD5.pm line 54, <DATA> line 283.
Use of uninitialized value in join or string at
/Library/Perl/5.8.1/Authen/SASL/Perl/DIGEST_MD5.pm line 75, <DATA> line 283.
Use of uninitialized value in join or string at
/Library/Perl/5.8.1/Authen/SASL/Perl/DIGEST_MD5.pm line 75, <DATA> line 283.
Use of uninitialized value in join or string at
/Library/Perl/5.8.1/Authen/SASL/Perl/DIGEST_MD5.pm line 85, <DATA> line 283.
Use of uninitialized value in join or string at
/Library/Perl/5.8.1/Authen/SASL/Perl/DIGEST_MD5.pm line 85, <DATA> line 283.

Net::LDAP=HASH(0x8df088) sending:
0000  183: SEQUENCE {
0003    1:   INTEGER = 3
0006  177:   [APPLICATION 0] {
0009    1:     INTEGER = 3
000C    0:     STRING = ''
000E  169:     [CONTEXT 3] {
0011   10:       STRING = 'DIGEST-MD5'
001D  154:       STRING =
'cnonce="18b4209f941bebf7cc3e646c439331e6",digest-uri="ldap/hathi.isode.net"
,nc=00000001,response=1983858bf2cecc6b87762b7c11416988,username="[EMAIL PROTECTED]
et"'
00BA     :     }
00BA     :   }
00BA     : }
Net::LDAP=HASH(0x8df088) received:
0000   12: SEQUENCE {
0002    1:   INTEGER = 3
0005    7:   [APPLICATION 1] {
0007    1:     ENUM = 0
000A    0:     STRING = ''
000C    0:     STRING = ''
000E     :   }
000E     : }

The bind succeeds, so the warnings are just an irritation. Is this a known
issue?

Cheers,

Chris

Reply via email to