1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-25 23:21:54 +03:00

s4-dcerpc: Do not return linked attribute on deleted objects it makes W2k8R2 loops when joining s4 domains

Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Wed Jul 27 00:46:56 CEST 2011 on sn-devel-104
This commit is contained in:
Matthieu Patou 2011-07-19 00:59:20 +04:00 committed by Matthieu Patou
parent 326e2dd681
commit a5ba41881c

View File

@ -362,7 +362,21 @@ static WERROR get_nc_changes_add_la(TALLOC_CTX *mem_ctx,
struct GUID guid; struct GUID guid;
struct ldb_dn *tdn; struct ldb_dn *tdn;
int ret; int ret;
const char *v;
v = ldb_msg_find_attr_as_string(msg, "isDeleted", "false");
if (strncasecmp(v, "true", 4) == 0) {
v = ldb_msg_find_attr_as_string(msg, "isRecycled", "false");
/*
* Do not skip link when the object is just deleted (isRecycled not present)
* Do it for tomstones or recycled ones
*/
if (strncasecmp(v, "true", 4) == 0) {
DEBUG(2, (" object %s is deleted, not returning linked attribute !\n",
ldb_dn_get_linearized(msg->dn)));
return WERR_OK;
}
}
status = dsdb_get_extended_dn_guid(dsdb_dn->dn, &guid, "GUID"); status = dsdb_get_extended_dn_guid(dsdb_dn->dn, &guid, "GUID");
if (!NT_STATUS_IS_OK(status)) { if (!NT_STATUS_IS_OK(status)) {
DEBUG(0,(__location__ " Unable to extract GUID in linked attribute '%s' in '%s'\n", DEBUG(0,(__location__ " Unable to extract GUID in linked attribute '%s' in '%s'\n",