[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#5344) Wrong check for bad Modify DN

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.