On 26 May 2009, at 16:17, Guillaume Rousse wrote:
Net::LDAP=HASH(0x9e63030) sending:
0000 68: SEQUENCE {
0002 1: INTEGER = 2
0005 32: [APPLICATION 23] {
0007 23: [CONTEXT 0]
0009 : 31 2E 33 2E 36 2E 31 2E 34 2E 31 2E 34 32 30 33
1.3.6.1.4.1.4203
0019 : 2E 31 2E 31 31 2E 31 __ __ __ __ __ __ __ __ __ .
1.11.1
0020 5: [CONTEXT 1]
0022 : 30 03 82 01 61 __ __ __ __ __ __ __ __ __ __ __ 0...a
0027 : }
0027 29: [CONTEXT 0] {
0029 27: SEQUENCE {
002B 25: STRING = '1.3.6.1.4.1.42.2.27.8.5.1'
0046 : }
0046 : }
0046 : }
That looks like the passwd modify op, with the right control and no
control value.
Net::LDAP=HASH(0x9e63030) received:
0000 88: SEQUENCE {
0002 1: INTEGER = 2
0005 45: [APPLICATION 24] {
0007 1: ENUM = 19
000A 0: STRING = ''
000C 38: STRING = 'Password fails quality checking policy'
0034 : }
0034 36: [CONTEXT 0] {
0036 34: SEQUENCE {
0038 25: STRING = '1.3.6.1.4.1.42.2.27.8.5.1'
0053 5: STRING
0055 : 30 03 81 01 06 __ __ __ __ __ __ __ __ __ __ __
0....
005A : }
005A : }
005A : }
That looks OK too. The value is internally BER encoded, and decodes as:
SEQUENCE {
[1] INTEGER -- 0x06
}
which is "passwordTooShort". So... the server seems OK and it must be
the perl code that's going wrong somewhere. If you single-step into
result->control does it look like it is finding and returning the
right thing?
Cheers,
Chris