[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: slapo-dds and data decoding error



Added an OpenLDAP trace at the end.

Ciao, Michael.

Michael Ströder wrote:
> For the fun of it I'm implementing a small Python script which sends a Refresh
> Request (RFC 2589). But slapo-dds (OpenLDAP 2.4.24) returns a protocol error
> due to a decoding error:
> 
> Mar 24 20:48:38 nb2 slapd[8202]: conn=1015 op=1 EXT
> oid=1.3.6.1.4.1.1466.101.119.1
> Mar 24 20:48:38 nb2 slapd[8202]: conn=1015 op=1 RESULT oid= err=2 text=data
> decoding error
> 
> But what's wrong with the request value (BER file attached)?
> 
> dumpasn1 output seems right to me:
> 
>    0   51: SEQUENCE {
>    2   45:   OCTET STRING
>          :     'cn=DDS Test Raum,ou=Testing,dc=stroeder,dc=de'
>   49    2:   INTEGER 332
>          :   }

conn=1000 fd=18 ACCEPT from PATH=/tmp/openldap-socket (PATH=/tmp/openldap-socket)
daemon: activity on 2 descriptors
daemon: activity on: 18r
daemon: read active on 18
daemon: epoll: listen=7 active_threads=0 tvp=zero
daemon: epoll: listen=8 active_threads=0 tvp=zero
daemon: epoll: listen=9 active_threads=0 tvp=zero
connection_get(18)
connection_get(18): got connid=1000
connection_read(18): checking for input on id=1000
ber_get_next
ldap_read: want=8, got=8
  0000:  30 0c 02 01 01 60 07 02                            0....`..
ldap_read: want=6, got=6
  0000:  01 03 04 00 80 00                                  ......
ber_get_next: tag 0x30 len 12 contents:
ber_dump: buf=0xe8bd70 ptr=0xe8bd70 end=0xe8bd7c len=12
  0000:  02 01 01 60 07 02 01 03  04 00 80 00               ...`........
op tag 0x60, time 1301049188
ber_get_next
ldap_read: want=8 error=Resource temporarily unavailable
conn=1000 op=0 do_bind
ber_scanf fmt ({imt) ber:
ber_dump: buf=0xe8bd70 ptr=0xe8bd73 end=0xe8bd7c len=9
  0000:  60 07 02 01 03 04 00 80  00                        `........
ber_scanf fmt (m}) ber:
ber_dump: buf=0xe8bd70 ptr=0xe8bd7a end=0xe8bd7c len=2
  0000:  00 00                                              ..
>>> dnPrettyNormal: <>
<<< dnPrettyNormal: <>, <>
conn=1000 op=0 BIND dn="" method=128
do_bind: version=3 dn="" method=128
send_ldap_result: conn=1000 op=0 p=3
send_ldap_result: err=0 matched="" text=""
send_ldap_response: msgid=1 tag=97 err=0
ber_flush2: 14 bytes to sd 18
  0000:  30 0c 02 01 01 61 07 0a  01 00 04 00 04 00         0....a........
ldap_write: want=14, written=14
  0000:  30 0c 02 01 01 61 07 0a  01 00 04 00 04 00         0....a........
conn=1000 op=0 RESULT tag=97 err=0 text=
do_bind: v3 anonymous bind
daemon: activity on 1 descriptor
daemon: activity on:
daemon: epoll: listen=7 active_threads=0 tvp=zero
daemon: epoll: listen=8 active_threads=0 tvp=zero
daemon: epoll: listen=9 active_threads=0 tvp=zero
daemon: activity on 1 descriptor
daemon: activity on: 18r
daemon: read active on 18
daemon: epoll: listen=7 active_threads=0 tvp=zero
daemon: epoll: listen=8 active_threads=0 tvp=zero
daemon: epoll: listen=9 active_threads=0 tvp=zero
connection_get(18)
connection_get(18): got connid=1000
connection_read(18): checking for input on id=1000
ber_get_next
ldap_read: want=8, got=8
  0000:  30 59 02 01 02 77 54 80                            0Y...wT.
ldap_read: want=83, got=83
  0000:  1a 31 2e 33 2e 36 2e 31  2e 34 2e 31 2e 31 34 36   .1.3.6.1.4.1.146
  0010:  36 2e 31 30 31 2e 31 31  39 2e 31 81 36 30 34 04   6.101.119.1.604.
  0020:  2d 63 6e 3d 44 44 53 20  54 65 73 74 20 52 61 75   -cn=DDS Test Rau
  0030:  6d 2c 6f 75 3d 54 65 73  74 69 6e 67 2c 64 63 3d   m,ou=Testing,dc=
  0040:  73 74 72 6f 65 64 65 72  2c 64 63 3d 64 65 02 03   stroeder,dc=de..
  0050:  01 51 80                                           .Q.
ber_get_next: tag 0x30 len 89 contents:
ber_dump: buf=0x7fae6d002260 ptr=0x7fae6d002260 end=0x7fae6d0022b9 len=89
  0000:  02 01 02 77 54 80 1a 31  2e 33 2e 36 2e 31 2e 34   ...wT..1.3.6.1.4
  0010:  2e 31 2e 31 34 36 36 2e  31 30 31 2e 31 31 39 2e   .1.1466.101.119.
  0020:  31 81 36 30 34 04 2d 63  6e 3d 44 44 53 20 54 65   1.604.-cn=DDS Te
  0030:  73 74 20 52 61 75 6d 2c  6f 75 3d 54 65 73 74 69   st Raum,ou=Testi
  0040:  6e 67 2c 64 63 3d 73 74  72 6f 65 64 65 72 2c 64   ng,dc=stroeder,d
  0050:  63 3d 64 65 02 03 01 51  80                        c=de...Q.
op tag 0x77, time 1301049188
ber_get_next
ldap_read: want=8 error=Resource temporarily unavailable
conn=1000 op=1 do_extended
ber_scanf fmt ({m) ber:
ber_dump: buf=0x7fae6d002260 ptr=0x7fae6d002263 end=0x7fae6d0022b9 len=86
  0000:  77 54 80 1a 31 2e 33 2e  36 2e 31 2e 34 2e 31 2e   wT..1.3.6.1.4.1.
  0010:  31 34 36 36 2e 31 30 31  2e 31 31 39 2e 31 81 36   1466.101.119.1.6
  0020:  30 34 04 2d 63 6e 3d 44  44 53 20 54 65 73 74 20   04.-cn=DDS Test
  0030:  52 61 75 6d 2c 6f 75 3d  54 65 73 74 69 6e 67 2c   Raum,ou=Testing,
  0040:  64 63 3d 73 74 72 6f 65  64 65 72 2c 64 63 3d 64   dc=stroeder,dc=d
  0050:  65 02 03 01 51 80                                  e...Q.
ber_scanf fmt (m) ber:
ber_dump: buf=0x7fae6d002260 ptr=0x7fae6d002281 end=0x7fae6d0022b9 len=56
  0000:  00 36 30 34 04 2d 63 6e  3d 44 44 53 20 54 65 73   .604.-cn=DDS Tes
  0010:  74 20 52 61 75 6d 2c 6f  75 3d 54 65 73 74 69 6e   t Raum,ou=Testin
  0020:  67 2c 64 63 3d 73 74 72  6f 65 64 65 72 2c 64 63   g,dc=stroeder,dc
  0030:  3d 64 65 02 03 01 51 80                            =de...Q.
conn=1000 op=1 EXT oid=1.3.6.1.4.1.1466.101.119.1
do_extended: oid=1.3.6.1.4.1.1466.101.119.1
ber_scanf fmt ({) ber:
ber_dump: buf=0xc89a40 ptr=0xc89a40 end=0xc89a76 len=54
  0000:  30 34 04 2d 63 6e 3d 44  44 53 20 54 65 73 74 20   04.-cn=DDS Test
  0010:  52 61 75 6d 2c 6f 75 3d  54 65 73 74 69 6e 67 2c   Raum,ou=Testing,
  0020:  64 63 3d 73 74 72 6f 65  64 65 72 2c 64 63 3d 64   dc=stroeder,dc=d
  0030:  65 02 03 01 51 80                                  e...Q.
slap_parse_refresh: decoding error.
slap_parse_refresh: decoding error, len=45
send_ldap_extended: err=2 oid= len=0
send_ldap_response: msgid=2 tag=120 err=2
ber_flush2: 33 bytes to sd 18
  0000:  30 1f 02 01 02 78 1a 0a  01 02 04 00 04 13 64 61   0....x........da
  0010:  74 61 20 64 65 63 6f 64  69 6e 67 20 65 72 72 6f   ta decoding erro
  0020:  72                                                 r
ldap_write: want=33, written=33
  0000:  30 1f 02 01 02 78 1a 0a  01 02 04 00 04 13 64 61   0....x........da
  0010:  74 61 20 64 65 63 6f 64  69 6e 67 20 65 72 72 6f   ta decoding erro
  0020:  72                                                 r
conn=1000 op=1 RESULT oid= err=2 text=data decoding error