mirror of
https://github.com/samba-team/samba.git
synced 2025-03-05 20:58:40 +03:00
dsdb: Use DSDB_SEARCH_SHOW_EXTENDED_DN when searching for the local replicated object
This may allow further processing when the DN normalisation has changed which changes the indexing, such as seen after fixes for bug 14656. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14656 BUG: https://bugzilla.samba.org/show_bug.cgi?id=14902 Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org> (cherry picked from commit f621317e3b25a8925ab6e448068264488a0a47c7)
This commit is contained in:
parent
b0d67dc3d4
commit
ce1186e06e
@ -1404,7 +1404,7 @@ static const struct op_attributes_replace search_sub[] = {
|
||||
{ "tokenGroups", "primaryGroupID", objectSid_attr, construct_token_groups },
|
||||
{ "tokenGroupsNoGCAcceptable", "primaryGroupID", objectSid_attr, construct_token_groups_no_gc},
|
||||
{ "tokenGroupsGlobalAndUniversal", "primaryGroupID", objectSid_attr, construct_global_universal_token_groups },
|
||||
{ "parentGUID", NULL, NULL, construct_parent_guid },
|
||||
{ "parentGUID", "objectGUID", NULL, construct_parent_guid },
|
||||
{ "subSchemaSubEntry", NULL, NULL, construct_subschema_subentry },
|
||||
{ "msDS-isRODC", "objectClass", objectCategory_attr, construct_msds_isrodc },
|
||||
{ "msDS-KeyVersionNumber", "replPropertyMetaData", NULL, construct_msds_keyversionnumber },
|
||||
|
@ -6925,7 +6925,18 @@ static int replmd_replicated_apply_next(struct replmd_replicated_request *ar)
|
||||
ar->req);
|
||||
LDB_REQ_SET_LOCATION(search_req);
|
||||
|
||||
ret = dsdb_request_add_controls(search_req, DSDB_SEARCH_SHOW_RECYCLED);
|
||||
/*
|
||||
* We set DSDB_SEARCH_SHOW_EXTENDED_DN to get the GUID on the
|
||||
* DN. This in turn helps our operational module find the
|
||||
* record by GUID, not DN lookup which is more error prone if
|
||||
* DN indexing changes. We prefer to keep chasing GUIDs
|
||||
* around if possible, even within a transaction.
|
||||
*
|
||||
* The aim here is to keep replication moving and allow a
|
||||
* reindex later.
|
||||
*/
|
||||
ret = dsdb_request_add_controls(search_req, DSDB_SEARCH_SHOW_RECYCLED
|
||||
|DSDB_SEARCH_SHOW_EXTENDED_DN);
|
||||
|
||||
if (ret != LDB_SUCCESS) {
|
||||
return ret;
|
||||
|
Loading…
x
Reference in New Issue
Block a user