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

Reply via email to