To be consistent with the other MONO_FEATURE_* defines.
public void CreateEvidenceForUrl_Basic ()
{
Evidence e = XmlSecureResolver.CreateEvidenceForUrl (null);
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
Assert.AreEqual (0, e.Count, "null");
#else
Assert.IsNull (e);
#endif
e = XmlSecureResolver.CreateEvidenceForUrl (String.Empty);
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
Assert.AreEqual (0, e.Count, "String.Empty");
#else
Assert.IsNull (e);
}
}
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
// and you must have discovery access to the combined path
// note: the cache behaviour is tested in the CAS tests
if (SecurityManager.SecurityEnabled) {
public string FileName {
get {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
if (SecurityManager.SecurityEnabled) {
new FileIOPermission (FileIOPermissionAccess.PathDiscovery, filename).Demand ();
}
public static FileVersionInfo GetVersionInfo (string fileName)
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
if (SecurityManager.SecurityEnabled) {
new FileIOPermission (FileIOPermissionAccess.Read, fileName).Demand ();
}
public virtual string GetFileName()
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
if (SecurityManager.SecurityEnabled && (fileName != null) && (fileName.Length > 0)) {
string fn = Path.GetFullPath (fileName);
new FileIOPermission (FileIOPermissionAccess.PathDiscovery, fn).Demand ();
if (!suppressSecurityChecks)
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
#pragma warning disable 618
new SecurityPermission(SecurityPermissionFlag.ControlEvidence).Demand();
#pragma warning restore 618
}
#if MOBILE
- [Conditional ("FEATURE_MONO_CAS")]
+ [Conditional ("MONO_FEATURE_CAS")]
#else
[MonoTODO ("CAS support is experimental (and unsupported). Imperative mode is not implemented.")]
#endif
public abstract IPermission Copy ();
#if MOBILE
- [Conditional ("FEATURE_MONO_CAS")]
+ [Conditional ("MONO_FEATURE_CAS")]
#endif
public void Demand ()
{
}
#if MOBILE
- [Conditional ("FEATURE_MONO_CAS")]
+ [Conditional ("MONO_FEATURE_CAS")]
#else
[MonoTODO ("CAS support is experimental (and unsupported). Imperative mode is not implemented.")]
#endif
}
#if MOBILE
- [Conditional ("FEATURE_MONO_CAS")]
+ [Conditional ("MONO_FEATURE_CAS")]
#else
[MonoTODO ("CAS support is experimental (and unsupported). Imperative mode is not implemented.")]
#endif
}
#if MOBILE
- [Conditional ("FEATURE_MONO_CAS")]
+ [Conditional ("MONO_FEATURE_CAS")]
#else
[MonoTODO ("CAS support is experimental (and unsupported). Imperative mode is not implemented.")]
#endif
}
#if MOBILE
- [Conditional ("FEATURE_MONO_CAS")]
+ [Conditional ("MONO_FEATURE_CAS")]
#else
[MonoTODO ("CAS support is experimental (and unsupported). Imperative mode is not implemented.")]
#endif
}
#if MOBILE
- [Conditional ("FEATURE_MONO_CAS")]
+ [Conditional ("MONO_FEATURE_CAS")]
#else
[MonoTODO ("CAS support is experimental (and unsupported). Imperative mode is not implemented.")]
#endif
}
#if MOBILE
- [Conditional ("FEATURE_MONO_CAS")]
+ [Conditional ("MONO_FEATURE_CAS")]
#else
[MonoTODO ("CAS support is experimental (and unsupported). Imperative mode is not implemented.")]
#endif
/// </summary>
public static string GetEnvironmentVariable (string variable)
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
if (SecurityManager.SecurityEnabled) {
new EnvironmentPermission (EnvironmentPermissionAccess.Read, variable).Demand ();
}
else
dir = UnixGetFolderPath (folder, option);
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
if ((dir != null) && (dir.Length > 0) && SecurityManager.SecurityEnabled) {
new FileIOPermission (FileIOPermissionAccess.PathDiscovery, dir).Demand ();
}
// (C) 2004 Motus Technologies Inc. (http://www.motus.com)
//
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
using NUnit.Framework;
using System;
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
using System;
using System.Security;
}
}
-#endif
\ No newline at end of file
+#endif
/// </devdoc>
internal static class SecurityUtils {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
private static volatile ReflectionPermission memberAccessPermission = null;
private static volatile ReflectionPermission restrictedMemberAccessPermission = null;
#endif
private static void DemandReflectionAccess(Type type) {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
try {
MemberAccessPermission.Demand();
}
[SecuritySafeCritical]
private static void DemandGrantSet(Assembly assembly) {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
PermissionSet targetGrantSet = assembly.PermissionSet;
targetGrantSet.AddPermission(RestrictedMemberAccessPermission);
targetGrantSet.Demand();
}
private static bool HasReflectionPermission(Type type) {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
try {
DemandReflectionAccess(type);
return true;
// The World of Compile
//
internal void Compile(NavigatorInput input, XmlResolver xmlResolver, Evidence evidence) {
-#if !FEATURE_MONO_CAS
+#if !MONO_FEATURE_CAS
evidence = null;
#endif
Debug.Assert(input != null);
[ResourceExposure(ResourceScope.Machine)]
[ResourceConsumption(ResourceScope.Machine)]
static internal Stream GetFileStream(string filename) {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
(new FileIOPermission(FileIOPermissionAccess.Read, filename)).Assert();
try {
return new FileStream(filename,FileMode.Open,FileAccess.Read,FileShare.Read);
[ResourceExposure(ResourceScope.Machine)]
[ResourceConsumption(ResourceScope.Machine)]
static internal FileVersionInfo GetVersionInfo(string filename) {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
(new FileIOPermission(FileIOPermissionAccess.Read, filename)).Assert(); // MDAC 62038
try {
return FileVersionInfo.GetVersionInfo(filename); // MDAC 60411
internal class XMLSchema {
internal static TypeConverter GetConverter(Type type) {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
HostProtectionAttribute protAttrib = new HostProtectionAttribute();
protAttrib.SharedState = true;
CodeAccessPermission permission = (CodeAccessPermission)protAttrib.CreatePermission();
return TypeDescriptor.GetConverter(type);
}
finally {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
CodeAccessPermission.RevertAssert();
#endif
}
internal bool RequiresMemberAccessForWrite(SecurityException securityException)
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
EnsureMethodsImported();
if (!IsTypeVisible(UnderlyingType))
}
}
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
[Fx.Tag.SecurityNote(Critical = "Holds instance of SecurityPermission that we will Demand for SerializationFormatter."
+ " Should not be modified to something else.")]
[SecurityCritical]
[SecuritySafeCritical]
public void DemandSerializationFormatterPermission()
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
if (!demandedSerializationFormatterPermission)
{
Globals.SerializationFormatterPermission.Demand();
[SecuritySafeCritical]
public void DemandMemberAccessPermission()
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
if (!demandedMemberAccessPermission)
{
Globals.MemberAccessPermission.Demand();
[MethodImpl(MethodImplOptions.NoInlining)]
internal void GetObjectData(ISerializable obj, SerializationInfo serInfo, StreamingContext context)
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
// Demand the serialization formatter permission every time
Globals.SerializationFormatterPermission.Demand();
#endif
[SecurityCritical]
internal static bool IsInFullTrust()
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
if (!SecurityManager.CurrentThreadRequiresSecurityContextCapture())
{
return true;
[SecurityCritical]
internal static bool CheckAppDomainPermissions(PermissionSet permissions)
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
return AppDomain.CurrentDomain.IsHomogenous &&
permissions.IsSubsetOf(AppDomain.CurrentDomain.PermissionSet);
#else
[SecurityCritical]
internal static bool HasEtwPermissions()
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
//Currently unrestricted permissions are required to create Etw provider.
PermissionSet permissions = new PermissionSet(PermissionState.Unrestricted);
return CheckAppDomainPermissions(permissions);
[SecuritySafeCritical]
get
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
if (!checkedForFullTrust)
{
inFullTrust = AppDomain.CurrentDomain.IsFullyTrusted;
[PermissionSetAttribute(SecurityAction.InheritanceDemand, Name = "FullTrust")]
public partial class XmlSecureResolver : XmlResolver {
XmlResolver resolver;
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
PermissionSet permissionSet;
#endif
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
public XmlSecureResolver(XmlResolver resolver, string securityUrl) : this(resolver, CreateEvidenceForUrl(securityUrl)) {}
public XmlSecureResolver(XmlResolver resolver, Evidence evidence) : this(resolver, SecurityManager.GetStandardSandbox(evidence)) {}
public XmlSecureResolver(XmlResolver resolver, PermissionSet permissionSet) {
this.resolver = resolver;
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
this.permissionSet = permissionSet;
#endif
}
}
public override object GetEntity(Uri absoluteUri, string role, Type ofObjectToReturn) {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
permissionSet.PermitOnly();
#endif
return resolver.GetEntity(absoluteUri, role, ofObjectToReturn);
}
public static Evidence CreateEvidenceForUrl(string securityUrl) {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
Evidence evidence = new Evidence();
if (securityUrl != null && securityUrl.Length > 0) {
evidence.AddHostEvidence(new Url(securityUrl));
#endif
}
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
[Serializable]
private class UncDirectory : EvidenceBase, IIdentityPermissionFactory {
private string uncDir;
[PermissionSetAttribute(SecurityAction.InheritanceDemand, Name = "FullTrust")]
public partial class XmlSecureResolver : XmlResolver {
public override Task<object> GetEntityAsync(Uri absoluteUri, string role, Type ofObjectToReturn) {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
permissionSet.PermitOnly();
#endif
return resolver.GetEntityAsync(absoluteUri, role, ofObjectToReturn);
if (stylesheet == null) {
throw new ArgumentNullException("stylesheet");
}
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
if (evidence == null) {
evidence = new Evidence();
}
else {
args = new Type[] {receiverType};
}
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
IntSecurity.FullReflection.Assert();
#endif
try {
else {
args = new Type[] {receiverType};
}
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
IntSecurity.FullReflection.Assert();
#endif
try {
/// a single object to be re-used for more than one type.
/// </devdoc>
private object CreateInstance(Type type) {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
if ((!(type.IsPublic || type.IsNestedPublic)) && (type.Assembly == typeof(DebugTypeDescriptor).Assembly)) {
IntSecurity.FullReflection.Demand();
}
[HostProtection(SharedState = true)]
internal static class IntSecurity {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
public static readonly CodeAccessPermission UnmanagedCode = new SecurityPermission(SecurityPermissionFlag.UnmanagedCode);
public static readonly CodeAccessPermission FullReflection = new ReflectionPermission(PermissionState.Unrestricted);
#endif
public static string UnsafeGetFullPath(string fileName) {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
string full = fileName;
FileIOPermission fiop = new FileIOPermission(PermissionState.None);
else {
args = new Type[] {receiverType};
}
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
IntSecurity.FullReflection.Assert();
try {
#endif
resetMethod = FindMethod(componentClass, "Reset" + Name, args, typeof(void), /* publicOnly= */ false);
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
}
finally {
CodeAccessPermission.RevertAssert();
args = new Type[] {receiverType};
}
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
IntSecurity.FullReflection.Assert();
try {
#endif
shouldSerializeMethod = FindMethod(componentClass, "ShouldSerialize" + Name,
args, typeof(Boolean), /* publicOnly= */ false);
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
}
finally {
CodeAccessPermission.RevertAssert();
Type converterType = GetTypeFromName(instanceAttr.ConverterTypeName);
if (converterType != null && typeof(TypeConverter).IsAssignableFrom(converterType))
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
try {
IntSecurity.FullReflection.Assert();
#endif
return (TypeConverter)ReflectTypeDescriptionProvider.CreateInstance(converterType, _type);
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
} finally {
CodeAccessPermission.RevertAssert();
}
Type converterType = GetTypeFromName(typeAttr.ConverterTypeName);
if (converterType != null && typeof(TypeConverter).IsAssignableFrom(converterType))
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
try {
IntSecurity.FullReflection.Assert();
#endif
_converter = (TypeConverter)ReflectTypeDescriptionProvider.CreateInstance(converterType, _type);
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
} finally {
CodeAccessPermission.RevertAssert();
}
{
throw new ArgumentNullException("type");
}
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
PermissionSet typeDescriptorPermission = new PermissionSet(PermissionState.None);
typeDescriptorPermission.AddPermission(new TypeDescriptorPermission(TypeDescriptorPermissionFlags.RestrictedRegistrationAccess));
{
throw new ArgumentNullException("instance");
}
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
Type type = instance.GetType();
PermissionSet typeDescriptorPermission = new PermissionSet(PermissionState.None);
// sense that they provide a public API while not necessarily being public themselves. As such,
// we need to allow instantiation of internal TypeDescriptionProviders. See the thread attached
// to VSWhidbey #500522 for a more detailed discussion.
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
IntSecurity.FullReflection.Assert();
try {
#endif
prov = (TypeDescriptionProvider)Activator.CreateInstance(providerType);
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
}
finally {
CodeAccessPermission.RevertAssert();
{
throw new ArgumentNullException("type");
}
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
PermissionSet typeDescriptorPermission = new PermissionSet(PermissionState.None);
typeDescriptorPermission.AddPermission(new TypeDescriptorPermission(TypeDescriptorPermissionFlags.RestrictedRegistrationAccess));
{
throw new ArgumentNullException("instance");
}
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
Type type = instance.GetType();
PermissionSet typeDescriptorPermission = new PermissionSet(PermissionState.None);
}
protected Win32Exception(SerializationInfo info, StreamingContext context) : base (info, context) {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
IntSecurity.UnmanagedCode.Demand();
#endif
nativeErrorCode = info.GetInt32("NativeErrorCode");
Debug.WriteLineIf(RuntimeLicenseContextSwitch.TraceVerbose,"rawfile: " + rawFile);
string codeBase;
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
// FileIOPermission is required for ApplicationBase in URL-hosted domains
FileIOPermission perm = new FileIOPermission(PermissionState.Unrestricted);
perm.Assert();
// file://fullpath/foo.exe
//
string fileName;
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
FileIOPermission perm = new FileIOPermission(PermissionState.Unrestricted);
perm.Assert();
try
else if(!resourceAssembly.IsDynamic) { // EscapedCodeBase won't be supported by emitted assemblies anyway
Debug.WriteLineIf(RuntimeLicenseContextSwitch.TraceVerbose,"resourceAssembly is not null");
string fileName;
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
FileIOPermission perm = new FileIOPermission(PermissionState.Unrestricted);
perm.Assert();
#endif
}
finally
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
CodeAccessPermission.RevertAssert();
#endif
}
static Stream OpenRead(Uri resourceUri) {
Stream result = null;
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
PermissionSet perms = new PermissionSet(PermissionState.Unrestricted);
perms.Assert();
catch (Exception e) {
Debug.Fail(e.ToString());
}
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
finally {
CodeAccessPermission.RevertAssert();
}
public static TraceListenerCollection Listeners {
[HostProtection(SharedState=true)]
get {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
// Do a full damand
new SecurityPermission(SecurityPermissionFlag.UnmanagedCode).Demand();
#endif
/// </devdoc>
[System.Diagnostics.Conditional("TRACE")]
public static void Close() {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
// Do a full damand
new SecurityPermission(SecurityPermissionFlag.UnmanagedCode).Demand();
#endif
get {
if (stackTrace == null)
stackTrace = Environment.StackTrace;
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
else
new EnvironmentPermission(PermissionState.Unrestricted).Demand();
#endif
[ResourceExposure(ResourceScope.None)]
[ResourceConsumption(ResourceScope.Machine, ResourceScope.Machine)]
private static void InitProcessInfo() {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
// Demand unmanaged code permission
new SecurityPermission(SecurityPermissionFlag.UnmanagedCode).Demand();
#endif
internal static string AppName {
get {
if (appName == null) {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
new EnvironmentPermission(EnvironmentPermissionAccess.Read, "Path").Assert();
#endif
appName = Path.GetFileName(Environment.GetCommandLineArgs()[0]);
}
private static void DemandReflectionAccess(Type type) {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
try {
MemberAccessPermission.Demand();
}
[SecuritySafeCritical]
private static void DemandGrantSet(Assembly assembly) {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
PermissionSet targetGrantSet = assembly.PermissionSet;
targetGrantSet.AddPermission(RestrictedMemberAccessPermission);
targetGrantSet.Demand();
set
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
ExceptionHelper.ControlPolicyPermission.Demand();
#endif
Instance.CredentialPolicy = value;
/// </devdoc>
public static void Register(IAuthenticationModule authenticationModule)
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
ExceptionHelper.UnmanagedPermission.Demand();
#endif
Instance.Register(authenticationModule);
/// </devdoc>
public static void Unregister(IAuthenticationModule authenticationModule)
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
ExceptionHelper.UnmanagedPermission.Demand();
#endif
Instance.Unregister(authenticationModule);
/// </devdoc>
public static void Unregister(string authenticationScheme)
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
ExceptionHelper.UnmanagedPermission.Demand();
#endif
Instance.Unregister(authenticationScheme);
get {
//This check will not allow to use local user credentials at will.
//Hence the username will not be exposed to the network
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
new EnvironmentPermission(EnvironmentPermissionAccess.Read, "USERNAME").Demand();
#endif
return SystemNetworkCredential.defaultCredential;
get {
//This check will not allow to use local user credentials at will.
//Hence the username will not be exposed to the network
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
new EnvironmentPermission(EnvironmentPermissionAccess.Read, "USERNAME").Demand();
#endif
return SystemNetworkCredential.defaultCredential;
private static void DemandCallback(object state)
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
((CodeAccessPermission) state).Demand();
#endif
}
internal static class ExceptionHelper
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
internal static readonly KeyContainerPermission KeyContainerPermissionOpen = new KeyContainerPermission(KeyContainerPermissionFlags.Open);
internal static readonly WebPermission WebPermissionUnrestricted = new WebPermission(NetworkAccess.Connect);
internal static readonly SecurityPermission UnmanagedPermission = new SecurityPermission(SecurityPermissionFlag.UnmanagedCode);
/// </devdoc>
public class NetworkCredential : ICredentials,ICredentialsByHost {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
private static volatile EnvironmentPermission m_environmentUserNamePermission;
private static volatile EnvironmentPermission m_environmentDomainNamePermission;
private static readonly object lockingObject = new object();
}
#endif //!FEATURE_PAL
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
void InitializePart1() {
if (m_environmentUserNamePermission == null) {
lock(lockingObject) {
/// </devdoc>
public string UserName {
get {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
InitializePart1();
m_environmentUserNamePermission.Demand();
#endif
/// </devdoc>
public string Password {
get {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
ExceptionHelper.UnmanagedPermission.Demand();
#endif
return InternalGetPassword();
/// </devdoc>
public SecureString SecurePassword {
get {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
ExceptionHelper.UnmanagedPermission.Demand();
#endif
return InternalGetSecurePassword().Copy();
/// </devdoc>
public string Domain {
get {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
InitializePart1();
m_environmentDomainNamePermission.Demand();
#endif
{
/// Returns objects that describe the network interfaces on the local computer.
public static NetworkInterface[] GetAllNetworkInterfaces(){
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
(new NetworkInformationPermission(NetworkInformationAccess.Read)).Demand();
#endif
return SystemNetworkInterface.GetNetworkInterfaces();
return m_BindIPEndPointDelegate;
}
set {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
ExceptionHelper.InfrastructurePermission.Demand();
#endif
m_BindIPEndPointDelegate = value;
throw new NotSupportedException(SR.GetString(SR.net_servicePointAddressNotSupportedInHostMode));
}
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
// Don't let low-trust apps discover the proxy information.
if (m_ProxyServicePoint)
{
throw new ArgumentNullException("creator");
}
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
ExceptionHelper.WebPermissionUnrestricted.Demand();
#endif
return RequestCacheManager.GetBinding(string.Empty).Policy;
}
set {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
// This is a replacement of RequestCachePermission demand since we are not including the latest in the product.
ExceptionHelper.WebPermissionUnrestricted.Demand();
#endif
{
get
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
ExceptionHelper.WebPermissionUnrestricted.Demand();
#endif
return InternalDefaultWebProxy;
set
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
ExceptionHelper.WebPermissionUnrestricted.Demand();
#endif
InternalDefaultWebProxy = value;
//
public static IWebProxy GetSystemWebProxy()
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
ExceptionHelper.WebPermissionUnrestricted.Demand();
#endif
return InternalGetSystemWebProxy();
// demand the same permissions, then we should remove our
// demand here.
//
- #if FEATURE_MONO_CAS
+ #if MONO_FEATURE_CAS
ExceptionHelper.KeyContainerPermissionOpen.Demand();
#endif
// For v 1.1 compat We want to ensure the store is opened under the **process** acount.
//
try {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
using (WindowsIdentity.Impersonate(IntPtr.Zero))
#endif
{
// Note: We call a user certificate selection delegate under permission
// assert but the signature of the delegate is unique so it's safe
//
- #if FEATURE_MONO_CAS
+ #if MONO_FEATURE_CAS
[StorePermission(SecurityAction.Assert, Unrestricted=true)]
#endif
private bool AcquireClientCredentials(ref byte[] thumbPrint)
// Note: We call a user certificate selection delegate under permission
// assert but the signature of the delegate is unique so it's safe
//
- #if FEATURE_MONO_CAS
+ #if MONO_FEATURE_CAS
[StorePermission(SecurityAction.Assert, Unrestricted=true)]
#endif
private bool AcquireServerCredentials(ref byte[] thumbPrint)
//
// For v 1.1 compat We want to ensure the credential are accessed under >>process<< acount.
//
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
using (WindowsIdentity.Impersonate(IntPtr.Zero))
#endif
{
//SECURITY: The scenario is allowed in semitrust StorePermission is asserted for Chain.Build
// A user callback has unique signature so it is safe to call it under permisison assert.
//
- #if FEATURE_MONO_CAS
+ #if MONO_FEATURE_CAS
[StorePermission(SecurityAction.Assert, Unrestricted=true)]
#endif
internal bool VerifyRemoteCertificate(RemoteCertValidationCallback remoteCertValidationCallback)
//
public override int Count {
get {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
ExceptionHelper.WebPermissionUnrestricted.Demand();
#endif
return m_SyncTable.Count;
//
public override ICollection Keys {
get {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
ExceptionHelper.WebPermissionUnrestricted.Demand();
#endif
return m_SyncTable.Keys;
public override object SyncRoot {
[HostProtection(Synchronization=true)]
get {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
ExceptionHelper.WebPermissionUnrestricted.Demand();
#endif
return m_SyncTable;
//
public override ICollection Values {
get {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
ExceptionHelper.WebPermissionUnrestricted.Demand();
#endif
if (m_ValuesWrapper == null)
}
//
public override void Clear() {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
ExceptionHelper.WebPermissionUnrestricted.Demand();
#endif
m_SyncTable.Clear();
}
//
public override bool ContainsValue(string value) {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
ExceptionHelper.WebPermissionUnrestricted.Demand();
#endif
foreach (SpnToken spnToken in m_SyncTable.Values)
// We have to unwrap the SpnKey and just expose the Spn
public override void CopyTo(Array array, int index) {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
ExceptionHelper.WebPermissionUnrestricted.Demand();
#endif
CheckCopyToArguments(array, index, Count);
}
//
public override IEnumerator GetEnumerator() {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
ExceptionHelper.WebPermissionUnrestricted.Demand();
#endif
try {
Uri uri = new Uri(key);
key = uri.GetParts(UriComponents.Scheme | UriComponents.Host | UriComponents.Port | UriComponents.Path, UriFormat.SafeUnescaped);
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
new WebPermission(NetworkAccess.Connect, new Uri(key)).Demand();
#endif
}
/// </devdoc>
public IWebProxy Proxy {
get {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
ExceptionHelper.WebPermissionUnrestricted.Demand();
#endif
if (!m_ProxySet) {
}
}
set {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
ExceptionHelper.WebPermissionUnrestricted.Demand();
#endif
m_Proxy = value;
/// </devdoc>
[Obsolete("This method has been deprecated. Please use the proxy selected for you by default. http://go.microsoft.com/fwlink/?linkid=14202")]
public static WebProxy GetDefaultProxy() {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
ExceptionHelper.WebPermissionUnrestricted.Demand();
#endif
return new WebProxy(true);
if (useRegistry) {
// just make the proxy advanced, don't populate with any settings
// note - this will happen in the context of the user performing the deserialization (their proxy settings get read)
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
ExceptionHelper.WebPermissionUnrestricted.Demand();
#endif
UnsafeUpdateFromRegistry();
//
public static void Register(UriParser uriParser, string schemeName, int defaultPort)
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
ExceptionHelper.InfrastructurePermission.Demand();
#endif
if (uriParser == null)
* This method is internal virtual so the jit does not inline it.
*/
[
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
HostProtection(MayLeakOnAbort=true),
#endif
MethodImplAttribute(MethodImplOptions.NoInlining)
#if !(SILVERLIGHT || FULL_AOT_RUNTIME)
/// <devdoc>
/// </devdoc>
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
[HostProtection(MayLeakOnAbort=true)]
#endif
[ResourceExposure(ResourceScope.Machine)] // The AssemblyName is interesting.
/// <devdoc>
/// </devdoc>
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
[HostProtection(MayLeakOnAbort=true)]
#endif
[ResourceExposure(ResourceScope.Machine)] // The AssemblyName is interesting.
CompileToAssemblyInternal(regexinfos, assemblyname, attributes, null);
}
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
[HostProtection(MayLeakOnAbort=true)]
#endif
[ResourceExposure(ResourceScope.Machine)]
// <SECREVIEW> Regex only generates string manipulation, so this is ok.
// </SECREVIEW>
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
new ReflectionPermission(PermissionState.Unrestricted).Assert();
#endif
try {
#endif
}
finally {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
CodeAccessPermission.RevertAssert();
#endif
}
// <SECREVIEW> Regex only generates string manipulation, so this is ok.
// </SECREVIEW>
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
new ReflectionPermission(PermissionState.Unrestricted).Assert();
#endif
try {
factory = c.FactoryInstanceFromCode(code, options);
}
finally {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
CodeAccessPermission.RevertAssert();
#endif
}
Type factory;
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
new ReflectionPermission(PermissionState.Unrestricted).Assert();
#endif
try {
c.GenerateRegexType(pattern, options, fullname, regexes[i].IsPublic, code, tree, factory, mTimeout);
}
finally {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
CodeAccessPermission.RevertAssert();
#endif
}
// SECREVIEW : Regex only generates string manipulation, so this is
// : ok.
//
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
new ReflectionPermission(PermissionState.Unrestricted).Assert();
#endif
try {
CustomAttributeBuilder transparencyAttribute = new CustomAttributeBuilder(transparencyCtor, new object[0]);
assemblyAttributes.Add(transparencyAttribute);
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
ConstructorInfo securityRulesCtor = typeof(SecurityRulesAttribute).GetConstructor(new Type[] { typeof(SecurityRuleSet) });
CustomAttributeBuilder securityRulesAttribute =
new CustomAttributeBuilder(securityRulesCtor, new object[] { SecurityRuleSet.Level2 });
}
}
finally {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
CodeAccessPermission.RevertAssert();
#endif
}
/// multiple threads.</para>
/// </devdoc>
#if !SILVERLIGHT
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
[HostProtection(Synchronization=true)]
#endif
static public Group Synchronized(Group inner) {
/// </devdoc>
#if !SILVERLIGHT
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
[HostProtection(Synchronization=true)]
#endif
static public Match Synchronized(Match inner) {
protected internal override RegexRunner CreateInstance() {
CompiledRegexRunner runner = new CompiledRegexRunner();
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
new ReflectionPermission(PermissionState.Unrestricted).Assert();
#endif
runner.SetDelegates((NoParamDelegate) goMethod.CreateDelegate(typeof(NoParamDelegate)),
[System.Security.SecurityCritical] // auto-generated
internal virtual String InternalToString()
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
try
{
#pragma warning disable 618
bool safeToReturn = false;
try {
if (!isInvalidPath) {
-#if !FEATURE_CORECLR && FEATURE_MONO_CAS
+#if !FEATURE_CORECLR && MONO_FEATURE_CAS
FileIOPermission.QuickDemand(FileIOPermissionAccess.PathDiscovery, path, false, false);
#endif
safeToReturn = true;
[System.Security.SecurityCritical] // auto-generated
private FileInfo(SerializationInfo info, StreamingContext context) : base(info, context)
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
#if !FEATURE_CORECLR
FileIOPermission.QuickDemand(FileIOPermissionAccess.Read, FullPath, false, false);
#endif
String directoryName = Path.GetDirectoryName(FullPath);
if (directoryName != null)
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
#if FEATURE_CORECLR
FileSecurityState state = new FileSecurityState(FileSecurityStateAccess.Read, DisplayPath, FullPath);
state.EnsureState();
[ResourceConsumption(ResourceScope.Machine, ResourceScope.Machine)]
public override void Delete()
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
#if FEATURE_CORECLR
FileSecurityState state = new FileSecurityState(FileSecurityStateAccess.Write, DisplayPath, FullPath);
state.EnsureState();
// Do a demand on the combined path so that we can fail early in case of deny
demandPaths[1] = Directory.GetDemandDir(normalizedSearchPath, true);
_checkHost = checkHost;
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
#if FEATURE_CORECLR
if (checkHost)
{
// For filters like foo\*.cs we need to verify if the directory foo is not denied access.
// Do a demand on the combined path so that we can fail early in case of deny
demandPaths[1] = Directory.GetDemandDir(normalizedSearchPath, true);
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
#if FEATURE_CORECLR
if (checkHost)
{
[System.Security.SecurityCritical]
internal void DoDemand(String fullPathToDemand)
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
#if FEATURE_CORECLR
if(_checkHost) {
String demandDir = Directory.GetDemandDir(fullPathToDemand, true);
internal override FileInfo CreateObject(SearchResult result)
{
String name = result.FullPath;
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
#if FEATURE_CORECLR
FileSecurityState state = new FileSecurityState(FileSecurityStateAccess.Read, String.Empty, name);
state.EnsureState();
String name = result.FullPath;
String permissionName = name + "\\.";
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
#if FEATURE_CORECLR
FileSecurityState state = new FileSecurityState(FileSecurityStateAccess.Read, String.Empty, permissionName);
state.EnsureState();
String name = result.FullPath;
String permissionName = name + "\\.";
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
#if FEATURE_CORECLR
FileSecurityState state = new FileSecurityState(FileSecurityStateAccess.Read, String.Empty, permissionName);
state.EnsureState();
Contract.Assert(isFile);
String name = result.FullPath;
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
#if FEATURE_CORECLR
FileSecurityState state = new FileSecurityState(FileSecurityStateAccess.Read, String.Empty, name);
state.EnsureState();
using System;
using System.Collections;
using System.Security;
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
using System.Security.Permissions;
#endif
using Microsoft.Win32;
namespace System.IO {
[Serializable]
-#if !FEATURE_CORECLR && FEATURE_MONO_CAS
+#if !FEATURE_CORECLR && MONO_FEATURE_CAS
[FileIOPermissionAttribute(SecurityAction.InheritanceDemand,Unrestricted=true)]
#endif
[ComVisible(true)]
demandDir = Directory.GetDemandDir(FullPath, true);
else
demandDir = FullPath;
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
#if FEATURE_CORECLR
FileSecurityState sourceState = new FileSecurityState(FileSecurityStateAccess.PathDiscovery, String.Empty, demandDir);
sourceState.EnsureState();
demandDir = Directory.GetDemandDir(FullPath, true);
else
demandDir = FullPath;
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
#if !FEATURE_CORECLR
FileIOPermission.QuickDemand(FileIOPermissionAccess.PathDiscovery, demandDir);
#endif
[System.Security.SecuritySafeCritical]
#endif
set {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
#if !FEATURE_CORECLR
FileIOPermission.QuickDemand(FileIOPermissionAccess.Write, FullPath);
#endif
[ComVisible(false)]
public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
#if !FEATURE_CORECLR
FileIOPermission.QuickDemand(FileIOPermissionAccess.PathDiscovery, FullPath);
#endif
if (_isOpen) {
throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_CalledTwice"));
}
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
if (!skipSecurityCheck) {
#pragma warning disable 618
new SecurityPermission(SecurityPermissionFlag.UnmanagedCode).Demand();
if (_isOpen)
throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_CalledTwice"));
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
if (!skipSecurityCheck)
#pragma warning disable 618
new SecurityPermission(SecurityPermissionFlag.UnmanagedCode).Demand();
// Don't use Assembly manifest, but grovel on disk for a file.
try
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
new System.Security.Permissions.FileIOPermission(System.Security.Permissions.PermissionState.Unrestricted).Assert();
#endif
}
finally
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
System.Security.CodeAccessPermission.RevertAssert();
#endif
}
// write to the temp directory (enforced via a Windows ACL). Fall back to a MemoryStream.
Stream dataSection = null; // Either a FileStream or a MemoryStream
String tempFile = null;
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
PermissionSet permSet = new PermissionSet(PermissionState.None);
permSet.AddPermission(new EnvironmentPermission(PermissionState.Unrestricted));
permSet.AddPermission(new FileIOPermission(PermissionState.Unrestricted));
#endif
try {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
permSet.Assert();
#endif
tempFile = Path.GetTempFileName();
dataSection = new MemoryStream();
}
finally {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
PermissionSet.RevertAssert();
#endif
}
throw new MissingMethodException(Environment.GetResourceString("MissingConstructor_Name", FullName));
}
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
// If we're creating a delegate, we're about to call a
// constructor taking an integer to represent a target
// method. Since this is very difficult (and expensive)
new SecurityPermission(SecurityPermissionFlag.UnmanagedCode).Demand();
#endif // FEATURE_CORECLR
}
-#endif // FEATURE_MONO_CAS
+#endif // MONO_FEATURE_CAS
if (invokeMethod.GetParametersNoCopy().Length == 0)
{
if (args.Length != 0)
return null;
#endif
String dir = GetRuntimeDirectoryImpl();
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
new FileIOPermission(FileIOPermissionAccess.PathDiscovery, dir).Demand();
#endif
return dir;
String path = sb.ToString();
#endif
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
// Do security check
new FileIOPermission(FileIOPermissionAccess.PathDiscovery, path).Demand();
#endif
private BinaryMethodReturn binaryMethodReturn;
private bool bIsCrossAppDomain;
#endif
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
private static FileIOPermission sfileIOPermission = new FileIOPermission(PermissionState.Unrestricted);
#endif
private SerStack ValueFixupStack
if (bSimpleAssembly)
{
try {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
sfileIOPermission.Assert();
#endif
try {
#endif // FEATURE_FUSION
}
finally {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
CodeAccessPermission.RevertAssert();
#endif
}
else {
try
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
sfileIOPermission.Assert();
#endif
try {
assm = Assembly.Load(assemblyName);
}
finally {
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
CodeAccessPermission.RevertAssert();
#endif
}
if ( !FormatterServices.UnsafeTypeForwardersIsEnabled() && sourceAssembly != destAssembly )
{
// we have a type forward to attribute !
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
// we can try to see if the dest assembly has less permissionSet
if (!destAssembly.PermissionSet.IsSubsetOf(sourceAssembly.PermissionSet))
#endif
typeFowardedFromAssembly = Assembly.Load(typeInfo.AssemblyString);
}
catch { }
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
if (typeFowardedFromAssembly != sourceAssembly)
{
// throw security exception
}
else
{
-#if FEATURE_MONO_CAS
+#if MONO_FEATURE_CAS
// throw security exception
throw new SecurityException() { Demanded = sourceAssembly.PermissionSet };
#endif