Ticket #521 - modrdn + NSMMReplicationPlugin - Consumer failed to replay change
Bug description: modrdn on AD is synchronized to DS, but the
other way does not get synchronized.
1) process_replay_rename (windows_protocol_util.c): If newparent
was NULL, the rename operation was skipped. This patch sets
the original parent dn to the newparent.
2) process_replay_rename (windows_protocol_util.c): AD does not
accept deleteoldrdn == 0 (Old RDN must be deleted). If
deleteoldrdn is 0, it is replaced with 1 before sending the
request to AD.
3) is_subject_of_agreement_remote (windows_protocol_util.c):
When checking if the entry was in the subtree defined in the
agreement or not, it returned true only if the entry is a
direct child of the agreement subtree top. This patch returns
true if the entry is the further descendent of the subtree.
4) This patch adds more NULL reference checks.
5) When the given dn is already normalized, sets it to Slapi_DN
as a normlized dn. It saves an unnecessary dn normalization.
6) Logs in windows sync specific code are prefixed with
"NSMMReplicationPlugin - windows sync".
Reviewed by Mark and Rich (Thank you!!)