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.
	
