Hello,

It looks like the implementation of OpaqueControl is broken in the API (2.0). Which also means that connection.deleteTree() method does not work:

2019-11-22 13:59:00,901 [main] WARN (o.a.d.ldap.client.api.LdapNetworkConnection): org.apache.directory.api.asn1.EncoderException: ERR_08002_CANNOT_FIND_CONTROL_FACTORY failed to find a control factory for control OID: 1.2.840.1135
56.1.4.805
org.apache.mina.filter.codec.ProtocolEncoderException: org.apache.directory.api.asn1.EncoderException: ERR_08002_CANNOT_FIND_CONTROL_FACTORY failed to find a control factory for control OID: 1.2.840.113556.1.4.805         at org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:350)         at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753)         at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49)         at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146)         at org.apache.mina.core.filterchain.IoFilterAdapter.filterWrite(IoFilterAdapter.java:138)         at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753)         at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireFilterWrite(DefaultIoFilterChain.java:746)         at org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:570)         at org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:515)         at org.apache.directory.ldap.client.api.LdapNetworkConnection.writeRequest(LdapNetworkConnection.java:5126)         at org.apache.directory.ldap.client.api.LdapNetworkConnection.deleteAsync(LdapNetworkConnection.java:3818)         at org.apache.directory.ldap.client.api.LdapNetworkConnection.delete(LdapNetworkConnection.java:3720)         at org.apache.directory.ldap.client.api.LdapNetworkConnection.deleteTree(LdapNetworkConnection.java:3652)

I'm not sure how to fix the OpaqueControl problem. But I know how to properly add support for the TreeDelete control. Therefore I did that. And I have also changed the implementation of connection.deleteTree() to use it. Therefore it should work now.

But maybe we still want to fix the OpaqueControl problem?

--
Radovan Semancik
Software Architect
evolveum.com


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@directory.apache.org
For additional commands, e-mail: dev-h...@directory.apache.org

Reply via email to