From: Andrew Bartlett Date: Tue, 3 May 2016 22:42:05 +0000 (+1200) Subject: dsdb: Use replmd_replPropertyMetaData1_new_should_be_taken in replmd_replicated_apply... X-Git-Tag: tdb-1.3.10~956 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f0aa1d8b8074deebc186243a4813c528cd73869d;p=thirdparty%2Fsamba.git dsdb: Use replmd_replPropertyMetaData1_new_should_be_taken in replmd_replicated_apply_merge() This is the main handler for attribute conflicts Signed-off-by: Andrew Bartlett Reviewed-by: Garming Sam objs->dsdb_repl_flags & DSDB_REPL_FLAG_PRIORITISE_INCOMING) { - /* - * if we compare equal then do an - * update. This is used when a client - * asks for a FULL_SYNC, and can be - * used to recover a corrupt - * replica. - * - * This call is a bit tricky, what we - * are doing it turning the 'is_newer' - * call into a 'not is older' by - * swapping i and j, and negating the - * outcome. - */ - cmp = !replmd_replPropertyMetaData1_is_newer(&rmd->ctr.ctr1.array[i], - &nmd.ctr.ctr1.array[j]); - } else { - cmp = replmd_replPropertyMetaData1_is_newer(&nmd.ctr.ctr1.array[j], - &rmd->ctr.ctr1.array[i]); - } + cmp = replmd_replPropertyMetaData1_new_should_be_taken( + ar->objs->dsdb_repl_flags, + &nmd.ctr.ctr1.array[j], + &rmd->ctr.ctr1.array[i]); if (cmp) { /* replace the entry */ nmd.ctr.ctr1.array[j] = rmd->ctr.ctr1.array[i];