emmanuel.duru@atosorigin.com wrote:
Full_Name: Emmanuel Duru Version: 2.3.39 OS: Windows URL: ftp://ftp.openldap.org/incoming/ Submission from: (NULL) (195.68.44.148)
When the provider server receives a modify RDN operation, syncrepl replicates it with the full new DN as new RDN. Trying to investigate it, I see that syncrepl.c:syncrepl_entry() gets the newrdn from a call to dnRdn() function, which only modifies the bv_len of the ber struct, but not the value itself. Following this, the backend:be_modrdn() function does not check the length, and gets the full DN as RDN value (at least back_ldap does this).
I see. In fact, while slapd internally uses bervals consistently, and honors their length, it is usually accepted that string bervals are NUL-terminated. Probably the "right" fix is in syncrepl code, although the real right fix would consist in rewriting the client API to consistently use bervals.
p.
Ing. Pierangelo Masarati OpenLDAP Core Team
SysNet s.r.l. via Dossi, 8 - 27100 Pavia - ITALIA http://www.sys-net.it --------------------------------------- Office: +39 02 23998309 Mobile: +39 333 4963172 Email: pierangelo.masarati@sys-net.it ---------------------------------------