the repl_secret code needs to set it to avoid too many duplicate
attributes
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
static WERROR drepl_create_extended_source_dsa(struct dreplsrv_service *service,
struct ldb_dn *nc_dn,
struct ldb_dn *source_dsa_dn,
static WERROR drepl_create_extended_source_dsa(struct dreplsrv_service *service,
struct ldb_dn *nc_dn,
struct ldb_dn *source_dsa_dn,
struct dreplsrv_partition_source_dsa **_sdsa)
{
struct dreplsrv_partition_source_dsa *sdsa;
struct dreplsrv_partition_source_dsa **_sdsa)
{
struct dreplsrv_partition_source_dsa *sdsa;
+ sdsa->repsFrom1->highwatermark.highest_usn = min_usn;
werr = dreplsrv_out_connection_attach(service, sdsa->repsFrom1, &sdsa->conn);
if (!W_ERROR_IS_OK(werr)) {
werr = dreplsrv_out_connection_attach(service, sdsa->repsFrom1, &sdsa->conn);
if (!W_ERROR_IS_OK(werr)) {
struct ldb_dn *source_dsa_dn,
enum drsuapi_DsExtendedOperation extended_op,
uint64_t fsmo_info,
struct ldb_dn *source_dsa_dn,
enum drsuapi_DsExtendedOperation extended_op,
uint64_t fsmo_info,
dreplsrv_extended_callback_t callback,
void *callback_data)
{
dreplsrv_extended_callback_t callback,
void *callback_data)
{
struct extended_op_data *data;
struct dreplsrv_partition_source_dsa *sdsa;
struct extended_op_data *data;
struct dreplsrv_partition_source_dsa *sdsa;
- werr = drepl_create_extended_source_dsa(service, nc_dn, source_dsa_dn, &sdsa);
+ werr = drepl_create_extended_source_dsa(service, nc_dn, source_dsa_dn, min_usn, &sdsa);
W_ERROR_NOT_OK_RETURN(werr);
data = talloc(service, struct extended_op_data);
W_ERROR_NOT_OK_RETURN(werr);
data = talloc(service, struct extended_op_data);
role_owner_dn,
extended_op,
fsmo_info,
role_owner_dn,
extended_op,
fsmo_info,
+ 0,
+ drepl_role_callback,
+ NULL);
if (W_ERROR_IS_OK(werr)) {
dreplsrv_run_pending_ops(service);
} else {
if (W_ERROR_IS_OK(werr)) {
dreplsrv_run_pending_ops(service);
} else {
fsmo_role_dn,
DRSUAPI_EXOP_FSMO_RID_ALLOC,
alloc_pool,
fsmo_role_dn,
DRSUAPI_EXOP_FSMO_RID_ALLOC,
alloc_pool,
drepl_new_rid_pool_callback, NULL);
if (W_ERROR_IS_OK(werr)) {
service->rid_alloc_in_progress = true;
drepl_new_rid_pool_callback, NULL);
if (W_ERROR_IS_OK(werr)) {
service->rid_alloc_in_progress = true;
source_dsa_dn,
DRSUAPI_EXOP_REPL_SECRET,
0,
source_dsa_dn,
DRSUAPI_EXOP_REPL_SECRET,
0,
+ p->sources->repsFrom1->highwatermark.highest_usn,
drepl_repl_secret_callback, state);
if (!W_ERROR_IS_OK(werr)) {
DEBUG(2,(__location__ ": Failed to setup secret replication for user_dn '%s'\n", user_dn));
drepl_repl_secret_callback, state);
if (!W_ERROR_IS_OK(werr)) {
DEBUG(2,(__location__ ": Failed to setup secret replication for user_dn '%s'\n", user_dn));