This LSC plugin enables event-based updates handling upon supported
directories based on LDAP Persistent search control and LDAP Sync (RFC
 4533).

The rfc 4533  ( https://tools.ietf.org/html/rfc4533 ) has the following OID

1.3.6.1.4.1.4203.1.9.1.1 LDAP Content Synchronization Request Control RFC
4533 <https://docs.ldap.com/specs/rfc4533.txt>

I run a test on a eDirectory v9.1.4 as stated on microfocus forum

https://community.microfocus.com/t5/eDirectory-User-Discussions/Can-you-RFC-4533-Ldap-Sync-with-Jldap/td-p/2233010


ldapsearch -h yourserver -D cn=admin,o=novell -w password -b "" -s base
supportedcontrol=* | grep 1.3.6.1.4.1.4203.1.9.1.1

and it seems it is still not supported




On Fri, May 22, 2020 at 10:49 AM Clément OUDOT <clement.ou...@worteks.com>
wrote:

>
> Le 22/05/2020 à 05:36, 鄭旭宏 a écrit :
>
> Dear Sir :
>
>
> I have try to use Event-based LDAP source service to sync LDAP -> DB.
> It works fine when I use OpenDJ as source, but when I use
>
> Novell eDir  as source (The document include this serverType),
>
> it appears error :
>
>
> 五月 22 11:05:13 - DEBUG -   no more byte to decode in the stream
> 五月 22 11:05:13 - DEBUG - TLV Tree : TLV0x*A0*(0)
> 五月 22 11:05:13 - DEBUG - Transition from state <ATTRIBUTE_VALUE_SR_STATE>
> to state <CONTROLS_STATE>, tag <0xA0>, action : Initialize a control
> 五月 22 11:05:13 - ERROR - The length of controls must not be null
> 五月 22 11:05:13 - WARN  -
> org.apache.directory.api.ldap.codec.api.ResponseCarryingException: The
> length of controls must not be null (Hexdump: 30 54 02 01 02 64 4D 04 38 63
> 6E 3D 4E 45 4F 4F 49 49 55 2C 6F 75 3D 45 38 34 38 34 30 34 2C 6F 75 3D 45
> 38 34 38 34 30 30 2C 6F 75 3D 45 38 34 2C 6F 75 3D 45 30 31 52 4F 4F 54 2C
> 6F 3D 4D 4F 46 30 11 30 0F 04 02 63 6E 31 09 04 07 4E 45 4F 4F 49 49 55 A0
> 00 00 00 00 00 00 00 ...... )
> org.apache.mina.filter.codec.ProtocolDecoderException:
> org.apache.directory.api.ldap.codec.api.ResponseCarryingException: The
> length of controls must not be null (Hexdump: 30 54 02 01 02 64 4D 04 38 63
> 6E 3D 4E 45 4F 4F 49 49 55 2C 6F 75 3D 45 38 34 38 34 30 34 2C 6F 75 3D 45
> 38 34 38 34 30 30 2C 6F 75 3D 45 38 34 2C 6F 75 3D 45 30 31 52 4F 4F 54 2C
> 6F 3D 4D 4F 46 30 11 30 0F 04 02 63 6E 31 09 04 07 4E 45 4F 4F 49 49 55 A0
> 00 00 00 00 00 00 00 00 00 00 ....)
> at
> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:242)
> ~[mina-core-2.0.7.jar:na]
> at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
> [mina-core-2.0.7.jar:na]
> at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47)
> [mina-core-2.0.7.jar:na]
> at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765)
> [mina-core-2.0.7.jar:na]
> at
> org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:109)
> [mina-core-2.0.7.jar:na]
> at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
> [mina-core-2.0.7.jar:na]
> at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:410)
> [mina-core-2.0.7.jar:na]
> at
> org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:710)
> [mina-core-2.0.7.jar:na]
> at
> org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:664)
> [mina-core-2.0.7.jar:na]
> at
> org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:653)
> [mina-core-2.0.7.jar:na]
> at
> org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:67)
> [mina-core-2.0.7.jar:na]
> at
> org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1124)
> [mina-core-2.0.7.jar:na]
> at
> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
> [mina-core-2.0.7.jar:na]
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> [na:1.8.0_181]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> [na:1.8.0_181]
> at java.lang.Thread.run(Thread.java:748) [na:1.8.0_181]
> Caused by:
> org.apache.directory.api.ldap.codec.api.ResponseCarryingException: The
> length of controls must not be null
> at
> org.apache.directory.api.ldap.codec.protocol.mina.LdapProtocolDecoder.decode(LdapProtocolDecoder.java:177)
> ~[api-all-1.0.0-M22.jar:1.0.0-M22]
> at
> org.apache.directory.api.ldap.codec.protocol.mina.LdapProtocolDecoder.decode(LdapProtocolDecoder.java:94)
> ~[api-all-1.0.0-M22.jar:1.0.0-M22]
> at
> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:232)
> ~[mina-core-2.0.7.jar:na]
> ... 15 common frames omitted
> 五月 22 11:05:13 - DEBUG - received a NoD, closing everything
> 五月 22 11:05:13 - DEBUG - closing SearchFuture[msgId : 2, size : 0,
> Canceled :false]
>
> I found that DER code end with  A0 00, It won't appear if use OpenDJ,
>
> What can I do to fix this problem ?   modify the eDir setting or something
> else ?
>
>
> Hello,
>
>
> I never tested event-based connector with another LDAP Directory than
> OpenLDAP, other directories may indeed not work. The only thing you can do
> is trying to patch LSC code to make it work with Novell.
>
> --
> Clément Oudot | Identity Solutions Manager
> clement.ou...@worteks.com
>
> Worteks | https://www.worteks.com
>
> _______________________________________________________________
> Ldap Synchronization Connector (LSC) - http://lsc-project.org
>
> lsc-users mailing list
> lsc-users@lists.lsc-project.org
> https://lists.lsc-project.org/cgi-bin/mailman/listinfo/lsc-users
_______________________________________________________________
Ldap Synchronization Connector (LSC) - http://lsc-project.org

lsc-users mailing list
lsc-users@lists.lsc-project.org
https://lists.lsc-project.org/cgi-bin/mailman/listinfo/lsc-users

Reply via email to