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:
parent
326e2dd681
commit
a5ba41881c
@ -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",
|
||||||
|
Loading…
Reference in New Issue
Block a user