Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
1.0.0-M11
-
None
-
Fedora 16 x64, Java 7, OpenLDAP 2.4.26
Description
When a lookup for an entry is done with debug enabled the message decoding goes into a continuous loop till the search times out. This happens with OpenLDAP when the "ERR_00043_REMAINING_BYTES_FOR_DECODED_PDU The PDU has been fully decoded but there are still bytes in the buffer." error occurs
I don't have a test case but a simple LdapConnection.lookup with debug logging enabled causes this.
The fix looks pretty straightforward - the actual offending code is in org.apache.directory.shared.ldap.codec.protocol.mina.LdapProtocolDecoder.decode(). The buffer.position is set(:134) and reset(:145) without a mark being set.
The workaround is to turn off debug logging for the "org.apache.directory" logger