1 2010-01-09 Marek Habersack <mhabersack@novell.com>
3 * WebConfigurationManager.cs: GetSection properly handles looking
4 up and caching of <location> instances. Part of fix for bug
7 * WebConfigurationHost.cs: GetConfigPathFromLocationSubPath
8 calculatesthe path relative to the current config file path. Part
11 2009-12-02 Marek Habersack <mhabersack@novell.com>
13 * CompilationSection.cs: added two properties -
14 OptimizeCompilations (3.5+) and TargetFramework (4.0+)
16 2009-11-19 Marek Habersack <mhabersack@novell.com>
18 * WebConfigurationHost.cs: IsDefinitionAllowed now normalizes the
19 passed configuration path, so that MachineToApplication sections
21 * WebConfigurationManager.cs: use an rw lock to protect access to
22 sectionCache. This is now necessary as the save handler clears the
25 2009-11-10 Marek Habersack <mhabersack@novell.com>
27 * WebConfigurationManager.cs: path passed to OpenWebConfiguration
28 from GetSection does not come from FindWebConfig.
30 2009-11-09 Marek Habersack <mhabersack@novell.com>
32 * WebConfigurationManager.cs: there's no need to cache sections by
33 _file_ path - using section name and web.config path is more than
34 enough and it reduces the number of cache entries
35 considerably. Fixes bug #550730
37 2009-10-07 Marek Habersack <mhabersack@novell.com>
39 * WebConfigurationManager.cs: GetSection doesn't perform string +
40 char + string concatenation to generate section cache key (by
41 Gonzalo Paniagua Javier) which gives an enormous performance boost
42 (processing time for mojoportal's default.aspx went down from
43 2.65s to 107ms on average). The key generation is performed
44 without any kind of string operation right now (except for
45 GetHashCode on 3 strings).
46 GetSectionCacheKey is called only once and sectionCache became a
49 2009-08-20 Marek Habersack <mhabersack@novell.com>
51 * WebConfigurationManager.cs: GetSection does not use
52 FindWebConfig to get the virtual path to open configuration for -
53 doing so would make the configuration system ignore <location>
54 sections. Fixes bug #482181
56 2009-07-23 Gonzalo Paniagua Javier <gonzalo@novell.com>
58 * WebConfigurationManager.cs: avoid possible infinite loop when the
59 path starts with ~ and 1 file check.
61 2009-07-15 Marek Habersack <mhabersack@novell.com>
63 * WebConfigurationManager.cs: another approach to suppressing
64 application reloads after the app writes to its root web.config
65 file. Leaving the previous code in place to get more
66 protection. It's a kludge, but it's the best option to avoid
67 all the races caused by System.Configuration+FileSystemWatcher
68 without rewriting large parts of System.Configuration (and
69 System.Web.Configuration). Fixes bug #522017
71 2009-07-14 Marek Habersack <mhabersack@novell.com>
73 * WebConfigurationManager.cs: added support for suppressing
74 application reload when the main config file is written to from
77 * WebConfigurationHost.cs: added minimal implementation of
78 WriteCompleted, which checks if there's need to suppress
81 2009-07-13 Marek Habersack <mhabersack@novell.com>
83 * ProvidersHelper.cs: InstantiateProvider doesn't have to
84 explicitly look for types in App_Code assemblies - this is done in
85 HttpApplication.LoadType.
87 2009-07-09 Gonzalo Paniagua Javier <gonzalo@novell.com>
89 * WebConfigurationHost.cs: null means MachineToApplication.
90 * WebConfigurationManager.cs: when caching configuration and sections,
91 use the configuration file directory instead of the incoming request
94 2009-06-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
96 * HttpHandlerAction.cs: fix path matching when the pattern has more
99 2009-06-05 Marek Habersack <mhabersack@novell.com>
101 * WebConfigurationManager.cs: OpenWebConfiguration caches
102 configurations with a key generated from all the parameters passed
103 to it, not just from path.
104 Added internal GetSection method which takes HttpContext as its
105 third parameter - used in calling OpenWebConfiguration.
106 FindWebConfig is no longer used in GetSection - it breaks handling
107 of <location> elements in config files. Fixes bug #510302
109 2009-06-03 Marek Habersack <mhabersack@novell.com>
111 * MonoSettingsSection.cs: added new property,
112 verificationCompatibility, which serves the same purpose as the
113 registry key described in http://support.microsoft.com/kb/932552
114 (when set to 1 it turns off virtual path validity
115 verification). Fixes bug #509163
117 2009-05-14 Marek Habersack <mhabersack@novell.com>
119 * HttpHandlersSection.cs: if we're matching a default handler,
122 2009-04-03 Marek Habersack <mhabersack@novell.com>
124 * WebConfigurationManager.cs: added code in the static constructor
125 to enable retrieving application settings via
126 ApplicationSettingsBase from within asp.net applications. Fixes
129 * ApplicationSettingsConfigurationFileMap.cs: added.
131 2009-03-12 Dean Brettle <dean@brettle.com>
133 * nBrowser/Build.cs: made Browser() method thread-safe and moved the
134 actual tree creation to a private InitializeTree() method for clarity.
136 2009-03-01 Marek Habersack <mhabersack@novell.com>
138 * WebConfigurationManager.cs: optimized GetWebApplicationSection a
141 2009-02-28 Marek Habersack <mhabersack@novell.com>
143 * WebConfigurationManager.cs: make sure no nrex happens in
144 GetSectionCacheKey ()
146 2009-02-26 Gonzalo Paniagua Javier <gonzalo@novell.com>
148 * WebConfigurationManager.cs: generate a hash from the string hsah
149 codes instead of concatenating them.
151 2009-01-27 Marek Habersack <mhabersack@novell.com>
153 * HttpHandlerAction.cs: removed the matches cache, it doesn't
154 improve matters here in 99% of the cases.
155 Regexps are no longer used to match handler paths, SearchPattern
158 2009-01-26 Marek Habersack <mhabersack@novell.com>
160 * WebConfigurationHost.cs: when an attempt to map a fake virtual
161 path is made, MapPath returns the aplication physical root
162 directory. Fixes bug #463950
164 2008-01-09 Dean Brettle <dean@brettle.com>
166 * nBrowser/Node.cs: Fixed compatibility bug where <identification> sections were required
169 2009-01-09 Marek Habersack <mhabersack@novell.com>
171 * WebConfigurationManager.cs: do not normalize the path in
172 FindWebConfig when getting the virtual directory.
174 2009-01-08 Marek Habersack <mhabersack@novell.com>
176 * WebConfigurationManager.cs: improve performance of
179 2009-01-07 Marek Habersack <mhabersack@novell.com>
181 * HttpModulesSection.cs: allow for modules with non-public
182 constructors. Fises bug #463971
184 * HttpHandlerAction.cs: allow for handlers with non-public
185 constructors. Fixes bug #463971
187 2008-12-24 Marek Habersack <mhabersack@novell.com>
189 * WebConfigurationManager.cs: A better version of the previous
190 GetSection fix. Right now the method searches for directories
191 containing web.config and uses them, if found, to open the web
192 configuration. If no web.config is found, web configuration is
193 opened for the root application directory.
195 * WebConfigurationHost.cs: made GetWebConfigFileName internal
196 static, so that code can be reused from WebConfigurationManager.
198 2008-12-23 Marek Habersack <mhabersack@novell.com>
200 * WebConfigurationManager.cs: GetSection should call
201 OpenWebConfiguration using the actual directory path, not a file
202 path. If it fails to do so, System.Configuration may treat the
203 top-level Web.config file as a child one which, in turn, in
204 certain circumstances will lead to duplicate keys inserted in
207 2008-12-16 Marek Habersack <mhabersack@novell.com>
209 * WebConfigurationHost.cs: IsDefinitionAllowed should treat
210 configPath == "~" as the root application path.
212 2008-12-12 Owen Brady <Ocean@owenbrady.net>
214 * nBrowser/File.cs, nBrowser/Identification.cs, nBrowser/Node.cs, nBrowser/NodeTypes.cs,
215 nBrowser/Result.cs, nBrowser/Build.cs, nBrowser/Exception.cs, CapabilitiesBuild.cs,
216 CapabilitiesResult.cs: Updated Copyright information to include updated contact information.
218 * nBrowser/Build.cs: Removed LoadDefaultEmbeddedResource function, the embeded resource
219 it is referring too was never included in Mono. And was designed for a free standing
220 browser identification libary.
222 * nBrowser/Exception.cs: Removed Compile Attributes and related comments which were left
223 in from the original free standing browser libary.
225 * CapabilitiesBuild.cs: Removed Header Checksum related coding since it is not required
226 for the Mono implementation.
228 * CapabilitiesResult.cs: Updated Copyright information to include updated contact information.
229 Removed functions which were designed to make use of features of a embeded browser file which
230 is not present in Mono.
232 * CapabilitiesChecksum.cs, RandomRoboBotKeywords.txt: Deleted
233 2008-10-21 Marek Habersack <mhabersack@novell.com>
235 * CapabilitiesChecksum.cs: implement Hex and MapToHex more efficiently.
237 2008-10-09 Marek Habersack <mhabersack@novell.com>
239 * MonoSettingsSection.cs: added - a section for mono-specific
242 2008-10-01 Marek Habersack <mhabersack@novell.com>
244 * CapabilitiesResult.cs: added support for the "browsers"
245 capability - a collection of matching browser ids.
247 * nBrowser/Node.cs: store matching browser ids in the capabilities
248 collection (to support IsBrowser correctly)
250 2008-07-25 Dean Brettle <dean@brettle.com>
252 * nBrowser/Node.cs nBrowser/Build.cs nBrowser/Identification.cs: Fixed race
253 condition in Node.Process() by removing mutating functions from Identification
254 and changing Node.Process() and Node.BrowserIdentification() to maintain
255 state in a List<Match> instead of a List<Identification>.
257 * nBrowser/Node.cs: Fixed race condition associated with lookup of adapter
260 * nBrowser/Node.cs: Removed duplicate call to Node.BrowserIdentification() from
263 * nBrowser/Node.cs: Removed duplicate call to Result.AddAdaper() from Node.Process().
265 * nBrowser/Node.cs: Fixed bug where capabilities containing literal $ or % were
268 * nBrowser/Node.cs: Fixed bug where capabilities with multiple $ substitutions only
271 2008-06-30 Zoltan Varga <vargaz@gmail.com>
273 * CapabilitiesResult.cs: Make the RandomRoboBotKeywords array static and compute it
276 2008-06-30 Marek Habersack <mhabersack@novell.com>
278 * CompilationSection.cs: hush the warnings
280 2008-06-26 Zoltan Varga <vargaz@gmail.com>
282 * nBrowser/Node.cs nBrowser/Result.cs: Avoid looking up adapter types names for
283 every request in every assembly.
285 2008-05-22 Marek Habersack <mhabersack@novell.com>
287 * WebConfigurationHost.cs: changed CreateDeprecatedConfigContext
288 to return a new HttpContext object. This is part of a fix for bug
289 #325128. Patch contributed by James Fitzsimons <james.fitzsimons@gmail.com>,
292 2008-05-07 Marek Habersack <mhabersack@novell.com>
294 * RoleManagerSection.cs: use type converter when creating the
295 cookieTimeout property in the static constructor. Fixes bug
296 #387526. Patch fromIvan Hamilton <ivan@chimerical.com.au>, thanks!
298 2008-03-23 Dean Brettle <dean@brettle.com>
300 * CapabilitiesBuild.cs (Process), ICapabilitiesProcess.cs (Process),
301 nBrowser/Build.cs (Process): Added initialCapabilities argument to
302 facilitate using browscap.ini capabilities.
304 * CapabilitiesResult.cs (ctor), nBrowserResult.cs (ctor): Change
305 items arg to IDictionary to facilitate using browscap.ini capabilities.
307 * nBrowser/Node.cs (Reset): Removed code which checked prohibited
308 non-alphanumerics in id attributes because .NET is not that strict.
310 * nBrowser/Node.cs (MergeFrom): Fixed NullReferenceExceptions that
311 occurred when the source or destination node did not have any
312 capabilities or adapters.
314 * nBrowser/Result.cs (AddAdapter): Fixed to allow types in other
317 2008-03-09 Dean Brettle <dean@brettle.com>
319 * nBrowser/Result.cs, nBrowser/NodeTypes.cs, nBrowser/Identification.cs,
320 nBrowser/File.cs, nBrowser/Build.cs, nBrowser/Node.cs,
321 nBrowser/Exception.cs: added. The code under nBrowser handles *.browser
322 files. It is based on Owen "Ocean" Brady's code, with the following
323 changes and improvements. Replaced Result.Adapter
324 property with AdapterTypeMap property which maps control Type to adapter
325 Type. Added Result.MarkupTextWriter property. Added overrides for
326 Result.GetAdapters and Result.GetTagWriter to return MarkupTextWriter
327 and AdapterTypeMap, resp. Changed tree building algorithm to not
328 depend on nodes with id="Default" and to inject defaultBrowser nodes
329 as parents of regular nodes with the same ids. Changed Node.cs to use
330 Item instead of Add when adding a capability or sample header, so that
331 values get replaced instead of appended. Added support for reference
332 nodes (ie. nodes with refID="someID").
334 * CapabilitiesResult.cs: load RandomRoboBotKeywords.txt resource
335 using the correct name.
337 * RandomRoboBotKeywords.txt: added
339 * HttpCapabilitiesBase.cs (CreateHtmlWriter, Adapters): Added
340 support for *.browsers. Adapters property calls internal virtual
341 GetAdapters() method which is overrided in nBrowser.Result
342 returned by nBrowser code. CreateHtmlWriter uses type specified
343 by TagWriter property.
345 2008-03-03 Vladimir Krasnov <vladimirk@mainsoft.com>
347 * ProvidersHelper.cs: fixed thread safety issue in InstantiateProvider
349 2008-03-01 Marek Habersack <mhabersack@novell.com>
351 * WebConfigurationManager.cs: SettingsMappingManager has been
352 moved to Mono.Web.dll
354 2008-02-28 Marek Habersack <mhabersack@novell.com>
356 * HttpHandlerAction.cs: ignore case when matching handler
357 paths. Fixes bug #364995
359 2008-02-26 Marek Habersack <mhabersack@novell.com>
361 * BuildProviderCollection.cs: be case-insensitive when looking for
364 2008-02-25 Marek Habersack <mhabersack@novell.com>
366 * WebConfigurationManager.cs: hashtable can contain a key with a
367 null value, avoid adding duplicate keys in such cases.
369 2008-02-18 Vladimir Krasnov <vladimirk@mainsoft.com>
371 * WebConfigurationManager.cs: performance improvement, cached
374 2008-02-07 Vladimir Krasnov <vladimirk@mainsoft.com>
376 * GlobalizationSection.cs: fixed GetSanitizedCulture, performance
379 2008-02-05 Marek Habersack <mhabersack@novell.com>
381 * CompilerCollection.cs: Get (string language) should not use
382 BaseGet as our collection is keyed on a list of language names
383 (e.g. "cs;csharp") and passing a single language won't match in
384 BaseGet correctly. Use the overriden indexer instead.
385 Initialize the base class with the case-insensitive
386 comparer. Fixes bug #357824.
388 2008-01-27 Daniel Nauck <dna@mono-project.de>
390 * HttpHandlerAction.cs: fixed the internal method PathMatches ()
391 removed wrong caching of FileMatchingInfo classes with request specific
392 informations. Now we check against the current request path and cache
393 the result in a dictionary.
394 Also check correctly against all possible paths from the HttpHandler.
397 2007-12-27 Marek Habersack <mhabersack@novell.com>
399 * ProfileGroupSettingsCollection.cs: added an internal method to
400 add/overwrite new group settings. Used from
401 RootProfilePropertySettingsCollection.
403 * ProfileGroupSettings.cs: added the missing "name" property to
404 the properties collection.
405 Marked the propertySettingsProp property as the default
407 Added internal deserialization method, used from
408 RootProfilePropertySettingsCollection to support the 'group'
411 * ProfileSection.cs: defaultProviderProp typo - the name of the
412 provider should be "AspNetSqlProfileProvider"
414 * RootProfilePropertySettingsCollection.cs: added
415 OnDeseerializeUnrecognizedElement to support the profile 'group'
417 Added a missing Unmerge method.
419 2007-12-11 Vladimir Krasnov <vladimirk@mainsoft.com>
421 * SiteMapSection.cs: fixed ProvidersInternal property to be thread safe
423 2007-12-08 Marek Habersack <mhabersack@novell.com>
425 * WebConfigurationManager.cs: GetSection now runs each section
426 through a mapper (if any is defined for the section) before
427 returning it to the caller.
429 2007-11-23 Marek Habersack <mhabersack@novell.com>
431 * TagPrefixCollection.cs: changed the collection type to
434 * ProfileSection.cs: added missing Properties property, added a
435 static constructor to create property descriptors. Use property
436 descriptors in property accessors.
438 * ProfileGroupSettingsCollection.cs: added missing attribute to
439 the class, removed CollectionType method, added missing IsModified
440 and ResetModified methods, added missing Properties property.
442 * ProfileGroupSettings.cs: added missing Properties property,
443 adjusted the set of custom attributes of the PropertySettings
446 * ProcessModelSection.cs: change the default value of the CpuMask
449 * OutputCacheSection.cs: added the EnableKernelCacheForVaryByStar
452 * OutputCacheProfile.cs: added the VaryByContentEncoding property.
454 * FormsAuthenticationConfiguration.cs: corrected defaults for the
457 * ExpressionBuilder.cs: corrected defaults for the
458 ExpressionPrefix and Type properties.
460 * CustomErrorsSection.cs: added two missing overrides -
461 DeserializeSection and Reset.
463 * ClientTargetSection.cs: added the missing Properties property.
464 Added static constructor to create the property collection.
466 * CustomErrorCollection.cs: removed the ThrowOnDuplicate
469 * CacheSection.cs: corrected defaults for the
470 PercentagePhysicalMemoryUsedLimit property.
472 * ClientTargetCollection.cs: added missing Properties property.
474 * IConfigMapPathFactory.cs: added
476 * IConfigMapPath.cs: added
478 * RoleManagerSection.cs: added a static constructor, a collection
479 of properties, the missing Properties property.
481 2007-11-22 Marek Habersack <mhabersack@novell.com>
483 * RoleManagerSection.cs: CookieTimeout property custom attributes
484 changed to match MS.NET's ones.
486 * AuthorizationRuleCollection.cs: removed the ThrowOnDuplicate
487 property - it's not found in the MS.NET version of the class.
489 2007-11-06 Marek Habersack <mhabersack@novell.com>
491 * MachineKeySectionUtils.cs: make sure keys are autogenerated when
494 2007-11-02 Marek Habersack <mhabersack@novell.com>
496 * HttpHandlerActionCollection.cs: clear http handler cache in
497 HttpApplication if the collection is modified.
499 2007-11-01 Marek Habersack <mhabersack@novell.com>
501 * MachineKeySection.cs: moved all the internal static methods and
502 properties to MachineKeySectionUtils.cs
504 * MachineKeySectionUtils.cs: added. This file is included in the
505 System.Web.Extensions compilation.
506 The old properties from MachineKeySection.cs became methods.
508 2007-10-24 Marek Habersack <mhabersack@novell.com>
510 * HttpHandlerAction.cs: exact path matching must be done on the
511 original string in PathMatches, not on the sliced one. Fixes bug
514 2007-10-17 Marek Habersack <mhabersack@novell.com>
516 * WebConfigurationHost.cs: if running outside hosted environment,
517 read only the assemblyname.config configuration file instead of
518 web.config. Fixes bug #332425
520 2007-10-15 Marek Habersack <mhabersack@novell.com>
522 * ProvidersHelper.cs: use HttpApplication.LoadType instead of
525 * HttpModulesSection.cs: use HttpApplication.LoadType when loading
526 modules, to include both the bin/ directory and the top-level
527 assemblies in search. Fixes bug #333686.
529 2007-08-30 Marek Habersack <mhabersack@novell.com>
531 * MachineKeySection.cs: retrieve the keys from the registry before
532 falling back to the old method. Fixes bug #76606
534 2007-08-23 Marek Habersack <mhabersack@novell.com>
536 * ProvidersHelper.cs: HttpApplication.LoadTypeFromPrivateBin
537 renamed to LoadTypeFromBin.
539 2007-08-21 Marek Habersack <mhabersack@novell.com>
541 * ProvidersHelper.cs: use HttpApplication.LoadTypeFromPrivateBin
542 to get the provider settings type.
544 2007-08-10 Gert Driesen <drieseng@users.sourceforge.net>
546 * PagesEnableSessionState.cs: Marked internal on 1.0 profile.
548 2007-07-16 Vladimir Krasnov <vladimirk@mainsoft.com>
550 * ProfileGroupSettingsCollection.cs: added ResetInternal internal
552 * RootProfilePropertySettingsCollection.cs: added Reset method
553 override to reset GroupSettings collection
555 2007-06-24 Vladimir Krasnov <vladimirk@mainsoft.com>
557 * HttpHandlerAction.cs: fixed SplitPaths property to be thread safe
559 2007-06-12 Vladimir Krasnov <vladimirk@mainsoft.com>
561 * CompilationSection.cs: TARGET_JVM on not supported features
562 * HttpModulesSection.cs: ctor should be static
564 2007-06-03 Adar Wesley <adarw@mainsoft.com>
566 * ProfilePropertySettingsCollection.cs: added missing method
567 OnDeserializeUnrecognizedElement.
569 2007-05-30 Marek Habersack <mhabersack@novell.com>
571 * WebConfigurationManager.cs: if errors happen when opening the
572 configuration file, mark the manager as unsafe to prevent further
573 usage and avoid error loops.
575 2007-05-17 Igor Zelmanovich <igorz@mainsoft.com>
577 * WebConfigurationHost.cs: for TARGET_J2EE only:
578 prevent NullRefference Exception.
580 2007-05-15 Igor Zelmanovich <igorz@mainsoft.com>
582 * WebConfigurationManager.cs:
583 make configurations hashtable case-insensitive.
584 * WebConfigurationHost.cs: for TARGET_J2EE only:
585 GetStreamName returns file path in right case, that make it works
586 on case-sensitive file system.
588 2007-05-15 Marek Habersack <mhabersack@novell.com>
590 * BuildProviderCollection.cs: refactoring - use
591 HttpApplication.LoadType to actually look up the type.
593 * HttpHandlerAction.cs: as above
595 * WebConfigurationHost.cs: refactoring - moved the LoadType to
596 HttpApplication to share the code between 1.1 and 2.0 profiles.
598 2007-05-14 Marek Habersack <mhabersack@novell.com>
600 * UrlMappingCollection.cs: implemented the Item (string) indexer.
602 * UrlMapping.cs: implemented the URL validation callback body
603 (doesn't work at the moment).
605 2007-05-14 Igor Zelmanovich <igorz@mainsoft.com>
607 * WebConfigurationManager.cs:
608 make configurations synchronized.
609 added new internal method RemoveConfigurationFromCache.
611 2007-05-07 Marek Habersack <mhabersack@novell.com>
613 * PagesSection.cs: buffering is on by default.
615 2007-04-24 Marek Habersack <mhabersack@novell.com>
617 * WebConfigurationHost.cs: wrap MapPath calls in try/catch,
618 because bad URLs can cause it to throw exceptions. If such
619 exception is caught, throw a HttpException for Bad Request (400).
620 Look for types in the top-level assemblies (App_Code and
623 * WebConfigurationManager.cs: added two internal methods for safe
624 retrieval of config sections.
626 2007-04-19 Marek Habersack <mhabersack@novell.com>
628 * HttpHandlerAction.cs: look up types in all the toplevel
629 assemblies. Fixes bug #80897.
631 2007-04-17 Atsushi Enomoto <atsushi@ximian.com>
633 * ProcessModelSection.cs : cpuMask default value should be int,
636 2007-04-06 Marek Habersack <mhabersack@novell.com>
638 * CustomErrorsSection.cs: make the customErrors section work.
640 * PagesSection.cs: provide appropriate default value for the
641 asyncTimeout setting.
643 2007-03-24 Marek Habersack <mhabersack@novell.com>
645 * WebConfigurationHost.cs: allow MachineToApplication definition
646 for config paths that equal the domain virtual app directory.
648 2007-03-22 Adar Wesley <adarw@mainsoft.com>
650 * HttpCapabilitiesBase.cs: implemented all capabilities. Capabilities
651 still throw if there is no value in browscaps.ini and the property is called.
653 2007-03-21 Vladimir Krasnov <vladimirk@mainsoft.com>
655 * WebConfigurationManager.cs: fixed OpenWebConfiguration, should not
656 lock when checking if configuration is already open
658 2007-03-15 Vladimir Krasnov <vladimirk@mainsoft.com>
660 * WebConfigurationManager.cs: fixed OpenWebConfiguration, removed
661 GetBasePath call and locations search, since this not affects
662 configuration initialization, but improves performance
664 2007-03-12 Marek Habersack <mhabersack@novell.com>
666 * ProvidersHelper.cs: support loading custom providers from
667 App_Code assemblies. Fixes bug #81071.
668 Also set eol-style to native.
670 2007-03-08 Gert Driesen <drieseng@users.souceforge.net>
672 * PagesSection.cs: Revert part of Adar's patch that regresses
675 2007-03-06 Adar Wesley <adarw@mainsoft.com>
677 * PagesSection.cs: improve Enum parsing and strongly typed default values.
679 2007-02-20 Marek Habersack <grendello@gmail.com>
681 * Patch from Gert Driesen <drieseng@users.sourceforge.net>
682 * PagesSection.cs: Process value of EnableSessionState attribute
683 case-sensitive, and perform check in getter. Fix for bug #80913.
684 * PageParser.cs: Added note on difference in behaviour between page
685 level attribute and configuration attribute for enableSessionState.
686 * PagesConfiguration.cs: Fixed compiler warning.
688 2007-02-22 Marek Habersack <grendello@gmail.com>
690 * CompilerCollection.cs: Optimize language lookup a bit.
692 2007-02-05 Konstantin Triger <kostat@mainsoft.com>
694 * TagPrefixCollection.cs: Fix element key creation.
696 2007-02-04 Konstantin Triger <kostat@mainsoft.com>
698 * NamespaceInfo.cs, HttpModuleAction.cs, RoleManagerSection.cs:
699 fix the default value.
701 2007-02-02 Marek Habersack <grendello@gmail.com>
703 * TagPrefixCollection.cs: Add the CollectionType parameter.
704 Get rid of unnecessary interface references in the class declaration.
705 GetElementKey should return Source which should be unique, unlike TagPrefix.
707 2007-01-04 Konstantin Triger <kostat@mainsoft.com>
709 * ProfileSection.cs: Ensure enabled = true by default; cleanup.
711 2006-12-27 Vladimir Krasnov <vladimirk@mainsoft.com>
713 * CustomErrorCollection.cs: fixed ThrowOnDuplicate to false as in .net
715 2006-12-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
717 * GlobalizationSection.cs: make encodings actually work for the 2.0
720 2006-12-21 Marek Habersack <grendello@gmail.com>
722 * TagMapInfo.cs: Add an internal default constructor for use from
725 * TagMapCollection.cs: Don't call the string,string constructor of
726 TagMapInfo - the class disallows empty strings as values of its
729 2006-12-21 Vladimir Krasnov <vladimirk@mainsoft.com>
731 * RoleManagerSection.cs: refactored using attributes
733 2006-12-20 Marek Habersack <grendello@gmail.com>
735 * ProfilePropertyNameValidator.cs: added a few checks.
737 2006-12-18 Vladimir Krasnov <vladimirk@mainsoft.com>
739 * WebConfigurationManager.cs: fixed GetSection to execute
740 GetRuntimeObject, refactored GetSection and GetWebApplicationSection
742 2006-12-17 Vladimir Krasnov <vladimirk@mainsoft.com>
744 * HttpHandlerAction.cs: fixed 'verb' config property
746 2006-12-07 Igor Zelmanovich <igorz@mainsoft.com>
748 * ProvidersHelper.cs: fixed: load assembles from /bin
750 2006-11-22 Miguel de Icaza <miguel@novell.com>
752 * SessionStateSection.cs: Do not call Enum.Parse with a null
753 argument, prevents an exception from being thrown.
755 2006-11-20 Marek Habersack <grendello@gmail.com>
757 * GlobalizationSection.cs: Added support for "auto" cultures and
758 the "auto:DEFAULT_CULTURE" cultures.
760 2006-11-13 Konstantin Triger <kostat@mainsoft.com>
762 * WebConfigurationHost.cs: use Type.GetType for loading full qualified types.
764 2006-11-05 Vladimir Krasnov <vladimirk@mainsoft.com>
766 * ProfileGroupSettings.cs, ProfileGroupSettingsCollection.cs
767 ProfilePropertySettingsCollection.cs, ProfileSection.cs
768 RootProfilePropertySettingsCollection.cs: refactoring and fix of
771 2006-10-18 Marek Habersack <grendello@gmail.com>
773 * WebConfigurationManager.cs: implement support for extra
774 assemblies to be referenced when compiling a page.
776 2006-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
778 * WebConfigurationManager.cs: add null checks. Patch by Marek Habersack
779 that fixes bug #79283.
781 2006-09-06 Konstantin Triger <kostat@mainsoft.com>
783 * WebConfigurationHost.cs: do not recourse as this will be done by
784 Configuration object.
786 2006-08-08 Vladimir Krasnov <vladimirk@mainsoft.com>
788 * WebConfigurationManager.cs: added configSystem property under
790 * WebConfigurationHost.cs: fixed GetStreamName and OpenStreamForRead
792 * CompilationSection.cs: BuildProviders property removed from
794 * SystemWebSectionGroup.cs: Compilation property removed from
797 2006-06-26 Atsushi Enomoto <atsushi@ximian.com>
799 * NullableStringValidator.cs : new internal class that is almost
800 identical to StringValidator but allows null value.
801 * PropertyHelper.cs : use new NullableStringValidator.
802 * NamespaceCollection.cs : in NamespaceInfo "" is not allowed.
804 2006-06-08 Chris Toshok <toshok@ximian.com>
806 * WebConfigurationHost.cs (InitForConfiguration): i know this is
807 going to bite me in the ass, but guard against configPath being ==
808 to "/", since this will result in an infinite loop.
809 (MapPath): fix a NRE.
811 2006-05-18 Atsushi Enomoto <atsushi@ximian.com>
813 * WebConfigurationManager.cs: recent sys.config.dll changes on
814 ConfigurationManager.GetSection() which should call
815 GetRuntimeObject() should also apply here. Fixed monodoc web.
817 2006-05-10 Andrew Skiba <andrews@mainsoft.com>
819 * HttpHandlerAction.cs: keep the internal exception
821 2006-05-08 Chris Toshok <toshok@ximian.com>
823 * WebConfigurationManager.cs (GetBasePath): fix bug where
824 path.Length was 0 when we got to the last while loop (and indexed
825 -1 into an array.) Thanks Marek for the fix.
827 2006-05-04 Chris Toshok <toshok@ximian.com>
831 * WebConfigurationHost.cs (GetConfigType): add a MonoTODO about
832 how we should use the build provider machinery to get types.
833 (MapPath): add rudimentary mapping in the case where we don't have
834 a request, basically handle the case where the url begins with (or
835 is) HttpRuntime.AppDomainAppVirtualPath.
837 * WebConfigurationManager.cs (GetSection): if we don't have a
838 valid request, open the web configuration corresponding to
839 HttpRuntime.AppDomainAppVirtualPath.
840 (GetBasePath): comment this a little, and make it work in the case
841 where we don't have an HttpRequest.
843 2006-04-27 Chris Toshok <toshok@ximian.com>
845 * AuthorizationRuleCollection.cs (ThrowOnDuplicate): for the time
846 being introduce a overridden property MS doesn't make use of.
847 This needs readdressing, but it should get people making use of
848 <authorization> rules working again.
850 2006-04-25 Chris Toshok <toshok@ximian.com>
852 * AuthorizationRule.cs (Reset): finally figure out what this
853 method is supposed to do. Assign our Action property based on
856 2006-04-25 Chris Toshok <toshok@ximian.com>
858 * WebConfigurationHost.cs (InitForConfiguration): actually, use
859 HttpRuntime.AppDomainAppVirtualPath on gonzalo's recommendation.
860 It's never null, and its use cleans things up a bit.
862 2006-04-25 Chris Toshok <toshok@ximian.com>
864 * WebConfigurationHost.cs (InitForConfiguration): stop going up
865 the virtual hierarchy once we reach the application's base virtual
868 2006-04-24 Chris Toshok <toshok@ximian.com>
870 * AuthorizationSection.cs (IsValidUser): fix a problem that
871 surfaced when converting from the 1.1 to 2.0 config classes. Only
872 check for verb match if there are actually verbs to match against.
874 2006-04-11 Chris Toshok <toshok@ximian.com>
876 * ExpressionBuilderCollection.cs (CreateNewElement): call argless
879 * ExpressionBuilder.cs: add internal argumentless ctor for use by
882 2006-03-24 Chris Toshok <toshok@ximian.com>
884 * WebConfigurationManager.cs (GetConfig): add a fallback case for
885 configuration sections that don't subclass from
886 ConfigurationSection.
888 2006-03-24 Chris Toshok <toshok@ximian.com>
890 * WebConfigurationHost.cs: fix bug where OpenWebConfiguration
891 ("/") would result in 2 configurations for that toplevel path to
894 2006-03-08 Chris Toshok <toshok@ximian.com>
896 * ProvidersHelper.cs: implement this static class properly.
898 * SiteMapSection.cs (ProvidersInternal): add internal property to
899 get the actual SiteMapProviderCollection from here.
901 2006-02-28 Chris Toshok <toshok@ximian.com>
903 * BuildProviderAppliesTo.cs, PagesToCountAction.cs: nuke.
905 2006-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
908 * CompilerCollection.cs: removed compatibility code.
910 * BuildProviderCollection.cs: add GetProviderForExtension().
912 2006-02-02 Chris Toshok <toshok@ximian.com>
914 * WebConfigurationManager.cs (GetSection(string,string)):
917 2006-02-01 Atsushi Enomoto <atsushi@ximian.com>
919 * TrustLevelCollection.cs, CodeSubDirectoriesCollection.cs,
920 CustomErrorCollection.cs, CompilerCollection.cs,
921 HttpHandlerActionCollection.cs,
922 FormsAuthenticationUserCollection.cs,
923 AuthorizationRuleCollection.cs, TagPrefixCollection.cs :
924 CollectionType is public.
926 2006-02-01 Chris Toshok <toshok@ximian.com>
928 * WebConfigurationManager.cs: In the normal case, get the current
929 request's web.config, not the application's. If there is no
930 current request, get the application's.
931 (GetWebApplicationConfiguration): use Request.ApplicationPath, not
932 Request.PhysicalApplicationPath. OpenWebConfiguration takes
935 * HttpConfigurationSystem.cs: GetWebApplicationSection =>
938 2006-02-01 Chris Toshok <toshok@ximian.com>
940 * CompilerCollection.cs: CONFIGURATION_2_0 => NET_2_0
944 2006-02-01 Chris Toshok <toshok@ximian.com>
946 * HttpConfigurationSystem.cs: SupportsUserConfig == true. let's
947 use this to determine if ConfigurationManager.AppSettings should
950 2006-01-31 Chris Toshok <toshok@ximian.com>
952 * WebConfigurationManager.cs: err, why did i ifdef stuff NET_2_0
953 inside of an ifdef NET_2_0?
955 2006-01-30 Chris Toshok <toshok@ximian.com>
957 * WebConfigurationManager.cs: lots of little changes. hopefully
958 this doesn't break anyone. it fixes all the nunit problems
961 * WebConfigurationHost.cs (GetStreamName): in the MachineWebPath
962 case, handle the case where we have a WebConfigurationFileMap.
963 (MapPath): this is likely wrong, but in the case where we don't
964 have a file map or current HttpContext, just return the path.
966 2006-01-29 Chris Toshok <toshok@ximian.com>
968 * HttpModulesSection.cs (LoadModules): I'm not sure we want to
969 solve this problem in this way, but the 1.x code forces
970 DefaultAuthenticationModule to be in the list of modules..
971 Without this fix (or something else) HttpContext.User is null when
974 2006-01-26 Chris Toshok <toshok@ximian.com>
976 * HttpConfigurationSystem.cs: new class that gets sections from
979 * WebConfigurationManager.cs: change a lot of the
980 NotImplementedExceptions to NotSupportedExceptions.
981 (AppSettings): implement by just returning
982 ConfigurationManager.AppSettings (note this is broken because
983 ConfigurationManager.AppSettings are read-only, but it works for
985 (ConnectionStrings): same (and probably broken in the same way..)
986 (Init): replace the 2.0 IInternalConfigSystem with our
987 HttpConfigurationSystem.
989 * WebConfigurationHost.cs: add a comment about how things are
990 likely to work in the face of IRemoteWebConfigurationHostServer.
991 (CreateConfigurationContext): return a WebContext instance.
993 2006-01-25 Chris Toshok <toshok@ximian.com>
995 * AuthorizationSection.cs (IsValidUser): instead of a blanket
996 false for a null user, just set the username to "" and short
997 circuit out the check for roles.
999 2006-01-25 Chris Toshok <toshok@ximian.com>
1001 * AuthorizationRule.cs (CheckUser): handle * and ?, and use
1002 String.Compare instead of ==.
1003 (CheckVerb): use String.Compare instead of ==.
1005 * AuthorizationSection.cs (IsValidUser): return false for a null
1008 2006-01-22 Chris Toshok <toshok@ximian.com>
1010 * GlobalizationSection.cs (VerifyData): quiet mcs.
1012 2006-01-18 Chris Toshok <toshok@ximian.com>
1014 * SystemWebSectionGroup.cs: wrap System.Web.Services references in
1017 2006-01-16 Chris Toshok <toshok@ximian.com>
1019 * WebConfigurationManager.cs: implement a IConfigurationSystem for
1020 use with WebConfigurationManager.
1021 (GetSection): try to load the section
1022 using GetWebApplicationSection before calling into
1023 ConfigurationManager.GetSection.
1024 (GetWebApplicationConfiguration): move common code to here.
1025 (GetWebApplicationSection): use GetWebApplicationConfiguration.
1026 (AppSettings): implement.
1028 * WebConfigurationHost.cs (GetWebConfigFileName): add
1029 "Web.Config", and move to an array/loop implementation. maybe we
1030 should scan the directory and check ToLower() instead of
1031 explicitly enumerating?
1033 2006-01-10 Chris Toshok <toshok@ximian.com>
1035 * SystemWebSectionGroup.cs (HostingEnvironment): enable this property.
1036 (ProcessModel): add the ConfigurationPropertyAttribute.
1038 2006-01-10 Chris Toshok <toshok@ximian.com>
1040 * PagesSection.cs (.cctor): fix the default value for the
1041 enableSessionState attribute - it's not a bool, but a
1042 PagesEnableSessionState enum.
1044 2006-01-10 Chris Toshok <toshok@ximian.com>
1046 * MachineKeySection.cs (ValidationKeyBytes, DecryptionKeyBytes,
1047 DecryptionKey192Bits): if the keys are null, generate them. Fixes
1048 Page.EnableViewStateMac support.
1050 2006-01-09 Chris Toshok <toshok@ximian.com>
1052 * RoleManagerSection.cs, SqlCacheDepencendySection.cs,
1053 SessionStateSection.cs, TraceSection.cs, SecurityPolicySection.cs,
1054 PagesSection.cs, RulesSettings.cs, UrlMappingSection.cs: fix
1057 2006-01-09 Chris Toshok <toshok@ximian.com>
1059 * ExpressionBuilderCollection.cs (.cctor): no need to create a
1060 collection property here. we're already in the collection.
1062 * CompilationSection.cs: fix typo.
1064 2006-01-04 Chris Toshok <toshok@ximian.com>
1066 * MachineKeySection.cs: bring over some more internal methods from
1067 MachineKeyConfig, and call Set{Decryption,Validation}Key from
1068 their respective property setters.
1070 2006-01-03 Chris Toshok <toshok@ximian.com>
1072 * AuthorizationSection.cs (IsValidUser): add analogous method from
1073 AuthorizationConfig.cs.
1075 * AuthorizationRule.cs: add predicates for Verb, User, and Role
1076 analogous to what existed in AuthorizationConfig.cs.
1078 2005-12-11 Chris Toshok <toshok@ximian.com>
1080 * WebConfigurationManager.cs (OpenMachineConfiguration): just call
1081 ConfigurationManager.OpenMachineConfiguration.
1082 (OpenWebConfiguration): remove the "IntPtr userToken" version and
1083 add a "string userName" version to clean up corcompare output.
1084 Modify all the overloads to pass null instead of IntPtr.Zero.
1085 (GetWebApplicationSection): if we're not running in a web
1086 application, use the machine configuration.
1088 2005-12-06 Chris Toshok <toshok@ximian.com>
1090 * CodeSubDirectory.cs (DirectoryName): don't use an private field,
1091 but base[directoyNameProp].
1093 * AuthorizationRuleCollection.cs (Add): use BaseAdd (rule, false),
1094 so we can insert duplicates.
1096 (GetElementKey): MS for some reason just uses the action for the
1098 (Remove): pass the correct key.
1100 * ProfileGroupSettings.cs (GetHashCode): implement.
1102 * GlobalizationSection.cs (GetEncoding): for the utf-8 case, just
1105 * AssemblyCollection.cs (Add): use BaseAdd (info, false) so we can
1108 * CacheSection.cs (.cctor): make privateByteLimit's default 0L so
1109 we don't get a invalid cast exception later on.
1111 * AuthorizationRule.cs (VerifyData): split out the verification
1112 foo from PreSerialize.
1113 (PostDeserialize): so we can call it from here.
1114 (PreSerialize): and here.
1116 2005-12-05 Chris Toshok <toshok@ximian.com>
1118 * AuthorizationRuleCollection.cs (GetKey): split out the logic for
1119 creating a key from a rule here.
1120 (GetElementKey): use it here.
1123 2005-12-04 Chris Toshok <toshok@ximian.com>
1125 * UrlMapping.cs: add an internal argument-less ctor.
1127 * UrlMappingCollection.cs (CreateNewElement): use argument-less
1129 (GetKey): implement.
1130 (AllKeys): implement.
1132 * TrustLevel.cs: add an internal argument-less ctor.
1134 * TrustLevelCollection.cs (Set): implement.
1135 (CreateNewElement): use argument-less ctor.
1136 (IsElementName): implement.
1137 (ElementName): implement.
1138 (set_Item (int index)): use Set.
1139 (ThrowOnDuplicate): implement.
1141 * TagPrefixInfo.cs: add internal argument-less ctor.
1143 * TagPrefixCollection.cs (CreateNewElement): call argument-less
1145 (CollectionType): add text to TODO.
1146 (ElementName): implement.
1148 * SqlCacheDependencyDatabaseCollection.cs (Set): implement.
1149 (AllKeys): implement.
1151 * RuleSettings.cs: add internal argument-less ctor.
1153 * RuleSettingsCollection.cs (Contains): implement.
1154 (CreateNewElement): use argument-less ctor.
1155 (IndexOf): implement.
1156 (Insert): implement.
1158 * RootProfilePropertySettingsCollection.cs (IsModified): chain up
1159 to base.IsModified for now.
1160 (Reset): chain up to base.Reset for now.
1161 (ResetModified): chain up to base.ResetModified for now.
1163 * ProfileSettings.cs: add internal argument-less ctor.
1165 * ProfileSettingsCollection.cs (Contains): implement.
1166 (CreateNewElement): use argument-less ctor.
1167 (IndexOf): implement.
1168 (Insert): implement.
1170 * ProfilePropertySettingsCollection.cs (IndexOf): implement.
1172 (AllKeys): implement.
1174 * ProfileGroupSettings.cs: add internal argument-less ctor.
1176 * ProfileGroupSettingsCollection.cs (CreateNewElement): use
1177 parameter-less ctor.
1178 (GetKey): implement.
1179 (ResetModified): for now call base.ResetModified.
1181 (AllKeys): implement.
1183 * OutputCacheProfile.cs: add internal argument-less ctor.
1185 * OutputCacheProfileCollection.cs (CreateNewElement): use
1186 parameter-less ctor.
1188 (AllKeys): implement.
1190 * HttpModuleActionCollection.cs (Add): remove MonoTODO.
1191 (CreateNewElement): same.
1193 * HttpHandlerActionCollection.cs (GetElementKey): build up the key
1194 from both the path and the verb.
1197 * FormsAuthenticationUserCollection.cs (Set): implement.
1198 (AllKeys): implement.
1200 * EventMappingSettings.cs: add an internal argument-less ctor.
1202 * EventMappingSettingsCollection.cs (Contains): implement.
1203 (CreateNewElement): use argument-less ctor.
1204 (IndexOf): implement.
1205 (Insert): implement.
1207 * CompilerCollection.cs (GetKey): implement.
1208 (AllKeys): implement.
1210 * ClientTargetCollection.cs (GetKey): implement.
1211 (AllKeys): implement.
1213 * AuthorizationRuleCollection.cs (Set): implement.
1214 (ElementName): add some text to the MonoTODO.
1215 (set_Item (int index)): use Set.
1217 2005-12-04 Chris Toshok <toshok@ximian.com>
1219 * CustomError.cs: add an internal argument-less ctor for use by
1222 * CustomErrorCollection.cs: implement all the MonoTODO's.
1224 2005-12-02 Chris Toshok <toshok@ximian.com>
1226 * GlobalizationSection.cs (VerifyData): split out the stuff that
1227 used to live in PreSerialize here.
1228 (PreSerialize): call VerifyData here.
1229 (PostDeserialize): and here.
1231 2005-12-01 Chris Toshok <toshok@ximian.com>
1233 * GlobalizationSection.cs (PreSerialize): add checks for Culture
1234 and UICulture properties.
1236 2005-12-01 Chris Toshok <toshok@ximian.com>
1238 * AuthorizationRule.cs (..ctor): provide default values for
1239 roles/users/verbs here. Not sure if we should do this in the ctor
1240 or if the System.Configuration infrastructure should.. time will
1242 (PreSerialize): throw if Roles.Count and Users.Count == 0.
1243 (SerializeElement): write out the element here. don't chain up to
1244 the base class since that has differing behavior than what we
1247 2005-11-30 Chris Toshok <toshok@ximian.com>
1249 * CompilerCollection.cs: ugly hack to fix the
1250 2.0-without-config-2.0 case. wrap this file in #if
1251 CONFIGURATION_2_0 as well as #if NET_2_0.
1253 * Compiler.cs: same.
1255 2005-11-28 Chris Toshok <toshok@ximian.com>
1257 * SessionStateSection.cs (CookieLess): correct the compat function
1260 2005-11-28 Chris Toshok <toshok@ximian.com>
1262 * GlobalizationSection.cs (GetEncoding): if the encoding name is
1263 null, default to utf-8 before we hit the try block, so we don't
1264 throw and generate a spurious warning.
1266 * SessionStateSection.cs: The Cookieless handling needs a custom
1267 parser, it appears, as the converter is a StringConverter, not a
1268 GenericEnumConverter.
1269 (ParseCookieMode): the parser.
1271 2005-11-28 Chris Toshok <toshok@ximian.com>
1273 * PagesSection.cs (GetInstance): nuke.
1275 * CompilationSection.cs (GetInstance): nuke.
1277 2005-11-28 Chris Toshok <toshok@ximian.com>
1279 * HttpHandlerAction.cs: add some c&p code from the 1.1 config
1280 stuff to look for matching handlers.
1281 (..ctor): add parameterless ctor.
1283 * HttpHandlerActionCollection.cs: clean up formatting.
1284 (CreateNewElement): call the parameter-less ctor for
1287 * HttpHandlersSection.cs (..ctor): add a ConfigurationProperty for
1288 the default collection.
1289 (get_Handlers): implement.
1290 (LocateHandler): copy over (and massage) some 1.1 config code.
1292 * MachineKeySection.cs: move some code over from the 1.1 config
1293 code to deal with autogeneration of keys, as well as converting
1294 from the string rep to the byte[] rep.
1296 2005-11-28 Chris Toshok <toshok@ximian.com>
1298 * HttpModuleActionCollection.cs (CreateNewElement): use the new
1299 HttpModuleAction ctor.
1301 * HttpModuleAction.cs: add internal ctor with no parameters, for
1302 use in HttpModuleActionCollection.
1304 2005-11-28 Chris Toshok <toshok@ximian.com>
1306 * GlobalizationSection.cs (..cctor): the encoding
1307 ConfigurationProperties are of type "string", even though the
1308 properties themselves are of type Encoding. we do conversions
1309 manually in the setter/getters. gross. Add code (mostly c&p +
1310 massaged from GlobalizationConfigurationHandler) for this and also
1311 to handle the culture gettes.
1313 2005-11-26 Chris Toshok <toshok@ximian.com>
1315 * AuthorizationRuleCollection.cs (GetElementKey): implement this.
1317 * ProfilePropertyNameValidator.cs: make this internal, and add a
1318 blurb about how MS doesn't do the testing you'd expect them to.
1320 2005-11-25 Chris Toshok <toshok@ximian.com>
1322 * AuthorizationRuleCollection.cs (CreateNewElement): remove
1325 * CompilationSection.cs (GetRuntimeObject): add comment to TODO.
1327 * ProfileGroupSettings.cs: reformat some things.
1329 * FormsAuthenticationUser.cs (Name): remove MonoTODO.
1331 * WebPartsSection.cs (GetRuntimeObject): change TODO comment.
1333 * ProfilePropertySettings.cs: add internal argument-less ctor.
1335 * IdentitySection.cs (GetRuntimeObject): return this.
1337 * ProfilePropertySettingsCollection.cs: implement much of the
1340 * WebControlsSection.cs (GetRuntimeObject): implement.
1342 * SqlCacheDependencyDatabaseCollection.cs (GetElementKey):
1344 (GetKey): implement.
1346 2005-11-24 Chris Toshok <toshok@ximian.com>
1348 * AssemblyInfo.cs: move this here from System.Web.Configuration,
1349 and fix up the properties.
1351 * SystemWebSectionGroup.cs: enable most of the sections (2
1352 remaining to be enabled.)
1354 2005-11-24 Chris Toshok <toshok@ximian.com>
1356 * ProcessModelSection.cs, SqlCacheDependencySection.cs,
1357 SessionStateSection.cs, PassportAuthentication.cs,
1358 FormsAuthenticationConfiguration.cs,
1359 SqlCacheDependencyDatabase.cs, HttpModuleAction.cs,
1360 BufferModeSettings.cs, TagPrefixInfo.cs (..cctor): init
1362 (ValidateElement): new static validator callback.
1363 (ElementProperty): enable this, return elementProperty.
1365 2005-11-23 Chris Toshok <toshok@ximian.com>
1367 * ProfilePropertyNameValidator.cs: new implementation.
1369 * ProfilePropertySettings.cs, ProfileGroupSettings.cs,
1370 ClientTargetSection.cs, ClientTargetSection.cs,
1371 BufferModeSettings.cs, HttpModulesSection.cs,
1372 WebPartsPersonalization.cs, TransformerInfo.cs, TrustLevel.cs,
1373 NamespaceInfo.cs, SqlCacheDependencyDatabase.cs,
1374 AuthenticationSection.cs, RuleSettings.cs,
1375 FormsAuthenticationUser.cs, WebPartsSection.cs, BuildProvider.cs,
1376 WebPartsPersonalizationAuthorization.cs, Compiler.cs,
1377 ExpressionBuilder.cs, OutputCacheProfile.cs,
1378 FormsAuthenticationCredentials.cs, XhtmlConformanceSection.cs,
1379 OutputCacheSettingsSection.cs, CustomError.cs, TraceSection.cs,
1380 ExpressionBuilderCollection.cs, ProfileSettings.cs,
1381 SessionStateSection.cs, HealthMonitoringSection.cs,
1382 FormsAuthenticationConfiguration.cs, HttpRuntimeSection.cs,
1383 SessionPageStateSection.cs, TrustSection.cs,
1384 AnonymousIdentificationSection.cs, WebControlsSection.cs,
1385 ClientTarget.cs, TagMapInfo.cs, AuthorizationSection.cs,
1386 ProcessModelSection.cs, RoleManagerSection.cs,
1387 MembershipSection.cs, CustomErrorsSection.cs (..cctor): fix
1388 validator/converters.
1390 * MachineKeySection.cs (..cctor): fix validators/converters.
1391 (Validation): enable the Converter.
1393 * CodeSubDirectory.cs (..cctor): fix validator/converters.
1394 (DirectoryName): add note about missing validator decoration.
1396 * HttpModuleAction.cs (..cctor): init properties.
1397 (Properties): return properties.
1399 * CompilationSection.cs (..cctor): fix validator/converters.
1400 (GetInstance): add in this pre-2.0 interface for the time being,
1401 hopefully it'll make it easier to migrate later on.
1403 * HttpHandlerActionCollection.cs (..cctor): init properties.
1404 (Properties): return properties.
1406 * PagesSection.cs (..cctor): fix validator/converters.
1407 (GetInstance): add in this pre-2.0 interface for the time being,
1408 hopefully it'll make it easier to migrate later on.
1410 * HttpHandlersSection.cs (..cctor): init properties.
1411 (Properties): return properties.
1413 * EventMappingSettings.cs (..cctor): fix validator/converters.
1414 (Name): add note about missing validator decoration.
1416 * HttpHandlerAction.cs (..cctor): fix validator/converters.
1417 (PAth, Type, Verb): add note about missing validator decoration.
1419 * NamespaceCollection.cs (..cctor): fix properties.
1421 * ProfilePropertySettingsCollection.cs (..cctor): init properties.
1422 (..ctor): don't throw NIE.
1423 (Properties): return properties.
1425 * HttpModuleActionCollection.cs (..cctor): init properties.
1426 (Properties): return properties.
1428 * CacheSection.cs (..cctor): fix validators/converters.
1429 (PrivateBytesPollTime): add note about missing validator
1432 * AuthorizationRule.cs (..cctor): fix validators/converters.
1433 (Roles, Users, Verbs): enable the TypeConverter decorations.
1435 * UrlMapping.cs (ValidateUrl): static method for use as a
1436 validation callback. unimplemented as yet.
1437 (..cctor): fix validators/converters.
1438 (MappedUrl): add note about missing validator decoration.
1440 * PropertyHelper.cs: static utility class which contains
1441 references to validators and converters for use in static
1442 constructors (building the Properties arrays).
1444 2005-11-23 Chris Toshok <toshok@ximian.com>
1446 * MachineKeyValidationConverter.cs: new converter (and a pretty
1447 silly one, considering all it seems to do is convert "TripleDES"
1450 * HostingEnvironmentSection.cs (.cctor): use
1451 PositiveTimeSpanValidator like MS does.
1453 2005-11-18 Chris Toshok <toshok@ximian.com>
1455 * HostingEnvironmentSection.cs (.cctor): add validators.
1457 * CompilationSection.cs (.cctor): fix defaultvalue of
1460 2005-11-18 Chris Toshok <toshok@ximian.com>
1462 * SystemWebSectionGroup.cs: enable a whole slew of properties.
1464 * RegexWorker.cs: stub this out.
1466 * HttpCapabilitiesBase.cs: remove GetClrVersions since it's in one
1467 of the other partial files.
1469 * CompilationSection.cs: fix this up.
1471 * PagesSection.cs: fix some types and add a comment to
1474 * CompilerCollection.cs (Add): new internal method.
1476 * ProvidersHelper.cs: put the using System.Configuration.Provider
1477 inside the NET_2_0 block.
1479 * CacheSection.cs: add validators.
1481 2005-11-14 Chris Toshok <toshok@ximian.com>
1483 * BufferModeSettings.cs: add validators/converters to the
1484 programmatic property list.
1486 * BuildProvider.cs: add validators/converters to the programmatic
1487 property list, and add an internal ctor with no args.
1489 * Compiler.cs: wrap the code i hacked from the 1.1 stuff with a
1492 * BuildProviderCollection.cs (CreateNewElement): use the internal
1493 BuildProvider ctor to get around validation.
1495 * AssemblyCollection.cs: same.
1497 2005-11-14 Chris Toshok <toshok@ximian.com>
1499 * TagPrefixCollection.cs (Remove): pass the key to BaseRemove.
1500 (set_Item (int index)): implement.
1502 * TagPrefixInfo.cs (Equals): implement.
1503 (GetHashCode): implement.
1505 * AuthorizationRuleCollection.cs (CreateNewElement(string)):
1506 implement propertly.
1507 (IndexOf): implement.
1508 (IsElementName): implement.
1509 (ElementName): implement.
1510 (Item (int index)): implement.
1512 * FormsAuthenticationUserCollection.cs (set_Item (int index)): implement.
1514 * UrlMappingCollection.cs (set_Item (int index)): implement.
1516 * OutputCacheProfileCollection.cs (set_Item (int index)): implement.
1518 * TransformerInfo.cs (Equals): implement.
1519 (GetHashCode): implement.
1521 * NamespaceInfo.cs (Equals): implement.
1522 (GetHashCode): implement.
1524 * ProfileSettingsCollection.cs (set_Item (int index)): implement.
1526 * TransformerInfoCollection.cs (set_Item (int index)): implement.
1528 * HttpHandlerActionCollection.cs (set_Item (int index)): implement.
1530 * BufferModesCollection.cs (set_Item (int index)): implement.
1532 * BuildProvider.cs: use the base[fooProp] pattern instead of
1535 * ProfileGroupSettingsCollection.cs: implement most of this class.
1537 * RuleSettingsCollection.cs (set_Item (int index)): implement.
1539 * ClientTargetCollection.cs (set_Item (int index)): implement.
1541 * AssemblyCollection.cs (set_Item (int index)): implement.
1543 * BuildProviderCollection.cs (set_Item (int index)): reformat.
1545 * CustomError.cs (Equals): implement.
1546 (GetHashCode): implement.
1548 * ExpressionBuilderCollection.cs (set_Item (int index)): reformat.
1550 * PassportAuthentication.cs (RedirectUrl): express consternation
1553 * NamespaceCollection.cs (set_Item (int index)): implement.
1555 * RootProfilePropertySettingsCollection.cs (SerializeElement): add
1558 * ProfilePropertySettingsCollection.cs (set_Item (int index)):
1561 * CustomErrorCollection.cs (set_Item (int index)): implement.
1563 * HttpModuleActionCollection.cs (set_Item (int index)): implement.
1565 * CodeSubDirectoriesCollection.cs (set_Item (int index)):
1568 * CustomErrorsSection.cs (DeserializeSection): include call to
1569 base.DeserializeSection, and add MonoTODO.
1571 * EventMappingSettingsCollection.cs (set_Item (int index)):
1574 * AuthorizationRule.cs (Equals): implement.
1575 (GetHashCode): implement.
1576 (SerializeElement): add comment.
1578 * TagMapCollection.cs (Remove): pass the key to BaseRemove.
1579 (set_Item (int index)): implement.
1581 * TagMapInfo.cs (Equals): implement.
1582 (GetHashCode): implement.
1583 (SerializeElement): add call to base.SerializeElement.
1585 * TrustLevelCollection.cs (Remove): pass the key to BaseRemove.
1586 (GetElementKey): implement.
1588 * SqlCacheDependencyDatabase.cs (set_Item (int index)): implement.
1590 * WebContext.cs: new implementation.
1592 2005-11-13 Chris Toshok <toshok@ximian.com>
1594 * AnonymousIdentificationSection.cs: rework this class a bit to
1595 fit in with the rest of S.W.C. Add validators to the
1596 ConfigurationProperty ctor calls, a pattern which will need to be
1597 replicated across the entire assembly, it appears (uggggh).
1599 2005-11-13 Chris Toshok <toshok@ximian.com>
1601 * AuthorizationRuleCollection.cs: fix ConfigurationCollection
1604 * TransformerInfo.cs: fix corcompare.
1606 * SqlCacheDependencyDatabase.cs: mark ctor internal to fix
1609 * AuthenticationSection.cs: add missing Reset stub.
1611 * ProfileSettingsCollection.cs: use the more succint ctor.
1613 * FormsAuthenticationUser.cs: enable the TypeConverter on "name".
1615 * GlobalizationSection.cs: fix up corcompare.
1617 * WebPartsSection.cs: fix up corcompare.
1619 * ProfileGroupSettingsCollection.cs: add missing
1620 ConfigurationCollection attribute.
1622 * ExpressionBuilder.cs: implement.
1624 * FormsAuthenticationCredentials.cs: fix up corcompare.
1626 * AssemblyCollection.cs: implement Properties.
1628 * SiteMapSection.cs: implement Properties.
1630 * ExpressionBuilderCollection.cs: fix up corcompare.
1632 * ProfileSettings.cs: add missing ctor.
1634 * PassportAuthentication.cs: new implementation.
1636 * SqlCacheDependencySection.cs: fix up corcompare.
1638 * ProfilePropertySettingsCollection.cs: fix up corcompare.
1640 * HttpModuleActionCollection.cs: fix up corcompare.
1642 * EventMappingSettingsCollection.cs: fix up corcompare.
1644 * AuthorizationRule.cs: fix up corcompare.
1646 * WebControlsSection.cs: fix up corcompare.
1648 * AuthorizationSection.cs: fix up corcompare.
1650 * MembershipSection.cs: clean this up, implement Properties, fix
1653 2005-11-13 Chris Toshok <toshok@ximian.com>
1655 * UrlMapping.cs, CustomErrorCollection.cs, CustomError.cs,
1656 HostingEnvironmentSection.cs, TrustLevel.cs,
1657 HttpCookiesSection.cs, UrlMappingsSection.cs,
1658 UrlMappingCollection.cs, LowerCaseStringConverter.cs,
1659 RoleManagerSection.cs, ProcessModelSection.cs,
1660 TrustLevelCollection.cs, ClientTarget.cs, CustomErrorsSection.cs,
1661 MachineKeySection.cs, SessionPageStateSection.cs,
1662 SessionStateSection.cs, ProvidersHelper.cs,
1663 ClientTargetCollection.cs, SecurityPolicySection.cs,
1664 HttpCapabilitiesBase.cs, ClientTargetSection.cs: Another large
1668 2005-11-12 Chris Toshok <toshok@ximian.com>
1670 * AuthorizationRuleCollection.cs, AuthorizationRule.cs,
1671 AuthorizationSection.cs, BufferModesCollection.cs,
1672 BufferModeSettings.cs, CacheSection.cs, CompilerCollection.cs,
1673 Compiler.cs, DeploymentSection.cs,
1674 EventMappingSettingsCollection.cs, EventMappingSettings.cs,
1675 GlobalizationSection.cs, HealthMonitoringSection.cs,
1676 IdentitySection.cs, OutputCacheProfileCollection.cs,
1677 OutputCacheProfile.cs, OutputCacheSection.cs,
1678 OutputCacheSettingsSection.cs, ProfileSettingsCollection.cs,
1679 ProfileSettings.cs, RuleSettingsCollection.cs, RuleSettings.cs,
1680 SqlCacheDependencyDatabaseCollection.cs,
1681 SqlCacheDependencyDatabase.cs, SqlCacheDependencySection.cs,
1682 SystemWebCachingSectionGroup.cs, TraceSection.cs,
1683 TransformerInfoCollection.cs, TransformerInfo.cs, TrustSection.cs,
1684 WebControlsSection.cs, WebPartsPersonalizationAuthorization.cs,
1685 WebPartsPersonalization.cs, WebPartsSection.cs,
1686 XhtmlConformanceSection.cs: a whole slew of new classes. the
1687 fruits of tons of c&p and ibuprofen.
1690 2005-11-09 Chris Toshok <toshok@ximian.com>
1692 * PagesSection.cs, AuthenticationSection.cs, BuildProvider.cs,
1693 BuildProviderCollection.cs, HttpHandlerActionCollection.cs,
1694 HttpModulesSection.cs, HttpModuleAction.cs,
1695 HttpModuleActionCollection.cs, AnonymousIdentificationSection.cs,
1696 CodeSubDirectory.cs, CodeSubDirectoriesCollection.cs,
1697 SystemWebSectionGroup.cs, SiteMapSection.cs,
1698 WebConfigurationManager.cs: flesh out the implementation.
1700 * TagMap*.cs, TagPrefix*.cs: new implementation.
1702 * FormsAuthentication*.cs: new implementation.
1704 * Profile*.cs: new implementation.
1706 * Namespace*.cs: new implementation.
1708 * HttpRuntimeSection.cs: new implementation.