[cifs-protocol] [REG:111080976529107] Behavior explanation on subtree delete control behavior with iscriticalsystemobject

Bryan Burgin bburgin at microsoft.com
Tue Aug 9 15:17:58 MDT 2011

[dochelp to bcc]
[Adding casemail and case info to title]

Hi Matthieu,

Thank you for your question.  Hongwei (copied) will be working with you on this.  He will be contacting you soon.


-----Original Message-----
From: Matthieu Patou [mailto:mat at samba.org] 
Sent: Tuesday, August 09, 2011 2:08 PM
To: Interoperability Documentation Help; pfif at tridgell.net; cifs-protocol at samba.org
Subject: Behavior explanation on subtree delete control behavior with iscriticalsystemobject


I found an interesting problem

In MS-ADTS it is said: Tree-delete Constraints
 All regular delete operation constraints apply on each object being deleted.
 The tree-delete operation may not be applied to an NC root.
 Objects with isCriticalSystemObject attribute equal to true may not be deleted by the tree-delete operation (this also applies to objects in the subtree being deleted). 
This constraint is checked
object-by-object, and deletion stops if some deletion would violate this constraint. Because, as explained in the next section, deleted objects never have children, the result after deletion stops due to this constraint is a tree. The resultant tree may not be the same as the original tree because some objects may have been deleted prior to the failure.

My understanding is that if you try to deleted an object that has the isCriticalSystemObject attribute set to TRUE or one of the object bellow in its tree then the operation should failed.

Did I get the meaning right ?

If so can you explain me how with this configuration:

./bin/ldbsearch -H ldap:// -U administrator%totoTATA321 -b "CN=ARES,OU=Domain Controllers,DC=w2k8r2,DC=home,DC=matws,DC=net" 
# record 1
dn: CN=ARES,OU=Domain Controllers,DC=w2k8r2,DC=home,DC=matws,DC=net
isCriticalSystemObject: TRUE

# record 2
dn: CN=RID Set,CN=ARES,OU=Domain

The delete with subtree control on the following trace at packet 1848 is working.



Matthieu Patou
Samba Team        http://samba.org
Private repo      http://git.samba.org/?p=mat/samba.git;a=summary

More information about the cifs-protocol mailing list