Imported Upstream version 4.3.2.467

Former-commit-id: 9c2cb47f45fa221e661ab616387c9cda183f283d
This commit is contained in:
Xamarin Public Jenkins
2016-02-22 11:00:01 -05:00
parent f302175246
commit f3e3aab35a
4097 changed files with 122406 additions and 82300 deletions

View File

@@ -1 +1 @@
16df8b1e453f752136d149af4f886d022e26981b
674cdd48519ccfe6647e02616a8fb92824397ce6

View File

@@ -67,7 +67,7 @@ namespace System.Security.AccessControl
#region Constructors
private ObjectSecurity()
protected ObjectSecurity()
{
}
@@ -79,7 +79,7 @@ namespace System.Security.AccessControl
_securityDescriptor = new CommonSecurityDescriptor( isContainer, isDS, ControlFlags.None, null, null, null, dacl );
}
internal ObjectSecurity( CommonSecurityDescriptor securityDescriptor )
protected ObjectSecurity( CommonSecurityDescriptor securityDescriptor )
: this()
{
if ( securityDescriptor == null )

View File

@@ -171,11 +171,11 @@ namespace System.Security.AccessControl
private bool disposed = false;
private int referenceCount = 1;
[System.Security.SecurityCritical] // auto-generated
private SafeTokenHandle threadHandle = new SafeTokenHandle( IntPtr.Zero );
private SafeAccessTokenHandle threadHandle = new SafeAccessTokenHandle( IntPtr.Zero );
private bool isImpersonating = false;
[System.Security.SecurityCritical] // auto-generated
private static volatile SafeTokenHandle processHandle = new SafeTokenHandle( IntPtr.Zero );
private static volatile SafeAccessTokenHandle processHandle = new SafeAccessTokenHandle( IntPtr.Zero );
private static readonly object syncRoot = new object();
#region Constructor and Finalizer
@@ -201,7 +201,7 @@ namespace System.Security.AccessControl
{
if ( processHandle.IsInvalid)
{
SafeTokenHandle localProcessHandle;
SafeAccessTokenHandle localProcessHandle;
if ( false == Win32Native.OpenProcessToken(
Win32Native.GetCurrentProcess(),
TokenAccessLevels.Duplicate,
@@ -229,7 +229,7 @@ namespace System.Security.AccessControl
// the process token by impersonating self.
//
SafeTokenHandle threadHandleBefore = this.threadHandle;
SafeAccessTokenHandle threadHandleBefore = this.threadHandle;
error = FCall.OpenThreadToken(
TokenAccessLevels.Query | TokenAccessLevels.AdjustPrivileges,
WinSecurityContext.Process,
@@ -386,7 +386,7 @@ namespace System.Security.AccessControl
#region Properties
public SafeTokenHandle ThreadHandle
public SafeAccessTokenHandle ThreadHandle
{
[System.Security.SecurityCritical] // auto-generated
get { return this.threadHandle; }

View File

@@ -346,16 +346,16 @@ namespace System.Security.AccessControl
{
#region Constructors
internal AuthorizationRuleCollection()
public AuthorizationRuleCollection()
: base()
{
}
#endregion
#region Internal methods
#region Public methods
internal void AddRule( AuthorizationRule rule )
public void AddRule( AuthorizationRule rule )
{
InnerList.Add( rule );
}

View File

@@ -42,7 +42,6 @@ namespace System.Security.AccessControl
SelfRelative = 0x8000, // must always be on
}
public abstract class GenericSecurityDescriptor
{
#region Protected Members
@@ -1241,6 +1240,18 @@ namespace System.Security.AccessControl
}
}
public void AddDiscretionaryAcl(byte revision, int trusted)
{
this.DiscretionaryAcl = new DiscretionaryAcl(this.IsContainer, this.IsDS, revision, trusted);
this.AddControlFlags(ControlFlags.DiscretionaryAclPresent);
}
public void AddSystemAcl(byte revision, int trusted)
{
this.SystemAcl = new SystemAcl(this.IsContainer, this.IsDS, revision, trusted);
this.AddControlFlags(ControlFlags.SystemAclPresent);
}
#endregion
#region internal Methods