2010-04-09 Marek Habersack * WebConfigurationManager.cs: GetSection properly processes paths of form '~'. Fixes bug #595140. Patch from Adriaan van Kekem , thanks! 2010-04-08 Gonzalo Paniagua Javier * GlobalizationSection.cs: use WebName instead of EncodingName. 2010-03-06 Marek Habersack * WebConfigurationManager.cs: do not use Request.Path - it may fail because of invalid web.config file, use Request.PathNoValidation instead. * VersionConverter.cs: added * PropertyHelper.cs: added a Version converter helper. * HttpRuntimeSection.cs: added 4.0 properties - RequestPathInvalidCharacters, RequestValidationType and RequestValidationMode. 2010-02-23 Marek Habersack * SessionStateSection.cs: implemented 4.0 properties - CompressionEnabled and SqlConnectionRetryInterval 2010-02-12 Marek Habersack * WebConfigurationHost.cs: implemented {Encrypt,Decrypt}Section 2010-01-20 Marek Habersack * OutputCacheSection.cs: implemented the Providers and DefaultProviderName 4.0 properties. 2010-01-09 Marek Habersack * WebConfigurationManager.cs: GetSection properly handles looking up and caching of instances. Part of fix for bug #568441 * WebConfigurationHost.cs: GetConfigPathFromLocationSubPath calculatesthe path relative to the current config file path. Part of fix for bug #568441 2009-12-02 Marek Habersack * CompilationSection.cs: added two properties - OptimizeCompilations (3.5+) and TargetFramework (4.0+) 2009-11-19 Marek Habersack * WebConfigurationHost.cs: IsDefinitionAllowed now normalizes the passed configuration path, so that MachineToApplication sections * WebConfigurationManager.cs: use an rw lock to protect access to sectionCache. This is now necessary as the save handler clears the cache. 2009-11-10 Marek Habersack * WebConfigurationManager.cs: path passed to OpenWebConfiguration from GetSection does not come from FindWebConfig. 2009-11-09 Marek Habersack * WebConfigurationManager.cs: there's no need to cache sections by _file_ path - using section name and web.config path is more than enough and it reduces the number of cache entries considerably. Fixes bug #550730 2009-10-07 Marek Habersack * WebConfigurationManager.cs: GetSection doesn't perform string + char + string concatenation to generate section cache key (by Gonzalo Paniagua Javier) which gives an enormous performance boost (processing time for mojoportal's default.aspx went down from 2.65s to 107ms on average). The key generation is performed without any kind of string operation right now (except for GetHashCode on 3 strings). GetSectionCacheKey is called only once and sectionCache became a dictionary. 2009-08-20 Marek Habersack * WebConfigurationManager.cs: GetSection does not use FindWebConfig to get the virtual path to open configuration for - doing so would make the configuration system ignore sections. Fixes bug #482181 2009-07-23 Gonzalo Paniagua Javier * WebConfigurationManager.cs: avoid possible infinite loop when the path starts with ~ and 1 file check. 2009-07-15 Marek Habersack * WebConfigurationManager.cs: another approach to suppressing application reloads after the app writes to its root web.config file. Leaving the previous code in place to get more protection. It's a kludge, but it's the best option to avoid all the races caused by System.Configuration+FileSystemWatcher without rewriting large parts of System.Configuration (and System.Web.Configuration). Fixes bug #522017 2009-07-14 Marek Habersack * WebConfigurationManager.cs: added support for suppressing application reload when the main config file is written to from application. * WebConfigurationHost.cs: added minimal implementation of WriteCompleted, which checks if there's need to suppress application reload. 2009-07-13 Marek Habersack * ProvidersHelper.cs: InstantiateProvider doesn't have to explicitly look for types in App_Code assemblies - this is done in HttpApplication.LoadType. 2009-07-09 Gonzalo Paniagua Javier * WebConfigurationHost.cs: null means MachineToApplication. * WebConfigurationManager.cs: when caching configuration and sections, use the configuration file directory instead of the incoming request path. 2009-06-08 Gonzalo Paniagua Javier * HttpHandlerAction.cs: fix path matching when the pattern has more than one slash. 2009-06-05 Marek Habersack * WebConfigurationManager.cs: OpenWebConfiguration caches configurations with a key generated from all the parameters passed to it, not just from path. Added internal GetSection method which takes HttpContext as its third parameter - used in calling OpenWebConfiguration. FindWebConfig is no longer used in GetSection - it breaks handling of elements in config files. Fixes bug #510302 2009-06-03 Marek Habersack * MonoSettingsSection.cs: added new property, verificationCompatibility, which serves the same purpose as the registry key described in http://support.microsoft.com/kb/932552 (when set to 1 it turns off virtual path validity verification). Fixes bug #509163 2009-05-14 Marek Habersack * HttpHandlersSection.cs: if we're matching a default handler, disallow caching. 2009-04-03 Marek Habersack * WebConfigurationManager.cs: added code in the static constructor to enable retrieving application settings via ApplicationSettingsBase from within asp.net applications. Fixes bug #491531 * ApplicationSettingsConfigurationFileMap.cs: added. 2009-03-12 Dean Brettle * nBrowser/Build.cs: made Browser() method thread-safe and moved the actual tree creation to a private InitializeTree() method for clarity. 2009-03-01 Marek Habersack * WebConfigurationManager.cs: optimized GetWebApplicationSection a bit 2009-02-28 Marek Habersack * WebConfigurationManager.cs: make sure no nrex happens in GetSectionCacheKey () 2009-02-26 Gonzalo Paniagua Javier * WebConfigurationManager.cs: generate a hash from the string hsah codes instead of concatenating them. 2009-01-27 Marek Habersack * HttpHandlerAction.cs: removed the matches cache, it doesn't improve matters here in 99% of the cases. Regexps are no longer used to match handler paths, SearchPattern is used instead. 2009-01-26 Marek Habersack * WebConfigurationHost.cs: when an attempt to map a fake virtual path is made, MapPath returns the aplication physical root directory. Fixes bug #463950 2008-01-09 Dean Brettle * nBrowser/Node.cs: Fixed compatibility bug where sections were required in browser defs. 2009-01-09 Marek Habersack * WebConfigurationManager.cs: do not normalize the path in FindWebConfig when getting the virtual directory. 2009-01-08 Marek Habersack * WebConfigurationManager.cs: improve performance of FindWebConfig. 2009-01-07 Marek Habersack * HttpModulesSection.cs: allow for modules with non-public constructors. Fises bug #463971 * HttpHandlerAction.cs: allow for handlers with non-public constructors. Fixes bug #463971 2008-12-24 Marek Habersack * WebConfigurationManager.cs: A better version of the previous GetSection fix. Right now the method searches for directories containing web.config and uses them, if found, to open the web configuration. If no web.config is found, web configuration is opened for the root application directory. * WebConfigurationHost.cs: made GetWebConfigFileName internal static, so that code can be reused from WebConfigurationManager. 2008-12-23 Marek Habersack * WebConfigurationManager.cs: GetSection should call OpenWebConfiguration using the actual directory path, not a file path. If it fails to do so, System.Configuration may treat the top-level Web.config file as a child one which, in turn, in certain circumstances will lead to duplicate keys inserted in collections. 2008-12-16 Marek Habersack * WebConfigurationHost.cs: IsDefinitionAllowed should treat configPath == "~" as the root application path. 2008-12-12 Owen Brady * nBrowser/File.cs, nBrowser/Identification.cs, nBrowser/Node.cs, nBrowser/NodeTypes.cs, nBrowser/Result.cs, nBrowser/Build.cs, nBrowser/Exception.cs, CapabilitiesBuild.cs, CapabilitiesResult.cs: Updated Copyright information to include updated contact information. * nBrowser/Build.cs: Removed LoadDefaultEmbeddedResource function, the embeded resource it is referring too was never included in Mono. And was designed for a free standing browser identification libary. * nBrowser/Exception.cs: Removed Compile Attributes and related comments which were left in from the original free standing browser libary. * CapabilitiesBuild.cs: Removed Header Checksum related coding since it is not required for the Mono implementation. * CapabilitiesResult.cs: Updated Copyright information to include updated contact information. Removed functions which were designed to make use of features of a embeded browser file which is not present in Mono. * CapabilitiesChecksum.cs, RandomRoboBotKeywords.txt: Deleted 2008-10-21 Marek Habersack * CapabilitiesChecksum.cs: implement Hex and MapToHex more efficiently. 2008-10-09 Marek Habersack * MonoSettingsSection.cs: added - a section for mono-specific settings. 2008-10-01 Marek Habersack * CapabilitiesResult.cs: added support for the "browsers" capability - a collection of matching browser ids. * nBrowser/Node.cs: store matching browser ids in the capabilities collection (to support IsBrowser correctly) 2008-07-25 Dean Brettle * nBrowser/Node.cs nBrowser/Build.cs nBrowser/Identification.cs: Fixed race condition in Node.Process() by removing mutating functions from Identification and changing Node.Process() and Node.BrowserIdentification() to maintain state in a List instead of a List. * nBrowser/Node.cs: Fixed race condition associated with lookup of adapter types. * nBrowser/Node.cs: Removed duplicate call to Node.BrowserIdentification() from Node.Process(). * nBrowser/Node.cs: Removed duplicate call to Result.AddAdaper() from Node.Process(). * nBrowser/Node.cs: Fixed bug where capabilities containing literal $ or % were dropped. * nBrowser/Node.cs: Fixed bug where capabilities with multiple $ substitutions only had one applied. 2008-06-30 Zoltan Varga * CapabilitiesResult.cs: Make the RandomRoboBotKeywords array static and compute it only once. 2008-06-30 Marek Habersack * CompilationSection.cs: hush the warnings 2008-06-26 Zoltan Varga * nBrowser/Node.cs nBrowser/Result.cs: Avoid looking up adapter types names for every request in every assembly. 2008-05-22 Marek Habersack * WebConfigurationHost.cs: changed CreateDeprecatedConfigContext to return a new HttpContext object. This is part of a fix for bug #325128. Patch contributed by James Fitzsimons , thanks! 2008-05-07 Marek Habersack * RoleManagerSection.cs: use type converter when creating the cookieTimeout property in the static constructor. Fixes bug #387526. Patch fromIvan Hamilton , thanks! 2008-03-23 Dean Brettle * CapabilitiesBuild.cs (Process), ICapabilitiesProcess.cs (Process), nBrowser/Build.cs (Process): Added initialCapabilities argument to facilitate using browscap.ini capabilities. * CapabilitiesResult.cs (ctor), nBrowserResult.cs (ctor): Change items arg to IDictionary to facilitate using browscap.ini capabilities. * nBrowser/Node.cs (Reset): Removed code which checked prohibited non-alphanumerics in id attributes because .NET is not that strict. * nBrowser/Node.cs (MergeFrom): Fixed NullReferenceExceptions that occurred when the source or destination node did not have any capabilities or adapters. * nBrowser/Result.cs (AddAdapter): Fixed to allow types in other assemblies. 2008-03-09 Dean Brettle * nBrowser/Result.cs, nBrowser/NodeTypes.cs, nBrowser/Identification.cs, nBrowser/File.cs, nBrowser/Build.cs, nBrowser/Node.cs, nBrowser/Exception.cs: added. The code under nBrowser handles *.browser files. It is based on Owen "Ocean" Brady's code, with the following changes and improvements. Replaced Result.Adapter property with AdapterTypeMap property which maps control Type to adapter Type. Added Result.MarkupTextWriter property. Added overrides for Result.GetAdapters and Result.GetTagWriter to return MarkupTextWriter and AdapterTypeMap, resp. Changed tree building algorithm to not depend on nodes with id="Default" and to inject defaultBrowser nodes as parents of regular nodes with the same ids. Changed Node.cs to use Item instead of Add when adding a capability or sample header, so that values get replaced instead of appended. Added support for reference nodes (ie. nodes with refID="someID"). * CapabilitiesResult.cs: load RandomRoboBotKeywords.txt resource using the correct name. * RandomRoboBotKeywords.txt: added * HttpCapabilitiesBase.cs (CreateHtmlWriter, Adapters): Added support for *.browsers. Adapters property calls internal virtual GetAdapters() method which is overrided in nBrowser.Result returned by nBrowser code. CreateHtmlWriter uses type specified by TagWriter property. 2008-03-03 Vladimir Krasnov * ProvidersHelper.cs: fixed thread safety issue in InstantiateProvider 2008-03-01 Marek Habersack * WebConfigurationManager.cs: SettingsMappingManager has been moved to Mono.Web.dll 2008-02-28 Marek Habersack * HttpHandlerAction.cs: ignore case when matching handler paths. Fixes bug #364995 2008-02-26 Marek Habersack * BuildProviderCollection.cs: be case-insensitive when looking for the extension match. 2008-02-25 Marek Habersack * WebConfigurationManager.cs: hashtable can contain a key with a null value, avoid adding duplicate keys in such cases. 2008-02-18 Vladimir Krasnov * WebConfigurationManager.cs: performance improvement, cached GetSection method 2008-02-07 Vladimir Krasnov * GlobalizationSection.cs: fixed GetSanitizedCulture, performance optimization 2008-02-05 Marek Habersack * CompilerCollection.cs: Get (string language) should not use BaseGet as our collection is keyed on a list of language names (e.g. "cs;csharp") and passing a single language won't match in BaseGet correctly. Use the overriden indexer instead. Initialize the base class with the case-insensitive comparer. Fixes bug #357824. 2008-01-27 Daniel Nauck * HttpHandlerAction.cs: fixed the internal method PathMatches () removed wrong caching of FileMatchingInfo classes with request specific informations. Now we check against the current request path and cache the result in a dictionary. Also check correctly against all possible paths from the HttpHandler. 2007-12-27 Marek Habersack * ProfileGroupSettingsCollection.cs: added an internal method to add/overwrite new group settings. Used from RootProfilePropertySettingsCollection. * ProfileGroupSettings.cs: added the missing "name" property to the properties collection. Marked the propertySettingsProp property as the default collection. Added internal deserialization method, used from RootProfilePropertySettingsCollection to support the 'group' element. * ProfileSection.cs: defaultProviderProp typo - the name of the provider should be "AspNetSqlProfileProvider" * RootProfilePropertySettingsCollection.cs: added OnDeseerializeUnrecognizedElement to support the profile 'group' element. Added a missing Unmerge method. 2007-12-11 Vladimir Krasnov * SiteMapSection.cs: fixed ProvidersInternal property to be thread safe 2007-12-08 Marek Habersack * WebConfigurationManager.cs: GetSection now runs each section through a mapper (if any is defined for the section) before returning it to the caller. 2007-11-23 Marek Habersack * TagPrefixCollection.cs: changed the collection type to BasicMap. * ProfileSection.cs: added missing Properties property, added a static constructor to create property descriptors. Use property descriptors in property accessors. * ProfileGroupSettingsCollection.cs: added missing attribute to the class, removed CollectionType method, added missing IsModified and ResetModified methods, added missing Properties property. * ProfileGroupSettings.cs: added missing Properties property, adjusted the set of custom attributes of the PropertySettings property. * ProcessModelSection.cs: change the default value of the CpuMask property. * OutputCacheSection.cs: added the EnableKernelCacheForVaryByStar property. * OutputCacheProfile.cs: added the VaryByContentEncoding property. * FormsAuthenticationConfiguration.cs: corrected defaults for the Timeout property. * ExpressionBuilder.cs: corrected defaults for the ExpressionPrefix and Type properties. * CustomErrorsSection.cs: added two missing overrides - DeserializeSection and Reset. * ClientTargetSection.cs: added the missing Properties property. Added static constructor to create the property collection. * CustomErrorCollection.cs: removed the ThrowOnDuplicate property. * CacheSection.cs: corrected defaults for the PercentagePhysicalMemoryUsedLimit property. * ClientTargetCollection.cs: added missing Properties property. * IConfigMapPathFactory.cs: added * IConfigMapPath.cs: added * RoleManagerSection.cs: added a static constructor, a collection of properties, the missing Properties property. 2007-11-22 Marek Habersack * RoleManagerSection.cs: CookieTimeout property custom attributes changed to match MS.NET's ones. * AuthorizationRuleCollection.cs: removed the ThrowOnDuplicate property - it's not found in the MS.NET version of the class. 2007-11-06 Marek Habersack * MachineKeySectionUtils.cs: make sure keys are autogenerated when necessary. 2007-11-02 Marek Habersack * HttpHandlerActionCollection.cs: clear http handler cache in HttpApplication if the collection is modified. 2007-11-01 Marek Habersack * MachineKeySection.cs: moved all the internal static methods and properties to MachineKeySectionUtils.cs * MachineKeySectionUtils.cs: added. This file is included in the System.Web.Extensions compilation. The old properties from MachineKeySection.cs became methods. 2007-10-24 Marek Habersack * HttpHandlerAction.cs: exact path matching must be done on the original string in PathMatches, not on the sliced one. Fixes bug #335669. 2007-10-17 Marek Habersack * WebConfigurationHost.cs: if running outside hosted environment, read only the assemblyname.config configuration file instead of web.config. Fixes bug #332425 2007-10-15 Marek Habersack * ProvidersHelper.cs: use HttpApplication.LoadType instead of Type.GetType. * HttpModulesSection.cs: use HttpApplication.LoadType when loading modules, to include both the bin/ directory and the top-level assemblies in search. Fixes bug #333686. 2007-08-30 Marek Habersack * MachineKeySection.cs: retrieve the keys from the registry before falling back to the old method. Fixes bug #76606 2007-08-23 Marek Habersack * ProvidersHelper.cs: HttpApplication.LoadTypeFromPrivateBin renamed to LoadTypeFromBin. 2007-08-21 Marek Habersack * ProvidersHelper.cs: use HttpApplication.LoadTypeFromPrivateBin to get the provider settings type. 2007-08-10 Gert Driesen * PagesEnableSessionState.cs: Marked internal on 1.0 profile. 2007-07-16 Vladimir Krasnov * ProfileGroupSettingsCollection.cs: added ResetInternal internal method * RootProfilePropertySettingsCollection.cs: added Reset method override to reset GroupSettings collection 2007-06-24 Vladimir Krasnov * HttpHandlerAction.cs: fixed SplitPaths property to be thread safe 2007-06-12 Vladimir Krasnov * CompilationSection.cs: TARGET_JVM on not supported features * HttpModulesSection.cs: ctor should be static 2007-06-03 Adar Wesley * ProfilePropertySettingsCollection.cs: added missing method OnDeserializeUnrecognizedElement. 2007-05-30 Marek Habersack * WebConfigurationManager.cs: if errors happen when opening the configuration file, mark the manager as unsafe to prevent further usage and avoid error loops. 2007-05-17 Igor Zelmanovich * WebConfigurationHost.cs: for TARGET_J2EE only: prevent NullRefference Exception. 2007-05-15 Igor Zelmanovich * WebConfigurationManager.cs: make configurations hashtable case-insensitive. * WebConfigurationHost.cs: for TARGET_J2EE only: GetStreamName returns file path in right case, that make it works on case-sensitive file system. 2007-05-15 Marek Habersack * BuildProviderCollection.cs: refactoring - use HttpApplication.LoadType to actually look up the type. * HttpHandlerAction.cs: as above * WebConfigurationHost.cs: refactoring - moved the LoadType to HttpApplication to share the code between 1.1 and 2.0 profiles. 2007-05-14 Marek Habersack * UrlMappingCollection.cs: implemented the Item (string) indexer. * UrlMapping.cs: implemented the URL validation callback body (doesn't work at the moment). 2007-05-14 Igor Zelmanovich * WebConfigurationManager.cs: make configurations synchronized. added new internal method RemoveConfigurationFromCache. 2007-05-07 Marek Habersack * PagesSection.cs: buffering is on by default. 2007-04-24 Marek Habersack * WebConfigurationHost.cs: wrap MapPath calls in try/catch, because bad URLs can cause it to throw exceptions. If such exception is caught, throw a HttpException for Bad Request (400). Look for types in the top-level assemblies (App_Code and friends). * WebConfigurationManager.cs: added two internal methods for safe retrieval of config sections. 2007-04-19 Marek Habersack * HttpHandlerAction.cs: look up types in all the toplevel assemblies. Fixes bug #80897. 2007-04-17 Atsushi Enomoto * ProcessModelSection.cs : cpuMask default value should be int, not uint. 2007-04-06 Marek Habersack * CustomErrorsSection.cs: make the customErrors section work. * PagesSection.cs: provide appropriate default value for the asyncTimeout setting. 2007-03-24 Marek Habersack * WebConfigurationHost.cs: allow MachineToApplication definition for config paths that equal the domain virtual app directory. 2007-03-22 Adar Wesley * HttpCapabilitiesBase.cs: implemented all capabilities. Capabilities still throw if there is no value in browscaps.ini and the property is called. 2007-03-21 Vladimir Krasnov * WebConfigurationManager.cs: fixed OpenWebConfiguration, should not lock when checking if configuration is already open 2007-03-15 Vladimir Krasnov * WebConfigurationManager.cs: fixed OpenWebConfiguration, removed GetBasePath call and locations search, since this not affects configuration initialization, but improves performance 2007-03-12 Marek Habersack * ProvidersHelper.cs: support loading custom providers from App_Code assemblies. Fixes bug #81071. Also set eol-style to native. 2007-03-08 Gert Driesen * PagesSection.cs: Revert part of Adar's patch that regresses bug #80913. 2007-03-06 Adar Wesley * PagesSection.cs: improve Enum parsing and strongly typed default values. 2007-02-20 Marek Habersack * Patch from Gert Driesen * PagesSection.cs: Process value of EnableSessionState attribute case-sensitive, and perform check in getter. Fix for bug #80913. * PageParser.cs: Added note on difference in behaviour between page level attribute and configuration attribute for enableSessionState. * PagesConfiguration.cs: Fixed compiler warning. 2007-02-22 Marek Habersack * CompilerCollection.cs: Optimize language lookup a bit. 2007-02-05 Konstantin Triger * TagPrefixCollection.cs: Fix element key creation. 2007-02-04 Konstantin Triger * NamespaceInfo.cs, HttpModuleAction.cs, RoleManagerSection.cs: fix the default value. 2007-02-02 Marek Habersack * TagPrefixCollection.cs: Add the CollectionType parameter. Get rid of unnecessary interface references in the class declaration. GetElementKey should return Source which should be unique, unlike TagPrefix. 2007-01-04 Konstantin Triger * ProfileSection.cs: Ensure enabled = true by default; cleanup. 2006-12-27 Vladimir Krasnov * CustomErrorCollection.cs: fixed ThrowOnDuplicate to false as in .net 2006-12-21 Gonzalo Paniagua Javier * GlobalizationSection.cs: make encodings actually work for the 2.0 profile. 2006-12-21 Marek Habersack * TagMapInfo.cs: Add an internal default constructor for use from TagMapCollection. * TagMapCollection.cs: Don't call the string,string constructor of TagMapInfo - the class disallows empty strings as values of its properties. 2006-12-21 Vladimir Krasnov * RoleManagerSection.cs: refactored using attributes 2006-12-20 Marek Habersack * ProfilePropertyNameValidator.cs: added a few checks. 2006-12-18 Vladimir Krasnov * WebConfigurationManager.cs: fixed GetSection to execute GetRuntimeObject, refactored GetSection and GetWebApplicationSection 2006-12-17 Vladimir Krasnov * HttpHandlerAction.cs: fixed 'verb' config property 2006-12-07 Igor Zelmanovich * ProvidersHelper.cs: fixed: load assembles from /bin 2006-11-22 Miguel de Icaza * SessionStateSection.cs: Do not call Enum.Parse with a null argument, prevents an exception from being thrown. 2006-11-20 Marek Habersack * GlobalizationSection.cs: Added support for "auto" cultures and the "auto:DEFAULT_CULTURE" cultures. 2006-11-13 Konstantin Triger * WebConfigurationHost.cs: use Type.GetType for loading full qualified types. 2006-11-05 Vladimir Krasnov * ProfileGroupSettings.cs, ProfileGroupSettingsCollection.cs ProfilePropertySettingsCollection.cs, ProfileSection.cs RootProfilePropertySettingsCollection.cs: refactoring and fix of element 2006-10-18 Marek Habersack * WebConfigurationManager.cs: implement support for extra assemblies to be referenced when compiling a page. 2006-09-06 Gonzalo Paniagua Javier * WebConfigurationManager.cs: add null checks. Patch by Marek Habersack that fixes bug #79283. 2006-09-06 Konstantin Triger * WebConfigurationHost.cs: do not recourse as this will be done by Configuration object. 2006-08-08 Vladimir Krasnov * WebConfigurationManager.cs: added configSystem property under TARGET_JVM part * WebConfigurationHost.cs: fixed GetStreamName and OpenStreamForRead for TARGET_JVM * CompilationSection.cs: BuildProviders property removed from TARGET_JVM * SystemWebSectionGroup.cs: Compilation property removed from TARGET_JVM 2006-06-26 Atsushi Enomoto * NullableStringValidator.cs : new internal class that is almost identical to StringValidator but allows null value. * PropertyHelper.cs : use new NullableStringValidator. * NamespaceCollection.cs : in NamespaceInfo "" is not allowed. 2006-06-08 Chris Toshok * WebConfigurationHost.cs (InitForConfiguration): i know this is going to bite me in the ass, but guard against configPath being == to "/", since this will result in an infinite loop. (MapPath): fix a NRE. 2006-05-18 Atsushi Enomoto * WebConfigurationManager.cs: recent sys.config.dll changes on ConfigurationManager.GetSection() which should call GetRuntimeObject() should also apply here. Fixed monodoc web. 2006-05-10 Andrew Skiba * HttpHandlerAction.cs: keep the internal exception 2006-05-08 Chris Toshok * WebConfigurationManager.cs (GetBasePath): fix bug where path.Length was 0 when we got to the last while loop (and indexed -1 into an array.) Thanks Marek for the fix. 2006-05-04 Chris Toshok [ Fixes bug #78256 ] * WebConfigurationHost.cs (GetConfigType): add a MonoTODO about how we should use the build provider machinery to get types. (MapPath): add rudimentary mapping in the case where we don't have a request, basically handle the case where the url begins with (or is) HttpRuntime.AppDomainAppVirtualPath. * WebConfigurationManager.cs (GetSection): if we don't have a valid request, open the web configuration corresponding to HttpRuntime.AppDomainAppVirtualPath. (GetBasePath): comment this a little, and make it work in the case where we don't have an HttpRequest. 2006-04-27 Chris Toshok * AuthorizationRuleCollection.cs (ThrowOnDuplicate): for the time being introduce a overridden property MS doesn't make use of. This needs readdressing, but it should get people making use of rules working again. 2006-04-25 Chris Toshok * AuthorizationRule.cs (Reset): finally figure out what this method is supposed to do. Assign our Action property based on parentElement's. 2006-04-25 Chris Toshok * WebConfigurationHost.cs (InitForConfiguration): actually, use HttpRuntime.AppDomainAppVirtualPath on gonzalo's recommendation. It's never null, and its use cleans things up a bit. 2006-04-25 Chris Toshok * WebConfigurationHost.cs (InitForConfiguration): stop going up the virtual hierarchy once we reach the application's base virtual path. 2006-04-24 Chris Toshok * AuthorizationSection.cs (IsValidUser): fix a problem that surfaced when converting from the 1.1 to 2.0 config classes. Only check for verb match if there are actually verbs to match against. 2006-04-11 Chris Toshok * ExpressionBuilderCollection.cs (CreateNewElement): call argless ctor. * ExpressionBuilder.cs: add internal argumentless ctor for use by the collection type. 2006-03-24 Chris Toshok * WebConfigurationManager.cs (GetConfig): add a fallback case for configuration sections that don't subclass from ConfigurationSection. 2006-03-24 Chris Toshok * WebConfigurationHost.cs: fix bug where OpenWebConfiguration ("/") would result in 2 configurations for that toplevel path to be opened. 2006-03-08 Chris Toshok * ProvidersHelper.cs: implement this static class properly. * SiteMapSection.cs (ProvidersInternal): add internal property to get the actual SiteMapProviderCollection from here. 2006-02-28 Chris Toshok * BuildProviderAppliesTo.cs, PagesToCountAction.cs: nuke. 2006-02-10 Gonzalo Paniagua Javier * Compiler.cs: * CompilerCollection.cs: removed compatibility code. * BuildProviderCollection.cs: add GetProviderForExtension(). 2006-02-02 Chris Toshok * WebConfigurationManager.cs (GetSection(string,string)): implement. 2006-02-01 Atsushi Enomoto * TrustLevelCollection.cs, CodeSubDirectoriesCollection.cs, CustomErrorCollection.cs, CompilerCollection.cs, HttpHandlerActionCollection.cs, FormsAuthenticationUserCollection.cs, AuthorizationRuleCollection.cs, TagPrefixCollection.cs : CollectionType is public. 2006-02-01 Chris Toshok * WebConfigurationManager.cs: In the normal case, get the current request's web.config, not the application's. If there is no current request, get the application's. (GetWebApplicationConfiguration): use Request.ApplicationPath, not Request.PhysicalApplicationPath. OpenWebConfiguration takes virtual paths. * HttpConfigurationSystem.cs: GetWebApplicationSection => GetSection. 2006-02-01 Chris Toshok * CompilerCollection.cs: CONFIGURATION_2_0 => NET_2_0 * Compiler.cs: same. 2006-02-01 Chris Toshok * HttpConfigurationSystem.cs: SupportsUserConfig == true. let's use this to determine if ConfigurationManager.AppSettings should be read-only or not. 2006-01-31 Chris Toshok * WebConfigurationManager.cs: err, why did i ifdef stuff NET_2_0 inside of an ifdef NET_2_0? 2006-01-30 Chris Toshok * WebConfigurationManager.cs: lots of little changes. hopefully this doesn't break anyone. it fixes all the nunit problems gonzalo was having. * WebConfigurationHost.cs (GetStreamName): in the MachineWebPath case, handle the case where we have a WebConfigurationFileMap. (MapPath): this is likely wrong, but in the case where we don't have a file map or current HttpContext, just return the path. 2006-01-29 Chris Toshok * HttpModulesSection.cs (LoadModules): I'm not sure we want to solve this problem in this way, but the 1.x code forces DefaultAuthenticationModule to be in the list of modules.. Without this fix (or something else) HttpContext.User is null when it shouldn't be. 2006-01-26 Chris Toshok * HttpConfigurationSystem.cs: new class that gets sections from web.config files. * WebConfigurationManager.cs: change a lot of the NotImplementedExceptions to NotSupportedExceptions. (AppSettings): implement by just returning ConfigurationManager.AppSettings (note this is broken because ConfigurationManager.AppSettings are read-only, but it works for reading.) (ConnectionStrings): same (and probably broken in the same way..) (Init): replace the 2.0 IInternalConfigSystem with our HttpConfigurationSystem. * WebConfigurationHost.cs: add a comment about how things are likely to work in the face of IRemoteWebConfigurationHostServer. (CreateConfigurationContext): return a WebContext instance. 2006-01-25 Chris Toshok * AuthorizationSection.cs (IsValidUser): instead of a blanket false for a null user, just set the username to "" and short circuit out the check for roles. 2006-01-25 Chris Toshok * AuthorizationRule.cs (CheckUser): handle * and ?, and use String.Compare instead of ==. (CheckVerb): use String.Compare instead of ==. * AuthorizationSection.cs (IsValidUser): return false for a null user. 2006-01-22 Chris Toshok * GlobalizationSection.cs (VerifyData): quiet mcs. 2006-01-18 Chris Toshok * SystemWebSectionGroup.cs: wrap System.Web.Services references in WEBSERVICES_DEP. 2006-01-16 Chris Toshok * WebConfigurationManager.cs: implement a IConfigurationSystem for use with WebConfigurationManager. (GetSection): try to load the section using GetWebApplicationSection before calling into ConfigurationManager.GetSection. (GetWebApplicationConfiguration): move common code to here. (GetWebApplicationSection): use GetWebApplicationConfiguration. (AppSettings): implement. * WebConfigurationHost.cs (GetWebConfigFileName): add "Web.Config", and move to an array/loop implementation. maybe we should scan the directory and check ToLower() instead of explicitly enumerating? 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.