private void PopulateSiteProperties(MetabaseReader reader) { object data = reader.GetData(this.siteAboPath, MetabasePropertyType.ServerBindings); if (data != null) { string[] strArray = (string[])data; if (strArray.Length > 0) { base.Bindings.Add(Uri.UriSchemeHttp, strArray); } } data = reader.GetData(this.siteAboPath, MetabasePropertyType.SecureBindings); if (data != null) { string[] strArray2 = (string[])data; if (strArray2.Length > 0) { base.Bindings.Add(Uri.UriSchemeHttps, strArray2); } } foreach (string str in base.Bindings.Keys) { base.Protocols.Add(str); } }
void PopulateSiteProperties(MetabaseReader reader) { // 1. ServerBindings object propertyValue = reader.GetData(siteAboPath, MetabasePropertyType.ServerBindings); if (propertyValue != null) { string[] serverBindings = (string[])propertyValue; if (serverBindings.Length > 0) { this.Bindings.Add(Uri.UriSchemeHttp, serverBindings); } } // 2. SecureBindings propertyValue = reader.GetData(siteAboPath, MetabasePropertyType.SecureBindings); if (propertyValue != null) { string[] secureBindings = (string[])propertyValue; if (secureBindings.Length > 0) { this.Bindings.Add(Uri.UriSchemeHttps, secureBindings); } } foreach (string scheme in this.Bindings.Keys) { this.Protocols.Add(scheme); } }
private string GetRealm(MetabaseReader reader, string relativeVirtualPath) { object obj2 = this.FindPropertyUnderAppRoot(reader, MetabasePropertyType.Realm, relativeVirtualPath); if (obj2 != null) { return((string)obj2); } return(this.appTransportSettings.Realm); }
private AuthFlags GetAuthFlags(MetabaseReader reader, string relativeVirtualPath) { object obj2 = this.FindPropertyUnderAppRoot(reader, MetabasePropertyType.AuthFlags, relativeVirtualPath); if (obj2 != null) { return((AuthFlags)((uint)obj2)); } return(this.appTransportSettings.AuthFlags); }
string GetRealm(MetabaseReader reader, string relativeVirtualPath) { object propertyValue = FindPropertyUnderAppRoot(reader, MetabasePropertyType.Realm, relativeVirtualPath); if (propertyValue != null) { return((string)propertyValue); } return(appTransportSettings.Realm); }
AuthFlags GetAuthFlags(MetabaseReader reader, string relativeVirtualPath) { object propertyValue = FindPropertyUnderAppRoot(reader, MetabasePropertyType.AuthFlags, relativeVirtualPath); if (propertyValue != null) { return((AuthFlags)(uint)propertyValue); } return(appTransportSettings.AuthFlags); }
internal MetabaseSettingsIis6() { if (Iis7Helper.IsIis7) { throw Fx.AssertAndThrowFatal("MetabaseSettingsIis6 constructor must not be called when running in IIS7"); } this.SetApplicationInfo(); using (MetabaseReader reader = new MetabaseReader()) { this.PopulateSiteProperties(reader); this.PopulateApplicationProperties(reader); } }
private string[] GetAuthProviders(MetabaseReader reader, string relativeVirtualPath) { object obj2 = this.FindPropertyUnderAppRoot(reader, MetabasePropertyType.AuthProviders, relativeVirtualPath); if (obj2 != null) { string[] strArray = ((string)obj2).Split(IISConstants.CommaSeparator, StringSplitOptions.RemoveEmptyEntries); if ((strArray != null) && (strArray.Length > 0)) { return(strArray); } } return(this.appTransportSettings.AuthProviders); }
private object FindPropertyUnderAppRoot(MetabaseReader reader, MetabasePropertyType propertyType, string relativeVirtualPath, out string matchedPath) { string str2; string endAboPath = this.appAboPath + relativeVirtualPath.Substring(1); int index = endAboPath.IndexOf('/', this.appAboPath.Length + 1); if (index == -1) { str2 = endAboPath; } else { str2 = endAboPath.Substring(0, index); } return this.FindHierarchicalProperty(reader, propertyType, str2, endAboPath, out matchedPath); }
private object FindPropertyUnderAppRoot(MetabaseReader reader, MetabasePropertyType propertyType, string relativeVirtualPath, out string matchedPath) { string str2; string endAboPath = this.appAboPath + relativeVirtualPath.Substring(1); int index = endAboPath.IndexOf('/', this.appAboPath.Length + 1); if (index == -1) { str2 = endAboPath; } else { str2 = endAboPath.Substring(0, index); } return(this.FindHierarchicalProperty(reader, propertyType, str2, endAboPath, out matchedPath)); }
private object FindHierarchicalProperty(MetabaseReader reader, MetabasePropertyType propertyType, string startAboPath, string endAboPath, out string matchedPath) { matchedPath = null; while (endAboPath.Length >= startAboPath.Length) { object data = reader.GetData(endAboPath, propertyType); if (data != null) { matchedPath = endAboPath; return data; } int length = endAboPath.LastIndexOf('/'); endAboPath = endAboPath.Substring(0, length); } return null; }
protected override HostedServiceTransportSettings CreateTransportSettings(string relativeVirtualPath) { HostedServiceTransportSettings settings = new HostedServiceTransportSettings(); using (MetabaseReader reader = new MetabaseReader()) { settings.Realm = this.GetRealm(reader, relativeVirtualPath); settings.AccessSslFlags = this.GetAccessSslFlags(reader, relativeVirtualPath); settings.AuthFlags = this.GetAuthFlags(reader, relativeVirtualPath); settings.AuthProviders = this.GetAuthProviders(reader, relativeVirtualPath); if ((settings.AuthFlags & AuthFlags.AuthNTLM) != AuthFlags.None) { settings.IisExtendedProtectionPolicy = this.GetExtendedProtectionPolicy(); } } return settings; }
private object FindHierarchicalProperty(MetabaseReader reader, MetabasePropertyType propertyType, string startAboPath, string endAboPath, out string matchedPath) { matchedPath = null; while (endAboPath.Length >= startAboPath.Length) { object data = reader.GetData(endAboPath, propertyType); if (data != null) { matchedPath = endAboPath; return(data); } int length = endAboPath.LastIndexOf('/'); endAboPath = endAboPath.Substring(0, length); } return(null); }
string[] GetAuthProviders(MetabaseReader reader, string relativeVirtualPath) { object propertyValue = FindPropertyUnderAppRoot(reader, MetabasePropertyType.AuthProviders, relativeVirtualPath); if (propertyValue != null) { string providersString = (string)propertyValue; string[] providers = providersString.Split(IISConstants.CommaSeparator, StringSplitOptions.RemoveEmptyEntries); if (providers != null && providers.Length > 0) { return(providers); } } return(appTransportSettings.AuthProviders); }
private void PopulateApplicationProperties(MetabaseReader reader) { int num = 0; bool flag = false; bool flag2 = false; bool flag3 = !base.Bindings.ContainsKey(Uri.UriSchemeHttps); bool flag4 = false; this.appTransportSettings = new HostedServiceTransportSettings(); string appAboPath = this.appAboPath; object obj2 = null; while ((num < 4) && (appAboPath.Length >= this.siteAboPath.Length)) { if (!flag && ((obj2 = reader.GetData(appAboPath, MetabasePropertyType.Realm)) != null)) { this.appTransportSettings.Realm = (string)obj2; flag = true; num++; } if (!flag2 && ((obj2 = reader.GetData(appAboPath, MetabasePropertyType.AuthFlags)) != null)) { this.appTransportSettings.AuthFlags = (AuthFlags)((uint)obj2); flag2 = true; num++; } if (!flag3 && ((obj2 = reader.GetData(appAboPath, MetabasePropertyType.AccessSslFlags)) != null)) { this.appTransportSettings.AccessSslFlags = (HttpAccessSslFlags)((uint)obj2); flag3 = true; num++; } if (!flag4 && ((obj2 = reader.GetData(appAboPath, MetabasePropertyType.AuthProviders)) != null)) { this.appTransportSettings.AuthProviders = ((string)obj2).Split(IISConstants.CommaSeparator, StringSplitOptions.RemoveEmptyEntries); flag4 = true; num++; } int length = appAboPath.LastIndexOf('/'); appAboPath = appAboPath.Substring(0, length); } if ((this.appTransportSettings.AuthProviders == null) || (this.appTransportSettings.AuthProviders.Length == 0)) { this.appTransportSettings.AuthProviders = MetabaseSettingsIis.DefaultAuthProviders; } }
protected override HostedServiceTransportSettings CreateTransportSettings(string relativeVirtualPath) { HostedServiceTransportSettings settings = new HostedServiceTransportSettings(); using (MetabaseReader reader = new MetabaseReader()) { settings.Realm = this.GetRealm(reader, relativeVirtualPath); settings.AccessSslFlags = this.GetAccessSslFlags(reader, relativeVirtualPath); settings.AuthFlags = this.GetAuthFlags(reader, relativeVirtualPath); settings.AuthProviders = this.GetAuthProviders(reader, relativeVirtualPath); if ((settings.AuthFlags & AuthFlags.AuthNTLM) != AuthFlags.None) { settings.IisExtendedProtectionPolicy = this.GetExtendedProtectionPolicy(); } } return(settings); }
object FindPropertyUnderAppRoot(MetabaseReader reader, MetabasePropertyType propertyType, string relativeVirtualPath, out string matchedPath) { string endAboPath = appAboPath + relativeVirtualPath.Substring(1); int index = endAboPath.IndexOf(IISConstants.AboPathDelimiter, appAboPath.Length + 1); string startAboPath; if (index == -1) { startAboPath = endAboPath; } else { startAboPath = endAboPath.Substring(0, index); } return(FindHierarchicalProperty(reader, propertyType, startAboPath, endAboPath, out matchedPath)); }
object FindHierarchicalProperty(MetabaseReader reader, MetabasePropertyType propertyType, string startAboPath, string endAboPath, out string matchedPath) { matchedPath = null; while (endAboPath.Length >= startAboPath.Length) { object propertyValue = reader.GetData(endAboPath, propertyType); if (propertyValue != null) { matchedPath = endAboPath; return(propertyValue); } // Continue the search in the parent int index = endAboPath.LastIndexOf(IISConstants.AboPathDelimiter); endAboPath = endAboPath.Substring(0, index); } return(null); }
string[] GetAuthProviders(MetabaseReader reader, string relativeVirtualPath) { object propertyValue = FindPropertyUnderAppRoot(reader, MetabasePropertyType.AuthProviders, relativeVirtualPath); if (propertyValue != null) { string providersString = (string)propertyValue; string[] providers = providersString.Split(IISConstants.CommaSeparator, StringSplitOptions.RemoveEmptyEntries); if (providers != null && providers.Length > 0) { return providers; } } return appTransportSettings.AuthProviders; }
AuthFlags GetAuthFlags(MetabaseReader reader, string relativeVirtualPath) { object propertyValue = FindPropertyUnderAppRoot(reader, MetabasePropertyType.AuthFlags, relativeVirtualPath); if (propertyValue != null) { return (AuthFlags)(uint)propertyValue; } return appTransportSettings.AuthFlags; }
string GetRealm(MetabaseReader reader, string relativeVirtualPath) { object propertyValue = FindPropertyUnderAppRoot(reader, MetabasePropertyType.Realm, relativeVirtualPath); if (propertyValue != null) { return (string)propertyValue; } return appTransportSettings.Realm; }
private object FindPropertyUnderAppRoot(MetabaseReader reader, MetabasePropertyType propertyType, string relativeVirtualPath) { string str; return this.FindPropertyUnderAppRoot(reader, propertyType, relativeVirtualPath, out str); }
void PopulateApplicationProperties(MetabaseReader reader) { int foundCount = 0; bool foundRealm = false; bool foundAuthFlags = false; bool foundAccessSslFlags = !Bindings.ContainsKey(Uri.UriSchemeHttps); bool foundAuthProviders = false; appTransportSettings = new HostedServiceTransportSettings(); string endAboPath = appAboPath; object propertyValue = null; while (foundCount < 4 && endAboPath.Length >= siteAboPath.Length) { // Realm if (!foundRealm && ((propertyValue = reader.GetData(endAboPath, MetabasePropertyType.Realm)) != null)) { appTransportSettings.Realm = (string)propertyValue; foundRealm = true; foundCount++; } // AuthFlags if (!foundAuthFlags && ((propertyValue = reader.GetData(endAboPath, MetabasePropertyType.AuthFlags)) != null)) { appTransportSettings.AuthFlags = (AuthFlags)(uint)propertyValue; foundAuthFlags = true; foundCount++; } // AccessSslFlags if (!foundAccessSslFlags && ((propertyValue = reader.GetData(endAboPath, MetabasePropertyType.AccessSslFlags)) != null)) { appTransportSettings.AccessSslFlags = (HttpAccessSslFlags)(uint)propertyValue; foundAccessSslFlags = true; foundCount++; } // NTAuthProviders if (!foundAuthProviders && ((propertyValue = reader.GetData(endAboPath, MetabasePropertyType.AuthProviders)) != null)) { string providersString = (string)propertyValue; appTransportSettings.AuthProviders = providersString.Split(IISConstants.CommaSeparator, StringSplitOptions.RemoveEmptyEntries); foundAuthProviders = true; foundCount++; } // Continue the search in the parent path int index = endAboPath.LastIndexOf(IISConstants.AboPathDelimiter); endAboPath = endAboPath.Substring(0, index); } if (appTransportSettings.AuthProviders == null || appTransportSettings.AuthProviders.Length == 0) { appTransportSettings.AuthProviders = DefaultAuthProviders; } }
private string GetRealm(MetabaseReader reader, string relativeVirtualPath) { object obj2 = this.FindPropertyUnderAppRoot(reader, MetabasePropertyType.Realm, relativeVirtualPath); if (obj2 != null) { return (string) obj2; } return this.appTransportSettings.Realm; }
object FindPropertyUnderAppRoot(MetabaseReader reader, MetabasePropertyType propertyType, string relativeVirtualPath, out string matchedPath) { string endAboPath = appAboPath + relativeVirtualPath.Substring(1); int index = endAboPath.IndexOf(IISConstants.AboPathDelimiter, appAboPath.Length + 1); string startAboPath; if (index == -1) { startAboPath = endAboPath; } else { startAboPath = endAboPath.Substring(0, index); } return FindHierarchicalProperty(reader, propertyType, startAboPath, endAboPath, out matchedPath); }
private void PopulateApplicationProperties(MetabaseReader reader) { int num = 0; bool flag = false; bool flag2 = false; bool flag3 = !base.Bindings.ContainsKey(Uri.UriSchemeHttps); bool flag4 = false; this.appTransportSettings = new HostedServiceTransportSettings(); string appAboPath = this.appAboPath; object obj2 = null; while ((num < 4) && (appAboPath.Length >= this.siteAboPath.Length)) { if (!flag && ((obj2 = reader.GetData(appAboPath, MetabasePropertyType.Realm)) != null)) { this.appTransportSettings.Realm = (string) obj2; flag = true; num++; } if (!flag2 && ((obj2 = reader.GetData(appAboPath, MetabasePropertyType.AuthFlags)) != null)) { this.appTransportSettings.AuthFlags = (AuthFlags) ((uint) obj2); flag2 = true; num++; } if (!flag3 && ((obj2 = reader.GetData(appAboPath, MetabasePropertyType.AccessSslFlags)) != null)) { this.appTransportSettings.AccessSslFlags = (HttpAccessSslFlags) ((uint) obj2); flag3 = true; num++; } if (!flag4 && ((obj2 = reader.GetData(appAboPath, MetabasePropertyType.AuthProviders)) != null)) { this.appTransportSettings.AuthProviders = ((string) obj2).Split(IISConstants.CommaSeparator, StringSplitOptions.RemoveEmptyEntries); flag4 = true; num++; } int length = appAboPath.LastIndexOf('/'); appAboPath = appAboPath.Substring(0, length); } if ((this.appTransportSettings.AuthProviders == null) || (this.appTransportSettings.AuthProviders.Length == 0)) { this.appTransportSettings.AuthProviders = MetabaseSettingsIis.DefaultAuthProviders; } }
private HttpAccessSslFlags GetAccessSslFlags(MetabaseReader reader, string relativeVirtualPath) { object obj2 = this.FindPropertyUnderAppRoot(reader, MetabasePropertyType.AccessSslFlags, relativeVirtualPath); if (obj2 != null) { return (HttpAccessSslFlags) ((uint) obj2); } return this.appTransportSettings.AccessSslFlags; }
private object FindPropertyUnderAppRoot(MetabaseReader reader, MetabasePropertyType propertyType, string relativeVirtualPath) { string str; return(this.FindPropertyUnderAppRoot(reader, propertyType, relativeVirtualPath, out str)); }
object FindPropertyUnderAppRoot(MetabaseReader reader, MetabasePropertyType propertyType, string relativeVirtualPath) { string matchedPath; return(FindPropertyUnderAppRoot(reader, propertyType, relativeVirtualPath, out matchedPath)); }
object FindPropertyUnderAppRoot(MetabaseReader reader, MetabasePropertyType propertyType, string relativeVirtualPath) { string matchedPath; return FindPropertyUnderAppRoot(reader, propertyType, relativeVirtualPath, out matchedPath); }
private void PopulateSiteProperties(MetabaseReader reader) { object data = reader.GetData(this.siteAboPath, MetabasePropertyType.ServerBindings); if (data != null) { string[] strArray = (string[]) data; if (strArray.Length > 0) { base.Bindings.Add(Uri.UriSchemeHttp, strArray); } } data = reader.GetData(this.siteAboPath, MetabasePropertyType.SecureBindings); if (data != null) { string[] strArray2 = (string[]) data; if (strArray2.Length > 0) { base.Bindings.Add(Uri.UriSchemeHttps, strArray2); } } foreach (string str in base.Bindings.Keys) { base.Protocols.Add(str); } }
object FindHierarchicalProperty(MetabaseReader reader, MetabasePropertyType propertyType, string startAboPath, string endAboPath, out string matchedPath) { matchedPath = null; while (endAboPath.Length >= startAboPath.Length) { object propertyValue = reader.GetData(endAboPath, propertyType); if (propertyValue != null) { matchedPath = endAboPath; return propertyValue; } // Continue the search in the parent int index = endAboPath.LastIndexOf(IISConstants.AboPathDelimiter); endAboPath = endAboPath.Substring(0, index); } return null; }
private string[] GetAuthProviders(MetabaseReader reader, string relativeVirtualPath) { object obj2 = this.FindPropertyUnderAppRoot(reader, MetabasePropertyType.AuthProviders, relativeVirtualPath); if (obj2 != null) { string[] strArray = ((string) obj2).Split(IISConstants.CommaSeparator, StringSplitOptions.RemoveEmptyEntries); if ((strArray != null) && (strArray.Length > 0)) { return strArray; } } return this.appTransportSettings.AuthProviders; }