2006-01-10 Chris Toshok * SystemWebSectionGroup.cs (HostingEnvironment): enable this property. (ProcessModel): add the ConfigurationPropertyAttribute. 2006-01-10 Chris Toshok * PagesSection.cs (.cctor): fix the default value for the enableSessionState attribute - it's not a bool, but a PagesEnableSessionState enum. 2006-01-10 Chris Toshok * MachineKeySection.cs (ValidationKeyBytes, DecryptionKeyBytes, DecryptionKey192Bits): if the keys are null, generate them. Fixes Page.EnableViewStateMac support. 2006-01-09 Chris Toshok * RoleManagerSection.cs, SqlCacheDepencendySection.cs, SessionStateSection.cs, TraceSection.cs, SecurityPolicySection.cs, PagesSection.cs, RulesSettings.cs, UrlMappingSection.cs: fix dumper output. 2006-01-09 Chris Toshok * ExpressionBuilderCollection.cs (.cctor): no need to create a collection property here. we're already in the collection. * CompilationSection.cs: fix typo. 2006-01-04 Chris Toshok * MachineKeySection.cs: bring over some more internal methods from MachineKeyConfig, and call Set{Decryption,Validation}Key from their respective property setters. 2006-01-03 Chris Toshok * AuthorizationSection.cs (IsValidUser): add analogous method from AuthorizationConfig.cs. * AuthorizationRule.cs: add predicates for Verb, User, and Role analogous to what existed in AuthorizationConfig.cs. 2005-12-11 Chris Toshok * WebConfigurationManager.cs (OpenMachineConfiguration): just call ConfigurationManager.OpenMachineConfiguration. (OpenWebConfiguration): remove the "IntPtr userToken" version and add a "string userName" version to clean up corcompare output. Modify all the overloads to pass null instead of IntPtr.Zero. (GetWebApplicationSection): if we're not running in a web application, use the machine configuration. 2005-12-06 Chris Toshok * CodeSubDirectory.cs (DirectoryName): don't use an private field, but base[directoyNameProp]. * AuthorizationRuleCollection.cs (Add): use BaseAdd (rule, false), so we can insert duplicates. (GetKey): nuke. (GetElementKey): MS for some reason just uses the action for the key, ToString()'ed. (Remove): pass the correct key. * ProfileGroupSettings.cs (GetHashCode): implement. * GlobalizationSection.cs (GetEncoding): for the utf-8 case, just use Encoding.UTF8. * AssemblyCollection.cs (Add): use BaseAdd (info, false) so we can insert duplicates. * CacheSection.cs (.cctor): make privateByteLimit's default 0L so we don't get a invalid cast exception later on. * AuthorizationRule.cs (VerifyData): split out the verification foo from PreSerialize. (PostDeserialize): so we can call it from here. (PreSerialize): and here. 2005-12-05 Chris Toshok * AuthorizationRuleCollection.cs (GetKey): split out the logic for creating a key from a rule here. (GetElementKey): use it here. (Remove): and here. 2005-12-04 Chris Toshok * UrlMapping.cs: add an internal argument-less ctor. * UrlMappingCollection.cs (CreateNewElement): use argument-less ctor. (GetKey): implement. (AllKeys): implement. * TrustLevel.cs: add an internal argument-less ctor. * TrustLevelCollection.cs (Set): implement. (CreateNewElement): use argument-less ctor. (IsElementName): implement. (ElementName): implement. (set_Item (int index)): use Set. (ThrowOnDuplicate): implement. * TagPrefixInfo.cs: add internal argument-less ctor. * TagPrefixCollection.cs (CreateNewElement): call argument-less ctor. (CollectionType): add text to TODO. (ElementName): implement. * SqlCacheDependencyDatabaseCollection.cs (Set): implement. (AllKeys): implement. * RuleSettings.cs: add internal argument-less ctor. * RuleSettingsCollection.cs (Contains): implement. (CreateNewElement): use argument-less ctor. (IndexOf): implement. (Insert): implement. * RootProfilePropertySettingsCollection.cs (IsModified): chain up to base.IsModified for now. (Reset): chain up to base.Reset for now. (ResetModified): chain up to base.ResetModified for now. * ProfileSettings.cs: add internal argument-less ctor. * ProfileSettingsCollection.cs (Contains): implement. (CreateNewElement): use argument-less ctor. (IndexOf): implement. (Insert): implement. * ProfilePropertySettingsCollection.cs (IndexOf): implement. (Set): implement. (AllKeys): implement. * ProfileGroupSettings.cs: add internal argument-less ctor. * ProfileGroupSettingsCollection.cs (CreateNewElement): use parameter-less ctor. (GetKey): implement. (ResetModified): for now call base.ResetModified. (Set): implement. (AllKeys): implement. * OutputCacheProfile.cs: add internal argument-less ctor. * OutputCacheProfileCollection.cs (CreateNewElement): use parameter-less ctor. (Set): implement. (AllKeys): implement. * HttpModuleActionCollection.cs (Add): remove MonoTODO. (CreateNewElement): same. * HttpHandlerActionCollection.cs (GetElementKey): build up the key from both the path and the verb. (Remove): same. * FormsAuthenticationUserCollection.cs (Set): implement. (AllKeys): implement. * EventMappingSettings.cs: add an internal argument-less ctor. * EventMappingSettingsCollection.cs (Contains): implement. (CreateNewElement): use argument-less ctor. (IndexOf): implement. (Insert): implement. * CompilerCollection.cs (GetKey): implement. (AllKeys): implement. * ClientTargetCollection.cs (GetKey): implement. (AllKeys): implement. * AuthorizationRuleCollection.cs (Set): implement. (ElementName): add some text to the MonoTODO. (set_Item (int index)): use Set. 2005-12-04 Chris Toshok * CustomError.cs: add an internal argument-less ctor for use by the collection. * CustomErrorCollection.cs: implement all the MonoTODO's. 2005-12-02 Chris Toshok * GlobalizationSection.cs (VerifyData): split out the stuff that used to live in PreSerialize here. (PreSerialize): call VerifyData here. (PostDeserialize): and here. 2005-12-01 Chris Toshok * GlobalizationSection.cs (PreSerialize): add checks for Culture and UICulture properties. 2005-12-01 Chris Toshok * AuthorizationRule.cs (..ctor): provide default values for roles/users/verbs here. Not sure if we should do this in the ctor or if the System.Configuration infrastructure should.. time will tell. (PreSerialize): throw if Roles.Count and Users.Count == 0. (SerializeElement): write out the element here. don't chain up to the base class since that has differing behavior than what we want. 2005-11-30 Chris Toshok * CompilerCollection.cs: ugly hack to fix the 2.0-without-config-2.0 case. wrap this file in #if CONFIGURATION_2_0 as well as #if NET_2_0. * Compiler.cs: same. 2005-11-28 Chris Toshok * SessionStateSection.cs (CookieLess): correct the compat function implementation. 2005-11-28 Chris Toshok * GlobalizationSection.cs (GetEncoding): if the encoding name is null, default to utf-8 before we hit the try block, so we don't throw and generate a spurious warning. * SessionStateSection.cs: The Cookieless handling needs a custom parser, it appears, as the converter is a StringConverter, not a GenericEnumConverter. (ParseCookieMode): the parser. 2005-11-28 Chris Toshok * PagesSection.cs (GetInstance): nuke. * CompilationSection.cs (GetInstance): nuke. 2005-11-28 Chris Toshok * HttpHandlerAction.cs: add some c&p code from the 1.1 config stuff to look for matching handlers. (..ctor): add parameterless ctor. * HttpHandlerActionCollection.cs: clean up formatting. (CreateNewElement): call the parameter-less ctor for HttpHandlerAction. * HttpHandlersSection.cs (..ctor): add a ConfigurationProperty for the default collection. (get_Handlers): implement. (LocateHandler): copy over (and massage) some 1.1 config code. * MachineKeySection.cs: move some code over from the 1.1 config code to deal with autogeneration of keys, as well as converting from the string rep to the byte[] rep. 2005-11-28 Chris Toshok * HttpModuleActionCollection.cs (CreateNewElement): use the new HttpModuleAction ctor. * HttpModuleAction.cs: add internal ctor with no parameters, for use in HttpModuleActionCollection. 2005-11-28 Chris Toshok * GlobalizationSection.cs (..cctor): the encoding ConfigurationProperties are of type "string", even though the properties themselves are of type Encoding. we do conversions manually in the setter/getters. gross. Add code (mostly c&p + massaged from GlobalizationConfigurationHandler) for this and also to handle the culture gettes. 2005-11-26 Chris Toshok * AuthorizationRuleCollection.cs (GetElementKey): implement this. * ProfilePropertyNameValidator.cs: make this internal, and add a blurb about how MS doesn't do the testing you'd expect them to. 2005-11-25 Chris Toshok * AuthorizationRuleCollection.cs (CreateNewElement): remove MonoTODO. * CompilationSection.cs (GetRuntimeObject): add comment to TODO. * ProfileGroupSettings.cs: reformat some things. * FormsAuthenticationUser.cs (Name): remove MonoTODO. * WebPartsSection.cs (GetRuntimeObject): change TODO comment. * ProfilePropertySettings.cs: add internal argument-less ctor. * IdentitySection.cs (GetRuntimeObject): return this. * ProfilePropertySettingsCollection.cs: implement much of the TODO's. * WebControlsSection.cs (GetRuntimeObject): implement. * SqlCacheDependencyDatabaseCollection.cs (GetElementKey): implement. (GetKey): implement. 2005-11-24 Chris Toshok * AssemblyInfo.cs: move this here from System.Web.Configuration, and fix up the properties. * SystemWebSectionGroup.cs: enable most of the sections (2 remaining to be enabled.) 2005-11-24 Chris Toshok * ProcessModelSection.cs, SqlCacheDependencySection.cs, SessionStateSection.cs, PassportAuthentication.cs, FormsAuthenticationConfiguration.cs, SqlCacheDependencyDatabase.cs, HttpModuleAction.cs, BufferModeSettings.cs, TagPrefixInfo.cs (..cctor): init elementProperty. (ValidateElement): new static validator callback. (ElementProperty): enable this, return elementProperty. 2005-11-23 Chris Toshok * ProfilePropertyNameValidator.cs: new implementation. * ProfilePropertySettings.cs, ProfileGroupSettings.cs, ClientTargetSection.cs, ClientTargetSection.cs, BufferModeSettings.cs, HttpModulesSection.cs, WebPartsPersonalization.cs, TransformerInfo.cs, TrustLevel.cs, NamespaceInfo.cs, SqlCacheDependencyDatabase.cs, AuthenticationSection.cs, RuleSettings.cs, FormsAuthenticationUser.cs, WebPartsSection.cs, BuildProvider.cs, WebPartsPersonalizationAuthorization.cs, Compiler.cs, ExpressionBuilder.cs, OutputCacheProfile.cs, FormsAuthenticationCredentials.cs, XhtmlConformanceSection.cs, OutputCacheSettingsSection.cs, CustomError.cs, TraceSection.cs, ExpressionBuilderCollection.cs, ProfileSettings.cs, SessionStateSection.cs, HealthMonitoringSection.cs, FormsAuthenticationConfiguration.cs, HttpRuntimeSection.cs, SessionPageStateSection.cs, TrustSection.cs, AnonymousIdentificationSection.cs, WebControlsSection.cs, ClientTarget.cs, TagMapInfo.cs, AuthorizationSection.cs, ProcessModelSection.cs, RoleManagerSection.cs, MembershipSection.cs, CustomErrorsSection.cs (..cctor): fix validator/converters. * MachineKeySection.cs (..cctor): fix validators/converters. (Validation): enable the Converter. * CodeSubDirectory.cs (..cctor): fix validator/converters. (DirectoryName): add note about missing validator decoration. * HttpModuleAction.cs (..cctor): init properties. (Properties): return properties. * CompilationSection.cs (..cctor): fix validator/converters. (GetInstance): add in this pre-2.0 interface for the time being, hopefully it'll make it easier to migrate later on. * HttpHandlerActionCollection.cs (..cctor): init properties. (Properties): return properties. * PagesSection.cs (..cctor): fix validator/converters. (GetInstance): add in this pre-2.0 interface for the time being, hopefully it'll make it easier to migrate later on. * HttpHandlersSection.cs (..cctor): init properties. (Properties): return properties. * EventMappingSettings.cs (..cctor): fix validator/converters. (Name): add note about missing validator decoration. * HttpHandlerAction.cs (..cctor): fix validator/converters. (PAth, Type, Verb): add note about missing validator decoration. * NamespaceCollection.cs (..cctor): fix properties. * ProfilePropertySettingsCollection.cs (..cctor): init properties. (..ctor): don't throw NIE. (Properties): return properties. * HttpModuleActionCollection.cs (..cctor): init properties. (Properties): return properties. * CacheSection.cs (..cctor): fix validators/converters. (PrivateBytesPollTime): add note about missing validator decoration. * AuthorizationRule.cs (..cctor): fix validators/converters. (Roles, Users, Verbs): enable the TypeConverter decorations. * UrlMapping.cs (ValidateUrl): static method for use as a validation callback. unimplemented as yet. (..cctor): fix validators/converters. (MappedUrl): add note about missing validator decoration. * PropertyHelper.cs: static utility class which contains references to validators and converters for use in static constructors (building the Properties arrays). 2005-11-23 Chris Toshok * MachineKeyValidationConverter.cs: new converter (and a pretty silly one, considering all it seems to do is convert "TripleDES" to "3DES"). * HostingEnvironmentSection.cs (.cctor): use PositiveTimeSpanValidator like MS does. 2005-11-18 Chris Toshok * HostingEnvironmentSection.cs (.cctor): add validators. * CompilationSection.cs (.cctor): fix defaultvalue of urlLinePragmas. 2005-11-18 Chris Toshok * SystemWebSectionGroup.cs: enable a whole slew of properties. * RegexWorker.cs: stub this out. * HttpCapabilitiesBase.cs: remove GetClrVersions since it's in one of the other partial files. * CompilationSection.cs: fix this up. * PagesSection.cs: fix some types and add a comment to DeserializeSection. * CompilerCollection.cs (Add): new internal method. * ProvidersHelper.cs: put the using System.Configuration.Provider inside the NET_2_0 block. * CacheSection.cs: add validators. 2005-11-14 Chris Toshok * BufferModeSettings.cs: add validators/converters to the programmatic property list. * BuildProvider.cs: add validators/converters to the programmatic property list, and add an internal ctor with no args. * Compiler.cs: wrap the code i hacked from the 1.1 stuff with a #region. * BuildProviderCollection.cs (CreateNewElement): use the internal BuildProvider ctor to get around validation. * AssemblyCollection.cs: same. 2005-11-14 Chris Toshok * TagPrefixCollection.cs (Remove): pass the key to BaseRemove. (set_Item (int index)): implement. * TagPrefixInfo.cs (Equals): implement. (GetHashCode): implement. * AuthorizationRuleCollection.cs (CreateNewElement(string)): implement propertly. (IndexOf): implement. (IsElementName): implement. (ElementName): implement. (Item (int index)): implement. * FormsAuthenticationUserCollection.cs (set_Item (int index)): implement. * UrlMappingCollection.cs (set_Item (int index)): implement. * OutputCacheProfileCollection.cs (set_Item (int index)): implement. * TransformerInfo.cs (Equals): implement. (GetHashCode): implement. * NamespaceInfo.cs (Equals): implement. (GetHashCode): implement. * ProfileSettingsCollection.cs (set_Item (int index)): implement. * TransformerInfoCollection.cs (set_Item (int index)): implement. * HttpHandlerActionCollection.cs (set_Item (int index)): implement. * BufferModesCollection.cs (set_Item (int index)): implement. * BuildProvider.cs: use the base[fooProp] pattern instead of instance fields. * ProfileGroupSettingsCollection.cs: implement most of this class. * RuleSettingsCollection.cs (set_Item (int index)): implement. * ClientTargetCollection.cs (set_Item (int index)): implement. * AssemblyCollection.cs (set_Item (int index)): implement. * BuildProviderCollection.cs (set_Item (int index)): reformat. * CustomError.cs (Equals): implement. (GetHashCode): implement. * ExpressionBuilderCollection.cs (set_Item (int index)): reformat. * PassportAuthentication.cs (RedirectUrl): express consternation in comment form. * NamespaceCollection.cs (set_Item (int index)): implement. * RootProfilePropertySettingsCollection.cs (SerializeElement): add comment. * ProfilePropertySettingsCollection.cs (set_Item (int index)): implement. * CustomErrorCollection.cs (set_Item (int index)): implement. * HttpModuleActionCollection.cs (set_Item (int index)): implement. * CodeSubDirectoriesCollection.cs (set_Item (int index)): implement. * CustomErrorsSection.cs (DeserializeSection): include call to base.DeserializeSection, and add MonoTODO. * EventMappingSettingsCollection.cs (set_Item (int index)): implement. * AuthorizationRule.cs (Equals): implement. (GetHashCode): implement. (SerializeElement): add comment. * TagMapCollection.cs (Remove): pass the key to BaseRemove. (set_Item (int index)): implement. * TagMapInfo.cs (Equals): implement. (GetHashCode): implement. (SerializeElement): add call to base.SerializeElement. * TrustLevelCollection.cs (Remove): pass the key to BaseRemove. (GetElementKey): implement. * SqlCacheDependencyDatabase.cs (set_Item (int index)): implement. * WebContext.cs: new implementation. 2005-11-13 Chris Toshok * AnonymousIdentificationSection.cs: rework this class a bit to fit in with the rest of S.W.C. Add validators to the ConfigurationProperty ctor calls, a pattern which will need to be replicated across the entire assembly, it appears (uggggh). 2005-11-13 Chris Toshok * AuthorizationRuleCollection.cs: fix ConfigurationCollection attribute. * TransformerInfo.cs: fix corcompare. * SqlCacheDependencyDatabase.cs: mark ctor internal to fix corcompare. * AuthenticationSection.cs: add missing Reset stub. * ProfileSettingsCollection.cs: use the more succint ctor. * FormsAuthenticationUser.cs: enable the TypeConverter on "name". * GlobalizationSection.cs: fix up corcompare. * WebPartsSection.cs: fix up corcompare. * ProfileGroupSettingsCollection.cs: add missing ConfigurationCollection attribute. * ExpressionBuilder.cs: implement. * FormsAuthenticationCredentials.cs: fix up corcompare. * AssemblyCollection.cs: implement Properties. * SiteMapSection.cs: implement Properties. * ExpressionBuilderCollection.cs: fix up corcompare. * ProfileSettings.cs: add missing ctor. * PassportAuthentication.cs: new implementation. * SqlCacheDependencySection.cs: fix up corcompare. * ProfilePropertySettingsCollection.cs: fix up corcompare. * HttpModuleActionCollection.cs: fix up corcompare. * EventMappingSettingsCollection.cs: fix up corcompare. * AuthorizationRule.cs: fix up corcompare. * WebControlsSection.cs: fix up corcompare. * AuthorizationSection.cs: fix up corcompare. * MembershipSection.cs: clean this up, implement Properties, fix up corcompare, etc. 2005-11-13 Chris Toshok * UrlMapping.cs, CustomErrorCollection.cs, CustomError.cs, HostingEnvironmentSection.cs, TrustLevel.cs, HttpCookiesSection.cs, UrlMappingsSection.cs, UrlMappingCollection.cs, LowerCaseStringConverter.cs, RoleManagerSection.cs, ProcessModelSection.cs, TrustLevelCollection.cs, ClientTarget.cs, CustomErrorsSection.cs, MachineKeySection.cs, SessionPageStateSection.cs, SessionStateSection.cs, ProvidersHelper.cs, ClientTargetCollection.cs, SecurityPolicySection.cs, HttpCapabilitiesBase.cs, ClientTargetSection.cs: Another large swath. 2005-11-12 Chris Toshok * AuthorizationRuleCollection.cs, AuthorizationRule.cs, AuthorizationSection.cs, BufferModesCollection.cs, BufferModeSettings.cs, CacheSection.cs, CompilerCollection.cs, Compiler.cs, DeploymentSection.cs, EventMappingSettingsCollection.cs, EventMappingSettings.cs, GlobalizationSection.cs, HealthMonitoringSection.cs, IdentitySection.cs, OutputCacheProfileCollection.cs, OutputCacheProfile.cs, OutputCacheSection.cs, OutputCacheSettingsSection.cs, ProfileSettingsCollection.cs, ProfileSettings.cs, RuleSettingsCollection.cs, RuleSettings.cs, SqlCacheDependencyDatabaseCollection.cs, SqlCacheDependencyDatabase.cs, SqlCacheDependencySection.cs, SystemWebCachingSectionGroup.cs, TraceSection.cs, TransformerInfoCollection.cs, TransformerInfo.cs, TrustSection.cs, WebControlsSection.cs, WebPartsPersonalizationAuthorization.cs, WebPartsPersonalization.cs, WebPartsSection.cs, XhtmlConformanceSection.cs: a whole slew of new classes. the fruits of tons of c&p and ibuprofen. 2005-11-09 Chris Toshok * PagesSection.cs, AuthenticationSection.cs, BuildProvider.cs, BuildProviderCollection.cs, HttpHandlerActionCollection.cs, HttpModulesSection.cs, HttpModuleAction.cs, HttpModuleActionCollection.cs, AnonymousIdentificationSection.cs, CodeSubDirectory.cs, CodeSubDirectoriesCollection.cs, SystemWebSectionGroup.cs, SiteMapSection.cs, WebConfigurationManager.cs: flesh out the implementation. * TagMap*.cs, TagPrefix*.cs: new implementation. * FormsAuthentication*.cs: new implementation. * Profile*.cs: new implementation. * Namespace*.cs: new implementation. * HttpRuntimeSection.cs: new implementation.