Re: ppolicy control and change password exop (again)
Guillaume Rousse <[email protected]>
| Newsgroups | gmane.comp.lang.perl.modules.ldap |
|---|---|
| Message-ID | <[email protected]> |
Chris Ridd a écrit : > > On 26 May 2009, at 15:56, Guillaume Rousse wrote: > >> Chris Ridd a écrit : >>> On 26 May 2009, at 14:42, Guillaume Rousse wrote: >>>> Hello list. >>>> >>>> Some time ago, I had an issue with set_password() not handling >>>> controls: >>>> http://www.nntp.perl.org/group/perl.ldap/2008/09/msg2950.html >>>> >>>> It was fixed in perl-ldap 0.38. >>>> >>>> I also opened an ITS in openldap, because apparently password modify >>>> exop was not returning ppolicy control correctly: >>>> http://www.openldap.org/lists/openldap-bugs/200809/msg00178.html >>>> >>>> It was fixed in openldap 2.4.12 >>>> >>>> However, it still doesn't work. The following test case shows than >>>> the value returned by $response->control( >>>> LDAP_CONTROL_PASSWORDPOLICY ) is always '1', instead of an instance >>>> of Net::LDAP::Control::PasswordPolicy class. >>> Can you give us BER dumps of the exop itself and the response? >> Is there any other way beyond network capture directly ? > > It is the only way to prove what's being sent/returned is buggy (or > not). If the data being sent/returned is good, we look to see where the > perl code's gone wrong, if it is bad there's not much we can do. > > Use the debug method on your Net::LDAP object to get the output, maybe > xx out the sensitive hex and ASCII data. Here you have, with both debug output mode. -- BOFH excuse #372: Forced to support NT servers; sysadmins quit.
asn
(text/plain, 1.6 KB)
Net::LDAP=HASH(0x9e63030) sending:
0000 67: SEQUENCE {
0002 1: INTEGER = 1
0005 62: [APPLICATION 0] {
0007 1: INTEGER = 3
000A 47: STRING = 'uid=rousse,ou=users,dc=msr-inria,dc=inria,dc=fr'
003B 8: [CONTEXT 0]
003D : 54 63 48 65 4B 40 32 31 __ __ __ __ __ __ __ __ XXXXXXX
0045 : }
0045 : }
Net::LDAP=HASH(0x9e63030) received:
0000 12: SEQUENCE {
0002 1: INTEGER = 1
0005 7: [APPLICATION 1] {
0007 1: ENUM = 0
000A 0: STRING = ''
000C 0: STRING = ''
000E : }
000E : }
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 : }
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 : }
hex
(text/plain, 1.2 KB)
Net::LDAP=HASH(0x9136ff0) sending: 30 43 02 01 01 60 3E 02 01 03 04 2F 75 69 64 3D 0C...`>..../uid= 72 6F 75 73 73 65 2C 6F 75 3D 75 73 65 72 73 2C rousse,ou=users, 64 63 3D 6D 73 72 2D 69 6E 72 69 61 2C 64 63 3D dc=msr-inria,dc= 69 6E 72 69 61 2C 64 63 3D 66 72 80 08 54 XX XX inria,dc=fr..XXX XX XX XX XX XX __ __ __ __ __ __ __ __ __ __ __ XXXXX Net::LDAP=HASH(0x9136ff0) received: 30 0C 02 01 01 61 07 0A 01 00 04 00 04 00 __ __ 0....a........ Net::LDAP=HASH(0x9136ff0) sending: 30 44 02 01 02 77 20 80 17 31 2E 33 2E 36 2E 31 0D...w ..1.3.6.1 2E 34 2E 31 2E 34 32 30 33 2E 31 2E 31 31 2E 31 .4.1.4203.1.11.1 81 05 30 03 82 01 61 A0 1D 30 1B 04 19 31 2E 33 ..0...a..0...1.3 2E 36 2E 31 2E 34 2E 31 2E 34 32 2E 32 2E 32 37 .6.1.4.1.42.2.27 2E 38 2E 35 2E 31 __ __ __ __ __ __ __ __ __ __ .8.5.1 Net::LDAP=HASH(0x9136ff0) received: 30 58 02 01 02 78 2D 0A 01 13 04 00 04 26 50 61 0X...x-......&Pa 73 73 77 6F 72 64 20 66 61 69 6C 73 20 71 75 61 ssword fails qua 6C 69 74 79 20 63 68 65 63 6B 69 6E 67 20 70 6F lity checking po 6C 69 63 79 A0 24 30 22 04 19 31 2E 33 2E 36 2E licy.$0"..1.3.6. 31 2E 34 2E 31 2E 34 32 2E 32 2E 32 37 2E 38 2E 1.4.1.42.2.27.8. 35 2E 31 04 05 30 03 81 01 06 __ __ __ __ __ __ 5.1..0....