<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc="http://microsoft.com/officenet/conferencing" xmlns:D="DAV:" xmlns:Repl="http://schemas.microsoft.com/repl/" xmlns:mt="http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda="http://www.passport.com/NameSpace.xsd" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs="http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p="http://schemas.microsoft.com/data/udc/parttopart" xmlns:st="&#1;" xmlns:st1="urn:schemas-microsoft-com:office:smarttags" xmlns="http://www.w3.org/TR/REC-html40"
xmlns:ns0="http://schemas.microsoft.com/sharepoint/soap/workflow/"
xmlns:ns1="http://schemas.microsoft.com/office/2006/digsig-setup"
xmlns:ns2="http://schemas.microsoft.com/office/2006/digsig"
xmlns:ns3="http://schemas.openxmlformats.org/package/2006/digital-signature"
xmlns:ns4="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:ns5="http://schemas.microsoft.com/office/2004/12/omml"
xmlns:ns6="http://schemas.openxmlformats.org/package/2006/relationships"
xmlns:ns7="http://microsoft.com/sharepoint/webpartpages"
xmlns:ns8="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns:ns9="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:ns10="http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/"
xmlns:ns11="http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService"
xmlns:ns12="urn:schemas-microsoft-com:">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><o:SmartTagType
 namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="State"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="City"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="place"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="PersonName"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--a:link
        {mso-style-priority:99;}
span.MSOHYPERLINK
        {mso-style-priority:99;}
a:visited
        {mso-style-priority:99;}
span.MSOHYPERLINKFOLLOWED
        {mso-style-priority:99;}
p.MSOPLAINTEXT
        {mso-style-priority:99;}
li.MSOPLAINTEXT
        {mso-style-priority:99;}
div.MSOPLAINTEXT
        {mso-style-priority:99;}
p.MSOLISTPARAGRAPH
        {mso-style-priority:34;}
li.MSOLISTPARAGRAPH
        {mso-style-priority:34;}
div.MSOLISTPARAGRAPH
        {mso-style-priority:34;}
span.PLAINTEXTCHAR
        {mso-style-priority:99;}
span.PLAINTEXTCHAR0
        {mso-style-priority:99;}
span.PLAINTEXTCHAR00
        {mso-style-priority:99;}

 /* Font Definitions */
 @font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Cambria;
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:Calibri;}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:10.5pt;
        font-family:Consolas;}
span.PlainTextChar
        {font-family:Consolas;}
p.msolistparagraph, li.msolistparagraph, div.msolistparagraph
        {margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:Calibri;}
p.code, li.code, div.code
        {margin-top:0in;
        margin-right:0in;
        margin-bottom:1.0pt;
        margin-left:.15in;
        font-size:11.0pt;
        font-family:"Courier New";
        color:black;}
p.code0, li.code0, div.code0
        {margin-top:0in;
        margin-right:0in;
        margin-bottom:1.0pt;
        margin-left:.15in;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
p.BulletedList2, li.BulletedList2, div.BulletedList2
        {margin-top:9.0pt;
        margin-right:0in;
        margin-bottom:9.0pt;
        margin-left:27.4pt;
        text-indent:-13.7pt;
        font-size:9.0pt;
        font-family:Verdana;}
span.plaintextchar0
        {font-family:Consolas;}
span.plaintextchar00
        {font-family:Consolas;}
span.codechar
        {font-family:"Courier New";
        color:black;}
span.codechar0
        {font-family:"Courier New";
        color:black;}
span.EmailStyle27
        {mso-style-type:personal;
        font-family:Arial;
        color:navy;}
span.EmailStyle28
        {mso-style-type:personal;
        font-family:Calibri;
        color:#1F497D;}
span.EmailStyle29
        {mso-style-type:personal;
        font-family:Arial;
        color:navy;}
span.EmailStyle30
        {mso-style-type:personal;
        font-family:Calibri;
        color:#1F497D;}
span.EmailStyle31
        {mso-style-type:personal;
        font-family:Calibri;
        color:#1F497D;}
span.Italic
        {color:windowtext;
        font-style:italic;}
span.EmailStyle33
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Hi Sebastian.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>No, when I mean PRINCIPAL_SELF, I mean the
special SID PRINCIPAL_SELF, see table at page 56 of MS-DTYP. Neither
CREATOR_OWNER, nor PRINCIPAL_SELF relate to DEFAULT_GROUP in any way (or so is
my current understanding). These two are place holders for the security
principal that has the access rights given by a certain ACE. DEAFULT_GROUP is
the group field of the entire security descriptor, if I understand correctly.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>The actual issue here is that Edgar claims
that defaultSecurityDescriptor is used unchanged when it is used. Our
experiments show that this is not the case and these two principals are
replaced during object creation &#8211; the section about access checking you
quote confirms that, and we would like to know were the discrepancy comes from,
and it should be better explained in the documentation. <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>The issue of the default group not being
as described is a separate issue I have also raised, which is already settled
by Obaid. <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Best Regards,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Nadezhda Ivanova<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt;font-family:"Times New Roman"'>

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'> Sebastian
Canevari [mailto:Sebastian.Canevari@microsoft.com] <br>
<b><span style='font-weight:bold'>Sent:</span></b> Friday, August 14, 2009 9:43
<st1:PersonName w:st="on">PM</st1:PersonName><br>
<b><span style='font-weight:bold'>To:</span></b> <st1:PersonName w:st="on">Nadezhda
 Ivanova</st1:PersonName><br>
<b><span style='font-weight:bold'>Subject:</span></b> RE: Information needed
about security token default ACL</span></font><font size=3
face="Times New Roman"><span style='font-size:12.0pt;font-family:"Times New Roman"'><o:p></o:p></span></font></p>

</div>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'>Hi
Nadezhda,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'>I&#8217;ve
been reviewing the documentation and I have a question and an answer for you.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><b><u><font size=2 face=Calibri><span style='font-size:11.0pt;
font-weight:bold'>#Question</span></font></u></b><u>:</u> <o:p></o:p></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'>When
you refer to the PRINCIPAL_SELF in a defaultSecurityDescriptor, could it be
possible that you mean DEFAULT_GROUP?<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'>If
yes, then the answer for the CREATOR_OWNER also applies to the DEFAULT_GROUP.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'>If
not, then I need some more clarification on what information you need regarding
the PRINCIPAL_SELF.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><b><u><font size=2 face=Calibri><span style='font-size:11.0pt;
font-weight:bold'>#Answer:</span></font></u></b> <o:p></o:p></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'>With
regards of the CREATOR_OWNER, I would like to know if you agree with section
2.5.2.3 CreateSecurityDescriptor (from [MS-DTYP]):<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=BulletedList2><font size=1 face=Wingdings><span style='font-size:9.0pt;
font-family:Wingdings'>&sect; </span></font>DEFAULT_OWNER_FROM_PARENT: Relevant
only when the owner field is not specified in <span class=Italic><i><font
color=black>CreatorDescriptor</font></i></span>. If this flag is set, the owner
field in <span class=Italic><i><font color=black>NewDescriptor</font></i></span>
is set to the owner of <span class=Italic><i><font color=black>ParentDescriptor</font></i></span>.
If not set, the owner from the token is selected.<o:p></o:p></p>

<p class=BulletedList2><font size=1 face=Wingdings><span style='font-size:9.0pt;
font-family:Wingdings'>&sect; </span></font>DEFAULT_GROUP_FROM_PARENT: Relevant
only when the primary group field is not specified in <span class=Italic><i><font
color=black>CreatorDescriptor</font></i></span>. If this flag is set, the
primary group of <span class=Italic><i><font color=black>NewDescriptor</font></i></span>
is set to the primary group of <span class=Italic><i><font color=black>ParentDescriptor</font></i></span>.
If not set, the default group from the token is selected.<o:p></o:p></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'>This
section specifies that in the case that the flag is not set in
CreatorDescriptor, then the owner and group are set to that of the Token. I was
able to confirm this in the code.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'>On
a side note, I wanted to make sure that we are both aligned regarding the
PRINCIPAL_SELF information we are looking at:<o:p></o:p></span></font></p>

<div style='border:none;border-bottom:double windowtext 2.25pt;padding:0in 0in 1.0pt 0in'>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><i><font size=2 face=Calibri><span style='font-size:11.0pt;
font-style:italic'>[MS-ADTS]: Active Directory Technical Specification<o:p></o:p></span></font></i></p>

<p class=MsoNormal><i><font size=2 face=Calibri><span style='font-size:11.0pt;
font-style:italic'><o:p>&nbsp;</o:p></span></font></i></p>

<p class=MsoNormal><i><font size=2 face=Calibri><span style='font-size:11.0pt;
font-style:italic'>5.1.3.3 Checking Access<o:p></o:p></span></font></i></p>

<p class=MsoNormal><i><font size=2 face=Calibri><span style='font-size:11.0pt;
font-style:italic'>Note that a special principal called &quot;Principal
Self,&quot; identified by the fixed SID value of S-1-5-10, may appear in the
SID field of an ACE in the security descriptor of an object. This fixed SID
value represents the object itself in an ACE on a security principal object.
For example, when an ACE on a user object grants certain access rights to
Principal Self, it essentially grants those access rights to the user
represented by that object. During an access check for object O, if O!
nTSecurityDescriptor contains any ACEs with the fixed SID for Principal Self
the server replaces them with O! objectSid before proceeding with the access
check.<o:p></o:p></span></font></i></p>

<div style='border:none;border-bottom:double windowtext 2.25pt;padding:0in 0in 1.0pt 0in'>

<p class=MsoNormal><i><font size=2 face=Calibri><span style='font-size:11.0pt;
font-style:italic'>For the access checking behavior described in the following
sections, it is assumed that any security descriptor used as input to that
process has already undergone the SID substitution for Principal Self (as
described in this section), if necessary.<o:p></o:p></span></font></i></p>

</div>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'>Please
let me know if this answers your question.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'>Thanks
and regards,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'><o:p>&nbsp;</o:p></span></font></p>

<div>

<p class=MsoNormal><b><font size=3 color=black face=Arial><span
style='font-size:12.0pt;font-family:Arial;color:black;font-weight:bold'>Sebastian
Canevari</span></font></b><font size=3 color=navy><span style='font-size:12.0pt;
color:navy'><br>
</span></font><font color=black face=Arial><span style='font-family:Arial;
color:black'>Senior Support Escalation Engineer, US-CSS&nbsp;DSC PROTOCOL TEAM</span></font><font
color=navy><span style='color:navy'><br>
</span></font><font size=1 color=black face=Arial><span style='font-size:8.0pt;
font-family:Arial;color:black'>7100 N Hwy 161, <st1:place w:st="on"><st1:City
 w:st="on">Irving</st1:City>, <st1:State w:st="on">TX</st1:State></st1:place> -
75039</span></font><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=black face=Arial><span style='font-size:
8.0pt;font-family:Arial;color:black'>&quot;Las Colinas - LC2&quot;<o:p></o:p></span></font></p>

<p class=MsoNormal><i><font size=1 color=black face=Arial><span
style='font-size:8.0pt;font-family:Arial;color:black;font-style:italic'>Tel: +1
469 775 7849<o:p></o:p></span></font></i></p>

<p class=MsoNormal style='margin-bottom:12.0pt'><i><font size=1 color=black
face=Arial><span style='font-size:8.0pt;font-family:Arial;color:black;
font-style:italic'><a href="mailto:sebastc@microsoft.com">e-mail:
sebastc@microsoft.com</a></span></font></i><font color="#1f497d"><span
style='color:#1F497D'><o:p></o:p></span></font></p>

</div>

<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'><o:p>&nbsp;</o:p></span></font></p>

<div>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>

<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'> <st1:PersonName
w:st="on">Nadezhda Ivanova</st1:PersonName>
[mailto:nadezhda.ivanova@postpath.com] <br>
<b><span style='font-weight:bold'>Sent:</span></b> Monday, August 10, 2009 4:48
AM<br>
<b><span style='font-weight:bold'>To:</span></b> Edgar Olougouna<br>
<b><span style='font-weight:bold'>Cc:</span></b> <st1:PersonName w:st="on">pfif@tridgell.net</st1:PersonName>;
<st1:PersonName w:st="on">cifs-protocol@samba.org</st1:PersonName><br>
<b><span style='font-weight:bold'>Subject:</span></b> RE: Information needed
about security token default ACL<o:p></o:p></span></font></p>

</div>

</div>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Hi Edgar,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>What about replacement of SID placeholders
such as CREATOR_OWNER and PRINCIPAL_SELF in a defaultSecurityDescriptor? These
are actually replaced with the SID of the authenticated user and the SID of the
new security principal, respectively. So some processing of the default occurs
during object creation in AD. I apologize for being so picky, but I think we
should clear all such issues. My initial question of what parameter we use to
pass defaultSecurityDescriptor has been answered. Now it would appear that we
also may need to pass some routine for pre-processing it (replacing holders for
example). Is this the case?<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Regards,<o:p></o:p></span></font></p>

<p class=MsoNormal><st1:PersonName w:st="on"><font size=2 color=navy
 face=Arial><span style='font-size:10.0pt;font-family:Arial;color:navy'>Nadezhda
 Ivanova</span></font></st1:PersonName><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt;font-family:"Times New Roman"'>

<hr size=2 width="100%" align=center>

</span></font></div>

<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'> Edgar Olougouna
[mailto:edgaro@microsoft.com] <br>
<b><span style='font-weight:bold'>Sent:</span></b> Saturday, August 08, 2009
12:18 AM<br>
<b><span style='font-weight:bold'>To:</span></b> <st1:PersonName w:st="on">Nadezhda
 Ivanova</st1:PersonName><br>
<b><span style='font-weight:bold'>Cc:</span></b> <st1:PersonName w:st="on">pfif@tridgell.net</st1:PersonName>;
<st1:PersonName w:st="on">cifs-protocol@samba.org</st1:PersonName><br>
<b><span style='font-weight:bold'>Subject:</span></b> RE: Information needed
about security token default ACL</span></font><font size=3
face="Times New Roman"><span style='font-size:12.0pt;font-family:"Times New Roman"'><o:p></o:p></span></font></p>

</div>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>Hi Nadezhda,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>After
further review, it has been determined that the defaultSecurityDescriptor
should be used as it is in a scenario where its usage is permissible. <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>I have
prepared a set of questions and answers to explain how we address the issues
you rose.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>Questions
and answers<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>==================<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>Question: <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>Will the
issue of DEFAULT_DESCRIPTOR_FOR_OBJECT usage be clarified in the updated
MS-ADTS?<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>Answer:<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>The proposed
procedure in this communication covers inheritable ACEs in general, i.e.
object-specific inheritable ACEs and generic inheritable ACEs.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>Your
previous feedback related to the DEFAULT_DESCRIPTOR_FOR_OBJECT was based on the
assumption that the defaultSecurityDescriptor is passed as CreatorDescriptor
argument in ComputeACL algorithm, which is not the case as we clarify in the
revised procedure. <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>Question: <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>When can we
expect the document update to be available?<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>Answer:<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>The product
team is working to update the MS-ADTS document to reflect the defaulting rules
related to defaultSecurityDescriptor when assigning security descriptors to AD
objects. The changes will be available in a future version of the document.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face="Times New Roman"><span style='font-size:
11.0pt;font-family:"Times New Roman"'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face="Times New Roman"><span style='font-size:
11.0pt;font-family:"Times New Roman"'>Question:<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face="Times New Roman"><span style='font-size:
11.0pt;font-family:"Times New Roman"'>In Windows 2008 Active Directory, why the
security descriptor of a domain-dns object is identical to the
defaultSecurityDescriptor of its classSchema object?<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>Answer:<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>The example
of a root of a NC is illustrative of a usage of defaultSecurityDescriptor.
However it is also an exception case and the security descriptor of the root of
a NC does not include any inherited ACEs. Active directory objects have some
specific requirements as detailed in [MS-ADTS] 7.1.3 Security Descriptor
Requirements </span></font><a
href="http://msdn.microsoft.com/en-us/library/cc223731(PROT.13).aspx"><font
face="Times New Roman"><span style='font-family:"Times New Roman"'>http://msdn.microsoft.com/en-us/library/cc223731(PROT.13).aspx</span></font></a><font
color="#1f497d" face="Times New Roman"><span style='font-family:"Times New Roman";
color:#1F497D'>.</span></font><font color=black face="Times New Roman"><span
style='font-family:"Times New Roman";color:black'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>Question:<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>I had a look
at defaultSecurityDescriptor attributes in some classSchema objects. There is
no ACE-flag set on them. Does this means the ACEs would not be inherited? <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>Answer:<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>This is not
an issue since we now use the defaultSecurityDescriptor when the scenario
requires, instead of calling the ComputeInheritedACLFromParent method with the
ACEs extracted from defaultSecurityDescriptor.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>Question:<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>If we must
call ComputeInheritedACLFromParent with ACEs from defaultSecurityDescriptor as
ParentACL, does that mean that CreateSecurityDescriptor must have another
argument to allow passing of the defaultSecurityDescriptor?<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>Answer:<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>Even though
ComputeInheritedACLFromParent is not being called anymore,
defaultSecurityDescriptor will be an extra parameter that needs to be passed to
the CreateSecurityDescriptor method. <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>Question:<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>If the ACEs
cannot be inherited from defaultSecurityDescriptor, shouldn&#8217;t we just use
the ACEs from the defaultSecurityDescriptor as opposed to calling
ComputeInheritedACLFromParent with ACEs from defaultSecurityDescriptor as
ParentACL?<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>Answer:<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>This is the
correct approach, using the defaultSecurityDescriptor without calling ComputeInheritedACLFromParent.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>Revised
procedure<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:black'>==============<o:p></o:p></span></font></p>

<p class=MsoNormal><b><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D;font-weight:bold'><o:p>&nbsp;</o:p></span></font></b></p>

<p class=MsoNormal><b><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D;font-weight:bold'>Condition 1 : Parent
contains inheritable ACEs<o:p></o:p></span></font></b></p>

<p class=msolistparagraph><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'>Step 1. &nbsp;If the control flags on
the client allow inheritance then the inheritable ACEs from the parent form the
newly created object&#8217;s initial DACL and SACL <o:p></o:p></span></font></p>

<p class=msolistparagraph><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'>Step 2. &nbsp;If the control flags on
the client do not allow inheritance, set initial DACL and SACL to NULL<o:p></o:p></span></font></p>

<p class=msolistparagraph><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'>Step 3. &nbsp;If an explicit security
descriptor is provided by the client, that is merged with the initial DACL and
SACL.<o:p></o:p></span></font></p>

<p class=msolistparagraph><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'>Step 4. &nbsp;If an explicit security
descriptor is not provided by the client then the DACL and SACL from the
defaultSecurityDescriptor are merged with the initial DACL and SACL. <o:p></o:p></span></font></p>

<p class=msolistparagraph><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'><o:p>&nbsp;</o:p></span></font></p>

<p class=msolistparagraph><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'>In ComputeACL method [MS-DTYP] section
2.5.2.4 defaultSecurityDescriptor is used in the highlighted areas :<o:p></o:p></span></font></p>

<p class=msolistparagraph><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'><o:p>&nbsp;</o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>Set ComputedACL to NULL<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>Set ComputedControl to NULL<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>CALL ContainsInheritableACEs WITH ParentACL RETURNING
result<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>IF result = TRUE THEN<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp; // ParentACL contains inheritable ACEs<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; </span></font><font color=black><span
style='color:windowtext'>IF(CreatorACL is not present) OR<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;color:windowtext'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
((CreatorACL is present) AND<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;color:windowtext'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(AutoInheritFlags contains DEFAULT_DESCRIPTOR))<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;color:windowtext'>&nbsp;&nbsp;&nbsp; THEN<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;color:windowtext'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// Use only the inherited ACEs from the parent<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;color:windowtext'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CALL ComputeInheritedACLFromParent WITH<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;color:windowtext'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ParentACL, IsContainerObject, ObjectTypes<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;color:windowtext'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
RETURNING NextACL<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;color:windowtext'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CALL PostProcessACL WITH<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;color:windowtext'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;NextACL, Owner, Group, GenericMapping<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;color:windowtext'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
RETURNING FinalACL<o:p></o:p></span></font></p>

<p class=code0><font size=3 color=black face=Calibri><span style='font-size:
12.0pt;font-family:Calibri;color:windowtext'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span style='background:yellow'>Here the defaultSecurityDescriptor should be
merged with the FinalACL above. That will be the new resultant FinalACL</span><o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;color:windowtext'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set ComputedACL
to FinalACL</span></font><font size=1 color=black><span style='font-size:8.0pt;
color:windowtext'><o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;color:windowtext'>&nbsp;&nbsp;&nbsp; ENDIF<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; IF ((CreatorACL is present) AND<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (AutoInheritFlags does
not contain DEFAULT_DESCRIPTOR))<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; THEN<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CALL
PreProcessACLFromCreator WITH CreatorACL<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RETURNING
PreACL<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CALL
ComputeInheritedACLFromCreator WITH<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
PreACL, IsContainerObject, ObjectTypes<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RETURNING
TmpACL<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
IF((ComputeType = DACL_COMPUTE) AND<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(CreatorControl does not contain DACL_PROTECTED) AND<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(AutoInheritFlags contains DACL_AUTO_INHERIT flag))<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; THEN<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// Compute the inherited ACEs from the parent<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CALL ComputeInheritedACLFromParent WITH<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ParentACL, IsContainerObject, ObjectTypes<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
RETURNING ParentACL<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Append ParentACL.ACEs to TmpACL.ACEs<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Add DACL_AUTO_INHERITED to ComputedControl<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ELSE <o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
IF ((ComputeType = SACL_COMPUTE) AND<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(CreatorControl does not contain SACL_PROTECTED) AND<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(AutoInheritFlags contains SACL_AUTO_INHERIT flag))<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
THEN<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// Compute the inherited ACEs from the parent<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CALL ComputeInheritedACLFromParent WITH<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ParentACL,
IsContainerObject, ObjectTypes<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
RETURNING ParentACL<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Append ParentACL.ACEs to TmpACL.ACEs<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Add SACL_AUTO_INHERITED to ComputedControl<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ENDIF<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ENDIF<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; ENDIF<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=code0><font size=3 color=black face=Calibri><span style='font-size:
12.0pt;font-family:Calibri'>&nbsp;&nbsp;&nbsp; <span style='background:yellow'>If
(CREATORACL is absent)<o:p></o:p></span></span></font></p>

<p class=code0><font size=3 color=black face=Calibri><span style='font-size:
12.0pt;font-family:Calibri;background:yellow'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Here ACLs should be obtained from the parent and be merged with those from the
defaultSecurityDescriptor. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <o:p></o:p></span></font></p>

<p class=code0><font size=3 color=black face=Calibri><span style='font-size:
12.0pt;font-family:Calibri;background:yellow'>&nbsp;&nbsp;&nbsp; ENDIF</span></font><font
size=3 face=Calibri><span style='font-size:12.0pt;font-family:Calibri'><o:p></o:p></span></font></p>

<p class=code0><font size=1 color=black face="Courier New"><span
style='font-size:8.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; CALL PostProcessACL WITH<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TmpACL, Owner, Group,
GenericMapping</span></font><font size=2><span style='font-size:11.0pt'><o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; RETURNING ProcessedACL<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; Set ComputedACL to ProcessedACL<o:p></o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=code0><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>ELSE // ParentACL does not contain inheritable ACEs<o:p></o:p></span></font></p>

<p class=msolistparagraph><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'><o:p>&nbsp;</o:p></span></font></p>

<p class=msolistparagraph><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><b><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D;font-weight:bold'>Condition 2 : Parent
does not contain inheritable ACEs<o:p></o:p></span></font></b></p>

<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
If the parentACL does not contain inheritable ACEs and no explicit security
descriptor has been provided for the newly created object then check to see if a
defaultSecurityDescriptor for the objectClass under consideration is present. <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
At this stage :<o:p></o:p></span></font></p>

<p class=code0 style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:10.0pt;font-family:Calibri;color:#548DD4'>ELSE
// ParentACL does not contain inheritable ACEs<o:p></o:p></span></font></p>

<p class=code0 style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:10.0pt;font-family:Calibri;color:#548DD4'>IF
CreatorACL = NULL THEN<o:p></o:p></span></font></p>

<p class=code0 style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:10.0pt;font-family:Calibri;color:#548DD4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// No ACL supplied for the object<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;if the defaultSecurityDescriptor is present then that will form the newly
created object&#8217;s security descriptor.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'>In this case the security information in
the token need not be used. <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><b><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D;font-weight:bold'>Condition 3 : Parent
does not contain inheritable ACEs AND defaultSecurityDescriptor for the
particular object is absent<o:p></o:p></span></font></b></p>

<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'>If the defaultSecurityDescriptor of the
particular objectClass under consideration is <b><span style='font-weight:bold'>absent</span></b>
then make use of Token as described in the ComputeACL method.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'><o:p>&nbsp;</o:p></span></font></p>

<p class=code0 style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:10.0pt;font-family:Calibri;color:#548DD4'>ELSE
// ParentACL does not contain inheritable ACEs<o:p></o:p></span></font></p>

<p class=code0 style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:10.0pt;font-family:Calibri;color:#548DD4'>IF
CreatorACL = NULL THEN<o:p></o:p></span></font></p>

<p class=code0 style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:10.0pt;font-family:Calibri;color:#548DD4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// No ACL supplied for the object<o:p></o:p></span></font></p>

<p class=code0 style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:10.0pt;font-family:Calibri;color:#548DD4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
IF (ComputeType = DACL_COMPUTE) THEN<o:p></o:p></span></font></p>

<p class=code0 style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:10.0pt;font-family:Calibri;color:#548DD4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Set ComputedACL to Token.DefaultDACL<o:p></o:p></span></font></p>

<p class=code0 style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:10.0pt;font-family:Calibri;color:#548DD4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ELSE<o:p></o:p></span></font></p>

<p class=code0 style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:10.0pt;font-family:Calibri;color:#548DD4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// No default for SACL; left as NULL<o:p></o:p></span></font></p>

<p class=code0 style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:10.0pt;font-family:Calibri;color:#548DD4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ENDIF<o:p></o:p></span></font></p>

<p class=code0 style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:10.0pt;font-family:Calibri;color:#548DD4'><o:p>&nbsp;</o:p></span></font></p>

<p class=code0 style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:10.0pt;font-family:Calibri;color:#548DD4'>&nbsp;&nbsp;&nbsp;
ELSE<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color="#1f497d" face="Times New Roman"><span
style='font-size:11.0pt;font-family:"Times New Roman";color:#1F497D'>Let me
know if you require further assistance on this topic.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'>Best regards,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='margin-bottom:12.0pt'><font size=2 color="#1f497d"
face=Cambria><span style='font-size:11.0pt;font-family:Cambria;color:#1F497D'>Edgar</span></font><font
color="#1f497d"><span style='color:#1F497D'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'><o:p>&nbsp;</o:p></span></font></p>

<div>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>

<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'> <st1:PersonName
w:st="on">Nadezhda Ivanova</st1:PersonName>
[mailto:nadezhda.ivanova@postpath.com] <br>
<b><span style='font-weight:bold'>Sent:</span></b> Thursday, August 06, 2009
10:38 AM<br>
<b><span style='font-weight:bold'>To:</span></b> Edgar Olougouna<br>
<b><span style='font-weight:bold'>Cc:</span></b> <st1:PersonName w:st="on">pfif@tridgell.net</st1:PersonName>;
<st1:PersonName w:st="on">cifs-protocol@samba.org</st1:PersonName><br>
<b><span style='font-weight:bold'>Subject:</span></b> RE: Information needed
about security token default ACL<o:p></o:p></span></font></p>

</div>

</div>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Hi Edgar,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>So, if we must call ComputeInheritedACLFromParent with
defaultSecurityDescriptor as parent, does that mean that
CreateSecurityDescriptor must have another argument to allow passing of the defaultSecurityDescriptor?
And I suppose the issue of DEFAULT_DESCRIPTOR_FOR_OBJECT usage will be
clarified in the updated MS-ADTS? When can we expect this update to be
available?<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Also, there is something I do not understand in your answer.
ComputeInheritedACLFromParent returns only the list of ACEs from the input ACL
that are inheritable, i.e have CI ot OI flag set &#8211; see the algorithm in
MS-DTYP, its pretty straightforward. &nbsp;IT only concatenates inheritable
ACE&#8217;s. So, if we pass defaultSecurityDescriptor to
ComputeInheritedACLFromParent, we will only get the inheritable ACE&#8217;s
from defaultSecurityDescriptor. That is not the case, however, as I have
established experimentally. <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>For example, lets take the security descriptor of a
domain-dns object in Win 2008. It has no parent as it is an NC, its descriptor
looks like this:<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;1131f6aa-9c07-11d1-f79f-00c04fc2dcd2;;S-1-5-21-3191434175-1265308384-3577286990-498)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(A;;RP;;;WD)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;1131f6aa-9c07-11d1-f79f-00c04fc2dcd2;;ED)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;1131f6ab-9c07-11d1-f79f-00c04fc2dcd2;;ED)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;1131f6ac-9c07-11d1-f79f-00c04fc2dcd2;;ED)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;1131f6aa-9c07-11d1-f79f-00c04fc2dcd2;;BA)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;1131f6ab-9c07-11d1-f79f-00c04fc2dcd2;;BA)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;1131f6ac-9c07-11d1-f79f-00c04fc2dcd2;;BA)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(A;;RPLCLORC;;;AU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(A;;RPWPCRLCLOCCRCWDWOSW;;;DA)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(A;CI;RPWPCRLCLOCCRCWDWOSDSW;;;BA)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(A;;RPWPCRLCLOCCDCRCWDWOSDDTSW;;;SY)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(A;CI;RPWPCRLCLOCCDCRCWDWOSDDTSW;;;EA)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(A;CI;LC;;;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RP;037088f8-0ae1-11d2-b422-00a0c968f939;bf967aba-0de6-11d0-a285-00aa003049e2;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RP;59ba2f42-79a2-11d0-9020-00c04fc2d3cf;bf967aba-0de6-11d0-a285-00aa003049e2;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RP;bc0ac240-79a9-11d0-9020-00c04fc2d4cf;bf967aba-0de6-11d0-a285-00aa003049e2;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RP;4c164200-20c0-11d0-a768-00aa006e0529;bf967aba-0de6-11d0-a285-00aa003049e2;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RP;5f202010-79a5-11d0-9020-00c04fc2d4cf;bf967aba-0de6-11d0-a285-00aa003049e2;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;RP;c7407360-20bf-11d0-a768-00aa006e0529;;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RPLCLORC;;bf967a9c-0de6-11d0-a285-00aa003049e2;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(A;;RPRC;;;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RPLCLORC;;bf967aba-0de6-11d0-a285-00aa003049e2;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(A;;LCRPLORC;;;ED)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RP;037088f8-0ae1-11d2-b422-00a0c968f939;4828CC14-1437-45bc-9B07-AD6F015E5F28;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RP;59ba2f42-79a2-11d0-9020-00c04fc2d3cf;4828CC14-1437-45bc-9B07-AD6F015E5F28;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RP;bc0ac240-79a9-11d0-9020-00c04fc2d4cf;4828CC14-1437-45bc-9B07-AD6F015E5F28;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RP;4c164200-20c0-11d0-a768-00aa006e0529;4828CC14-1437-45bc-9B07-AD6F015E5F28;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RP;5f202010-79a5-11d0-9020-00c04fc2d4cf;4828CC14-1437-45bc-9B07-AD6F015E5F28;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RPLCLORC;;4828CC14-1437-45bc-9B07-AD6F015E5F28;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;RP;b8119fd0-04f6-4762-ab7a-4986c76b3f9a;;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;RP;b8119fd0-04f6-4762-ab7a-4986c76b3f9a;;AU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RP;b7c69e6d-2cc7-11d2-854e-00a0c983f608;bf967aba-0de6-11d0-a285-00aa003049e2;ED)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RP;b7c69e6d-2cc7-11d2-854e-00a0c983f608;bf967a9c-0de6-11d0-a285-00aa003049e2;ED)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RP;b7c69e6d-2cc7-11d2-854e-00a0c983f608;bf967a86-0de6-11d0-a285-00aa003049e2;ED)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;1131f6ad-9c07-11d1-f79f-00c04fc2dcd2;;DD)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;89e95b76-444d-4c62-991a-0facbeda640c;;ED)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;1131f6ad-9c07-11d1-f79f-00c04fc2dcd2;;BA)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;89e95b76-444d-4c62-991a-0facbeda640c;;BA)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;e2a36dc9-ae17-47c3-b58b-be34c55ba633;;S-1-5-32-557)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;280f369c-67c7-438e-ae98-1d46f3c6f541;;AU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;ccc2dc7d-a6ad-4a7a-8846-c04e3cc53501;;AU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;05c74c5e-4deb-43b4-bd9f-86664c2a7fd5;;AU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;1131f6ae-9c07-11d1-f79f-00c04fc2dcd2;;ED)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;1131f6ae-9c07-11d1-f79f-00c04fc2dcd2;;BA)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;CRRPWP;91e647de-d96f-4b70-9557-d63ff4f3ccd8;;PS)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=FR style='font-size:10.0pt;
font-family:Arial'>S:(AU;SA;WDWOWP;;;WD)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=FR style='font-size:10.0pt;
font-family:Arial'>(AU;SA;CR;;;BA)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=FR style='font-size:10.0pt;
font-family:Arial'>(AU;SA;CR;;;DU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=FR style='font-size:10.0pt;
font-family:Arial'>(OU;CISA;WP;f30e3bbe-9ff0-11d1-b603-0000f80367c1;bf967aa5-0de6-11d0-a285-00aa003049e2;WD)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=FR style='font-size:10.0pt;
font-family:Arial'>(OU;CISA;WP;f30e3bbf-9ff0-11d1-b603-0000f80367c1;bf967aa5-0de6-11d0-a285-00aa003049e2;WD)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=FR style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>And the defaultSecurityDescriptor of domain-DNS class is:<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;1131f6aa-9c07-11d1-f79f-00c04fc2dcd2;;S-1-5-21-3191434175-1265308384-3577286990-498)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(A;;RP;;;WD)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;1131f6aa-9c07-11d1-f79f-00c04fc2dcd2;;ED)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;1131f6ab-9c07-11d1-f79f-00c04fc2dcd2;;ED)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;1131f6ac-9c07-11d1-f79f-00c04fc2dcd2;;ED)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;1131f6aa-9c07-11d1-f79f-00c04fc2dcd2;;BA)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;1131f6ab-9c07-11d1-f79f-00c04fc2dcd2;;BA)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;1131f6ac-9c07-11d1-f79f-00c04fc2dcd2;;BA)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(A;;RPLCLORC;;;AU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(A;;RPWPCRLCLOCCRCWDWOSW;;;DA)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(A;CI;RPWPCRLCLOCCRCWDWOSDSW;;;BA)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(A;;RPWPCRLCLOCCDCRCWDWOSDDTSW;;;SY)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(A;CI;RPWPCRLCLOCCDCRCWDWOSDDTSW;;;EA)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(A;CI;LC;;;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RP;037088f8-0ae1-11d2-b422-00a0c968f939;bf967aba-0de6-11d0-a285-00aa003049e2;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RP;59ba2f42-79a2-11d0-9020-00c04fc2d3cf;bf967aba-0de6-11d0-a285-00aa003049e2;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RP;bc0ac240-79a9-11d0-9020-00c04fc2d4cf;bf967aba-0de6-11d0-a285-00aa003049e2;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RP;4c164200-20c0-11d0-a768-00aa006e0529;bf967aba-0de6-11d0-a285-00aa003049e2;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RP;5f202010-79a5-11d0-9020-00c04fc2d4cf;bf967aba-0de6-11d0-a285-00aa003049e2;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;RP;c7407360-20bf-11d0-a768-00aa006e0529;;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RPLCLORC;;bf967a9c-0de6-11d0-a285-00aa003049e2;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(A;;RPRC;;;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RPLCLORC;;bf967aba-0de6-11d0-a285-00aa003049e2;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(A;;LCRPLORC;;;ED)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RP;037088f8-0ae1-11d2-b422-00a0c968f939;4828CC14-1437-45bc-9B07-AD6F015E5F28;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RP;59ba2f42-79a2-11d0-9020-00c04fc2d3cf;4828CC14-1437-45bc-9B07-AD6F015E5F28;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RP;bc0ac240-79a9-11d0-9020-00c04fc2d4cf;4828CC14-1437-45bc-9B07-AD6F015E5F28;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RP;4c164200-20c0-11d0-a768-00aa006e0529;4828CC14-1437-45bc-9B07-AD6F015E5F28;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RP;5f202010-79a5-11d0-9020-00c04fc2d4cf;4828CC14-1437-45bc-9B07-AD6F015E5F28;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RPLCLORC;;4828CC14-1437-45bc-9B07-AD6F015E5F28;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;RP;b8119fd0-04f6-4762-ab7a-4986c76b3f9a;;RU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;RP;b8119fd0-04f6-4762-ab7a-4986c76b3f9a;;AU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RP;b7c69e6d-2cc7-11d2-854e-00a0c983f608;bf967aba-0de6-11d0-a285-00aa003049e2;ED)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RP;b7c69e6d-2cc7-11d2-854e-00a0c983f608;bf967a9c-0de6-11d0-a285-00aa003049e2;ED)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;RP;b7c69e6d-2cc7-11d2-854e-00a0c983f608;bf967a86-0de6-11d0-a285-00aa003049e2;ED)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;1131f6ad-9c07-11d1-f79f-00c04fc2dcd2;;DD)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;89e95b76-444d-4c62-991a-0facbeda640c;;ED)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;1131f6ad-9c07-11d1-f79f-00c04fc2dcd2;;BA)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;89e95b76-444d-4c62-991a-0facbeda640c;;BA)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;e2a36dc9-ae17-47c3-b58b-be34c55ba633;;S-1-5-32-557)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;280f369c-67c7-438e-ae98-1d46f3c6f541;;AU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;ccc2dc7d-a6ad-4a7a-8846-c04e3cc53501;;AU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;05c74c5e-4deb-43b4-bd9f-86664c2a7fd5;;AU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;1131f6ae-9c07-11d1-f79f-00c04fc2dcd2;;ED)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;;CR;1131f6ae-9c07-11d1-f79f-00c04fc2dcd2;;BA)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OA;CIIO;CRRPWP;91e647de-d96f-4b70-9557-d63ff4f3ccd8;;PS)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=FR style='font-size:10.0pt;
font-family:Arial'>S:(AU;SA;WDWOWP;;;WD)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=FR style='font-size:10.0pt;
font-family:Arial'>(AU;SA;CR;;;BA)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=FR style='font-size:10.0pt;
font-family:Arial'>(AU;SA;CR;;;DU)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=FR style='font-size:10.0pt;
font-family:Arial'>(OU;CISA;WP;f30e3bbe-9ff0-11d1-b603-0000f80367c1;bf967aa5-0de6-11d0-a285-00aa003049e2;WD)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(OU;CISA;WP;f30e3bbf-9ff0-11d1-b603-0000f80367c1;bf967aa5-0de6-11d0-a285-00aa003049e2;WD)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>They are absolutely identical, and both contain
non-inheritable ace&#8217;s which would not be in the domain object&#8217;s
descriptor &nbsp;if the defaultSecurityDescriptor was processed by
ComputeInheritableFromParent, as you write. It could be that the algorithm is
not correct, I am still waiting for an update from Obaid on an issue about
that. I am sorry but it does not make sense to me&#8230;.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Regards,<o:p></o:p></span></font></p>

<p class=MsoNormal><st1:PersonName w:st="on"><font size=2 face=Arial><span
 style='font-size:10.0pt;font-family:Arial'>Nadezhda Ivanova</span></font></st1:PersonName><o:p></o:p></p>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=3 face=Arial><span style='font-size:12.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=3 face=Arial><span style='font-size:12.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt;font-family:"Times New Roman"'>

<hr size=2 width="100%" align=center>

</span></font></div>

<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'> Edgar Olougouna
[mailto:edgaro@microsoft.com] <br>
<b><span style='font-weight:bold'>Sent:</span></b> Thursday, August 06, 2009
5:47 <st1:PersonName w:st="on">PM</st1:PersonName><br>
<b><span style='font-weight:bold'>To:</span></b> <st1:PersonName w:st="on">Nadezhda
 Ivanova</st1:PersonName><br>
<b><span style='font-weight:bold'>Cc:</span></b> '<st1:PersonName w:st="on">pfif@tridgell.net</st1:PersonName>';
'<st1:PersonName w:st="on">cifs-protocol@samba.org</st1:PersonName>'<br>
<b><span style='font-weight:bold'>Subject:</span></b> RE: Information needed
about security token default ACL</span></font><font size=3
face="Times New Roman"><span style='font-size:12.0pt;font-family:"Times New Roman"'><o:p></o:p></span></font></p>

</div>

<p class=MsoNormal><font size=2 face=Calibri><span style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>Hi
Nadezhda,<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>We
have completed investigation of your request. The MS-ADTS document will be
updated to address defaulting rules related to defaultSecurityDescriptor when
assigning security descriptors to AD objects. Our revised response for your
inquiry is as follows. <o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><b><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D;font-weight:bold'>Condition 1 : Parent
contains inheritable ACEs<o:p></o:p></span></font></b></p>

<p class=msolistparagraph><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'>Step 1. &nbsp;If the control flags on
the client allow inheritance then the inheritable ACEs from the parent form the
newly created object&#8217;s initial DACL and SACL <o:p></o:p></span></font></p>

<p class=msolistparagraph><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'>Step 2. &nbsp;If the control flags on
the client do not allow inheritance &nbsp;set initial DACL and SACL to NULL<o:p></o:p></span></font></p>

<p class=msolistparagraph><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'>Step 3. &nbsp;If an explicit security
descriptor is provided by the client, that is merged with the initial DACL and
SACL.<o:p></o:p></span></font></p>

<p class=msolistparagraph><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'>Step 4. &nbsp;If an explicit security
descriptor is not provided by the client then the DACL and SACL from the
defaultSecurityDescriptor are merged with the initial DACL and SACL. Method
ComputeInheritedACLFromParent [MS-DTYP] section 2.5.2.6 should be called
passing DACL and SACL from the defaultSecurityDescriptor as the parameters. <o:p></o:p></span></font></p>

<p class=msolistparagraph><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'><o:p>&nbsp;</o:p></span></font></p>

<p class=msolistparagraph><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'>In ComputeACL method [MS-DTYP] section
2.5.2.4 a call to ComputeInheritedACLFromParent should to be made in the
highlighted area :<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>Set ComputedACL to NULL<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>Set ComputedControl to NULL<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>CALL ContainsInheritableACEs WITH ParentACL RETURNING
result<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>IF result = TRUE THEN<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp; // ParentACL contains inheritable ACEs<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp; </span></font><font color=black><span
style='color:windowtext'>IF(CreatorACL is not present) OR<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt;color:windowtext'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
((CreatorACL is present) AND<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt;color:windowtext'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(AutoInheritFlags contains DEFAULT_DESCRIPTOR))<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt;color:windowtext'>&nbsp;&nbsp;&nbsp; THEN<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt;color:windowtext'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// Use only the inherited ACEs from the parent<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt;color:windowtext'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CALL ComputeInheritedACLFromParent WITH<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt;color:windowtext'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ParentACL, IsContainerObject, ObjectTypes<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt;color:windowtext'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
RETURNING NextACL<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt;color:windowtext'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CALL PostProcessACL WITH<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt;color:windowtext'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;NextACL, Owner, Group, GenericMapping<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt;color:windowtext'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
RETURNING FinalACL<o:p></o:p></span></font></p>

<p class=code><font size=3 color=black face=Calibri><span style='font-size:
12.0pt;font-family:Calibri;color:windowtext'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span style='background:yellow'>Here ComputeInheritedACLFromParent should be
called passing defaultSecurityDescriptor. The ACLs obtained via this call
should be merged with the FinalACL above. That will be the new resultant
FinalACL</span><o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt;color:windowtext'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set
ComputedACL to FinalACL</span></font><font size=1 color=black><span
style='font-size:8.0pt;color:windowtext'><o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt;color:windowtext'>&nbsp;&nbsp;&nbsp; ENDIF<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp; IF ((CreatorACL is present) AND<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (AutoInheritFlags does
not contain DEFAULT_DESCRIPTOR))<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp; THEN<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CALL
PreProcessACLFromCreator WITH CreatorACL<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RETURNING
PreACL<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CALL
ComputeInheritedACLFromCreator WITH<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
PreACL, IsContainerObject, ObjectTypes<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RETURNING
TmpACL<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
IF((ComputeType = DACL_COMPUTE) AND<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(CreatorControl does not contain DACL_PROTECTED) AND<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(AutoInheritFlags contains DACL_AUTO_INHERIT flag))<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; THEN<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// Compute the inherited ACEs from the parent<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CALL ComputeInheritedACLFromParent WITH<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ParentACL, IsContainerObject, ObjectTypes<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
RETURNING ParentACL<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Append ParentACL.ACEs to TmpACL.ACEs<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Add DACL_AUTO_INHERITED to ComputedControl<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ELSE <o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
IF ((ComputeType = SACL_COMPUTE) AND<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(CreatorControl does not contain SACL_PROTECTED) AND<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(AutoInheritFlags contains SACL_AUTO_INHERIT flag))<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
THEN<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// Compute the inherited ACEs from the parent<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CALL ComputeInheritedACLFromParent WITH<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ParentACL,
IsContainerObject, ObjectTypes<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
RETURNING ParentACL<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Append ParentACL.ACEs to TmpACL.ACEs<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Add SACL_AUTO_INHERITED to ComputedControl<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ENDIF<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ENDIF<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp; ENDIF<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=code><font size=3 color=black face=Calibri><span style='font-size:
12.0pt;font-family:Calibri'>&nbsp;&nbsp;&nbsp; <span style='background:yellow'>If
(CREATORACL is absent)<o:p></o:p></span></span></font></p>

<p class=code><font size=3 color=black face=Calibri><span style='font-size:
12.0pt;font-family:Calibri;background:yellow'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Here ACLs should be obtained from the parent and be merged with those from the
defaultSecurityDescriptor. Both via calls to
ComputeInheritedACLFromParent.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <o:p></o:p></span></font></p>

<p class=code><font size=3 color=black face=Calibri><span style='font-size:
12.0pt;font-family:Calibri;background:yellow'>&nbsp;&nbsp;&nbsp; ENDIF</span></font><font
size=3 face=Calibri><span style='font-size:12.0pt;font-family:Calibri'><o:p></o:p></span></font></p>

<p class=code><font size=1 color=black face="Courier New"><span
style='font-size:8.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp; CALL PostProcessACL WITH<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TmpACL, Owner, Group,
GenericMapping<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp; RETURNING ProcessedACL<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>&nbsp;&nbsp;&nbsp; Set ComputedACL to ProcessedACL<o:p></o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=code><font size=2 color=black face="Courier New"><span
style='font-size:11.0pt'>ELSE // ParentACL does not contain inheritable ACEs<o:p></o:p></span></font></p>

<p class=msolistparagraph><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'><o:p>&nbsp;</o:p></span></font></p>

<p class=msolistparagraph><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><b><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D;font-weight:bold'>Condition 2 : Parent
does not contain inheritable ACEs<o:p></o:p></span></font></b></p>

<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
If the parentACL does not contain inheritable ACEs then check to see if a
defaultSecurityDescriptor for the objectClass under consideration is present. <o:p></o:p></span></font></p>

<p class=MsoNormal style='text-indent:.5in'><font size=2 color="#1f497d"
face=Calibri><span style='font-size:11.0pt;color:#1F497D'>If
defaultSecurityDescriptor is <b><span style='font-weight:bold'>present</span></b>
then call ComputeInheritedACLFromParent by passing (<b><span style='font-weight:
bold'>ACL from defaultSecurityDescriptor</span></b>) in place of <b><span
style='font-weight:bold'>ParentACL</span></b>. That is the following part in
the ComputeACL method [MS-DTYP] section 2.5.2.4.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'><o:p>&nbsp;</o:p></span></font></p>

<p class=code style='margin-left:.5in'><font size=2 color="#548dd4"
face="Courier New"><span style='font-size:11.0pt;color:#548DD4'>&nbsp; </span></font><font
color="#548dd4" face=Calibri><span style='font-family:Calibri;color:#548DD4'>CALL
ComputeInheritedACLFromParent WITH<o:p></o:p></span></font></p>

<p class=code style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:11.0pt;font-family:Calibri;color:#548DD4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<b><span style='font-weight:bold'>ParentACL</span></b>, IsContainerObject,
ObjectTypes<o:p></o:p></span></font></p>

<p class=code style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:11.0pt;font-family:Calibri;color:#548DD4'>&nbsp;&nbsp;&nbsp;&nbsp;
RETURNING NextACL<o:p></o:p></span></font></p>

<p class=code style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:11.0pt;font-family:Calibri;color:#548DD4'>&nbsp;&nbsp;&nbsp;&nbsp;
CALL PostProcessACL WITH<o:p></o:p></span></font></p>

<p class=code style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:11.0pt;font-family:Calibri;color:#548DD4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NextACL, Owner, Group, GenericMapping<o:p></o:p></span></font></p>

<p class=code style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:11.0pt;font-family:Calibri;color:#548DD4'>&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;RETURNING FinalACL<o:p></o:p></span></font></p>

<p class=code style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:11.0pt;font-family:Calibri;color:#548DD4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Set ComputedACL to FinalACL<o:p></o:p></span></font></p>

<p class=code><font size=2 color="#548dd4" face=Calibri><span style='font-size:
11.0pt;font-family:Calibri;color:#548DD4'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'>In this case the security information in
the token need not be used. <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><b><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D;font-weight:bold'>Condition 3 : Parent
does not contain inheritable ACEs AND defaultSecurityDescriptor for the
particular object is absent<o:p></o:p></span></font></b></p>

<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'>If the defaultSecurityDescriptor of the
particular objectClass under consideration is <b><span style='font-weight:bold'>absent</span></b>
then make use of Token as described in the ComputeACL method.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;color:#1F497D'><o:p>&nbsp;</o:p></span></font></p>

<p class=code style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:11.0pt;font-family:Calibri;color:#548DD4'>ELSE
// ParentACL does not contain inheritable ACEs<o:p></o:p></span></font></p>

<p class=code style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:11.0pt;font-family:Calibri;color:#548DD4'>IF
CreatorACL = NULL THEN<o:p></o:p></span></font></p>

<p class=code style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:11.0pt;font-family:Calibri;color:#548DD4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// No ACL supplied for the object<o:p></o:p></span></font></p>

<p class=code style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:11.0pt;font-family:Calibri;color:#548DD4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
IF (ComputeType = DACL_COMPUTE) THEN<o:p></o:p></span></font></p>

<p class=code style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:11.0pt;font-family:Calibri;color:#548DD4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Set ComputedACL to Token.DefaultDACL<o:p></o:p></span></font></p>

<p class=code style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:11.0pt;font-family:Calibri;color:#548DD4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ELSE<o:p></o:p></span></font></p>

<p class=code style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:11.0pt;font-family:Calibri;color:#548DD4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// No default for SACL; left as NULL<o:p></o:p></span></font></p>

<p class=code style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:11.0pt;font-family:Calibri;color:#548DD4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ENDIF<o:p></o:p></span></font></p>

<p class=code style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:11.0pt;font-family:Calibri;color:#548DD4'><o:p>&nbsp;</o:p></span></font></p>

<p class=code style='margin-left:.5in'><font size=2 color="#548dd4"
face=Calibri><span style='font-size:11.0pt;font-family:Calibri;color:#548DD4'>&nbsp;&nbsp;&nbsp;
ELSE<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>Let
us know if you need further assistance on this topic. <o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>Best
regards,<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>Edgar<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>-----Original
Message-----<br>
From: <st1:PersonName w:st="on">Nadezhda Ivanova</st1:PersonName>
[mailto:nadezhda.ivanova@postpath.com] <br>
Sent: Friday, July 31, 2009 6:53 AM<br>
To: Edgar Olougouna<br>
Cc: <st1:PersonName w:st="on">pfif@tridgell.net</st1:PersonName>; <st1:PersonName
w:st="on">cifs-protocol@samba.org</st1:PersonName><br>
Subject: RE: Information needed about security token default ACL<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>Hi
Edgar,<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>Thank
you for your explanation. It answered a lot of questions, but also raised some
more, see below:<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
-----Original Message-----<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
From: Edgar Olougouna [mailto:edgaro@microsoft.com]<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
Sent: Thursday, July 30, 2009 5:37 <st1:PersonName w:st="on">PM</st1:PersonName><o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
To: <st1:PersonName w:st="on">Nadezhda Ivanova</st1:PersonName><o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
Cc: '<st1:PersonName w:st="on">pfif@tridgell.net</st1:PersonName>'; '<st1:PersonName
w:st="on">cifs-protocol@samba.org</st1:PersonName>'<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
Subject: RE: Information needed about security token default ACL<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
Hi Nadezhda,<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
This response relates to the portion of your inquiry regarding the<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
CreateSecurityDescriptor algorithm. I hope the following information will<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
clarify how CreatorDescriptor and defaultSecuritiDescriptor relate to the<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
CreateSecurityDescriptor procedure.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
The CreatorDescriptor (optional) is a security descriptor explicitly<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
provided by the creator of the object. The creator of the object is the<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
subject that is creating the object. A subject is a thread executing in<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
the security context provided by an access token.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
[MS-ADTS] Section 7 provides additional information that may help on your<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
topic. Section &quot;7.1.3 Security Descriptor Requirements&quot; details the<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
parameters used by the CreateSecurityDescriptor algorithm to compute the<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
resultant security descriptor value of an AD object, for instance<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
AutoInheritFlags: DACL_AUTO_INHERIT | SACL_AUTO_INHERIT.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
Note these key points when an ACL is built for an AD object compared to<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
other types of objects:<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Generic inheritable ACEs apply to all
types of child objects.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
Object-specific inheritable ACEs apply only to a specific type of child<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
object.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If there is no supplied security
descriptor, no parent-inheritable<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
ACEs, the operating system uses the ACL from the defaultSecurityDescriptor<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
in the classSchema object.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
Based on the CreateSecurityDescriptor procedure from [MS-DTYP] 2.5.2.3,<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
you can apply the following rules to ACL assignment for a new AD object:<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
If an explicit security descriptor (CreatorDescriptor) is provided by the<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
client, then that forms the object's initial DACL and SACL. If the<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
client's controls allow inheritance then the inheritable ACEs from the<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
parent are merged into the object's initial DACL and SACL.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
If the client does not provide an explicit security descriptor then the<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
inheritable ACEs from the parent are merged into the new object's DACL and<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
SACL. For details please refer to [MS-DTYP] section 2.5.2.4 ComputeACL<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
method. If the parent contains object-specific inheritable ACEs then the<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
defaultSecurityDescriptor is not used during the security descriptor<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
creation process for the newly added object.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>[<st1:PersonName
w:st="on">Nadezhda Ivanova</st1:PersonName>]<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>Above
you state that defaultSecurityDescriptor is used if there are NO&nbsp;
inheritable ACE's, here you say it's used if there are no Object-Specific
Inheritable ACE's... If there are non-object specific inheritable ACE's , do we
merge them in with the ace's from the defaultSecurityDescriptor?<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
If the parent does not contain object-specific inheritable ACEs then the<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
defaultSecurityDescriptor from the Active Directory schema for the object<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
type is used. Following the definition of method ComputeACL in [MS-DTYP]<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
2.5.2.4, method ComputeInheritedACLFromParent [MS-DTYP] section 2.5.2.6<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
can be called by passing ACLs from the defaultSecurityDescriptor as the<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
parameters.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>[<st1:PersonName
w:st="on">Nadezhda Ivanova</st1:PersonName>]<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>I
need clarification here. By definition ComputeInheritedACLFromParent accepts
the Parent's descriptor and returns the set of ACE's to be inherited by the new
object. How exactly do you use it with defaultSecurityDescriptor's ACE?<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>I
assume you mean the following part of computeACL:<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>IF
result = TRUE<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
THEN // ParentACL contains inheritable ACEs<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
IF(CreatorACL is not present) OR ((CreatorACL is
present)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
AND(AutoInheritFlags contains DEFAULT_DESCRIPTOR))<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;THEN // Use only the inherited ACEs from the
parent<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CALL ComputeInheritedACLFromParent WITH
ParentACL,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
IsContainerObject, ObjectTypes<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
RETURNING NextACL<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CALL PostProcessACL WITH NextACL, Owner, Group, GenericMapping&nbsp; RETURNING
FinalACL<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Set ComputedACL to FinalACL<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ENDIF<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>Here
is the description of DEFAULT_DESCRIPTOR:<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>DEFAULT_DESCRIPTOR_FOR_OBJECT:
Selects the CreatorDescriptor as the default security descriptor provided that
no object type specific ACEs are inherited from the parent. If such ACEs do get
inherited, CreatorDescriptor is ignored.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>So,
it appears that the defaultSecurityDescriptor is passed on as
CreatorDescriptor, and the DEFAULT_DESCRIPTOR_FOR_OBJECT flag is raised in this
case. How does that connect with calling ComputeInheritedACLFromParent with
defaultSecurityDescriptors ACE's.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>Also,
the above portion of the algorithm appears to always disregard CreatorACL if
the flag is raised, and not if the flag is raised AND the parent contains
Object-Specific inheritable ACES, as the flag's description and your answer
state. So, what am I missing here?<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
If the Active Directory schema does not specify a<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
defaultSecurityDescriptor for the object type then the security<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
information in the requestor's token is used. For details about the usage<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
of the requestor's token please refer [MS-DTYP] Section 2.5.2.4<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
ComputeACL.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
Please let me know if you need further assistance on this topic.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
Best regards,<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
Edgar<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
-----Original Message-----<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
From: <st1:PersonName w:st="on">Nadezhda Ivanova</st1:PersonName>
[mailto:nadezhda.ivanova@postpath.com]<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
Sent: Friday, July 17, 2009 7:46 AM<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
To: Interoperability Documentation Help<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
Cc: <st1:PersonName w:st="on">pfif@tridgell.net</st1:PersonName>; <st1:PersonName
w:st="on">cifs-protocol@samba.org</st1:PersonName><o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
Subject: Information needed about security token default ACL<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
Hi,<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
In the course of my work in implementing security descriptor inheritance<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
in Directory service of Samba 4, I came across the following statement in<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
MS-DTYP, 2.5.2<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
&quot;The token also contains an ACL, Token.DefaultDACL, that serves as the<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
DACL assigned by default to any objects created by the user. &quot;<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
So, am I right to understand that this DACL is used when no<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
nTSecurityDescriptor is provided by the incoming LDAP add request, and<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
there is no defaultSecurityDescriptor for the objectClass.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
If so, how is the Token.DefaultDACL constructed and when? Is this based on<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
the user's credentials and how?<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
In addition, I have a question about the security descriptor creation<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
algorithm described in MS-DTYP 2.5.2.3<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
One of the arguments of CreateSecurityDescriptor is:<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
CreatorDescriptor: Security descriptor for the new object provided by the<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
creator of the object. Caller can pass NULL.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
Am I right in understanding that this is either the nTSecurityDescriptor<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
attribute provided by the user, or, in the lack thereof, the<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
defaultSecurityDescriptor of the object class?<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
Best Regards,<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'>&gt;
<st1:PersonName w:st="on">Nadezhda Ivanova</st1:PersonName><o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face=Consolas><span style='font-size:10.5pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

</div>

</div>

</div>

</body>

</html>