You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by Radovan Semancik <ra...@evolveum.com.INVALID> on 2019/11/22 17:09:10 UTC

TreeDelete control (and OpaqueControl)

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-unsubscribe@directory.apache.org
For additional commands, e-mail: dev-help@directory.apache.org