hyc@symas.com writes:
The slapd/modrdn.c check for affectsMultipleDSAs is insufficient, it requires newSuperior to be in the same backend. That does not catch moving "cn=x,cn=y" to another database's suffix "cn=z,cn=y".
I don't see how it can miss this.
It checks if newSuperior is in another backend, but that move doesn't need a newSuperior. It keeps the same parent:
database 1: suffix cn=y database 2: suffix cn=z,cn=y modify rdn: dn "cn=x,cn=y"; newrdn cn=z; newSuperior (if any) cn=y.
Probably should look at adding the dest_dn to the op struct, so each backend doesn't have to rebuild it.
Indeed. And dest_ndn.