1 2010-07-02 Marek Habersack <mhabersack@novell.com>
3 * VersionConverter.cs: added support for checking whether the
4 passed version is equal or more than a specified minimal version.
6 * PagesSection.cs: added two 4.0 properties - ClientIDMode and
7 ControlRenderingCompatibilityVersion
9 2010-06-01 Marek Habersack <mhabersack@novell.com>
11 * HttpRuntimeSection.cs: added 4.0 properties
12 MaxQueryLengthString, MaxUrlLength, EncoderType and
13 RelaxedUrlToFileSystemMapping.
15 2010-05-17 Marek Habersack <mhabersack@novell.com>
17 * BuildProvider.cs: made the Extension property case-insensitive
19 2010-04-09 Marek Habersack <mhabersack@novell.com>
21 * WebConfigurationManager.cs: GetSection properly processes paths
22 of form '~'. Fixes bug #595140. Patch from Adriaan van Kekem
23 <avkekem@hotmail.com>, thanks!
25 2010-04-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
27 * GlobalizationSection.cs: use WebName instead of EncodingName.
29 2010-03-06 Marek Habersack <mhabersack@novell.com>
31 * WebConfigurationManager.cs: do not use Request.Path - it may
32 fail because of invalid web.config file, use
33 Request.PathNoValidation instead.
35 * VersionConverter.cs: added
37 * PropertyHelper.cs: added a Version converter helper.
39 * HttpRuntimeSection.cs: added 4.0 properties -
40 RequestPathInvalidCharacters, RequestValidationType and
41 RequestValidationMode.
43 2010-02-23 Marek Habersack <mhabersack@novell.com>
45 * SessionStateSection.cs: implemented 4.0 properties -
46 CompressionEnabled and SqlConnectionRetryInterval
48 2010-02-12 Marek Habersack <mhabersack@novell.com>
50 * WebConfigurationHost.cs: implemented {Encrypt,Decrypt}Section
52 2010-01-20 Marek Habersack <mhabersack@novell.com>
54 * OutputCacheSection.cs: implemented the Providers and
55 DefaultProviderName 4.0 properties.
57 2010-01-09 Marek Habersack <mhabersack@novell.com>
59 * WebConfigurationManager.cs: GetSection properly handles looking
60 up and caching of <location> instances. Part of fix for bug
63 * WebConfigurationHost.cs: GetConfigPathFromLocationSubPath
64 calculatesthe path relative to the current config file path. Part
65 of fix for bug #568441
67 2009-12-02 Marek Habersack <mhabersack@novell.com>
69 * CompilationSection.cs: added two properties -
70 OptimizeCompilations (3.5+) and TargetFramework (4.0+)
72 2009-11-19 Marek Habersack <mhabersack@novell.com>
74 * WebConfigurationHost.cs: IsDefinitionAllowed now normalizes the
75 passed configuration path, so that MachineToApplication sections
77 * WebConfigurationManager.cs: use an rw lock to protect access to
78 sectionCache. This is now necessary as the save handler clears the
81 2009-11-10 Marek Habersack <mhabersack@novell.com>
83 * WebConfigurationManager.cs: path passed to OpenWebConfiguration
84 from GetSection does not come from FindWebConfig.
86 2009-11-09 Marek Habersack <mhabersack@novell.com>
88 * WebConfigurationManager.cs: there's no need to cache sections by
89 _file_ path - using section name and web.config path is more than
90 enough and it reduces the number of cache entries
91 considerably. Fixes bug #550730
93 2009-10-07 Marek Habersack <mhabersack@novell.com>
95 * WebConfigurationManager.cs: GetSection doesn't perform string +
96 char + string concatenation to generate section cache key (by
97 Gonzalo Paniagua Javier) which gives an enormous performance boost
98 (processing time for mojoportal's default.aspx went down from
99 2.65s to 107ms on average). The key generation is performed
100 without any kind of string operation right now (except for
101 GetHashCode on 3 strings).
102 GetSectionCacheKey is called only once and sectionCache became a
105 2009-08-20 Marek Habersack <mhabersack@novell.com>
107 * WebConfigurationManager.cs: GetSection does not use
108 FindWebConfig to get the virtual path to open configuration for -
109 doing so would make the configuration system ignore <location>
110 sections. Fixes bug #482181
112 2009-07-23 Gonzalo Paniagua Javier <gonzalo@novell.com>
114 * WebConfigurationManager.cs: avoid possible infinite loop when the
115 path starts with ~ and 1 file check.
117 2009-07-15 Marek Habersack <mhabersack@novell.com>
119 * WebConfigurationManager.cs: another approach to suppressing
120 application reloads after the app writes to its root web.config
121 file. Leaving the previous code in place to get more
122 protection. It's a kludge, but it's the best option to avoid
123 all the races caused by System.Configuration+FileSystemWatcher
124 without rewriting large parts of System.Configuration (and
125 System.Web.Configuration). Fixes bug #522017
127 2009-07-14 Marek Habersack <mhabersack@novell.com>
129 * WebConfigurationManager.cs: added support for suppressing
130 application reload when the main config file is written to from
133 * WebConfigurationHost.cs: added minimal implementation of
134 WriteCompleted, which checks if there's need to suppress
137 2009-07-13 Marek Habersack <mhabersack@novell.com>
139 * ProvidersHelper.cs: InstantiateProvider doesn't have to
140 explicitly look for types in App_Code assemblies - this is done in
141 HttpApplication.LoadType.
143 2009-07-09 Gonzalo Paniagua Javier <gonzalo@novell.com>
145 * WebConfigurationHost.cs: null means MachineToApplication.
146 * WebConfigurationManager.cs: when caching configuration and sections,
147 use the configuration file directory instead of the incoming request
150 2009-06-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
152 * HttpHandlerAction.cs: fix path matching when the pattern has more
155 2009-06-05 Marek Habersack <mhabersack@novell.com>
157 * WebConfigurationManager.cs: OpenWebConfiguration caches
158 configurations with a key generated from all the parameters passed
159 to it, not just from path.
160 Added internal GetSection method which takes HttpContext as its
161 third parameter - used in calling OpenWebConfiguration.
162 FindWebConfig is no longer used in GetSection - it breaks handling
163 of <location> elements in config files. Fixes bug #510302
165 2009-06-03 Marek Habersack <mhabersack@novell.com>
167 * MonoSettingsSection.cs: added new property,
168 verificationCompatibility, which serves the same purpose as the
169 registry key described in http://support.microsoft.com/kb/932552
170 (when set to 1 it turns off virtual path validity
171 verification). Fixes bug #509163
173 2009-05-14 Marek Habersack <mhabersack@novell.com>
175 * HttpHandlersSection.cs: if we're matching a default handler,
178 2009-04-03 Marek Habersack <mhabersack@novell.com>
180 * WebConfigurationManager.cs: added code in the static constructor
181 to enable retrieving application settings via
182 ApplicationSettingsBase from within asp.net applications. Fixes
185 * ApplicationSettingsConfigurationFileMap.cs: added.
187 2009-03-12 Dean Brettle <dean@brettle.com>
189 * nBrowser/Build.cs: made Browser() method thread-safe and moved the
190 actual tree creation to a private InitializeTree() method for clarity.
192 2009-03-01 Marek Habersack <mhabersack@novell.com>
194 * WebConfigurationManager.cs: optimized GetWebApplicationSection a
197 2009-02-28 Marek Habersack <mhabersack@novell.com>
199 * WebConfigurationManager.cs: make sure no nrex happens in
200 GetSectionCacheKey ()
202 2009-02-26 Gonzalo Paniagua Javier <gonzalo@novell.com>
204 * WebConfigurationManager.cs: generate a hash from the string hsah
205 codes instead of concatenating them.
207 2009-01-27 Marek Habersack <mhabersack@novell.com>
209 * HttpHandlerAction.cs: removed the matches cache, it doesn't
210 improve matters here in 99% of the cases.
211 Regexps are no longer used to match handler paths, SearchPattern
214 2009-01-26 Marek Habersack <mhabersack@novell.com>
216 * WebConfigurationHost.cs: when an attempt to map a fake virtual
217 path is made, MapPath returns the aplication physical root
218 directory. Fixes bug #463950
220 2008-01-09 Dean Brettle <dean@brettle.com>
222 * nBrowser/Node.cs: Fixed compatibility bug where <identification> sections were required
225 2009-01-09 Marek Habersack <mhabersack@novell.com>
227 * WebConfigurationManager.cs: do not normalize the path in
228 FindWebConfig when getting the virtual directory.
230 2009-01-08 Marek Habersack <mhabersack@novell.com>
232 * WebConfigurationManager.cs: improve performance of
235 2009-01-07 Marek Habersack <mhabersack@novell.com>
237 * HttpModulesSection.cs: allow for modules with non-public
238 constructors. Fises bug #463971
240 * HttpHandlerAction.cs: allow for handlers with non-public
241 constructors. Fixes bug #463971
243 2008-12-24 Marek Habersack <mhabersack@novell.com>
245 * WebConfigurationManager.cs: A better version of the previous
246 GetSection fix. Right now the method searches for directories
247 containing web.config and uses them, if found, to open the web
248 configuration. If no web.config is found, web configuration is
249 opened for the root application directory.
251 * WebConfigurationHost.cs: made GetWebConfigFileName internal
252 static, so that code can be reused from WebConfigurationManager.
254 2008-12-23 Marek Habersack <mhabersack@novell.com>
256 * WebConfigurationManager.cs: GetSection should call
257 OpenWebConfiguration using the actual directory path, not a file
258 path. If it fails to do so, System.Configuration may treat the
259 top-level Web.config file as a child one which, in turn, in
260 certain circumstances will lead to duplicate keys inserted in
263 2008-12-16 Marek Habersack <mhabersack@novell.com>
265 * WebConfigurationHost.cs: IsDefinitionAllowed should treat
266 configPath == "~" as the root application path.
268 2008-12-12 Owen Brady <Ocean@owenbrady.net>
270 * nBrowser/File.cs, nBrowser/Identification.cs, nBrowser/Node.cs, nBrowser/NodeTypes.cs,
271 nBrowser/Result.cs, nBrowser/Build.cs, nBrowser/Exception.cs, CapabilitiesBuild.cs,
272 CapabilitiesResult.cs: Updated Copyright information to include updated contact information.
274 * nBrowser/Build.cs: Removed LoadDefaultEmbeddedResource function, the embeded resource
275 it is referring too was never included in Mono. And was designed for a free standing
276 browser identification libary.
278 * nBrowser/Exception.cs: Removed Compile Attributes and related comments which were left
279 in from the original free standing browser libary.
281 * CapabilitiesBuild.cs: Removed Header Checksum related coding since it is not required
282 for the Mono implementation.
284 * CapabilitiesResult.cs: Updated Copyright information to include updated contact information.
285 Removed functions which were designed to make use of features of a embeded browser file which
286 is not present in Mono.
288 * CapabilitiesChecksum.cs, RandomRoboBotKeywords.txt: Deleted
289 2008-10-21 Marek Habersack <mhabersack@novell.com>
291 * CapabilitiesChecksum.cs: implement Hex and MapToHex more efficiently.
293 2008-10-09 Marek Habersack <mhabersack@novell.com>
295 * MonoSettingsSection.cs: added - a section for mono-specific
298 2008-10-01 Marek Habersack <mhabersack@novell.com>
300 * CapabilitiesResult.cs: added support for the "browsers"
301 capability - a collection of matching browser ids.
303 * nBrowser/Node.cs: store matching browser ids in the capabilities
304 collection (to support IsBrowser correctly)
306 2008-07-25 Dean Brettle <dean@brettle.com>
308 * nBrowser/Node.cs nBrowser/Build.cs nBrowser/Identification.cs: Fixed race
309 condition in Node.Process() by removing mutating functions from Identification
310 and changing Node.Process() and Node.BrowserIdentification() to maintain
311 state in a List<Match> instead of a List<Identification>.
313 * nBrowser/Node.cs: Fixed race condition associated with lookup of adapter
316 * nBrowser/Node.cs: Removed duplicate call to Node.BrowserIdentification() from
319 * nBrowser/Node.cs: Removed duplicate call to Result.AddAdaper() from Node.Process().
321 * nBrowser/Node.cs: Fixed bug where capabilities containing literal $ or % were
324 * nBrowser/Node.cs: Fixed bug where capabilities with multiple $ substitutions only
327 2008-06-30 Zoltan Varga <vargaz@gmail.com>
329 * CapabilitiesResult.cs: Make the RandomRoboBotKeywords array static and compute it
332 2008-06-30 Marek Habersack <mhabersack@novell.com>
334 * CompilationSection.cs: hush the warnings
336 2008-06-26 Zoltan Varga <vargaz@gmail.com>
338 * nBrowser/Node.cs nBrowser/Result.cs: Avoid looking up adapter types names for
339 every request in every assembly.
341 2008-05-22 Marek Habersack <mhabersack@novell.com>
343 * WebConfigurationHost.cs: changed CreateDeprecatedConfigContext
344 to return a new HttpContext object. This is part of a fix for bug
345 #325128. Patch contributed by James Fitzsimons <james.fitzsimons@gmail.com>,
348 2008-05-07 Marek Habersack <mhabersack@novell.com>
350 * RoleManagerSection.cs: use type converter when creating the
351 cookieTimeout property in the static constructor. Fixes bug
352 #387526. Patch fromIvan Hamilton <ivan@chimerical.com.au>, thanks!
354 2008-03-23 Dean Brettle <dean@brettle.com>
356 * CapabilitiesBuild.cs (Process), ICapabilitiesProcess.cs (Process),
357 nBrowser/Build.cs (Process): Added initialCapabilities argument to
358 facilitate using browscap.ini capabilities.
360 * CapabilitiesResult.cs (ctor), nBrowserResult.cs (ctor): Change
361 items arg to IDictionary to facilitate using browscap.ini capabilities.
363 * nBrowser/Node.cs (Reset): Removed code which checked prohibited
364 non-alphanumerics in id attributes because .NET is not that strict.
366 * nBrowser/Node.cs (MergeFrom): Fixed NullReferenceExceptions that
367 occurred when the source or destination node did not have any
368 capabilities or adapters.
370 * nBrowser/Result.cs (AddAdapter): Fixed to allow types in other
373 2008-03-09 Dean Brettle <dean@brettle.com>
375 * nBrowser/Result.cs, nBrowser/NodeTypes.cs, nBrowser/Identification.cs,
376 nBrowser/File.cs, nBrowser/Build.cs, nBrowser/Node.cs,
377 nBrowser/Exception.cs: added. The code under nBrowser handles *.browser
378 files. It is based on Owen "Ocean" Brady's code, with the following
379 changes and improvements. Replaced Result.Adapter
380 property with AdapterTypeMap property which maps control Type to adapter
381 Type. Added Result.MarkupTextWriter property. Added overrides for
382 Result.GetAdapters and Result.GetTagWriter to return MarkupTextWriter
383 and AdapterTypeMap, resp. Changed tree building algorithm to not
384 depend on nodes with id="Default" and to inject defaultBrowser nodes
385 as parents of regular nodes with the same ids. Changed Node.cs to use
386 Item instead of Add when adding a capability or sample header, so that
387 values get replaced instead of appended. Added support for reference
388 nodes (ie. nodes with refID="someID").
390 * CapabilitiesResult.cs: load RandomRoboBotKeywords.txt resource
391 using the correct name.
393 * RandomRoboBotKeywords.txt: added
395 * HttpCapabilitiesBase.cs (CreateHtmlWriter, Adapters): Added
396 support for *.browsers. Adapters property calls internal virtual
397 GetAdapters() method which is overrided in nBrowser.Result
398 returned by nBrowser code. CreateHtmlWriter uses type specified
399 by TagWriter property.
401 2008-03-03 Vladimir Krasnov <vladimirk@mainsoft.com>
403 * ProvidersHelper.cs: fixed thread safety issue in InstantiateProvider
405 2008-03-01 Marek Habersack <mhabersack@novell.com>
407 * WebConfigurationManager.cs: SettingsMappingManager has been
408 moved to Mono.Web.dll
410 2008-02-28 Marek Habersack <mhabersack@novell.com>
412 * HttpHandlerAction.cs: ignore case when matching handler
413 paths. Fixes bug #364995
415 2008-02-26 Marek Habersack <mhabersack@novell.com>
417 * BuildProviderCollection.cs: be case-insensitive when looking for
420 2008-02-25 Marek Habersack <mhabersack@novell.com>
422 * WebConfigurationManager.cs: hashtable can contain a key with a
423 null value, avoid adding duplicate keys in such cases.
425 2008-02-18 Vladimir Krasnov <vladimirk@mainsoft.com>
427 * WebConfigurationManager.cs: performance improvement, cached
430 2008-02-07 Vladimir Krasnov <vladimirk@mainsoft.com>
432 * GlobalizationSection.cs: fixed GetSanitizedCulture, performance
435 2008-02-05 Marek Habersack <mhabersack@novell.com>
437 * CompilerCollection.cs: Get (string language) should not use
438 BaseGet as our collection is keyed on a list of language names
439 (e.g. "cs;csharp") and passing a single language won't match in
440 BaseGet correctly. Use the overriden indexer instead.
441 Initialize the base class with the case-insensitive
442 comparer. Fixes bug #357824.
444 2008-01-27 Daniel Nauck <dna@mono-project.de>
446 * HttpHandlerAction.cs: fixed the internal method PathMatches ()
447 removed wrong caching of FileMatchingInfo classes with request specific
448 informations. Now we check against the current request path and cache
449 the result in a dictionary.
450 Also check correctly against all possible paths from the HttpHandler.
453 2007-12-27 Marek Habersack <mhabersack@novell.com>
455 * ProfileGroupSettingsCollection.cs: added an internal method to
456 add/overwrite new group settings. Used from
457 RootProfilePropertySettingsCollection.
459 * ProfileGroupSettings.cs: added the missing "name" property to
460 the properties collection.
461 Marked the propertySettingsProp property as the default
463 Added internal deserialization method, used from
464 RootProfilePropertySettingsCollection to support the 'group'
467 * ProfileSection.cs: defaultProviderProp typo - the name of the
468 provider should be "AspNetSqlProfileProvider"
470 * RootProfilePropertySettingsCollection.cs: added
471 OnDeseerializeUnrecognizedElement to support the profile 'group'
473 Added a missing Unmerge method.
475 2007-12-11 Vladimir Krasnov <vladimirk@mainsoft.com>
477 * SiteMapSection.cs: fixed ProvidersInternal property to be thread safe
479 2007-12-08 Marek Habersack <mhabersack@novell.com>
481 * WebConfigurationManager.cs: GetSection now runs each section
482 through a mapper (if any is defined for the section) before
483 returning it to the caller.
485 2007-11-23 Marek Habersack <mhabersack@novell.com>
487 * TagPrefixCollection.cs: changed the collection type to
490 * ProfileSection.cs: added missing Properties property, added a
491 static constructor to create property descriptors. Use property
492 descriptors in property accessors.
494 * ProfileGroupSettingsCollection.cs: added missing attribute to
495 the class, removed CollectionType method, added missing IsModified
496 and ResetModified methods, added missing Properties property.
498 * ProfileGroupSettings.cs: added missing Properties property,
499 adjusted the set of custom attributes of the PropertySettings
502 * ProcessModelSection.cs: change the default value of the CpuMask
505 * OutputCacheSection.cs: added the EnableKernelCacheForVaryByStar
508 * OutputCacheProfile.cs: added the VaryByContentEncoding property.
510 * FormsAuthenticationConfiguration.cs: corrected defaults for the
513 * ExpressionBuilder.cs: corrected defaults for the
514 ExpressionPrefix and Type properties.
516 * CustomErrorsSection.cs: added two missing overrides -
517 DeserializeSection and Reset.
519 * ClientTargetSection.cs: added the missing Properties property.
520 Added static constructor to create the property collection.
522 * CustomErrorCollection.cs: removed the ThrowOnDuplicate
525 * CacheSection.cs: corrected defaults for the
526 PercentagePhysicalMemoryUsedLimit property.
528 * ClientTargetCollection.cs: added missing Properties property.
530 * IConfigMapPathFactory.cs: added
532 * IConfigMapPath.cs: added
534 * RoleManagerSection.cs: added a static constructor, a collection
535 of properties, the missing Properties property.
537 2007-11-22 Marek Habersack <mhabersack@novell.com>
539 * RoleManagerSection.cs: CookieTimeout property custom attributes
540 changed to match MS.NET's ones.
542 * AuthorizationRuleCollection.cs: removed the ThrowOnDuplicate
543 property - it's not found in the MS.NET version of the class.
545 2007-11-06 Marek Habersack <mhabersack@novell.com>
547 * MachineKeySectionUtils.cs: make sure keys are autogenerated when
550 2007-11-02 Marek Habersack <mhabersack@novell.com>
552 * HttpHandlerActionCollection.cs: clear http handler cache in
553 HttpApplication if the collection is modified.
555 2007-11-01 Marek Habersack <mhabersack@novell.com>
557 * MachineKeySection.cs: moved all the internal static methods and
558 properties to MachineKeySectionUtils.cs
560 * MachineKeySectionUtils.cs: added. This file is included in the
561 System.Web.Extensions compilation.
562 The old properties from MachineKeySection.cs became methods.
564 2007-10-24 Marek Habersack <mhabersack@novell.com>
566 * HttpHandlerAction.cs: exact path matching must be done on the
567 original string in PathMatches, not on the sliced one. Fixes bug
570 2007-10-17 Marek Habersack <mhabersack@novell.com>
572 * WebConfigurationHost.cs: if running outside hosted environment,
573 read only the assemblyname.config configuration file instead of
574 web.config. Fixes bug #332425
576 2007-10-15 Marek Habersack <mhabersack@novell.com>
578 * ProvidersHelper.cs: use HttpApplication.LoadType instead of
581 * HttpModulesSection.cs: use HttpApplication.LoadType when loading
582 modules, to include both the bin/ directory and the top-level
583 assemblies in search. Fixes bug #333686.
585 2007-08-30 Marek Habersack <mhabersack@novell.com>
587 * MachineKeySection.cs: retrieve the keys from the registry before
588 falling back to the old method. Fixes bug #76606
590 2007-08-23 Marek Habersack <mhabersack@novell.com>
592 * ProvidersHelper.cs: HttpApplication.LoadTypeFromPrivateBin
593 renamed to LoadTypeFromBin.
595 2007-08-21 Marek Habersack <mhabersack@novell.com>
597 * ProvidersHelper.cs: use HttpApplication.LoadTypeFromPrivateBin
598 to get the provider settings type.
600 2007-08-10 Gert Driesen <drieseng@users.sourceforge.net>
602 * PagesEnableSessionState.cs: Marked internal on 1.0 profile.
604 2007-07-16 Vladimir Krasnov <vladimirk@mainsoft.com>
606 * ProfileGroupSettingsCollection.cs: added ResetInternal internal
608 * RootProfilePropertySettingsCollection.cs: added Reset method
609 override to reset GroupSettings collection
611 2007-06-24 Vladimir Krasnov <vladimirk@mainsoft.com>
613 * HttpHandlerAction.cs: fixed SplitPaths property to be thread safe
615 2007-06-12 Vladimir Krasnov <vladimirk@mainsoft.com>
617 * CompilationSection.cs: TARGET_JVM on not supported features
618 * HttpModulesSection.cs: ctor should be static
620 2007-06-03 Adar Wesley <adarw@mainsoft.com>
622 * ProfilePropertySettingsCollection.cs: added missing method
623 OnDeserializeUnrecognizedElement.
625 2007-05-30 Marek Habersack <mhabersack@novell.com>
627 * WebConfigurationManager.cs: if errors happen when opening the
628 configuration file, mark the manager as unsafe to prevent further
629 usage and avoid error loops.
631 2007-05-17 Igor Zelmanovich <igorz@mainsoft.com>
633 * WebConfigurationHost.cs: for TARGET_J2EE only:
634 prevent NullRefference Exception.
636 2007-05-15 Igor Zelmanovich <igorz@mainsoft.com>
638 * WebConfigurationManager.cs:
639 make configurations hashtable case-insensitive.
640 * WebConfigurationHost.cs: for TARGET_J2EE only:
641 GetStreamName returns file path in right case, that make it works
642 on case-sensitive file system.
644 2007-05-15 Marek Habersack <mhabersack@novell.com>
646 * BuildProviderCollection.cs: refactoring - use
647 HttpApplication.LoadType to actually look up the type.
649 * HttpHandlerAction.cs: as above
651 * WebConfigurationHost.cs: refactoring - moved the LoadType to
652 HttpApplication to share the code between 1.1 and 2.0 profiles.
654 2007-05-14 Marek Habersack <mhabersack@novell.com>
656 * UrlMappingCollection.cs: implemented the Item (string) indexer.
658 * UrlMapping.cs: implemented the URL validation callback body
659 (doesn't work at the moment).
661 2007-05-14 Igor Zelmanovich <igorz@mainsoft.com>
663 * WebConfigurationManager.cs:
664 make configurations synchronized.
665 added new internal method RemoveConfigurationFromCache.
667 2007-05-07 Marek Habersack <mhabersack@novell.com>
669 * PagesSection.cs: buffering is on by default.
671 2007-04-24 Marek Habersack <mhabersack@novell.com>
673 * WebConfigurationHost.cs: wrap MapPath calls in try/catch,
674 because bad URLs can cause it to throw exceptions. If such
675 exception is caught, throw a HttpException for Bad Request (400).
676 Look for types in the top-level assemblies (App_Code and
679 * WebConfigurationManager.cs: added two internal methods for safe
680 retrieval of config sections.
682 2007-04-19 Marek Habersack <mhabersack@novell.com>
684 * HttpHandlerAction.cs: look up types in all the toplevel
685 assemblies. Fixes bug #80897.
687 2007-04-17 Atsushi Enomoto <atsushi@ximian.com>
689 * ProcessModelSection.cs : cpuMask default value should be int,
692 2007-04-06 Marek Habersack <mhabersack@novell.com>
694 * CustomErrorsSection.cs: make the customErrors section work.
696 * PagesSection.cs: provide appropriate default value for the
697 asyncTimeout setting.
699 2007-03-24 Marek Habersack <mhabersack@novell.com>
701 * WebConfigurationHost.cs: allow MachineToApplication definition
702 for config paths that equal the domain virtual app directory.
704 2007-03-22 Adar Wesley <adarw@mainsoft.com>
706 * HttpCapabilitiesBase.cs: implemented all capabilities. Capabilities
707 still throw if there is no value in browscaps.ini and the property is called.
709 2007-03-21 Vladimir Krasnov <vladimirk@mainsoft.com>
711 * WebConfigurationManager.cs: fixed OpenWebConfiguration, should not
712 lock when checking if configuration is already open
714 2007-03-15 Vladimir Krasnov <vladimirk@mainsoft.com>
716 * WebConfigurationManager.cs: fixed OpenWebConfiguration, removed
717 GetBasePath call and locations search, since this not affects
718 configuration initialization, but improves performance
720 2007-03-12 Marek Habersack <mhabersack@novell.com>
722 * ProvidersHelper.cs: support loading custom providers from
723 App_Code assemblies. Fixes bug #81071.
724 Also set eol-style to native.
726 2007-03-08 Gert Driesen <drieseng@users.souceforge.net>
728 * PagesSection.cs: Revert part of Adar's patch that regresses
731 2007-03-06 Adar Wesley <adarw@mainsoft.com>
733 * PagesSection.cs: improve Enum parsing and strongly typed default values.
735 2007-02-20 Marek Habersack <grendello@gmail.com>
737 * Patch from Gert Driesen <drieseng@users.sourceforge.net>
738 * PagesSection.cs: Process value of EnableSessionState attribute
739 case-sensitive, and perform check in getter. Fix for bug #80913.
740 * PageParser.cs: Added note on difference in behaviour between page
741 level attribute and configuration attribute for enableSessionState.
742 * PagesConfiguration.cs: Fixed compiler warning.
744 2007-02-22 Marek Habersack <grendello@gmail.com>
746 * CompilerCollection.cs: Optimize language lookup a bit.
748 2007-02-05 Konstantin Triger <kostat@mainsoft.com>
750 * TagPrefixCollection.cs: Fix element key creation.
752 2007-02-04 Konstantin Triger <kostat@mainsoft.com>
754 * NamespaceInfo.cs, HttpModuleAction.cs, RoleManagerSection.cs:
755 fix the default value.
757 2007-02-02 Marek Habersack <grendello@gmail.com>
759 * TagPrefixCollection.cs: Add the CollectionType parameter.
760 Get rid of unnecessary interface references in the class declaration.
761 GetElementKey should return Source which should be unique, unlike TagPrefix.
763 2007-01-04 Konstantin Triger <kostat@mainsoft.com>
765 * ProfileSection.cs: Ensure enabled = true by default; cleanup.
767 2006-12-27 Vladimir Krasnov <vladimirk@mainsoft.com>
769 * CustomErrorCollection.cs: fixed ThrowOnDuplicate to false as in .net
771 2006-12-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
773 * GlobalizationSection.cs: make encodings actually work for the 2.0
776 2006-12-21 Marek Habersack <grendello@gmail.com>
778 * TagMapInfo.cs: Add an internal default constructor for use from
781 * TagMapCollection.cs: Don't call the string,string constructor of
782 TagMapInfo - the class disallows empty strings as values of its
785 2006-12-21 Vladimir Krasnov <vladimirk@mainsoft.com>
787 * RoleManagerSection.cs: refactored using attributes
789 2006-12-20 Marek Habersack <grendello@gmail.com>
791 * ProfilePropertyNameValidator.cs: added a few checks.
793 2006-12-18 Vladimir Krasnov <vladimirk@mainsoft.com>
795 * WebConfigurationManager.cs: fixed GetSection to execute
796 GetRuntimeObject, refactored GetSection and GetWebApplicationSection
798 2006-12-17 Vladimir Krasnov <vladimirk@mainsoft.com>
800 * HttpHandlerAction.cs: fixed 'verb' config property
802 2006-12-07 Igor Zelmanovich <igorz@mainsoft.com>
804 * ProvidersHelper.cs: fixed: load assembles from /bin
806 2006-11-22 Miguel de Icaza <miguel@novell.com>
808 * SessionStateSection.cs: Do not call Enum.Parse with a null
809 argument, prevents an exception from being thrown.
811 2006-11-20 Marek Habersack <grendello@gmail.com>
813 * GlobalizationSection.cs: Added support for "auto" cultures and
814 the "auto:DEFAULT_CULTURE" cultures.
816 2006-11-13 Konstantin Triger <kostat@mainsoft.com>
818 * WebConfigurationHost.cs: use Type.GetType for loading full qualified types.
820 2006-11-05 Vladimir Krasnov <vladimirk@mainsoft.com>
822 * ProfileGroupSettings.cs, ProfileGroupSettingsCollection.cs
823 ProfilePropertySettingsCollection.cs, ProfileSection.cs
824 RootProfilePropertySettingsCollection.cs: refactoring and fix of
827 2006-10-18 Marek Habersack <grendello@gmail.com>
829 * WebConfigurationManager.cs: implement support for extra
830 assemblies to be referenced when compiling a page.
832 2006-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
834 * WebConfigurationManager.cs: add null checks. Patch by Marek Habersack
835 that fixes bug #79283.
837 2006-09-06 Konstantin Triger <kostat@mainsoft.com>
839 * WebConfigurationHost.cs: do not recourse as this will be done by
840 Configuration object.
842 2006-08-08 Vladimir Krasnov <vladimirk@mainsoft.com>
844 * WebConfigurationManager.cs: added configSystem property under
846 * WebConfigurationHost.cs: fixed GetStreamName and OpenStreamForRead
848 * CompilationSection.cs: BuildProviders property removed from
850 * SystemWebSectionGroup.cs: Compilation property removed from
853 2006-06-26 Atsushi Enomoto <atsushi@ximian.com>
855 * NullableStringValidator.cs : new internal class that is almost
856 identical to StringValidator but allows null value.
857 * PropertyHelper.cs : use new NullableStringValidator.
858 * NamespaceCollection.cs : in NamespaceInfo "" is not allowed.
860 2006-06-08 Chris Toshok <toshok@ximian.com>
862 * WebConfigurationHost.cs (InitForConfiguration): i know this is
863 going to bite me in the ass, but guard against configPath being ==
864 to "/", since this will result in an infinite loop.
865 (MapPath): fix a NRE.
867 2006-05-18 Atsushi Enomoto <atsushi@ximian.com>
869 * WebConfigurationManager.cs: recent sys.config.dll changes on
870 ConfigurationManager.GetSection() which should call
871 GetRuntimeObject() should also apply here. Fixed monodoc web.
873 2006-05-10 Andrew Skiba <andrews@mainsoft.com>
875 * HttpHandlerAction.cs: keep the internal exception
877 2006-05-08 Chris Toshok <toshok@ximian.com>
879 * WebConfigurationManager.cs (GetBasePath): fix bug where
880 path.Length was 0 when we got to the last while loop (and indexed
881 -1 into an array.) Thanks Marek for the fix.
883 2006-05-04 Chris Toshok <toshok@ximian.com>
887 * WebConfigurationHost.cs (GetConfigType): add a MonoTODO about
888 how we should use the build provider machinery to get types.
889 (MapPath): add rudimentary mapping in the case where we don't have
890 a request, basically handle the case where the url begins with (or
891 is) HttpRuntime.AppDomainAppVirtualPath.
893 * WebConfigurationManager.cs (GetSection): if we don't have a
894 valid request, open the web configuration corresponding to
895 HttpRuntime.AppDomainAppVirtualPath.
896 (GetBasePath): comment this a little, and make it work in the case
897 where we don't have an HttpRequest.
899 2006-04-27 Chris Toshok <toshok@ximian.com>
901 * AuthorizationRuleCollection.cs (ThrowOnDuplicate): for the time
902 being introduce a overridden property MS doesn't make use of.
903 This needs readdressing, but it should get people making use of
904 <authorization> rules working again.
906 2006-04-25 Chris Toshok <toshok@ximian.com>
908 * AuthorizationRule.cs (Reset): finally figure out what this
909 method is supposed to do. Assign our Action property based on
912 2006-04-25 Chris Toshok <toshok@ximian.com>
914 * WebConfigurationHost.cs (InitForConfiguration): actually, use
915 HttpRuntime.AppDomainAppVirtualPath on gonzalo's recommendation.
916 It's never null, and its use cleans things up a bit.
918 2006-04-25 Chris Toshok <toshok@ximian.com>
920 * WebConfigurationHost.cs (InitForConfiguration): stop going up
921 the virtual hierarchy once we reach the application's base virtual
924 2006-04-24 Chris Toshok <toshok@ximian.com>
926 * AuthorizationSection.cs (IsValidUser): fix a problem that
927 surfaced when converting from the 1.1 to 2.0 config classes. Only
928 check for verb match if there are actually verbs to match against.
930 2006-04-11 Chris Toshok <toshok@ximian.com>
932 * ExpressionBuilderCollection.cs (CreateNewElement): call argless
935 * ExpressionBuilder.cs: add internal argumentless ctor for use by
938 2006-03-24 Chris Toshok <toshok@ximian.com>
940 * WebConfigurationManager.cs (GetConfig): add a fallback case for
941 configuration sections that don't subclass from
942 ConfigurationSection.
944 2006-03-24 Chris Toshok <toshok@ximian.com>
946 * WebConfigurationHost.cs: fix bug where OpenWebConfiguration
947 ("/") would result in 2 configurations for that toplevel path to
950 2006-03-08 Chris Toshok <toshok@ximian.com>
952 * ProvidersHelper.cs: implement this static class properly.
954 * SiteMapSection.cs (ProvidersInternal): add internal property to
955 get the actual SiteMapProviderCollection from here.
957 2006-02-28 Chris Toshok <toshok@ximian.com>
959 * BuildProviderAppliesTo.cs, PagesToCountAction.cs: nuke.
961 2006-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
964 * CompilerCollection.cs: removed compatibility code.
966 * BuildProviderCollection.cs: add GetProviderForExtension().
968 2006-02-02 Chris Toshok <toshok@ximian.com>
970 * WebConfigurationManager.cs (GetSection(string,string)):
973 2006-02-01 Atsushi Enomoto <atsushi@ximian.com>
975 * TrustLevelCollection.cs, CodeSubDirectoriesCollection.cs,
976 CustomErrorCollection.cs, CompilerCollection.cs,
977 HttpHandlerActionCollection.cs,
978 FormsAuthenticationUserCollection.cs,
979 AuthorizationRuleCollection.cs, TagPrefixCollection.cs :
980 CollectionType is public.
982 2006-02-01 Chris Toshok <toshok@ximian.com>
984 * WebConfigurationManager.cs: In the normal case, get the current
985 request's web.config, not the application's. If there is no
986 current request, get the application's.
987 (GetWebApplicationConfiguration): use Request.ApplicationPath, not
988 Request.PhysicalApplicationPath. OpenWebConfiguration takes
991 * HttpConfigurationSystem.cs: GetWebApplicationSection =>
994 2006-02-01 Chris Toshok <toshok@ximian.com>
996 * CompilerCollection.cs: CONFIGURATION_2_0 => NET_2_0
1000 2006-02-01 Chris Toshok <toshok@ximian.com>
1002 * HttpConfigurationSystem.cs: SupportsUserConfig == true. let's
1003 use this to determine if ConfigurationManager.AppSettings should
1004 be read-only or not.
1006 2006-01-31 Chris Toshok <toshok@ximian.com>
1008 * WebConfigurationManager.cs: err, why did i ifdef stuff NET_2_0
1009 inside of an ifdef NET_2_0?
1011 2006-01-30 Chris Toshok <toshok@ximian.com>
1013 * WebConfigurationManager.cs: lots of little changes. hopefully
1014 this doesn't break anyone. it fixes all the nunit problems
1017 * WebConfigurationHost.cs (GetStreamName): in the MachineWebPath
1018 case, handle the case where we have a WebConfigurationFileMap.
1019 (MapPath): this is likely wrong, but in the case where we don't
1020 have a file map or current HttpContext, just return the path.
1022 2006-01-29 Chris Toshok <toshok@ximian.com>
1024 * HttpModulesSection.cs (LoadModules): I'm not sure we want to
1025 solve this problem in this way, but the 1.x code forces
1026 DefaultAuthenticationModule to be in the list of modules..
1027 Without this fix (or something else) HttpContext.User is null when
1030 2006-01-26 Chris Toshok <toshok@ximian.com>
1032 * HttpConfigurationSystem.cs: new class that gets sections from
1035 * WebConfigurationManager.cs: change a lot of the
1036 NotImplementedExceptions to NotSupportedExceptions.
1037 (AppSettings): implement by just returning
1038 ConfigurationManager.AppSettings (note this is broken because
1039 ConfigurationManager.AppSettings are read-only, but it works for
1041 (ConnectionStrings): same (and probably broken in the same way..)
1042 (Init): replace the 2.0 IInternalConfigSystem with our
1043 HttpConfigurationSystem.
1045 * WebConfigurationHost.cs: add a comment about how things are
1046 likely to work in the face of IRemoteWebConfigurationHostServer.
1047 (CreateConfigurationContext): return a WebContext instance.
1049 2006-01-25 Chris Toshok <toshok@ximian.com>
1051 * AuthorizationSection.cs (IsValidUser): instead of a blanket
1052 false for a null user, just set the username to "" and short
1053 circuit out the check for roles.
1055 2006-01-25 Chris Toshok <toshok@ximian.com>
1057 * AuthorizationRule.cs (CheckUser): handle * and ?, and use
1058 String.Compare instead of ==.
1059 (CheckVerb): use String.Compare instead of ==.
1061 * AuthorizationSection.cs (IsValidUser): return false for a null
1064 2006-01-22 Chris Toshok <toshok@ximian.com>
1066 * GlobalizationSection.cs (VerifyData): quiet mcs.
1068 2006-01-18 Chris Toshok <toshok@ximian.com>
1070 * SystemWebSectionGroup.cs: wrap System.Web.Services references in
1073 2006-01-16 Chris Toshok <toshok@ximian.com>
1075 * WebConfigurationManager.cs: implement a IConfigurationSystem for
1076 use with WebConfigurationManager.
1077 (GetSection): try to load the section
1078 using GetWebApplicationSection before calling into
1079 ConfigurationManager.GetSection.
1080 (GetWebApplicationConfiguration): move common code to here.
1081 (GetWebApplicationSection): use GetWebApplicationConfiguration.
1082 (AppSettings): implement.
1084 * WebConfigurationHost.cs (GetWebConfigFileName): add
1085 "Web.Config", and move to an array/loop implementation. maybe we
1086 should scan the directory and check ToLower() instead of
1087 explicitly enumerating?
1089 2006-01-10 Chris Toshok <toshok@ximian.com>
1091 * SystemWebSectionGroup.cs (HostingEnvironment): enable this property.
1092 (ProcessModel): add the ConfigurationPropertyAttribute.
1094 2006-01-10 Chris Toshok <toshok@ximian.com>
1096 * PagesSection.cs (.cctor): fix the default value for the
1097 enableSessionState attribute - it's not a bool, but a
1098 PagesEnableSessionState enum.
1100 2006-01-10 Chris Toshok <toshok@ximian.com>
1102 * MachineKeySection.cs (ValidationKeyBytes, DecryptionKeyBytes,
1103 DecryptionKey192Bits): if the keys are null, generate them. Fixes
1104 Page.EnableViewStateMac support.
1106 2006-01-09 Chris Toshok <toshok@ximian.com>
1108 * RoleManagerSection.cs, SqlCacheDepencendySection.cs,
1109 SessionStateSection.cs, TraceSection.cs, SecurityPolicySection.cs,
1110 PagesSection.cs, RulesSettings.cs, UrlMappingSection.cs: fix
1113 2006-01-09 Chris Toshok <toshok@ximian.com>
1115 * ExpressionBuilderCollection.cs (.cctor): no need to create a
1116 collection property here. we're already in the collection.
1118 * CompilationSection.cs: fix typo.
1120 2006-01-04 Chris Toshok <toshok@ximian.com>
1122 * MachineKeySection.cs: bring over some more internal methods from
1123 MachineKeyConfig, and call Set{Decryption,Validation}Key from
1124 their respective property setters.
1126 2006-01-03 Chris Toshok <toshok@ximian.com>
1128 * AuthorizationSection.cs (IsValidUser): add analogous method from
1129 AuthorizationConfig.cs.
1131 * AuthorizationRule.cs: add predicates for Verb, User, and Role
1132 analogous to what existed in AuthorizationConfig.cs.
1134 2005-12-11 Chris Toshok <toshok@ximian.com>
1136 * WebConfigurationManager.cs (OpenMachineConfiguration): just call
1137 ConfigurationManager.OpenMachineConfiguration.
1138 (OpenWebConfiguration): remove the "IntPtr userToken" version and
1139 add a "string userName" version to clean up corcompare output.
1140 Modify all the overloads to pass null instead of IntPtr.Zero.
1141 (GetWebApplicationSection): if we're not running in a web
1142 application, use the machine configuration.
1144 2005-12-06 Chris Toshok <toshok@ximian.com>
1146 * CodeSubDirectory.cs (DirectoryName): don't use an private field,
1147 but base[directoyNameProp].
1149 * AuthorizationRuleCollection.cs (Add): use BaseAdd (rule, false),
1150 so we can insert duplicates.
1152 (GetElementKey): MS for some reason just uses the action for the
1154 (Remove): pass the correct key.
1156 * ProfileGroupSettings.cs (GetHashCode): implement.
1158 * GlobalizationSection.cs (GetEncoding): for the utf-8 case, just
1161 * AssemblyCollection.cs (Add): use BaseAdd (info, false) so we can
1164 * CacheSection.cs (.cctor): make privateByteLimit's default 0L so
1165 we don't get a invalid cast exception later on.
1167 * AuthorizationRule.cs (VerifyData): split out the verification
1168 foo from PreSerialize.
1169 (PostDeserialize): so we can call it from here.
1170 (PreSerialize): and here.
1172 2005-12-05 Chris Toshok <toshok@ximian.com>
1174 * AuthorizationRuleCollection.cs (GetKey): split out the logic for
1175 creating a key from a rule here.
1176 (GetElementKey): use it here.
1179 2005-12-04 Chris Toshok <toshok@ximian.com>
1181 * UrlMapping.cs: add an internal argument-less ctor.
1183 * UrlMappingCollection.cs (CreateNewElement): use argument-less
1185 (GetKey): implement.
1186 (AllKeys): implement.
1188 * TrustLevel.cs: add an internal argument-less ctor.
1190 * TrustLevelCollection.cs (Set): implement.
1191 (CreateNewElement): use argument-less ctor.
1192 (IsElementName): implement.
1193 (ElementName): implement.
1194 (set_Item (int index)): use Set.
1195 (ThrowOnDuplicate): implement.
1197 * TagPrefixInfo.cs: add internal argument-less ctor.
1199 * TagPrefixCollection.cs (CreateNewElement): call argument-less
1201 (CollectionType): add text to TODO.
1202 (ElementName): implement.
1204 * SqlCacheDependencyDatabaseCollection.cs (Set): implement.
1205 (AllKeys): implement.
1207 * RuleSettings.cs: add internal argument-less ctor.
1209 * RuleSettingsCollection.cs (Contains): implement.
1210 (CreateNewElement): use argument-less ctor.
1211 (IndexOf): implement.
1212 (Insert): implement.
1214 * RootProfilePropertySettingsCollection.cs (IsModified): chain up
1215 to base.IsModified for now.
1216 (Reset): chain up to base.Reset for now.
1217 (ResetModified): chain up to base.ResetModified for now.
1219 * ProfileSettings.cs: add internal argument-less ctor.
1221 * ProfileSettingsCollection.cs (Contains): implement.
1222 (CreateNewElement): use argument-less ctor.
1223 (IndexOf): implement.
1224 (Insert): implement.
1226 * ProfilePropertySettingsCollection.cs (IndexOf): implement.
1228 (AllKeys): implement.
1230 * ProfileGroupSettings.cs: add internal argument-less ctor.
1232 * ProfileGroupSettingsCollection.cs (CreateNewElement): use
1233 parameter-less ctor.
1234 (GetKey): implement.
1235 (ResetModified): for now call base.ResetModified.
1237 (AllKeys): implement.
1239 * OutputCacheProfile.cs: add internal argument-less ctor.
1241 * OutputCacheProfileCollection.cs (CreateNewElement): use
1242 parameter-less ctor.
1244 (AllKeys): implement.
1246 * HttpModuleActionCollection.cs (Add): remove MonoTODO.
1247 (CreateNewElement): same.
1249 * HttpHandlerActionCollection.cs (GetElementKey): build up the key
1250 from both the path and the verb.
1253 * FormsAuthenticationUserCollection.cs (Set): implement.
1254 (AllKeys): implement.
1256 * EventMappingSettings.cs: add an internal argument-less ctor.
1258 * EventMappingSettingsCollection.cs (Contains): implement.
1259 (CreateNewElement): use argument-less ctor.
1260 (IndexOf): implement.
1261 (Insert): implement.
1263 * CompilerCollection.cs (GetKey): implement.
1264 (AllKeys): implement.
1266 * ClientTargetCollection.cs (GetKey): implement.
1267 (AllKeys): implement.
1269 * AuthorizationRuleCollection.cs (Set): implement.
1270 (ElementName): add some text to the MonoTODO.
1271 (set_Item (int index)): use Set.
1273 2005-12-04 Chris Toshok <toshok@ximian.com>
1275 * CustomError.cs: add an internal argument-less ctor for use by
1278 * CustomErrorCollection.cs: implement all the MonoTODO's.
1280 2005-12-02 Chris Toshok <toshok@ximian.com>
1282 * GlobalizationSection.cs (VerifyData): split out the stuff that
1283 used to live in PreSerialize here.
1284 (PreSerialize): call VerifyData here.
1285 (PostDeserialize): and here.
1287 2005-12-01 Chris Toshok <toshok@ximian.com>
1289 * GlobalizationSection.cs (PreSerialize): add checks for Culture
1290 and UICulture properties.
1292 2005-12-01 Chris Toshok <toshok@ximian.com>
1294 * AuthorizationRule.cs (..ctor): provide default values for
1295 roles/users/verbs here. Not sure if we should do this in the ctor
1296 or if the System.Configuration infrastructure should.. time will
1298 (PreSerialize): throw if Roles.Count and Users.Count == 0.
1299 (SerializeElement): write out the element here. don't chain up to
1300 the base class since that has differing behavior than what we
1303 2005-11-30 Chris Toshok <toshok@ximian.com>
1305 * CompilerCollection.cs: ugly hack to fix the
1306 2.0-without-config-2.0 case. wrap this file in #if
1307 CONFIGURATION_2_0 as well as #if NET_2_0.
1309 * Compiler.cs: same.
1311 2005-11-28 Chris Toshok <toshok@ximian.com>
1313 * SessionStateSection.cs (CookieLess): correct the compat function
1316 2005-11-28 Chris Toshok <toshok@ximian.com>
1318 * GlobalizationSection.cs (GetEncoding): if the encoding name is
1319 null, default to utf-8 before we hit the try block, so we don't
1320 throw and generate a spurious warning.
1322 * SessionStateSection.cs: The Cookieless handling needs a custom
1323 parser, it appears, as the converter is a StringConverter, not a
1324 GenericEnumConverter.
1325 (ParseCookieMode): the parser.
1327 2005-11-28 Chris Toshok <toshok@ximian.com>
1329 * PagesSection.cs (GetInstance): nuke.
1331 * CompilationSection.cs (GetInstance): nuke.
1333 2005-11-28 Chris Toshok <toshok@ximian.com>
1335 * HttpHandlerAction.cs: add some c&p code from the 1.1 config
1336 stuff to look for matching handlers.
1337 (..ctor): add parameterless ctor.
1339 * HttpHandlerActionCollection.cs: clean up formatting.
1340 (CreateNewElement): call the parameter-less ctor for
1343 * HttpHandlersSection.cs (..ctor): add a ConfigurationProperty for
1344 the default collection.
1345 (get_Handlers): implement.
1346 (LocateHandler): copy over (and massage) some 1.1 config code.
1348 * MachineKeySection.cs: move some code over from the 1.1 config
1349 code to deal with autogeneration of keys, as well as converting
1350 from the string rep to the byte[] rep.
1352 2005-11-28 Chris Toshok <toshok@ximian.com>
1354 * HttpModuleActionCollection.cs (CreateNewElement): use the new
1355 HttpModuleAction ctor.
1357 * HttpModuleAction.cs: add internal ctor with no parameters, for
1358 use in HttpModuleActionCollection.
1360 2005-11-28 Chris Toshok <toshok@ximian.com>
1362 * GlobalizationSection.cs (..cctor): the encoding
1363 ConfigurationProperties are of type "string", even though the
1364 properties themselves are of type Encoding. we do conversions
1365 manually in the setter/getters. gross. Add code (mostly c&p +
1366 massaged from GlobalizationConfigurationHandler) for this and also
1367 to handle the culture gettes.
1369 2005-11-26 Chris Toshok <toshok@ximian.com>
1371 * AuthorizationRuleCollection.cs (GetElementKey): implement this.
1373 * ProfilePropertyNameValidator.cs: make this internal, and add a
1374 blurb about how MS doesn't do the testing you'd expect them to.
1376 2005-11-25 Chris Toshok <toshok@ximian.com>
1378 * AuthorizationRuleCollection.cs (CreateNewElement): remove
1381 * CompilationSection.cs (GetRuntimeObject): add comment to TODO.
1383 * ProfileGroupSettings.cs: reformat some things.
1385 * FormsAuthenticationUser.cs (Name): remove MonoTODO.
1387 * WebPartsSection.cs (GetRuntimeObject): change TODO comment.
1389 * ProfilePropertySettings.cs: add internal argument-less ctor.
1391 * IdentitySection.cs (GetRuntimeObject): return this.
1393 * ProfilePropertySettingsCollection.cs: implement much of the
1396 * WebControlsSection.cs (GetRuntimeObject): implement.
1398 * SqlCacheDependencyDatabaseCollection.cs (GetElementKey):
1400 (GetKey): implement.
1402 2005-11-24 Chris Toshok <toshok@ximian.com>
1404 * AssemblyInfo.cs: move this here from System.Web.Configuration,
1405 and fix up the properties.
1407 * SystemWebSectionGroup.cs: enable most of the sections (2
1408 remaining to be enabled.)
1410 2005-11-24 Chris Toshok <toshok@ximian.com>
1412 * ProcessModelSection.cs, SqlCacheDependencySection.cs,
1413 SessionStateSection.cs, PassportAuthentication.cs,
1414 FormsAuthenticationConfiguration.cs,
1415 SqlCacheDependencyDatabase.cs, HttpModuleAction.cs,
1416 BufferModeSettings.cs, TagPrefixInfo.cs (..cctor): init
1418 (ValidateElement): new static validator callback.
1419 (ElementProperty): enable this, return elementProperty.
1421 2005-11-23 Chris Toshok <toshok@ximian.com>
1423 * ProfilePropertyNameValidator.cs: new implementation.
1425 * ProfilePropertySettings.cs, ProfileGroupSettings.cs,
1426 ClientTargetSection.cs, ClientTargetSection.cs,
1427 BufferModeSettings.cs, HttpModulesSection.cs,
1428 WebPartsPersonalization.cs, TransformerInfo.cs, TrustLevel.cs,
1429 NamespaceInfo.cs, SqlCacheDependencyDatabase.cs,
1430 AuthenticationSection.cs, RuleSettings.cs,
1431 FormsAuthenticationUser.cs, WebPartsSection.cs, BuildProvider.cs,
1432 WebPartsPersonalizationAuthorization.cs, Compiler.cs,
1433 ExpressionBuilder.cs, OutputCacheProfile.cs,
1434 FormsAuthenticationCredentials.cs, XhtmlConformanceSection.cs,
1435 OutputCacheSettingsSection.cs, CustomError.cs, TraceSection.cs,
1436 ExpressionBuilderCollection.cs, ProfileSettings.cs,
1437 SessionStateSection.cs, HealthMonitoringSection.cs,
1438 FormsAuthenticationConfiguration.cs, HttpRuntimeSection.cs,
1439 SessionPageStateSection.cs, TrustSection.cs,
1440 AnonymousIdentificationSection.cs, WebControlsSection.cs,
1441 ClientTarget.cs, TagMapInfo.cs, AuthorizationSection.cs,
1442 ProcessModelSection.cs, RoleManagerSection.cs,
1443 MembershipSection.cs, CustomErrorsSection.cs (..cctor): fix
1444 validator/converters.
1446 * MachineKeySection.cs (..cctor): fix validators/converters.
1447 (Validation): enable the Converter.
1449 * CodeSubDirectory.cs (..cctor): fix validator/converters.
1450 (DirectoryName): add note about missing validator decoration.
1452 * HttpModuleAction.cs (..cctor): init properties.
1453 (Properties): return properties.
1455 * CompilationSection.cs (..cctor): fix validator/converters.
1456 (GetInstance): add in this pre-2.0 interface for the time being,
1457 hopefully it'll make it easier to migrate later on.
1459 * HttpHandlerActionCollection.cs (..cctor): init properties.
1460 (Properties): return properties.
1462 * PagesSection.cs (..cctor): fix validator/converters.
1463 (GetInstance): add in this pre-2.0 interface for the time being,
1464 hopefully it'll make it easier to migrate later on.
1466 * HttpHandlersSection.cs (..cctor): init properties.
1467 (Properties): return properties.
1469 * EventMappingSettings.cs (..cctor): fix validator/converters.
1470 (Name): add note about missing validator decoration.
1472 * HttpHandlerAction.cs (..cctor): fix validator/converters.
1473 (PAth, Type, Verb): add note about missing validator decoration.
1475 * NamespaceCollection.cs (..cctor): fix properties.
1477 * ProfilePropertySettingsCollection.cs (..cctor): init properties.
1478 (..ctor): don't throw NIE.
1479 (Properties): return properties.
1481 * HttpModuleActionCollection.cs (..cctor): init properties.
1482 (Properties): return properties.
1484 * CacheSection.cs (..cctor): fix validators/converters.
1485 (PrivateBytesPollTime): add note about missing validator
1488 * AuthorizationRule.cs (..cctor): fix validators/converters.
1489 (Roles, Users, Verbs): enable the TypeConverter decorations.
1491 * UrlMapping.cs (ValidateUrl): static method for use as a
1492 validation callback. unimplemented as yet.
1493 (..cctor): fix validators/converters.
1494 (MappedUrl): add note about missing validator decoration.
1496 * PropertyHelper.cs: static utility class which contains
1497 references to validators and converters for use in static
1498 constructors (building the Properties arrays).
1500 2005-11-23 Chris Toshok <toshok@ximian.com>
1502 * MachineKeyValidationConverter.cs: new converter (and a pretty
1503 silly one, considering all it seems to do is convert "TripleDES"
1506 * HostingEnvironmentSection.cs (.cctor): use
1507 PositiveTimeSpanValidator like MS does.
1509 2005-11-18 Chris Toshok <toshok@ximian.com>
1511 * HostingEnvironmentSection.cs (.cctor): add validators.
1513 * CompilationSection.cs (.cctor): fix defaultvalue of
1516 2005-11-18 Chris Toshok <toshok@ximian.com>
1518 * SystemWebSectionGroup.cs: enable a whole slew of properties.
1520 * RegexWorker.cs: stub this out.
1522 * HttpCapabilitiesBase.cs: remove GetClrVersions since it's in one
1523 of the other partial files.
1525 * CompilationSection.cs: fix this up.
1527 * PagesSection.cs: fix some types and add a comment to
1530 * CompilerCollection.cs (Add): new internal method.
1532 * ProvidersHelper.cs: put the using System.Configuration.Provider
1533 inside the NET_2_0 block.
1535 * CacheSection.cs: add validators.
1537 2005-11-14 Chris Toshok <toshok@ximian.com>
1539 * BufferModeSettings.cs: add validators/converters to the
1540 programmatic property list.
1542 * BuildProvider.cs: add validators/converters to the programmatic
1543 property list, and add an internal ctor with no args.
1545 * Compiler.cs: wrap the code i hacked from the 1.1 stuff with a
1548 * BuildProviderCollection.cs (CreateNewElement): use the internal
1549 BuildProvider ctor to get around validation.
1551 * AssemblyCollection.cs: same.
1553 2005-11-14 Chris Toshok <toshok@ximian.com>
1555 * TagPrefixCollection.cs (Remove): pass the key to BaseRemove.
1556 (set_Item (int index)): implement.
1558 * TagPrefixInfo.cs (Equals): implement.
1559 (GetHashCode): implement.
1561 * AuthorizationRuleCollection.cs (CreateNewElement(string)):
1562 implement propertly.
1563 (IndexOf): implement.
1564 (IsElementName): implement.
1565 (ElementName): implement.
1566 (Item (int index)): implement.
1568 * FormsAuthenticationUserCollection.cs (set_Item (int index)): implement.
1570 * UrlMappingCollection.cs (set_Item (int index)): implement.
1572 * OutputCacheProfileCollection.cs (set_Item (int index)): implement.
1574 * TransformerInfo.cs (Equals): implement.
1575 (GetHashCode): implement.
1577 * NamespaceInfo.cs (Equals): implement.
1578 (GetHashCode): implement.
1580 * ProfileSettingsCollection.cs (set_Item (int index)): implement.
1582 * TransformerInfoCollection.cs (set_Item (int index)): implement.
1584 * HttpHandlerActionCollection.cs (set_Item (int index)): implement.
1586 * BufferModesCollection.cs (set_Item (int index)): implement.
1588 * BuildProvider.cs: use the base[fooProp] pattern instead of
1591 * ProfileGroupSettingsCollection.cs: implement most of this class.
1593 * RuleSettingsCollection.cs (set_Item (int index)): implement.
1595 * ClientTargetCollection.cs (set_Item (int index)): implement.
1597 * AssemblyCollection.cs (set_Item (int index)): implement.
1599 * BuildProviderCollection.cs (set_Item (int index)): reformat.
1601 * CustomError.cs (Equals): implement.
1602 (GetHashCode): implement.
1604 * ExpressionBuilderCollection.cs (set_Item (int index)): reformat.
1606 * PassportAuthentication.cs (RedirectUrl): express consternation
1609 * NamespaceCollection.cs (set_Item (int index)): implement.
1611 * RootProfilePropertySettingsCollection.cs (SerializeElement): add
1614 * ProfilePropertySettingsCollection.cs (set_Item (int index)):
1617 * CustomErrorCollection.cs (set_Item (int index)): implement.
1619 * HttpModuleActionCollection.cs (set_Item (int index)): implement.
1621 * CodeSubDirectoriesCollection.cs (set_Item (int index)):
1624 * CustomErrorsSection.cs (DeserializeSection): include call to
1625 base.DeserializeSection, and add MonoTODO.
1627 * EventMappingSettingsCollection.cs (set_Item (int index)):
1630 * AuthorizationRule.cs (Equals): implement.
1631 (GetHashCode): implement.
1632 (SerializeElement): add comment.
1634 * TagMapCollection.cs (Remove): pass the key to BaseRemove.
1635 (set_Item (int index)): implement.
1637 * TagMapInfo.cs (Equals): implement.
1638 (GetHashCode): implement.
1639 (SerializeElement): add call to base.SerializeElement.
1641 * TrustLevelCollection.cs (Remove): pass the key to BaseRemove.
1642 (GetElementKey): implement.
1644 * SqlCacheDependencyDatabase.cs (set_Item (int index)): implement.
1646 * WebContext.cs: new implementation.
1648 2005-11-13 Chris Toshok <toshok@ximian.com>
1650 * AnonymousIdentificationSection.cs: rework this class a bit to
1651 fit in with the rest of S.W.C. Add validators to the
1652 ConfigurationProperty ctor calls, a pattern which will need to be
1653 replicated across the entire assembly, it appears (uggggh).
1655 2005-11-13 Chris Toshok <toshok@ximian.com>
1657 * AuthorizationRuleCollection.cs: fix ConfigurationCollection
1660 * TransformerInfo.cs: fix corcompare.
1662 * SqlCacheDependencyDatabase.cs: mark ctor internal to fix
1665 * AuthenticationSection.cs: add missing Reset stub.
1667 * ProfileSettingsCollection.cs: use the more succint ctor.
1669 * FormsAuthenticationUser.cs: enable the TypeConverter on "name".
1671 * GlobalizationSection.cs: fix up corcompare.
1673 * WebPartsSection.cs: fix up corcompare.
1675 * ProfileGroupSettingsCollection.cs: add missing
1676 ConfigurationCollection attribute.
1678 * ExpressionBuilder.cs: implement.
1680 * FormsAuthenticationCredentials.cs: fix up corcompare.
1682 * AssemblyCollection.cs: implement Properties.
1684 * SiteMapSection.cs: implement Properties.
1686 * ExpressionBuilderCollection.cs: fix up corcompare.
1688 * ProfileSettings.cs: add missing ctor.
1690 * PassportAuthentication.cs: new implementation.
1692 * SqlCacheDependencySection.cs: fix up corcompare.
1694 * ProfilePropertySettingsCollection.cs: fix up corcompare.
1696 * HttpModuleActionCollection.cs: fix up corcompare.
1698 * EventMappingSettingsCollection.cs: fix up corcompare.
1700 * AuthorizationRule.cs: fix up corcompare.
1702 * WebControlsSection.cs: fix up corcompare.
1704 * AuthorizationSection.cs: fix up corcompare.
1706 * MembershipSection.cs: clean this up, implement Properties, fix
1709 2005-11-13 Chris Toshok <toshok@ximian.com>
1711 * UrlMapping.cs, CustomErrorCollection.cs, CustomError.cs,
1712 HostingEnvironmentSection.cs, TrustLevel.cs,
1713 HttpCookiesSection.cs, UrlMappingsSection.cs,
1714 UrlMappingCollection.cs, LowerCaseStringConverter.cs,
1715 RoleManagerSection.cs, ProcessModelSection.cs,
1716 TrustLevelCollection.cs, ClientTarget.cs, CustomErrorsSection.cs,
1717 MachineKeySection.cs, SessionPageStateSection.cs,
1718 SessionStateSection.cs, ProvidersHelper.cs,
1719 ClientTargetCollection.cs, SecurityPolicySection.cs,
1720 HttpCapabilitiesBase.cs, ClientTargetSection.cs: Another large
1724 2005-11-12 Chris Toshok <toshok@ximian.com>
1726 * AuthorizationRuleCollection.cs, AuthorizationRule.cs,
1727 AuthorizationSection.cs, BufferModesCollection.cs,
1728 BufferModeSettings.cs, CacheSection.cs, CompilerCollection.cs,
1729 Compiler.cs, DeploymentSection.cs,
1730 EventMappingSettingsCollection.cs, EventMappingSettings.cs,
1731 GlobalizationSection.cs, HealthMonitoringSection.cs,
1732 IdentitySection.cs, OutputCacheProfileCollection.cs,
1733 OutputCacheProfile.cs, OutputCacheSection.cs,
1734 OutputCacheSettingsSection.cs, ProfileSettingsCollection.cs,
1735 ProfileSettings.cs, RuleSettingsCollection.cs, RuleSettings.cs,
1736 SqlCacheDependencyDatabaseCollection.cs,
1737 SqlCacheDependencyDatabase.cs, SqlCacheDependencySection.cs,
1738 SystemWebCachingSectionGroup.cs, TraceSection.cs,
1739 TransformerInfoCollection.cs, TransformerInfo.cs, TrustSection.cs,
1740 WebControlsSection.cs, WebPartsPersonalizationAuthorization.cs,
1741 WebPartsPersonalization.cs, WebPartsSection.cs,
1742 XhtmlConformanceSection.cs: a whole slew of new classes. the
1743 fruits of tons of c&p and ibuprofen.
1746 2005-11-09 Chris Toshok <toshok@ximian.com>
1748 * PagesSection.cs, AuthenticationSection.cs, BuildProvider.cs,
1749 BuildProviderCollection.cs, HttpHandlerActionCollection.cs,
1750 HttpModulesSection.cs, HttpModuleAction.cs,
1751 HttpModuleActionCollection.cs, AnonymousIdentificationSection.cs,
1752 CodeSubDirectory.cs, CodeSubDirectoriesCollection.cs,
1753 SystemWebSectionGroup.cs, SiteMapSection.cs,
1754 WebConfigurationManager.cs: flesh out the implementation.
1756 * TagMap*.cs, TagPrefix*.cs: new implementation.
1758 * FormsAuthentication*.cs: new implementation.
1760 * Profile*.cs: new implementation.
1762 * Namespace*.cs: new implementation.
1764 * HttpRuntimeSection.cs: new implementation.