2010-07-02  Marek Habersack  <mhabersack@novell.com>

	* VersionConverter.cs: added support for checking whether the
	passed version is equal or more than a specified minimal version.

	* PagesSection.cs: added two 4.0 properties - ClientIDMode and
	ControlRenderingCompatibilityVersion 

2010-06-01  Marek Habersack  <mhabersack@novell.com>

	* HttpRuntimeSection.cs: added 4.0 properties
	MaxQueryLengthString, MaxUrlLength, EncoderType and
	RelaxedUrlToFileSystemMapping.

2010-05-17  Marek Habersack  <mhabersack@novell.com>

	* BuildProvider.cs: made the Extension property case-insensitive

2010-04-09  Marek Habersack  <mhabersack@novell.com>

	* WebConfigurationManager.cs: GetSection properly processes paths
	of form '~'. Fixes bug #595140. Patch from Adriaan van Kekem
	<avkekem@hotmail.com>, thanks!

2010-04-08 Gonzalo Paniagua Javier <gonzalo@novell.com>

	* GlobalizationSection.cs: use WebName instead of EncodingName.

2010-03-06  Marek Habersack  <mhabersack@novell.com>

	* 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  <mhabersack@novell.com>

	* SessionStateSection.cs: implemented 4.0 properties -
	CompressionEnabled and SqlConnectionRetryInterval 

2010-02-12  Marek Habersack  <mhabersack@novell.com>

	* WebConfigurationHost.cs: implemented {Encrypt,Decrypt}Section

2010-01-20  Marek Habersack  <mhabersack@novell.com>

	* OutputCacheSection.cs: implemented the Providers and
	DefaultProviderName 4.0 properties.

2010-01-09  Marek Habersack  <mhabersack@novell.com>

	* WebConfigurationManager.cs: GetSection properly handles looking
	up and caching of <location> 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  <mhabersack@novell.com>

	* CompilationSection.cs: added two properties -
	OptimizeCompilations (3.5+) and TargetFramework (4.0+)

2009-11-19  Marek Habersack  <mhabersack@novell.com>

	* 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  <mhabersack@novell.com>

	* WebConfigurationManager.cs: path passed to OpenWebConfiguration
	from GetSection does not come from FindWebConfig.

2009-11-09  Marek Habersack  <mhabersack@novell.com>

	* 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  <mhabersack@novell.com>

	* 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  <mhabersack@novell.com>

	* WebConfigurationManager.cs: GetSection does not use
	FindWebConfig to get the virtual path to open configuration for -
	doing so would make the configuration system ignore <location>
	sections. Fixes bug #482181

2009-07-23 Gonzalo Paniagua Javier <gonzalo@novell.com>

	* WebConfigurationManager.cs: avoid possible infinite loop when the
	path starts with ~ and 1 file check.

2009-07-15  Marek Habersack  <mhabersack@novell.com>

	* 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  <mhabersack@novell.com>

	* 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  <mhabersack@novell.com>

	* 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 <gonzalo@novell.com>

	* 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 <gonzalo@novell.com>

	* HttpHandlerAction.cs: fix path matching when the pattern has more
	than one slash.

2009-06-05  Marek Habersack  <mhabersack@novell.com>

	* 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 <location> elements in config files. Fixes bug #510302

2009-06-03  Marek Habersack  <mhabersack@novell.com>

	* 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  <mhabersack@novell.com>

	* HttpHandlersSection.cs: if we're matching a default handler,
	disallow caching.

2009-04-03  Marek Habersack  <mhabersack@novell.com>

	* 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  <dean@brettle.com>

	* 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  <mhabersack@novell.com>

	* WebConfigurationManager.cs: optimized GetWebApplicationSection a
	bit

2009-02-28  Marek Habersack  <mhabersack@novell.com>

	* WebConfigurationManager.cs: make sure no nrex happens in
	GetSectionCacheKey ()

2009-02-26 Gonzalo Paniagua Javier <gonzalo@novell.com>

	* WebConfigurationManager.cs: generate a hash from the string hsah
	codes instead of concatenating them.

2009-01-27  Marek Habersack  <mhabersack@novell.com>

	* 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  <mhabersack@novell.com>

	* 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  <dean@brettle.com>

	* nBrowser/Node.cs: Fixed compatibility bug where <identification> sections were required
	in browser defs.  

2009-01-09  Marek Habersack  <mhabersack@novell.com>

	* WebConfigurationManager.cs: do not normalize the path in
	FindWebConfig when getting the virtual directory.

2009-01-08  Marek Habersack  <mhabersack@novell.com>

	* WebConfigurationManager.cs: improve performance of
	FindWebConfig.

2009-01-07  Marek Habersack  <mhabersack@novell.com>

	* 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  <mhabersack@novell.com>

	* 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  <mhabersack@novell.com>

	* 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  <mhabersack@novell.com>

	* WebConfigurationHost.cs: IsDefinitionAllowed should treat
	configPath == "~" as the root application path.

2008-12-12  Owen Brady <Ocean@owenbrady.net>

	* 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  <mhabersack@novell.com>

	* CapabilitiesChecksum.cs: implement Hex and MapToHex more efficiently.

2008-10-09  Marek Habersack  <mhabersack@novell.com>

	* MonoSettingsSection.cs: added - a section for mono-specific
	settings.

2008-10-01  Marek Habersack  <mhabersack@novell.com>

	* 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 <dean@brettle.com>

	* 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<Match> instead of a List<Identification>.
	
	* 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  <vargaz@gmail.com>

	* CapabilitiesResult.cs: Make the RandomRoboBotKeywords array static and compute it
	only once.

2008-06-30  Marek Habersack  <mhabersack@novell.com>

	* CompilationSection.cs: hush the warnings

2008-06-26  Zoltan Varga  <vargaz@gmail.com>

	* nBrowser/Node.cs nBrowser/Result.cs: Avoid looking up adapter types names for
	every request in every assembly.

2008-05-22  Marek Habersack  <mhabersack@novell.com>

	* WebConfigurationHost.cs: changed CreateDeprecatedConfigContext
	to return a new HttpContext object. This is part of a fix for bug 
	#325128. Patch contributed by James Fitzsimons <james.fitzsimons@gmail.com>,
	thanks!

2008-05-07  Marek Habersack  <mhabersack@novell.com>

	* RoleManagerSection.cs: use type converter when creating the
	cookieTimeout property in the static constructor. Fixes bug
	#387526. Patch fromIvan Hamilton <ivan@chimerical.com.au>, thanks! 

2008-03-23  Dean Brettle <dean@brettle.com>

	* 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 <dean@brettle.com> 

	* 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  <vladimirk@mainsoft.com>

	* ProvidersHelper.cs: fixed thread safety issue in InstantiateProvider

2008-03-01  Marek Habersack  <mhabersack@novell.com>

	* WebConfigurationManager.cs: SettingsMappingManager has been
	moved to Mono.Web.dll

2008-02-28  Marek Habersack  <mhabersack@novell.com>

	* HttpHandlerAction.cs: ignore case when matching handler
	paths. Fixes bug #364995

2008-02-26  Marek Habersack  <mhabersack@novell.com>

	* BuildProviderCollection.cs: be case-insensitive when looking for
	the extension match.

2008-02-25  Marek Habersack  <mhabersack@novell.com>

	* WebConfigurationManager.cs: hashtable can contain a key with a
	null value, avoid adding duplicate keys in such cases.

2008-02-18  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* WebConfigurationManager.cs: performance improvement, cached
	GetSection method

2008-02-07  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* GlobalizationSection.cs: fixed GetSanitizedCulture, performance
	optimization

2008-02-05  Marek Habersack  <mhabersack@novell.com>

	* 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 <dna@mono-project.de>

	* 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  <mhabersack@novell.com>

	* 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  <vladimirk@mainsoft.com>

	* SiteMapSection.cs: fixed ProvidersInternal property to be thread safe

2007-12-08  Marek Habersack  <mhabersack@novell.com>

	* 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  <mhabersack@novell.com>

	* 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  <mhabersack@novell.com>

	* 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  <mhabersack@novell.com>

	* MachineKeySectionUtils.cs: make sure keys are autogenerated when
	necessary.

2007-11-02  Marek Habersack  <mhabersack@novell.com>

	* HttpHandlerActionCollection.cs: clear http handler cache in
	HttpApplication if the collection is modified.

2007-11-01  Marek Habersack  <mhabersack@novell.com>

	* 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  <mhabersack@novell.com>

	* 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  <mhabersack@novell.com>

	* 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  <mhabersack@novell.com>

	* 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  <mhabersack@novell.com>

	* MachineKeySection.cs: retrieve the keys from the registry before
	falling back to the old method. Fixes bug #76606

2007-08-23  Marek Habersack  <mhabersack@novell.com>

	* ProvidersHelper.cs: HttpApplication.LoadTypeFromPrivateBin
	renamed to LoadTypeFromBin.

2007-08-21  Marek Habersack  <mhabersack@novell.com>

	* ProvidersHelper.cs: use HttpApplication.LoadTypeFromPrivateBin
	to get the provider settings type.

2007-08-10  Gert Driesen  <drieseng@users.sourceforge.net>

	* PagesEnableSessionState.cs: Marked internal on 1.0 profile.

2007-07-16  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* ProfileGroupSettingsCollection.cs: added ResetInternal internal
	method
	* RootProfilePropertySettingsCollection.cs: added Reset method
	override to reset GroupSettings collection

2007-06-24  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* HttpHandlerAction.cs: fixed SplitPaths property to be thread safe

2007-06-12  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* CompilationSection.cs: TARGET_JVM on not supported features
	* HttpModulesSection.cs: ctor should be static

2007-06-03  Adar Wesley <adarw@mainsoft.com>

	* ProfilePropertySettingsCollection.cs: added missing method 
	OnDeserializeUnrecognizedElement.

2007-05-30  Marek Habersack  <mhabersack@novell.com>

	* 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 <igorz@mainsoft.com>

	* WebConfigurationHost.cs: for TARGET_J2EE only:
	prevent NullRefference Exception.

2007-05-15  Igor Zelmanovich <igorz@mainsoft.com>

	* 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  <mhabersack@novell.com>

	* 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  <mhabersack@novell.com>

	* 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 <igorz@mainsoft.com>

	* WebConfigurationManager.cs: 
	make configurations synchronized.
	added new internal method RemoveConfigurationFromCache.

2007-05-07  Marek Habersack  <mhabersack@novell.com>

	* PagesSection.cs: buffering is on by default.

2007-04-24  Marek Habersack  <mhabersack@novell.com>

	* 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  <mhabersack@novell.com>

	* HttpHandlerAction.cs: look up types in all the toplevel
	assemblies. Fixes bug #80897.

2007-04-17  Atsushi Enomoto  <atsushi@ximian.com>

	* ProcessModelSection.cs : cpuMask default value should be int,
	  not uint.

2007-04-06  Marek Habersack  <mhabersack@novell.com>

	* CustomErrorsSection.cs: make the customErrors section work.

	* PagesSection.cs: provide appropriate default value for the
	asyncTimeout setting.

2007-03-24  Marek Habersack  <mhabersack@novell.com>

	* WebConfigurationHost.cs: allow MachineToApplication definition
	for config paths that equal the domain virtual app directory.

2007-03-22  Adar Wesley <adarw@mainsoft.com>

	* 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  <vladimirk@mainsoft.com>

	* WebConfigurationManager.cs: fixed OpenWebConfiguration, should not
	lock when checking if configuration is already open

2007-03-15  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* WebConfigurationManager.cs: fixed OpenWebConfiguration, removed 
	GetBasePath call and locations search, since this not affects
	configuration initialization, but improves performance

2007-03-12  Marek Habersack  <mhabersack@novell.com>

	* ProvidersHelper.cs: support loading custom providers from
	App_Code assemblies. Fixes bug #81071.
	Also set eol-style to native.

2007-03-08  Gert Driesen  <drieseng@users.souceforge.net>

	* PagesSection.cs: Revert part of Adar's patch that regresses
	bug #80913.

2007-03-06  Adar Wesley <adarw@mainsoft.com>

	* PagesSection.cs: improve Enum parsing and strongly typed default values.

2007-02-20  Marek Habersack  <grendello@gmail.com>

	* Patch from Gert Driesen  <drieseng@users.sourceforge.net>
	* 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  <grendello@gmail.com>

	* CompilerCollection.cs: Optimize language lookup a bit.

2007-02-05  Konstantin Triger <kostat@mainsoft.com>

	* TagPrefixCollection.cs: Fix element key creation.

2007-02-04  Konstantin Triger <kostat@mainsoft.com>

	* NamespaceInfo.cs, HttpModuleAction.cs, RoleManagerSection.cs:
		fix the default value.

2007-02-02  Marek Habersack  <grendello@gmail.com>

	* 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 <kostat@mainsoft.com>

	* ProfileSection.cs: Ensure enabled = true by default; cleanup.

2006-12-27  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* CustomErrorCollection.cs: fixed ThrowOnDuplicate to false as in .net

2006-12-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* GlobalizationSection.cs: make encodings actually work for the 2.0
	profile.

2006-12-21  Marek Habersack  <grendello@gmail.com>

	* 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  <vladimirk@mainsoft.com>

	* RoleManagerSection.cs: refactored using attributes

2006-12-20  Marek Habersack  <grendello@gmail.com>

	* ProfilePropertyNameValidator.cs: added a few checks.

2006-12-18  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* WebConfigurationManager.cs: fixed GetSection to execute
	GetRuntimeObject, refactored GetSection and GetWebApplicationSection

2006-12-17  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* HttpHandlerAction.cs: fixed 'verb' config property

2006-12-07  Igor Zelmanovich  <igorz@mainsoft.com>

	* ProvidersHelper.cs: fixed: load assembles from /bin

2006-11-22  Miguel de Icaza  <miguel@novell.com>

	* SessionStateSection.cs: Do not call Enum.Parse with a null
	argument, prevents an exception from being thrown.

2006-11-20  Marek Habersack  <grendello@gmail.com>

	* GlobalizationSection.cs: Added support for "auto" cultures and
	the "auto:DEFAULT_CULTURE" cultures.

2006-11-13  Konstantin Triger  <kostat@mainsoft.com>

        * WebConfigurationHost.cs: use Type.GetType for loading full qualified types.

2006-11-05  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* ProfileGroupSettings.cs, ProfileGroupSettingsCollection.cs
	ProfilePropertySettingsCollection.cs, ProfileSection.cs
	RootProfilePropertySettingsCollection.cs: refactoring and fix of
	<group> element

2006-10-18  Marek Habersack  <grendello@gmail.com>

	* WebConfigurationManager.cs: implement support for extra
	assemblies to be referenced when compiling a page.

2006-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* WebConfigurationManager.cs: add null checks. Patch by Marek Habersack
	that fixes bug #79283.

2006-09-06  Konstantin Triger  <kostat@mainsoft.com>

	* WebConfigurationHost.cs: do not recourse as this will be done by
		Configuration object.

2006-08-08  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* 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  <atsushi@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <atsushi@ximian.com>

	* 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 <andrews@mainsoft.com>

	* HttpHandlerAction.cs: keep the internal exception

2006-05-08  Chris Toshok  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	[ 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  <toshok@ximian.com>

	* 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
	<authorization> rules working again.

2006-04-25  Chris Toshok  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* WebConfigurationHost.cs (InitForConfiguration): stop going up
	the virtual hierarchy once we reach the application's base virtual
	path.

2006-04-24  Chris Toshok  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* ExpressionBuilderCollection.cs (CreateNewElement): call argless
	ctor.

	* ExpressionBuilder.cs: add internal argumentless ctor for use by
	the collection type.

2006-03-24  Chris Toshok  <toshok@ximian.com>

	* WebConfigurationManager.cs (GetConfig): add a fallback case for
	configuration sections that don't subclass from
	ConfigurationSection.

2006-03-24  Chris Toshok  <toshok@ximian.com>

	* WebConfigurationHost.cs: fix bug where OpenWebConfiguration
	("/") would result in 2 configurations for that toplevel path to
	be opened.

2006-03-08  Chris Toshok  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* BuildProviderAppliesTo.cs, PagesToCountAction.cs: nuke.

2006-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Compiler.cs:
	* CompilerCollection.cs: removed compatibility code.

	* BuildProviderCollection.cs: add GetProviderForExtension().

2006-02-02  Chris Toshok  <toshok@ximian.com>

	* WebConfigurationManager.cs (GetSection(string,string)):
	implement.

2006-02-01  Atsushi Enomoto  <atsushi@ximian.com>

	* TrustLevelCollection.cs, CodeSubDirectoriesCollection.cs,
	  CustomErrorCollection.cs, CompilerCollection.cs,
	  HttpHandlerActionCollection.cs,
	  FormsAuthenticationUserCollection.cs,
	  AuthorizationRuleCollection.cs, TagPrefixCollection.cs :
	  CollectionType is public.

2006-02-01  Chris Toshok  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* CompilerCollection.cs: CONFIGURATION_2_0 => NET_2_0

	* Compiler.cs: same.

2006-02-01  Chris Toshok  <toshok@ximian.com>

	* HttpConfigurationSystem.cs: SupportsUserConfig == true.  let's
	use this to determine if ConfigurationManager.AppSettings should
	be read-only or not.

2006-01-31  Chris Toshok  <toshok@ximian.com>

	* WebConfigurationManager.cs: err, why did i ifdef stuff NET_2_0
	inside of an ifdef NET_2_0?

2006-01-30  Chris Toshok  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* GlobalizationSection.cs (VerifyData): quiet mcs.

2006-01-18  Chris Toshok  <toshok@ximian.com>

	* SystemWebSectionGroup.cs: wrap System.Web.Services references in
	WEBSERVICES_DEP.

2006-01-16  Chris Toshok  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* SystemWebSectionGroup.cs (HostingEnvironment): enable this property.
	(ProcessModel): add the ConfigurationPropertyAttribute.

2006-01-10  Chris Toshok  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* MachineKeySection.cs (ValidationKeyBytes, DecryptionKeyBytes,
	DecryptionKey192Bits): if the keys are null, generate them.  Fixes
	Page.EnableViewStateMac support.

2006-01-09  Chris Toshok  <toshok@ximian.com>

	* RoleManagerSection.cs, SqlCacheDepencendySection.cs,
	SessionStateSection.cs, TraceSection.cs, SecurityPolicySection.cs,
	PagesSection.cs, RulesSettings.cs, UrlMappingSection.cs: fix
	dumper output.

2006-01-09  Chris Toshok  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* GlobalizationSection.cs (PreSerialize): add checks for Culture
	and UICulture properties.

2005-12-01  Chris Toshok  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* SessionStateSection.cs (CookieLess): correct the compat function
	implementation.

2005-11-28  Chris Toshok  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* PagesSection.cs (GetInstance): nuke.

	* CompilationSection.cs (GetInstance): nuke.

2005-11-28  Chris Toshok  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* HostingEnvironmentSection.cs (.cctor): add validators.

	* CompilationSection.cs (.cctor): fix defaultvalue of
	urlLinePragmas.

2005-11-18  Chris Toshok  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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  <toshok@ximian.com>

	* 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.
	
