1 2009-11-19 Marek Habersack <mhabersack@novell.com>
3 * WebConfigurationHost.cs: IsDefinitionAllowed now normalizes the
4 passed configuration path, so that MachineToApplication sections
6 * WebConfigurationManager.cs: use an rw lock to protect access to
7 sectionCache. This is now necessary as the save handler clears the
10 2009-11-10 Marek Habersack <mhabersack@novell.com>
12 * WebConfigurationManager.cs: path passed to OpenWebConfiguration
13 from GetSection does not come from FindWebConfig.
15 2009-11-09 Marek Habersack <mhabersack@novell.com>
17 * WebConfigurationManager.cs: there's no need to cache sections by
18 _file_ path - using section name and web.config path is more than
19 enough and it reduces the number of cache entries
20 considerably. Fixes bug #550730
22 2009-10-07 Marek Habersack <mhabersack@novell.com>
24 * WebConfigurationManager.cs: GetSection doesn't perform string +
25 char + string concatenation to generate section cache key (by
26 Gonzalo Paniagua Javier) which gives an enormous performance boost
27 (processing time for mojoportal's default.aspx went down from
28 2.65s to 107ms on average). The key generation is performed
29 without any kind of string operation right now (except for
30 GetHashCode on 3 strings).
31 GetSectionCacheKey is called only once and sectionCache became a
34 2009-08-20 Marek Habersack <mhabersack@novell.com>
36 * WebConfigurationManager.cs: GetSection does not use
37 FindWebConfig to get the virtual path to open configuration for -
38 doing so would make the configuration system ignore <location>
39 sections. Fixes bug #482181
41 2009-07-23 Gonzalo Paniagua Javier <gonzalo@novell.com>
43 * WebConfigurationManager.cs: avoid possible infinite loop when the
44 path starts with ~ and 1 file check.
46 2009-07-15 Marek Habersack <mhabersack@novell.com>
48 * WebConfigurationManager.cs: another approach to suppressing
49 application reloads after the app writes to its root web.config
50 file. Leaving the previous code in place to get more
51 protection. It's a kludge, but it's the best option to avoid
52 all the races caused by System.Configuration+FileSystemWatcher
53 without rewriting large parts of System.Configuration (and
54 System.Web.Configuration). Fixes bug #522017
56 2009-07-14 Marek Habersack <mhabersack@novell.com>
58 * WebConfigurationManager.cs: added support for suppressing
59 application reload when the main config file is written to from
62 * WebConfigurationHost.cs: added minimal implementation of
63 WriteCompleted, which checks if there's need to suppress
66 2009-07-13 Marek Habersack <mhabersack@novell.com>
68 * ProvidersHelper.cs: InstantiateProvider doesn't have to
69 explicitly look for types in App_Code assemblies - this is done in
70 HttpApplication.LoadType.
72 2009-07-09 Gonzalo Paniagua Javier <gonzalo@novell.com>
74 * WebConfigurationHost.cs: null means MachineToApplication.
75 * WebConfigurationManager.cs: when caching configuration and sections,
76 use the configuration file directory instead of the incoming request
79 2009-06-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
81 * HttpHandlerAction.cs: fix path matching when the pattern has more
84 2009-06-05 Marek Habersack <mhabersack@novell.com>
86 * WebConfigurationManager.cs: OpenWebConfiguration caches
87 configurations with a key generated from all the parameters passed
88 to it, not just from path.
89 Added internal GetSection method which takes HttpContext as its
90 third parameter - used in calling OpenWebConfiguration.
91 FindWebConfig is no longer used in GetSection - it breaks handling
92 of <location> elements in config files. Fixes bug #510302
94 2009-06-03 Marek Habersack <mhabersack@novell.com>
96 * MonoSettingsSection.cs: added new property,
97 verificationCompatibility, which serves the same purpose as the
98 registry key described in http://support.microsoft.com/kb/932552
99 (when set to 1 it turns off virtual path validity
100 verification). Fixes bug #509163
102 2009-05-14 Marek Habersack <mhabersack@novell.com>
104 * HttpHandlersSection.cs: if we're matching a default handler,
107 2009-04-03 Marek Habersack <mhabersack@novell.com>
109 * WebConfigurationManager.cs: added code in the static constructor
110 to enable retrieving application settings via
111 ApplicationSettingsBase from within asp.net applications. Fixes
114 * ApplicationSettingsConfigurationFileMap.cs: added.
116 2009-03-12 Dean Brettle <dean@brettle.com>
118 * nBrowser/Build.cs: made Browser() method thread-safe and moved the
119 actual tree creation to a private InitializeTree() method for clarity.
121 2009-03-01 Marek Habersack <mhabersack@novell.com>
123 * WebConfigurationManager.cs: optimized GetWebApplicationSection a
126 2009-02-28 Marek Habersack <mhabersack@novell.com>
128 * WebConfigurationManager.cs: make sure no nrex happens in
129 GetSectionCacheKey ()
131 2009-02-26 Gonzalo Paniagua Javier <gonzalo@novell.com>
133 * WebConfigurationManager.cs: generate a hash from the string hsah
134 codes instead of concatenating them.
136 2009-01-27 Marek Habersack <mhabersack@novell.com>
138 * HttpHandlerAction.cs: removed the matches cache, it doesn't
139 improve matters here in 99% of the cases.
140 Regexps are no longer used to match handler paths, SearchPattern
143 2009-01-26 Marek Habersack <mhabersack@novell.com>
145 * WebConfigurationHost.cs: when an attempt to map a fake virtual
146 path is made, MapPath returns the aplication physical root
147 directory. Fixes bug #463950
149 2008-01-09 Dean Brettle <dean@brettle.com>
151 * nBrowser/Node.cs: Fixed compatibility bug where <identification> sections were required
154 2009-01-09 Marek Habersack <mhabersack@novell.com>
156 * WebConfigurationManager.cs: do not normalize the path in
157 FindWebConfig when getting the virtual directory.
159 2009-01-08 Marek Habersack <mhabersack@novell.com>
161 * WebConfigurationManager.cs: improve performance of
164 2009-01-07 Marek Habersack <mhabersack@novell.com>
166 * HttpModulesSection.cs: allow for modules with non-public
167 constructors. Fises bug #463971
169 * HttpHandlerAction.cs: allow for handlers with non-public
170 constructors. Fixes bug #463971
172 2008-12-24 Marek Habersack <mhabersack@novell.com>
174 * WebConfigurationManager.cs: A better version of the previous
175 GetSection fix. Right now the method searches for directories
176 containing web.config and uses them, if found, to open the web
177 configuration. If no web.config is found, web configuration is
178 opened for the root application directory.
180 * WebConfigurationHost.cs: made GetWebConfigFileName internal
181 static, so that code can be reused from WebConfigurationManager.
183 2008-12-23 Marek Habersack <mhabersack@novell.com>
185 * WebConfigurationManager.cs: GetSection should call
186 OpenWebConfiguration using the actual directory path, not a file
187 path. If it fails to do so, System.Configuration may treat the
188 top-level Web.config file as a child one which, in turn, in
189 certain circumstances will lead to duplicate keys inserted in
192 2008-12-16 Marek Habersack <mhabersack@novell.com>
194 * WebConfigurationHost.cs: IsDefinitionAllowed should treat
195 configPath == "~" as the root application path.
197 2008-12-12 Owen Brady <Ocean@owenbrady.net>
199 * nBrowser/File.cs, nBrowser/Identification.cs, nBrowser/Node.cs, nBrowser/NodeTypes.cs,
200 nBrowser/Result.cs, nBrowser/Build.cs, nBrowser/Exception.cs, CapabilitiesBuild.cs,
201 CapabilitiesResult.cs: Updated Copyright information to include updated contact information.
203 * nBrowser/Build.cs: Removed LoadDefaultEmbeddedResource function, the embeded resource
204 it is referring too was never included in Mono. And was designed for a free standing
205 browser identification libary.
207 * nBrowser/Exception.cs: Removed Compile Attributes and related comments which were left
208 in from the original free standing browser libary.
210 * CapabilitiesBuild.cs: Removed Header Checksum related coding since it is not required
211 for the Mono implementation.
213 * CapabilitiesResult.cs: Updated Copyright information to include updated contact information.
214 Removed functions which were designed to make use of features of a embeded browser file which
215 is not present in Mono.
217 * CapabilitiesChecksum.cs, RandomRoboBotKeywords.txt: Deleted
218 2008-10-21 Marek Habersack <mhabersack@novell.com>
220 * CapabilitiesChecksum.cs: implement Hex and MapToHex more efficiently.
222 2008-10-09 Marek Habersack <mhabersack@novell.com>
224 * MonoSettingsSection.cs: added - a section for mono-specific
227 2008-10-01 Marek Habersack <mhabersack@novell.com>
229 * CapabilitiesResult.cs: added support for the "browsers"
230 capability - a collection of matching browser ids.
232 * nBrowser/Node.cs: store matching browser ids in the capabilities
233 collection (to support IsBrowser correctly)
235 2008-07-25 Dean Brettle <dean@brettle.com>
237 * nBrowser/Node.cs nBrowser/Build.cs nBrowser/Identification.cs: Fixed race
238 condition in Node.Process() by removing mutating functions from Identification
239 and changing Node.Process() and Node.BrowserIdentification() to maintain
240 state in a List<Match> instead of a List<Identification>.
242 * nBrowser/Node.cs: Fixed race condition associated with lookup of adapter
245 * nBrowser/Node.cs: Removed duplicate call to Node.BrowserIdentification() from
248 * nBrowser/Node.cs: Removed duplicate call to Result.AddAdaper() from Node.Process().
250 * nBrowser/Node.cs: Fixed bug where capabilities containing literal $ or % were
253 * nBrowser/Node.cs: Fixed bug where capabilities with multiple $ substitutions only
256 2008-06-30 Zoltan Varga <vargaz@gmail.com>
258 * CapabilitiesResult.cs: Make the RandomRoboBotKeywords array static and compute it
261 2008-06-30 Marek Habersack <mhabersack@novell.com>
263 * CompilationSection.cs: hush the warnings
265 2008-06-26 Zoltan Varga <vargaz@gmail.com>
267 * nBrowser/Node.cs nBrowser/Result.cs: Avoid looking up adapter types names for
268 every request in every assembly.
270 2008-05-22 Marek Habersack <mhabersack@novell.com>
272 * WebConfigurationHost.cs: changed CreateDeprecatedConfigContext
273 to return a new HttpContext object. This is part of a fix for bug
274 #325128. Patch contributed by James Fitzsimons <james.fitzsimons@gmail.com>,
277 2008-05-07 Marek Habersack <mhabersack@novell.com>
279 * RoleManagerSection.cs: use type converter when creating the
280 cookieTimeout property in the static constructor. Fixes bug
281 #387526. Patch fromIvan Hamilton <ivan@chimerical.com.au>, thanks!
283 2008-03-23 Dean Brettle <dean@brettle.com>
285 * CapabilitiesBuild.cs (Process), ICapabilitiesProcess.cs (Process),
286 nBrowser/Build.cs (Process): Added initialCapabilities argument to
287 facilitate using browscap.ini capabilities.
289 * CapabilitiesResult.cs (ctor), nBrowserResult.cs (ctor): Change
290 items arg to IDictionary to facilitate using browscap.ini capabilities.
292 * nBrowser/Node.cs (Reset): Removed code which checked prohibited
293 non-alphanumerics in id attributes because .NET is not that strict.
295 * nBrowser/Node.cs (MergeFrom): Fixed NullReferenceExceptions that
296 occurred when the source or destination node did not have any
297 capabilities or adapters.
299 * nBrowser/Result.cs (AddAdapter): Fixed to allow types in other
302 2008-03-09 Dean Brettle <dean@brettle.com>
304 * nBrowser/Result.cs, nBrowser/NodeTypes.cs, nBrowser/Identification.cs,
305 nBrowser/File.cs, nBrowser/Build.cs, nBrowser/Node.cs,
306 nBrowser/Exception.cs: added. The code under nBrowser handles *.browser
307 files. It is based on Owen "Ocean" Brady's code, with the following
308 changes and improvements. Replaced Result.Adapter
309 property with AdapterTypeMap property which maps control Type to adapter
310 Type. Added Result.MarkupTextWriter property. Added overrides for
311 Result.GetAdapters and Result.GetTagWriter to return MarkupTextWriter
312 and AdapterTypeMap, resp. Changed tree building algorithm to not
313 depend on nodes with id="Default" and to inject defaultBrowser nodes
314 as parents of regular nodes with the same ids. Changed Node.cs to use
315 Item instead of Add when adding a capability or sample header, so that
316 values get replaced instead of appended. Added support for reference
317 nodes (ie. nodes with refID="someID").
319 * CapabilitiesResult.cs: load RandomRoboBotKeywords.txt resource
320 using the correct name.
322 * RandomRoboBotKeywords.txt: added
324 * HttpCapabilitiesBase.cs (CreateHtmlWriter, Adapters): Added
325 support for *.browsers. Adapters property calls internal virtual
326 GetAdapters() method which is overrided in nBrowser.Result
327 returned by nBrowser code. CreateHtmlWriter uses type specified
328 by TagWriter property.
330 2008-03-03 Vladimir Krasnov <vladimirk@mainsoft.com>
332 * ProvidersHelper.cs: fixed thread safety issue in InstantiateProvider
334 2008-03-01 Marek Habersack <mhabersack@novell.com>
336 * WebConfigurationManager.cs: SettingsMappingManager has been
337 moved to Mono.Web.dll
339 2008-02-28 Marek Habersack <mhabersack@novell.com>
341 * HttpHandlerAction.cs: ignore case when matching handler
342 paths. Fixes bug #364995
344 2008-02-26 Marek Habersack <mhabersack@novell.com>
346 * BuildProviderCollection.cs: be case-insensitive when looking for
349 2008-02-25 Marek Habersack <mhabersack@novell.com>
351 * WebConfigurationManager.cs: hashtable can contain a key with a
352 null value, avoid adding duplicate keys in such cases.
354 2008-02-18 Vladimir Krasnov <vladimirk@mainsoft.com>
356 * WebConfigurationManager.cs: performance improvement, cached
359 2008-02-07 Vladimir Krasnov <vladimirk@mainsoft.com>
361 * GlobalizationSection.cs: fixed GetSanitizedCulture, performance
364 2008-02-05 Marek Habersack <mhabersack@novell.com>
366 * CompilerCollection.cs: Get (string language) should not use
367 BaseGet as our collection is keyed on a list of language names
368 (e.g. "cs;csharp") and passing a single language won't match in
369 BaseGet correctly. Use the overriden indexer instead.
370 Initialize the base class with the case-insensitive
371 comparer. Fixes bug #357824.
373 2008-01-27 Daniel Nauck <dna@mono-project.de>
375 * HttpHandlerAction.cs: fixed the internal method PathMatches ()
376 removed wrong caching of FileMatchingInfo classes with request specific
377 informations. Now we check against the current request path and cache
378 the result in a dictionary.
379 Also check correctly against all possible paths from the HttpHandler.
382 2007-12-27 Marek Habersack <mhabersack@novell.com>
384 * ProfileGroupSettingsCollection.cs: added an internal method to
385 add/overwrite new group settings. Used from
386 RootProfilePropertySettingsCollection.
388 * ProfileGroupSettings.cs: added the missing "name" property to
389 the properties collection.
390 Marked the propertySettingsProp property as the default
392 Added internal deserialization method, used from
393 RootProfilePropertySettingsCollection to support the 'group'
396 * ProfileSection.cs: defaultProviderProp typo - the name of the
397 provider should be "AspNetSqlProfileProvider"
399 * RootProfilePropertySettingsCollection.cs: added
400 OnDeseerializeUnrecognizedElement to support the profile 'group'
402 Added a missing Unmerge method.
404 2007-12-11 Vladimir Krasnov <vladimirk@mainsoft.com>
406 * SiteMapSection.cs: fixed ProvidersInternal property to be thread safe
408 2007-12-08 Marek Habersack <mhabersack@novell.com>
410 * WebConfigurationManager.cs: GetSection now runs each section
411 through a mapper (if any is defined for the section) before
412 returning it to the caller.
414 2007-11-23 Marek Habersack <mhabersack@novell.com>
416 * TagPrefixCollection.cs: changed the collection type to
419 * ProfileSection.cs: added missing Properties property, added a
420 static constructor to create property descriptors. Use property
421 descriptors in property accessors.
423 * ProfileGroupSettingsCollection.cs: added missing attribute to
424 the class, removed CollectionType method, added missing IsModified
425 and ResetModified methods, added missing Properties property.
427 * ProfileGroupSettings.cs: added missing Properties property,
428 adjusted the set of custom attributes of the PropertySettings
431 * ProcessModelSection.cs: change the default value of the CpuMask
434 * OutputCacheSection.cs: added the EnableKernelCacheForVaryByStar
437 * OutputCacheProfile.cs: added the VaryByContentEncoding property.
439 * FormsAuthenticationConfiguration.cs: corrected defaults for the
442 * ExpressionBuilder.cs: corrected defaults for the
443 ExpressionPrefix and Type properties.
445 * CustomErrorsSection.cs: added two missing overrides -
446 DeserializeSection and Reset.
448 * ClientTargetSection.cs: added the missing Properties property.
449 Added static constructor to create the property collection.
451 * CustomErrorCollection.cs: removed the ThrowOnDuplicate
454 * CacheSection.cs: corrected defaults for the
455 PercentagePhysicalMemoryUsedLimit property.
457 * ClientTargetCollection.cs: added missing Properties property.
459 * IConfigMapPathFactory.cs: added
461 * IConfigMapPath.cs: added
463 * RoleManagerSection.cs: added a static constructor, a collection
464 of properties, the missing Properties property.
466 2007-11-22 Marek Habersack <mhabersack@novell.com>
468 * RoleManagerSection.cs: CookieTimeout property custom attributes
469 changed to match MS.NET's ones.
471 * AuthorizationRuleCollection.cs: removed the ThrowOnDuplicate
472 property - it's not found in the MS.NET version of the class.
474 2007-11-06 Marek Habersack <mhabersack@novell.com>
476 * MachineKeySectionUtils.cs: make sure keys are autogenerated when
479 2007-11-02 Marek Habersack <mhabersack@novell.com>
481 * HttpHandlerActionCollection.cs: clear http handler cache in
482 HttpApplication if the collection is modified.
484 2007-11-01 Marek Habersack <mhabersack@novell.com>
486 * MachineKeySection.cs: moved all the internal static methods and
487 properties to MachineKeySectionUtils.cs
489 * MachineKeySectionUtils.cs: added. This file is included in the
490 System.Web.Extensions compilation.
491 The old properties from MachineKeySection.cs became methods.
493 2007-10-24 Marek Habersack <mhabersack@novell.com>
495 * HttpHandlerAction.cs: exact path matching must be done on the
496 original string in PathMatches, not on the sliced one. Fixes bug
499 2007-10-17 Marek Habersack <mhabersack@novell.com>
501 * WebConfigurationHost.cs: if running outside hosted environment,
502 read only the assemblyname.config configuration file instead of
503 web.config. Fixes bug #332425
505 2007-10-15 Marek Habersack <mhabersack@novell.com>
507 * ProvidersHelper.cs: use HttpApplication.LoadType instead of
510 * HttpModulesSection.cs: use HttpApplication.LoadType when loading
511 modules, to include both the bin/ directory and the top-level
512 assemblies in search. Fixes bug #333686.
514 2007-08-30 Marek Habersack <mhabersack@novell.com>
516 * MachineKeySection.cs: retrieve the keys from the registry before
517 falling back to the old method. Fixes bug #76606
519 2007-08-23 Marek Habersack <mhabersack@novell.com>
521 * ProvidersHelper.cs: HttpApplication.LoadTypeFromPrivateBin
522 renamed to LoadTypeFromBin.
524 2007-08-21 Marek Habersack <mhabersack@novell.com>
526 * ProvidersHelper.cs: use HttpApplication.LoadTypeFromPrivateBin
527 to get the provider settings type.
529 2007-08-10 Gert Driesen <drieseng@users.sourceforge.net>
531 * PagesEnableSessionState.cs: Marked internal on 1.0 profile.
533 2007-07-16 Vladimir Krasnov <vladimirk@mainsoft.com>
535 * ProfileGroupSettingsCollection.cs: added ResetInternal internal
537 * RootProfilePropertySettingsCollection.cs: added Reset method
538 override to reset GroupSettings collection
540 2007-06-24 Vladimir Krasnov <vladimirk@mainsoft.com>
542 * HttpHandlerAction.cs: fixed SplitPaths property to be thread safe
544 2007-06-12 Vladimir Krasnov <vladimirk@mainsoft.com>
546 * CompilationSection.cs: TARGET_JVM on not supported features
547 * HttpModulesSection.cs: ctor should be static
549 2007-06-03 Adar Wesley <adarw@mainsoft.com>
551 * ProfilePropertySettingsCollection.cs: added missing method
552 OnDeserializeUnrecognizedElement.
554 2007-05-30 Marek Habersack <mhabersack@novell.com>
556 * WebConfigurationManager.cs: if errors happen when opening the
557 configuration file, mark the manager as unsafe to prevent further
558 usage and avoid error loops.
560 2007-05-17 Igor Zelmanovich <igorz@mainsoft.com>
562 * WebConfigurationHost.cs: for TARGET_J2EE only:
563 prevent NullRefference Exception.
565 2007-05-15 Igor Zelmanovich <igorz@mainsoft.com>
567 * WebConfigurationManager.cs:
568 make configurations hashtable case-insensitive.
569 * WebConfigurationHost.cs: for TARGET_J2EE only:
570 GetStreamName returns file path in right case, that make it works
571 on case-sensitive file system.
573 2007-05-15 Marek Habersack <mhabersack@novell.com>
575 * BuildProviderCollection.cs: refactoring - use
576 HttpApplication.LoadType to actually look up the type.
578 * HttpHandlerAction.cs: as above
580 * WebConfigurationHost.cs: refactoring - moved the LoadType to
581 HttpApplication to share the code between 1.1 and 2.0 profiles.
583 2007-05-14 Marek Habersack <mhabersack@novell.com>
585 * UrlMappingCollection.cs: implemented the Item (string) indexer.
587 * UrlMapping.cs: implemented the URL validation callback body
588 (doesn't work at the moment).
590 2007-05-14 Igor Zelmanovich <igorz@mainsoft.com>
592 * WebConfigurationManager.cs:
593 make configurations synchronized.
594 added new internal method RemoveConfigurationFromCache.
596 2007-05-07 Marek Habersack <mhabersack@novell.com>
598 * PagesSection.cs: buffering is on by default.
600 2007-04-24 Marek Habersack <mhabersack@novell.com>
602 * WebConfigurationHost.cs: wrap MapPath calls in try/catch,
603 because bad URLs can cause it to throw exceptions. If such
604 exception is caught, throw a HttpException for Bad Request (400).
605 Look for types in the top-level assemblies (App_Code and
608 * WebConfigurationManager.cs: added two internal methods for safe
609 retrieval of config sections.
611 2007-04-19 Marek Habersack <mhabersack@novell.com>
613 * HttpHandlerAction.cs: look up types in all the toplevel
614 assemblies. Fixes bug #80897.
616 2007-04-17 Atsushi Enomoto <atsushi@ximian.com>
618 * ProcessModelSection.cs : cpuMask default value should be int,
621 2007-04-06 Marek Habersack <mhabersack@novell.com>
623 * CustomErrorsSection.cs: make the customErrors section work.
625 * PagesSection.cs: provide appropriate default value for the
626 asyncTimeout setting.
628 2007-03-24 Marek Habersack <mhabersack@novell.com>
630 * WebConfigurationHost.cs: allow MachineToApplication definition
631 for config paths that equal the domain virtual app directory.
633 2007-03-22 Adar Wesley <adarw@mainsoft.com>
635 * HttpCapabilitiesBase.cs: implemented all capabilities. Capabilities
636 still throw if there is no value in browscaps.ini and the property is called.
638 2007-03-21 Vladimir Krasnov <vladimirk@mainsoft.com>
640 * WebConfigurationManager.cs: fixed OpenWebConfiguration, should not
641 lock when checking if configuration is already open
643 2007-03-15 Vladimir Krasnov <vladimirk@mainsoft.com>
645 * WebConfigurationManager.cs: fixed OpenWebConfiguration, removed
646 GetBasePath call and locations search, since this not affects
647 configuration initialization, but improves performance
649 2007-03-12 Marek Habersack <mhabersack@novell.com>
651 * ProvidersHelper.cs: support loading custom providers from
652 App_Code assemblies. Fixes bug #81071.
653 Also set eol-style to native.
655 2007-03-08 Gert Driesen <drieseng@users.souceforge.net>
657 * PagesSection.cs: Revert part of Adar's patch that regresses
660 2007-03-06 Adar Wesley <adarw@mainsoft.com>
662 * PagesSection.cs: improve Enum parsing and strongly typed default values.
664 2007-02-20 Marek Habersack <grendello@gmail.com>
666 * Patch from Gert Driesen <drieseng@users.sourceforge.net>
667 * PagesSection.cs: Process value of EnableSessionState attribute
668 case-sensitive, and perform check in getter. Fix for bug #80913.
669 * PageParser.cs: Added note on difference in behaviour between page
670 level attribute and configuration attribute for enableSessionState.
671 * PagesConfiguration.cs: Fixed compiler warning.
673 2007-02-22 Marek Habersack <grendello@gmail.com>
675 * CompilerCollection.cs: Optimize language lookup a bit.
677 2007-02-05 Konstantin Triger <kostat@mainsoft.com>
679 * TagPrefixCollection.cs: Fix element key creation.
681 2007-02-04 Konstantin Triger <kostat@mainsoft.com>
683 * NamespaceInfo.cs, HttpModuleAction.cs, RoleManagerSection.cs:
684 fix the default value.
686 2007-02-02 Marek Habersack <grendello@gmail.com>
688 * TagPrefixCollection.cs: Add the CollectionType parameter.
689 Get rid of unnecessary interface references in the class declaration.
690 GetElementKey should return Source which should be unique, unlike TagPrefix.
692 2007-01-04 Konstantin Triger <kostat@mainsoft.com>
694 * ProfileSection.cs: Ensure enabled = true by default; cleanup.
696 2006-12-27 Vladimir Krasnov <vladimirk@mainsoft.com>
698 * CustomErrorCollection.cs: fixed ThrowOnDuplicate to false as in .net
700 2006-12-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
702 * GlobalizationSection.cs: make encodings actually work for the 2.0
705 2006-12-21 Marek Habersack <grendello@gmail.com>
707 * TagMapInfo.cs: Add an internal default constructor for use from
710 * TagMapCollection.cs: Don't call the string,string constructor of
711 TagMapInfo - the class disallows empty strings as values of its
714 2006-12-21 Vladimir Krasnov <vladimirk@mainsoft.com>
716 * RoleManagerSection.cs: refactored using attributes
718 2006-12-20 Marek Habersack <grendello@gmail.com>
720 * ProfilePropertyNameValidator.cs: added a few checks.
722 2006-12-18 Vladimir Krasnov <vladimirk@mainsoft.com>
724 * WebConfigurationManager.cs: fixed GetSection to execute
725 GetRuntimeObject, refactored GetSection and GetWebApplicationSection
727 2006-12-17 Vladimir Krasnov <vladimirk@mainsoft.com>
729 * HttpHandlerAction.cs: fixed 'verb' config property
731 2006-12-07 Igor Zelmanovich <igorz@mainsoft.com>
733 * ProvidersHelper.cs: fixed: load assembles from /bin
735 2006-11-22 Miguel de Icaza <miguel@novell.com>
737 * SessionStateSection.cs: Do not call Enum.Parse with a null
738 argument, prevents an exception from being thrown.
740 2006-11-20 Marek Habersack <grendello@gmail.com>
742 * GlobalizationSection.cs: Added support for "auto" cultures and
743 the "auto:DEFAULT_CULTURE" cultures.
745 2006-11-13 Konstantin Triger <kostat@mainsoft.com>
747 * WebConfigurationHost.cs: use Type.GetType for loading full qualified types.
749 2006-11-05 Vladimir Krasnov <vladimirk@mainsoft.com>
751 * ProfileGroupSettings.cs, ProfileGroupSettingsCollection.cs
752 ProfilePropertySettingsCollection.cs, ProfileSection.cs
753 RootProfilePropertySettingsCollection.cs: refactoring and fix of
756 2006-10-18 Marek Habersack <grendello@gmail.com>
758 * WebConfigurationManager.cs: implement support for extra
759 assemblies to be referenced when compiling a page.
761 2006-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
763 * WebConfigurationManager.cs: add null checks. Patch by Marek Habersack
764 that fixes bug #79283.
766 2006-09-06 Konstantin Triger <kostat@mainsoft.com>
768 * WebConfigurationHost.cs: do not recourse as this will be done by
769 Configuration object.
771 2006-08-08 Vladimir Krasnov <vladimirk@mainsoft.com>
773 * WebConfigurationManager.cs: added configSystem property under
775 * WebConfigurationHost.cs: fixed GetStreamName and OpenStreamForRead
777 * CompilationSection.cs: BuildProviders property removed from
779 * SystemWebSectionGroup.cs: Compilation property removed from
782 2006-06-26 Atsushi Enomoto <atsushi@ximian.com>
784 * NullableStringValidator.cs : new internal class that is almost
785 identical to StringValidator but allows null value.
786 * PropertyHelper.cs : use new NullableStringValidator.
787 * NamespaceCollection.cs : in NamespaceInfo "" is not allowed.
789 2006-06-08 Chris Toshok <toshok@ximian.com>
791 * WebConfigurationHost.cs (InitForConfiguration): i know this is
792 going to bite me in the ass, but guard against configPath being ==
793 to "/", since this will result in an infinite loop.
794 (MapPath): fix a NRE.
796 2006-05-18 Atsushi Enomoto <atsushi@ximian.com>
798 * WebConfigurationManager.cs: recent sys.config.dll changes on
799 ConfigurationManager.GetSection() which should call
800 GetRuntimeObject() should also apply here. Fixed monodoc web.
802 2006-05-10 Andrew Skiba <andrews@mainsoft.com>
804 * HttpHandlerAction.cs: keep the internal exception
806 2006-05-08 Chris Toshok <toshok@ximian.com>
808 * WebConfigurationManager.cs (GetBasePath): fix bug where
809 path.Length was 0 when we got to the last while loop (and indexed
810 -1 into an array.) Thanks Marek for the fix.
812 2006-05-04 Chris Toshok <toshok@ximian.com>
816 * WebConfigurationHost.cs (GetConfigType): add a MonoTODO about
817 how we should use the build provider machinery to get types.
818 (MapPath): add rudimentary mapping in the case where we don't have
819 a request, basically handle the case where the url begins with (or
820 is) HttpRuntime.AppDomainAppVirtualPath.
822 * WebConfigurationManager.cs (GetSection): if we don't have a
823 valid request, open the web configuration corresponding to
824 HttpRuntime.AppDomainAppVirtualPath.
825 (GetBasePath): comment this a little, and make it work in the case
826 where we don't have an HttpRequest.
828 2006-04-27 Chris Toshok <toshok@ximian.com>
830 * AuthorizationRuleCollection.cs (ThrowOnDuplicate): for the time
831 being introduce a overridden property MS doesn't make use of.
832 This needs readdressing, but it should get people making use of
833 <authorization> rules working again.
835 2006-04-25 Chris Toshok <toshok@ximian.com>
837 * AuthorizationRule.cs (Reset): finally figure out what this
838 method is supposed to do. Assign our Action property based on
841 2006-04-25 Chris Toshok <toshok@ximian.com>
843 * WebConfigurationHost.cs (InitForConfiguration): actually, use
844 HttpRuntime.AppDomainAppVirtualPath on gonzalo's recommendation.
845 It's never null, and its use cleans things up a bit.
847 2006-04-25 Chris Toshok <toshok@ximian.com>
849 * WebConfigurationHost.cs (InitForConfiguration): stop going up
850 the virtual hierarchy once we reach the application's base virtual
853 2006-04-24 Chris Toshok <toshok@ximian.com>
855 * AuthorizationSection.cs (IsValidUser): fix a problem that
856 surfaced when converting from the 1.1 to 2.0 config classes. Only
857 check for verb match if there are actually verbs to match against.
859 2006-04-11 Chris Toshok <toshok@ximian.com>
861 * ExpressionBuilderCollection.cs (CreateNewElement): call argless
864 * ExpressionBuilder.cs: add internal argumentless ctor for use by
867 2006-03-24 Chris Toshok <toshok@ximian.com>
869 * WebConfigurationManager.cs (GetConfig): add a fallback case for
870 configuration sections that don't subclass from
871 ConfigurationSection.
873 2006-03-24 Chris Toshok <toshok@ximian.com>
875 * WebConfigurationHost.cs: fix bug where OpenWebConfiguration
876 ("/") would result in 2 configurations for that toplevel path to
879 2006-03-08 Chris Toshok <toshok@ximian.com>
881 * ProvidersHelper.cs: implement this static class properly.
883 * SiteMapSection.cs (ProvidersInternal): add internal property to
884 get the actual SiteMapProviderCollection from here.
886 2006-02-28 Chris Toshok <toshok@ximian.com>
888 * BuildProviderAppliesTo.cs, PagesToCountAction.cs: nuke.
890 2006-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
893 * CompilerCollection.cs: removed compatibility code.
895 * BuildProviderCollection.cs: add GetProviderForExtension().
897 2006-02-02 Chris Toshok <toshok@ximian.com>
899 * WebConfigurationManager.cs (GetSection(string,string)):
902 2006-02-01 Atsushi Enomoto <atsushi@ximian.com>
904 * TrustLevelCollection.cs, CodeSubDirectoriesCollection.cs,
905 CustomErrorCollection.cs, CompilerCollection.cs,
906 HttpHandlerActionCollection.cs,
907 FormsAuthenticationUserCollection.cs,
908 AuthorizationRuleCollection.cs, TagPrefixCollection.cs :
909 CollectionType is public.
911 2006-02-01 Chris Toshok <toshok@ximian.com>
913 * WebConfigurationManager.cs: In the normal case, get the current
914 request's web.config, not the application's. If there is no
915 current request, get the application's.
916 (GetWebApplicationConfiguration): use Request.ApplicationPath, not
917 Request.PhysicalApplicationPath. OpenWebConfiguration takes
920 * HttpConfigurationSystem.cs: GetWebApplicationSection =>
923 2006-02-01 Chris Toshok <toshok@ximian.com>
925 * CompilerCollection.cs: CONFIGURATION_2_0 => NET_2_0
929 2006-02-01 Chris Toshok <toshok@ximian.com>
931 * HttpConfigurationSystem.cs: SupportsUserConfig == true. let's
932 use this to determine if ConfigurationManager.AppSettings should
935 2006-01-31 Chris Toshok <toshok@ximian.com>
937 * WebConfigurationManager.cs: err, why did i ifdef stuff NET_2_0
938 inside of an ifdef NET_2_0?
940 2006-01-30 Chris Toshok <toshok@ximian.com>
942 * WebConfigurationManager.cs: lots of little changes. hopefully
943 this doesn't break anyone. it fixes all the nunit problems
946 * WebConfigurationHost.cs (GetStreamName): in the MachineWebPath
947 case, handle the case where we have a WebConfigurationFileMap.
948 (MapPath): this is likely wrong, but in the case where we don't
949 have a file map or current HttpContext, just return the path.
951 2006-01-29 Chris Toshok <toshok@ximian.com>
953 * HttpModulesSection.cs (LoadModules): I'm not sure we want to
954 solve this problem in this way, but the 1.x code forces
955 DefaultAuthenticationModule to be in the list of modules..
956 Without this fix (or something else) HttpContext.User is null when
959 2006-01-26 Chris Toshok <toshok@ximian.com>
961 * HttpConfigurationSystem.cs: new class that gets sections from
964 * WebConfigurationManager.cs: change a lot of the
965 NotImplementedExceptions to NotSupportedExceptions.
966 (AppSettings): implement by just returning
967 ConfigurationManager.AppSettings (note this is broken because
968 ConfigurationManager.AppSettings are read-only, but it works for
970 (ConnectionStrings): same (and probably broken in the same way..)
971 (Init): replace the 2.0 IInternalConfigSystem with our
972 HttpConfigurationSystem.
974 * WebConfigurationHost.cs: add a comment about how things are
975 likely to work in the face of IRemoteWebConfigurationHostServer.
976 (CreateConfigurationContext): return a WebContext instance.
978 2006-01-25 Chris Toshok <toshok@ximian.com>
980 * AuthorizationSection.cs (IsValidUser): instead of a blanket
981 false for a null user, just set the username to "" and short
982 circuit out the check for roles.
984 2006-01-25 Chris Toshok <toshok@ximian.com>
986 * AuthorizationRule.cs (CheckUser): handle * and ?, and use
987 String.Compare instead of ==.
988 (CheckVerb): use String.Compare instead of ==.
990 * AuthorizationSection.cs (IsValidUser): return false for a null
993 2006-01-22 Chris Toshok <toshok@ximian.com>
995 * GlobalizationSection.cs (VerifyData): quiet mcs.
997 2006-01-18 Chris Toshok <toshok@ximian.com>
999 * SystemWebSectionGroup.cs: wrap System.Web.Services references in
1002 2006-01-16 Chris Toshok <toshok@ximian.com>
1004 * WebConfigurationManager.cs: implement a IConfigurationSystem for
1005 use with WebConfigurationManager.
1006 (GetSection): try to load the section
1007 using GetWebApplicationSection before calling into
1008 ConfigurationManager.GetSection.
1009 (GetWebApplicationConfiguration): move common code to here.
1010 (GetWebApplicationSection): use GetWebApplicationConfiguration.
1011 (AppSettings): implement.
1013 * WebConfigurationHost.cs (GetWebConfigFileName): add
1014 "Web.Config", and move to an array/loop implementation. maybe we
1015 should scan the directory and check ToLower() instead of
1016 explicitly enumerating?
1018 2006-01-10 Chris Toshok <toshok@ximian.com>
1020 * SystemWebSectionGroup.cs (HostingEnvironment): enable this property.
1021 (ProcessModel): add the ConfigurationPropertyAttribute.
1023 2006-01-10 Chris Toshok <toshok@ximian.com>
1025 * PagesSection.cs (.cctor): fix the default value for the
1026 enableSessionState attribute - it's not a bool, but a
1027 PagesEnableSessionState enum.
1029 2006-01-10 Chris Toshok <toshok@ximian.com>
1031 * MachineKeySection.cs (ValidationKeyBytes, DecryptionKeyBytes,
1032 DecryptionKey192Bits): if the keys are null, generate them. Fixes
1033 Page.EnableViewStateMac support.
1035 2006-01-09 Chris Toshok <toshok@ximian.com>
1037 * RoleManagerSection.cs, SqlCacheDepencendySection.cs,
1038 SessionStateSection.cs, TraceSection.cs, SecurityPolicySection.cs,
1039 PagesSection.cs, RulesSettings.cs, UrlMappingSection.cs: fix
1042 2006-01-09 Chris Toshok <toshok@ximian.com>
1044 * ExpressionBuilderCollection.cs (.cctor): no need to create a
1045 collection property here. we're already in the collection.
1047 * CompilationSection.cs: fix typo.
1049 2006-01-04 Chris Toshok <toshok@ximian.com>
1051 * MachineKeySection.cs: bring over some more internal methods from
1052 MachineKeyConfig, and call Set{Decryption,Validation}Key from
1053 their respective property setters.
1055 2006-01-03 Chris Toshok <toshok@ximian.com>
1057 * AuthorizationSection.cs (IsValidUser): add analogous method from
1058 AuthorizationConfig.cs.
1060 * AuthorizationRule.cs: add predicates for Verb, User, and Role
1061 analogous to what existed in AuthorizationConfig.cs.
1063 2005-12-11 Chris Toshok <toshok@ximian.com>
1065 * WebConfigurationManager.cs (OpenMachineConfiguration): just call
1066 ConfigurationManager.OpenMachineConfiguration.
1067 (OpenWebConfiguration): remove the "IntPtr userToken" version and
1068 add a "string userName" version to clean up corcompare output.
1069 Modify all the overloads to pass null instead of IntPtr.Zero.
1070 (GetWebApplicationSection): if we're not running in a web
1071 application, use the machine configuration.
1073 2005-12-06 Chris Toshok <toshok@ximian.com>
1075 * CodeSubDirectory.cs (DirectoryName): don't use an private field,
1076 but base[directoyNameProp].
1078 * AuthorizationRuleCollection.cs (Add): use BaseAdd (rule, false),
1079 so we can insert duplicates.
1081 (GetElementKey): MS for some reason just uses the action for the
1083 (Remove): pass the correct key.
1085 * ProfileGroupSettings.cs (GetHashCode): implement.
1087 * GlobalizationSection.cs (GetEncoding): for the utf-8 case, just
1090 * AssemblyCollection.cs (Add): use BaseAdd (info, false) so we can
1093 * CacheSection.cs (.cctor): make privateByteLimit's default 0L so
1094 we don't get a invalid cast exception later on.
1096 * AuthorizationRule.cs (VerifyData): split out the verification
1097 foo from PreSerialize.
1098 (PostDeserialize): so we can call it from here.
1099 (PreSerialize): and here.
1101 2005-12-05 Chris Toshok <toshok@ximian.com>
1103 * AuthorizationRuleCollection.cs (GetKey): split out the logic for
1104 creating a key from a rule here.
1105 (GetElementKey): use it here.
1108 2005-12-04 Chris Toshok <toshok@ximian.com>
1110 * UrlMapping.cs: add an internal argument-less ctor.
1112 * UrlMappingCollection.cs (CreateNewElement): use argument-less
1114 (GetKey): implement.
1115 (AllKeys): implement.
1117 * TrustLevel.cs: add an internal argument-less ctor.
1119 * TrustLevelCollection.cs (Set): implement.
1120 (CreateNewElement): use argument-less ctor.
1121 (IsElementName): implement.
1122 (ElementName): implement.
1123 (set_Item (int index)): use Set.
1124 (ThrowOnDuplicate): implement.
1126 * TagPrefixInfo.cs: add internal argument-less ctor.
1128 * TagPrefixCollection.cs (CreateNewElement): call argument-less
1130 (CollectionType): add text to TODO.
1131 (ElementName): implement.
1133 * SqlCacheDependencyDatabaseCollection.cs (Set): implement.
1134 (AllKeys): implement.
1136 * RuleSettings.cs: add internal argument-less ctor.
1138 * RuleSettingsCollection.cs (Contains): implement.
1139 (CreateNewElement): use argument-less ctor.
1140 (IndexOf): implement.
1141 (Insert): implement.
1143 * RootProfilePropertySettingsCollection.cs (IsModified): chain up
1144 to base.IsModified for now.
1145 (Reset): chain up to base.Reset for now.
1146 (ResetModified): chain up to base.ResetModified for now.
1148 * ProfileSettings.cs: add internal argument-less ctor.
1150 * ProfileSettingsCollection.cs (Contains): implement.
1151 (CreateNewElement): use argument-less ctor.
1152 (IndexOf): implement.
1153 (Insert): implement.
1155 * ProfilePropertySettingsCollection.cs (IndexOf): implement.
1157 (AllKeys): implement.
1159 * ProfileGroupSettings.cs: add internal argument-less ctor.
1161 * ProfileGroupSettingsCollection.cs (CreateNewElement): use
1162 parameter-less ctor.
1163 (GetKey): implement.
1164 (ResetModified): for now call base.ResetModified.
1166 (AllKeys): implement.
1168 * OutputCacheProfile.cs: add internal argument-less ctor.
1170 * OutputCacheProfileCollection.cs (CreateNewElement): use
1171 parameter-less ctor.
1173 (AllKeys): implement.
1175 * HttpModuleActionCollection.cs (Add): remove MonoTODO.
1176 (CreateNewElement): same.
1178 * HttpHandlerActionCollection.cs (GetElementKey): build up the key
1179 from both the path and the verb.
1182 * FormsAuthenticationUserCollection.cs (Set): implement.
1183 (AllKeys): implement.
1185 * EventMappingSettings.cs: add an internal argument-less ctor.
1187 * EventMappingSettingsCollection.cs (Contains): implement.
1188 (CreateNewElement): use argument-less ctor.
1189 (IndexOf): implement.
1190 (Insert): implement.
1192 * CompilerCollection.cs (GetKey): implement.
1193 (AllKeys): implement.
1195 * ClientTargetCollection.cs (GetKey): implement.
1196 (AllKeys): implement.
1198 * AuthorizationRuleCollection.cs (Set): implement.
1199 (ElementName): add some text to the MonoTODO.
1200 (set_Item (int index)): use Set.
1202 2005-12-04 Chris Toshok <toshok@ximian.com>
1204 * CustomError.cs: add an internal argument-less ctor for use by
1207 * CustomErrorCollection.cs: implement all the MonoTODO's.
1209 2005-12-02 Chris Toshok <toshok@ximian.com>
1211 * GlobalizationSection.cs (VerifyData): split out the stuff that
1212 used to live in PreSerialize here.
1213 (PreSerialize): call VerifyData here.
1214 (PostDeserialize): and here.
1216 2005-12-01 Chris Toshok <toshok@ximian.com>
1218 * GlobalizationSection.cs (PreSerialize): add checks for Culture
1219 and UICulture properties.
1221 2005-12-01 Chris Toshok <toshok@ximian.com>
1223 * AuthorizationRule.cs (..ctor): provide default values for
1224 roles/users/verbs here. Not sure if we should do this in the ctor
1225 or if the System.Configuration infrastructure should.. time will
1227 (PreSerialize): throw if Roles.Count and Users.Count == 0.
1228 (SerializeElement): write out the element here. don't chain up to
1229 the base class since that has differing behavior than what we
1232 2005-11-30 Chris Toshok <toshok@ximian.com>
1234 * CompilerCollection.cs: ugly hack to fix the
1235 2.0-without-config-2.0 case. wrap this file in #if
1236 CONFIGURATION_2_0 as well as #if NET_2_0.
1238 * Compiler.cs: same.
1240 2005-11-28 Chris Toshok <toshok@ximian.com>
1242 * SessionStateSection.cs (CookieLess): correct the compat function
1245 2005-11-28 Chris Toshok <toshok@ximian.com>
1247 * GlobalizationSection.cs (GetEncoding): if the encoding name is
1248 null, default to utf-8 before we hit the try block, so we don't
1249 throw and generate a spurious warning.
1251 * SessionStateSection.cs: The Cookieless handling needs a custom
1252 parser, it appears, as the converter is a StringConverter, not a
1253 GenericEnumConverter.
1254 (ParseCookieMode): the parser.
1256 2005-11-28 Chris Toshok <toshok@ximian.com>
1258 * PagesSection.cs (GetInstance): nuke.
1260 * CompilationSection.cs (GetInstance): nuke.
1262 2005-11-28 Chris Toshok <toshok@ximian.com>
1264 * HttpHandlerAction.cs: add some c&p code from the 1.1 config
1265 stuff to look for matching handlers.
1266 (..ctor): add parameterless ctor.
1268 * HttpHandlerActionCollection.cs: clean up formatting.
1269 (CreateNewElement): call the parameter-less ctor for
1272 * HttpHandlersSection.cs (..ctor): add a ConfigurationProperty for
1273 the default collection.
1274 (get_Handlers): implement.
1275 (LocateHandler): copy over (and massage) some 1.1 config code.
1277 * MachineKeySection.cs: move some code over from the 1.1 config
1278 code to deal with autogeneration of keys, as well as converting
1279 from the string rep to the byte[] rep.
1281 2005-11-28 Chris Toshok <toshok@ximian.com>
1283 * HttpModuleActionCollection.cs (CreateNewElement): use the new
1284 HttpModuleAction ctor.
1286 * HttpModuleAction.cs: add internal ctor with no parameters, for
1287 use in HttpModuleActionCollection.
1289 2005-11-28 Chris Toshok <toshok@ximian.com>
1291 * GlobalizationSection.cs (..cctor): the encoding
1292 ConfigurationProperties are of type "string", even though the
1293 properties themselves are of type Encoding. we do conversions
1294 manually in the setter/getters. gross. Add code (mostly c&p +
1295 massaged from GlobalizationConfigurationHandler) for this and also
1296 to handle the culture gettes.
1298 2005-11-26 Chris Toshok <toshok@ximian.com>
1300 * AuthorizationRuleCollection.cs (GetElementKey): implement this.
1302 * ProfilePropertyNameValidator.cs: make this internal, and add a
1303 blurb about how MS doesn't do the testing you'd expect them to.
1305 2005-11-25 Chris Toshok <toshok@ximian.com>
1307 * AuthorizationRuleCollection.cs (CreateNewElement): remove
1310 * CompilationSection.cs (GetRuntimeObject): add comment to TODO.
1312 * ProfileGroupSettings.cs: reformat some things.
1314 * FormsAuthenticationUser.cs (Name): remove MonoTODO.
1316 * WebPartsSection.cs (GetRuntimeObject): change TODO comment.
1318 * ProfilePropertySettings.cs: add internal argument-less ctor.
1320 * IdentitySection.cs (GetRuntimeObject): return this.
1322 * ProfilePropertySettingsCollection.cs: implement much of the
1325 * WebControlsSection.cs (GetRuntimeObject): implement.
1327 * SqlCacheDependencyDatabaseCollection.cs (GetElementKey):
1329 (GetKey): implement.
1331 2005-11-24 Chris Toshok <toshok@ximian.com>
1333 * AssemblyInfo.cs: move this here from System.Web.Configuration,
1334 and fix up the properties.
1336 * SystemWebSectionGroup.cs: enable most of the sections (2
1337 remaining to be enabled.)
1339 2005-11-24 Chris Toshok <toshok@ximian.com>
1341 * ProcessModelSection.cs, SqlCacheDependencySection.cs,
1342 SessionStateSection.cs, PassportAuthentication.cs,
1343 FormsAuthenticationConfiguration.cs,
1344 SqlCacheDependencyDatabase.cs, HttpModuleAction.cs,
1345 BufferModeSettings.cs, TagPrefixInfo.cs (..cctor): init
1347 (ValidateElement): new static validator callback.
1348 (ElementProperty): enable this, return elementProperty.
1350 2005-11-23 Chris Toshok <toshok@ximian.com>
1352 * ProfilePropertyNameValidator.cs: new implementation.
1354 * ProfilePropertySettings.cs, ProfileGroupSettings.cs,
1355 ClientTargetSection.cs, ClientTargetSection.cs,
1356 BufferModeSettings.cs, HttpModulesSection.cs,
1357 WebPartsPersonalization.cs, TransformerInfo.cs, TrustLevel.cs,
1358 NamespaceInfo.cs, SqlCacheDependencyDatabase.cs,
1359 AuthenticationSection.cs, RuleSettings.cs,
1360 FormsAuthenticationUser.cs, WebPartsSection.cs, BuildProvider.cs,
1361 WebPartsPersonalizationAuthorization.cs, Compiler.cs,
1362 ExpressionBuilder.cs, OutputCacheProfile.cs,
1363 FormsAuthenticationCredentials.cs, XhtmlConformanceSection.cs,
1364 OutputCacheSettingsSection.cs, CustomError.cs, TraceSection.cs,
1365 ExpressionBuilderCollection.cs, ProfileSettings.cs,
1366 SessionStateSection.cs, HealthMonitoringSection.cs,
1367 FormsAuthenticationConfiguration.cs, HttpRuntimeSection.cs,
1368 SessionPageStateSection.cs, TrustSection.cs,
1369 AnonymousIdentificationSection.cs, WebControlsSection.cs,
1370 ClientTarget.cs, TagMapInfo.cs, AuthorizationSection.cs,
1371 ProcessModelSection.cs, RoleManagerSection.cs,
1372 MembershipSection.cs, CustomErrorsSection.cs (..cctor): fix
1373 validator/converters.
1375 * MachineKeySection.cs (..cctor): fix validators/converters.
1376 (Validation): enable the Converter.
1378 * CodeSubDirectory.cs (..cctor): fix validator/converters.
1379 (DirectoryName): add note about missing validator decoration.
1381 * HttpModuleAction.cs (..cctor): init properties.
1382 (Properties): return properties.
1384 * CompilationSection.cs (..cctor): fix validator/converters.
1385 (GetInstance): add in this pre-2.0 interface for the time being,
1386 hopefully it'll make it easier to migrate later on.
1388 * HttpHandlerActionCollection.cs (..cctor): init properties.
1389 (Properties): return properties.
1391 * PagesSection.cs (..cctor): fix validator/converters.
1392 (GetInstance): add in this pre-2.0 interface for the time being,
1393 hopefully it'll make it easier to migrate later on.
1395 * HttpHandlersSection.cs (..cctor): init properties.
1396 (Properties): return properties.
1398 * EventMappingSettings.cs (..cctor): fix validator/converters.
1399 (Name): add note about missing validator decoration.
1401 * HttpHandlerAction.cs (..cctor): fix validator/converters.
1402 (PAth, Type, Verb): add note about missing validator decoration.
1404 * NamespaceCollection.cs (..cctor): fix properties.
1406 * ProfilePropertySettingsCollection.cs (..cctor): init properties.
1407 (..ctor): don't throw NIE.
1408 (Properties): return properties.
1410 * HttpModuleActionCollection.cs (..cctor): init properties.
1411 (Properties): return properties.
1413 * CacheSection.cs (..cctor): fix validators/converters.
1414 (PrivateBytesPollTime): add note about missing validator
1417 * AuthorizationRule.cs (..cctor): fix validators/converters.
1418 (Roles, Users, Verbs): enable the TypeConverter decorations.
1420 * UrlMapping.cs (ValidateUrl): static method for use as a
1421 validation callback. unimplemented as yet.
1422 (..cctor): fix validators/converters.
1423 (MappedUrl): add note about missing validator decoration.
1425 * PropertyHelper.cs: static utility class which contains
1426 references to validators and converters for use in static
1427 constructors (building the Properties arrays).
1429 2005-11-23 Chris Toshok <toshok@ximian.com>
1431 * MachineKeyValidationConverter.cs: new converter (and a pretty
1432 silly one, considering all it seems to do is convert "TripleDES"
1435 * HostingEnvironmentSection.cs (.cctor): use
1436 PositiveTimeSpanValidator like MS does.
1438 2005-11-18 Chris Toshok <toshok@ximian.com>
1440 * HostingEnvironmentSection.cs (.cctor): add validators.
1442 * CompilationSection.cs (.cctor): fix defaultvalue of
1445 2005-11-18 Chris Toshok <toshok@ximian.com>
1447 * SystemWebSectionGroup.cs: enable a whole slew of properties.
1449 * RegexWorker.cs: stub this out.
1451 * HttpCapabilitiesBase.cs: remove GetClrVersions since it's in one
1452 of the other partial files.
1454 * CompilationSection.cs: fix this up.
1456 * PagesSection.cs: fix some types and add a comment to
1459 * CompilerCollection.cs (Add): new internal method.
1461 * ProvidersHelper.cs: put the using System.Configuration.Provider
1462 inside the NET_2_0 block.
1464 * CacheSection.cs: add validators.
1466 2005-11-14 Chris Toshok <toshok@ximian.com>
1468 * BufferModeSettings.cs: add validators/converters to the
1469 programmatic property list.
1471 * BuildProvider.cs: add validators/converters to the programmatic
1472 property list, and add an internal ctor with no args.
1474 * Compiler.cs: wrap the code i hacked from the 1.1 stuff with a
1477 * BuildProviderCollection.cs (CreateNewElement): use the internal
1478 BuildProvider ctor to get around validation.
1480 * AssemblyCollection.cs: same.
1482 2005-11-14 Chris Toshok <toshok@ximian.com>
1484 * TagPrefixCollection.cs (Remove): pass the key to BaseRemove.
1485 (set_Item (int index)): implement.
1487 * TagPrefixInfo.cs (Equals): implement.
1488 (GetHashCode): implement.
1490 * AuthorizationRuleCollection.cs (CreateNewElement(string)):
1491 implement propertly.
1492 (IndexOf): implement.
1493 (IsElementName): implement.
1494 (ElementName): implement.
1495 (Item (int index)): implement.
1497 * FormsAuthenticationUserCollection.cs (set_Item (int index)): implement.
1499 * UrlMappingCollection.cs (set_Item (int index)): implement.
1501 * OutputCacheProfileCollection.cs (set_Item (int index)): implement.
1503 * TransformerInfo.cs (Equals): implement.
1504 (GetHashCode): implement.
1506 * NamespaceInfo.cs (Equals): implement.
1507 (GetHashCode): implement.
1509 * ProfileSettingsCollection.cs (set_Item (int index)): implement.
1511 * TransformerInfoCollection.cs (set_Item (int index)): implement.
1513 * HttpHandlerActionCollection.cs (set_Item (int index)): implement.
1515 * BufferModesCollection.cs (set_Item (int index)): implement.
1517 * BuildProvider.cs: use the base[fooProp] pattern instead of
1520 * ProfileGroupSettingsCollection.cs: implement most of this class.
1522 * RuleSettingsCollection.cs (set_Item (int index)): implement.
1524 * ClientTargetCollection.cs (set_Item (int index)): implement.
1526 * AssemblyCollection.cs (set_Item (int index)): implement.
1528 * BuildProviderCollection.cs (set_Item (int index)): reformat.
1530 * CustomError.cs (Equals): implement.
1531 (GetHashCode): implement.
1533 * ExpressionBuilderCollection.cs (set_Item (int index)): reformat.
1535 * PassportAuthentication.cs (RedirectUrl): express consternation
1538 * NamespaceCollection.cs (set_Item (int index)): implement.
1540 * RootProfilePropertySettingsCollection.cs (SerializeElement): add
1543 * ProfilePropertySettingsCollection.cs (set_Item (int index)):
1546 * CustomErrorCollection.cs (set_Item (int index)): implement.
1548 * HttpModuleActionCollection.cs (set_Item (int index)): implement.
1550 * CodeSubDirectoriesCollection.cs (set_Item (int index)):
1553 * CustomErrorsSection.cs (DeserializeSection): include call to
1554 base.DeserializeSection, and add MonoTODO.
1556 * EventMappingSettingsCollection.cs (set_Item (int index)):
1559 * AuthorizationRule.cs (Equals): implement.
1560 (GetHashCode): implement.
1561 (SerializeElement): add comment.
1563 * TagMapCollection.cs (Remove): pass the key to BaseRemove.
1564 (set_Item (int index)): implement.
1566 * TagMapInfo.cs (Equals): implement.
1567 (GetHashCode): implement.
1568 (SerializeElement): add call to base.SerializeElement.
1570 * TrustLevelCollection.cs (Remove): pass the key to BaseRemove.
1571 (GetElementKey): implement.
1573 * SqlCacheDependencyDatabase.cs (set_Item (int index)): implement.
1575 * WebContext.cs: new implementation.
1577 2005-11-13 Chris Toshok <toshok@ximian.com>
1579 * AnonymousIdentificationSection.cs: rework this class a bit to
1580 fit in with the rest of S.W.C. Add validators to the
1581 ConfigurationProperty ctor calls, a pattern which will need to be
1582 replicated across the entire assembly, it appears (uggggh).
1584 2005-11-13 Chris Toshok <toshok@ximian.com>
1586 * AuthorizationRuleCollection.cs: fix ConfigurationCollection
1589 * TransformerInfo.cs: fix corcompare.
1591 * SqlCacheDependencyDatabase.cs: mark ctor internal to fix
1594 * AuthenticationSection.cs: add missing Reset stub.
1596 * ProfileSettingsCollection.cs: use the more succint ctor.
1598 * FormsAuthenticationUser.cs: enable the TypeConverter on "name".
1600 * GlobalizationSection.cs: fix up corcompare.
1602 * WebPartsSection.cs: fix up corcompare.
1604 * ProfileGroupSettingsCollection.cs: add missing
1605 ConfigurationCollection attribute.
1607 * ExpressionBuilder.cs: implement.
1609 * FormsAuthenticationCredentials.cs: fix up corcompare.
1611 * AssemblyCollection.cs: implement Properties.
1613 * SiteMapSection.cs: implement Properties.
1615 * ExpressionBuilderCollection.cs: fix up corcompare.
1617 * ProfileSettings.cs: add missing ctor.
1619 * PassportAuthentication.cs: new implementation.
1621 * SqlCacheDependencySection.cs: fix up corcompare.
1623 * ProfilePropertySettingsCollection.cs: fix up corcompare.
1625 * HttpModuleActionCollection.cs: fix up corcompare.
1627 * EventMappingSettingsCollection.cs: fix up corcompare.
1629 * AuthorizationRule.cs: fix up corcompare.
1631 * WebControlsSection.cs: fix up corcompare.
1633 * AuthorizationSection.cs: fix up corcompare.
1635 * MembershipSection.cs: clean this up, implement Properties, fix
1638 2005-11-13 Chris Toshok <toshok@ximian.com>
1640 * UrlMapping.cs, CustomErrorCollection.cs, CustomError.cs,
1641 HostingEnvironmentSection.cs, TrustLevel.cs,
1642 HttpCookiesSection.cs, UrlMappingsSection.cs,
1643 UrlMappingCollection.cs, LowerCaseStringConverter.cs,
1644 RoleManagerSection.cs, ProcessModelSection.cs,
1645 TrustLevelCollection.cs, ClientTarget.cs, CustomErrorsSection.cs,
1646 MachineKeySection.cs, SessionPageStateSection.cs,
1647 SessionStateSection.cs, ProvidersHelper.cs,
1648 ClientTargetCollection.cs, SecurityPolicySection.cs,
1649 HttpCapabilitiesBase.cs, ClientTargetSection.cs: Another large
1653 2005-11-12 Chris Toshok <toshok@ximian.com>
1655 * AuthorizationRuleCollection.cs, AuthorizationRule.cs,
1656 AuthorizationSection.cs, BufferModesCollection.cs,
1657 BufferModeSettings.cs, CacheSection.cs, CompilerCollection.cs,
1658 Compiler.cs, DeploymentSection.cs,
1659 EventMappingSettingsCollection.cs, EventMappingSettings.cs,
1660 GlobalizationSection.cs, HealthMonitoringSection.cs,
1661 IdentitySection.cs, OutputCacheProfileCollection.cs,
1662 OutputCacheProfile.cs, OutputCacheSection.cs,
1663 OutputCacheSettingsSection.cs, ProfileSettingsCollection.cs,
1664 ProfileSettings.cs, RuleSettingsCollection.cs, RuleSettings.cs,
1665 SqlCacheDependencyDatabaseCollection.cs,
1666 SqlCacheDependencyDatabase.cs, SqlCacheDependencySection.cs,
1667 SystemWebCachingSectionGroup.cs, TraceSection.cs,
1668 TransformerInfoCollection.cs, TransformerInfo.cs, TrustSection.cs,
1669 WebControlsSection.cs, WebPartsPersonalizationAuthorization.cs,
1670 WebPartsPersonalization.cs, WebPartsSection.cs,
1671 XhtmlConformanceSection.cs: a whole slew of new classes. the
1672 fruits of tons of c&p and ibuprofen.
1675 2005-11-09 Chris Toshok <toshok@ximian.com>
1677 * PagesSection.cs, AuthenticationSection.cs, BuildProvider.cs,
1678 BuildProviderCollection.cs, HttpHandlerActionCollection.cs,
1679 HttpModulesSection.cs, HttpModuleAction.cs,
1680 HttpModuleActionCollection.cs, AnonymousIdentificationSection.cs,
1681 CodeSubDirectory.cs, CodeSubDirectoriesCollection.cs,
1682 SystemWebSectionGroup.cs, SiteMapSection.cs,
1683 WebConfigurationManager.cs: flesh out the implementation.
1685 * TagMap*.cs, TagPrefix*.cs: new implementation.
1687 * FormsAuthentication*.cs: new implementation.
1689 * Profile*.cs: new implementation.
1691 * Namespace*.cs: new implementation.
1693 * HttpRuntimeSection.cs: new implementation.