1 2009-11-10 Marek Habersack <mhabersack@novell.com>
3 * WebConfigurationManager.cs: path passed to OpenWebConfiguration
4 from GetSection does not come from FindWebConfig.
6 2009-11-09 Marek Habersack <mhabersack@novell.com>
8 * WebConfigurationManager.cs: there's no need to cache sections by
9 _file_ path - using section name and web.config path is more than
10 enough and it reduces the number of cache entries
11 considerably. Fixes bug #550730
13 2009-10-07 Marek Habersack <mhabersack@novell.com>
15 * WebConfigurationManager.cs: GetSection doesn't perform string +
16 char + string concatenation to generate section cache key (by
17 Gonzalo Paniagua Javier) which gives an enormous performance boost
18 (processing time for mojoportal's default.aspx went down from
19 2.65s to 107ms on average). The key generation is performed
20 without any kind of string operation right now (except for
21 GetHashCode on 3 strings).
22 GetSectionCacheKey is called only once and sectionCache became a
25 2009-08-20 Marek Habersack <mhabersack@novell.com>
27 * WebConfigurationManager.cs: GetSection does not use
28 FindWebConfig to get the virtual path to open configuration for -
29 doing so would make the configuration system ignore <location>
30 sections. Fixes bug #482181
32 2009-07-23 Gonzalo Paniagua Javier <gonzalo@novell.com>
34 * WebConfigurationManager.cs: avoid possible infinite loop when the
35 path starts with ~ and 1 file check.
37 2009-07-15 Marek Habersack <mhabersack@novell.com>
39 * WebConfigurationManager.cs: another approach to suppressing
40 application reloads after the app writes to its root web.config
41 file. Leaving the previous code in place to get more
42 protection. It's a kludge, but it's the best option to avoid
43 all the races caused by System.Configuration+FileSystemWatcher
44 without rewriting large parts of System.Configuration (and
45 System.Web.Configuration). Fixes bug #522017
47 2009-07-14 Marek Habersack <mhabersack@novell.com>
49 * WebConfigurationManager.cs: added support for suppressing
50 application reload when the main config file is written to from
53 * WebConfigurationHost.cs: added minimal implementation of
54 WriteCompleted, which checks if there's need to suppress
57 2009-07-13 Marek Habersack <mhabersack@novell.com>
59 * ProvidersHelper.cs: InstantiateProvider doesn't have to
60 explicitly look for types in App_Code assemblies - this is done in
61 HttpApplication.LoadType.
63 2009-07-09 Gonzalo Paniagua Javier <gonzalo@novell.com>
65 * WebConfigurationHost.cs: null means MachineToApplication.
66 * WebConfigurationManager.cs: when caching configuration and sections,
67 use the configuration file directory instead of the incoming request
70 2009-06-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
72 * HttpHandlerAction.cs: fix path matching when the pattern has more
75 2009-06-05 Marek Habersack <mhabersack@novell.com>
77 * WebConfigurationManager.cs: OpenWebConfiguration caches
78 configurations with a key generated from all the parameters passed
79 to it, not just from path.
80 Added internal GetSection method which takes HttpContext as its
81 third parameter - used in calling OpenWebConfiguration.
82 FindWebConfig is no longer used in GetSection - it breaks handling
83 of <location> elements in config files. Fixes bug #510302
85 2009-06-03 Marek Habersack <mhabersack@novell.com>
87 * MonoSettingsSection.cs: added new property,
88 verificationCompatibility, which serves the same purpose as the
89 registry key described in http://support.microsoft.com/kb/932552
90 (when set to 1 it turns off virtual path validity
91 verification). Fixes bug #509163
93 2009-05-14 Marek Habersack <mhabersack@novell.com>
95 * HttpHandlersSection.cs: if we're matching a default handler,
98 2009-04-03 Marek Habersack <mhabersack@novell.com>
100 * WebConfigurationManager.cs: added code in the static constructor
101 to enable retrieving application settings via
102 ApplicationSettingsBase from within asp.net applications. Fixes
105 * ApplicationSettingsConfigurationFileMap.cs: added.
107 2009-03-12 Dean Brettle <dean@brettle.com>
109 * nBrowser/Build.cs: made Browser() method thread-safe and moved the
110 actual tree creation to a private InitializeTree() method for clarity.
112 2009-03-01 Marek Habersack <mhabersack@novell.com>
114 * WebConfigurationManager.cs: optimized GetWebApplicationSection a
117 2009-02-28 Marek Habersack <mhabersack@novell.com>
119 * WebConfigurationManager.cs: make sure no nrex happens in
120 GetSectionCacheKey ()
122 2009-02-26 Gonzalo Paniagua Javier <gonzalo@novell.com>
124 * WebConfigurationManager.cs: generate a hash from the string hsah
125 codes instead of concatenating them.
127 2009-01-27 Marek Habersack <mhabersack@novell.com>
129 * HttpHandlerAction.cs: removed the matches cache, it doesn't
130 improve matters here in 99% of the cases.
131 Regexps are no longer used to match handler paths, SearchPattern
134 2009-01-26 Marek Habersack <mhabersack@novell.com>
136 * WebConfigurationHost.cs: when an attempt to map a fake virtual
137 path is made, MapPath returns the aplication physical root
138 directory. Fixes bug #463950
140 2008-01-09 Dean Brettle <dean@brettle.com>
142 * nBrowser/Node.cs: Fixed compatibility bug where <identification> sections were required
145 2009-01-09 Marek Habersack <mhabersack@novell.com>
147 * WebConfigurationManager.cs: do not normalize the path in
148 FindWebConfig when getting the virtual directory.
150 2009-01-08 Marek Habersack <mhabersack@novell.com>
152 * WebConfigurationManager.cs: improve performance of
155 2009-01-07 Marek Habersack <mhabersack@novell.com>
157 * HttpModulesSection.cs: allow for modules with non-public
158 constructors. Fises bug #463971
160 * HttpHandlerAction.cs: allow for handlers with non-public
161 constructors. Fixes bug #463971
163 2008-12-24 Marek Habersack <mhabersack@novell.com>
165 * WebConfigurationManager.cs: A better version of the previous
166 GetSection fix. Right now the method searches for directories
167 containing web.config and uses them, if found, to open the web
168 configuration. If no web.config is found, web configuration is
169 opened for the root application directory.
171 * WebConfigurationHost.cs: made GetWebConfigFileName internal
172 static, so that code can be reused from WebConfigurationManager.
174 2008-12-23 Marek Habersack <mhabersack@novell.com>
176 * WebConfigurationManager.cs: GetSection should call
177 OpenWebConfiguration using the actual directory path, not a file
178 path. If it fails to do so, System.Configuration may treat the
179 top-level Web.config file as a child one which, in turn, in
180 certain circumstances will lead to duplicate keys inserted in
183 2008-12-16 Marek Habersack <mhabersack@novell.com>
185 * WebConfigurationHost.cs: IsDefinitionAllowed should treat
186 configPath == "~" as the root application path.
188 2008-12-12 Owen Brady <Ocean@owenbrady.net>
190 * nBrowser/File.cs, nBrowser/Identification.cs, nBrowser/Node.cs, nBrowser/NodeTypes.cs,
191 nBrowser/Result.cs, nBrowser/Build.cs, nBrowser/Exception.cs, CapabilitiesBuild.cs,
192 CapabilitiesResult.cs: Updated Copyright information to include updated contact information.
194 * nBrowser/Build.cs: Removed LoadDefaultEmbeddedResource function, the embeded resource
195 it is referring too was never included in Mono. And was designed for a free standing
196 browser identification libary.
198 * nBrowser/Exception.cs: Removed Compile Attributes and related comments which were left
199 in from the original free standing browser libary.
201 * CapabilitiesBuild.cs: Removed Header Checksum related coding since it is not required
202 for the Mono implementation.
204 * CapabilitiesResult.cs: Updated Copyright information to include updated contact information.
205 Removed functions which were designed to make use of features of a embeded browser file which
206 is not present in Mono.
208 * CapabilitiesChecksum.cs, RandomRoboBotKeywords.txt: Deleted
209 2008-10-21 Marek Habersack <mhabersack@novell.com>
211 * CapabilitiesChecksum.cs: implement Hex and MapToHex more efficiently.
213 2008-10-09 Marek Habersack <mhabersack@novell.com>
215 * MonoSettingsSection.cs: added - a section for mono-specific
218 2008-10-01 Marek Habersack <mhabersack@novell.com>
220 * CapabilitiesResult.cs: added support for the "browsers"
221 capability - a collection of matching browser ids.
223 * nBrowser/Node.cs: store matching browser ids in the capabilities
224 collection (to support IsBrowser correctly)
226 2008-07-25 Dean Brettle <dean@brettle.com>
228 * nBrowser/Node.cs nBrowser/Build.cs nBrowser/Identification.cs: Fixed race
229 condition in Node.Process() by removing mutating functions from Identification
230 and changing Node.Process() and Node.BrowserIdentification() to maintain
231 state in a List<Match> instead of a List<Identification>.
233 * nBrowser/Node.cs: Fixed race condition associated with lookup of adapter
236 * nBrowser/Node.cs: Removed duplicate call to Node.BrowserIdentification() from
239 * nBrowser/Node.cs: Removed duplicate call to Result.AddAdaper() from Node.Process().
241 * nBrowser/Node.cs: Fixed bug where capabilities containing literal $ or % were
244 * nBrowser/Node.cs: Fixed bug where capabilities with multiple $ substitutions only
247 2008-06-30 Zoltan Varga <vargaz@gmail.com>
249 * CapabilitiesResult.cs: Make the RandomRoboBotKeywords array static and compute it
252 2008-06-30 Marek Habersack <mhabersack@novell.com>
254 * CompilationSection.cs: hush the warnings
256 2008-06-26 Zoltan Varga <vargaz@gmail.com>
258 * nBrowser/Node.cs nBrowser/Result.cs: Avoid looking up adapter types names for
259 every request in every assembly.
261 2008-05-22 Marek Habersack <mhabersack@novell.com>
263 * WebConfigurationHost.cs: changed CreateDeprecatedConfigContext
264 to return a new HttpContext object. This is part of a fix for bug
265 #325128. Patch contributed by James Fitzsimons <james.fitzsimons@gmail.com>,
268 2008-05-07 Marek Habersack <mhabersack@novell.com>
270 * RoleManagerSection.cs: use type converter when creating the
271 cookieTimeout property in the static constructor. Fixes bug
272 #387526. Patch fromIvan Hamilton <ivan@chimerical.com.au>, thanks!
274 2008-03-23 Dean Brettle <dean@brettle.com>
276 * CapabilitiesBuild.cs (Process), ICapabilitiesProcess.cs (Process),
277 nBrowser/Build.cs (Process): Added initialCapabilities argument to
278 facilitate using browscap.ini capabilities.
280 * CapabilitiesResult.cs (ctor), nBrowserResult.cs (ctor): Change
281 items arg to IDictionary to facilitate using browscap.ini capabilities.
283 * nBrowser/Node.cs (Reset): Removed code which checked prohibited
284 non-alphanumerics in id attributes because .NET is not that strict.
286 * nBrowser/Node.cs (MergeFrom): Fixed NullReferenceExceptions that
287 occurred when the source or destination node did not have any
288 capabilities or adapters.
290 * nBrowser/Result.cs (AddAdapter): Fixed to allow types in other
293 2008-03-09 Dean Brettle <dean@brettle.com>
295 * nBrowser/Result.cs, nBrowser/NodeTypes.cs, nBrowser/Identification.cs,
296 nBrowser/File.cs, nBrowser/Build.cs, nBrowser/Node.cs,
297 nBrowser/Exception.cs: added. The code under nBrowser handles *.browser
298 files. It is based on Owen "Ocean" Brady's code, with the following
299 changes and improvements. Replaced Result.Adapter
300 property with AdapterTypeMap property which maps control Type to adapter
301 Type. Added Result.MarkupTextWriter property. Added overrides for
302 Result.GetAdapters and Result.GetTagWriter to return MarkupTextWriter
303 and AdapterTypeMap, resp. Changed tree building algorithm to not
304 depend on nodes with id="Default" and to inject defaultBrowser nodes
305 as parents of regular nodes with the same ids. Changed Node.cs to use
306 Item instead of Add when adding a capability or sample header, so that
307 values get replaced instead of appended. Added support for reference
308 nodes (ie. nodes with refID="someID").
310 * CapabilitiesResult.cs: load RandomRoboBotKeywords.txt resource
311 using the correct name.
313 * RandomRoboBotKeywords.txt: added
315 * HttpCapabilitiesBase.cs (CreateHtmlWriter, Adapters): Added
316 support for *.browsers. Adapters property calls internal virtual
317 GetAdapters() method which is overrided in nBrowser.Result
318 returned by nBrowser code. CreateHtmlWriter uses type specified
319 by TagWriter property.
321 2008-03-03 Vladimir Krasnov <vladimirk@mainsoft.com>
323 * ProvidersHelper.cs: fixed thread safety issue in InstantiateProvider
325 2008-03-01 Marek Habersack <mhabersack@novell.com>
327 * WebConfigurationManager.cs: SettingsMappingManager has been
328 moved to Mono.Web.dll
330 2008-02-28 Marek Habersack <mhabersack@novell.com>
332 * HttpHandlerAction.cs: ignore case when matching handler
333 paths. Fixes bug #364995
335 2008-02-26 Marek Habersack <mhabersack@novell.com>
337 * BuildProviderCollection.cs: be case-insensitive when looking for
340 2008-02-25 Marek Habersack <mhabersack@novell.com>
342 * WebConfigurationManager.cs: hashtable can contain a key with a
343 null value, avoid adding duplicate keys in such cases.
345 2008-02-18 Vladimir Krasnov <vladimirk@mainsoft.com>
347 * WebConfigurationManager.cs: performance improvement, cached
350 2008-02-07 Vladimir Krasnov <vladimirk@mainsoft.com>
352 * GlobalizationSection.cs: fixed GetSanitizedCulture, performance
355 2008-02-05 Marek Habersack <mhabersack@novell.com>
357 * CompilerCollection.cs: Get (string language) should not use
358 BaseGet as our collection is keyed on a list of language names
359 (e.g. "cs;csharp") and passing a single language won't match in
360 BaseGet correctly. Use the overriden indexer instead.
361 Initialize the base class with the case-insensitive
362 comparer. Fixes bug #357824.
364 2008-01-27 Daniel Nauck <dna@mono-project.de>
366 * HttpHandlerAction.cs: fixed the internal method PathMatches ()
367 removed wrong caching of FileMatchingInfo classes with request specific
368 informations. Now we check against the current request path and cache
369 the result in a dictionary.
370 Also check correctly against all possible paths from the HttpHandler.
373 2007-12-27 Marek Habersack <mhabersack@novell.com>
375 * ProfileGroupSettingsCollection.cs: added an internal method to
376 add/overwrite new group settings. Used from
377 RootProfilePropertySettingsCollection.
379 * ProfileGroupSettings.cs: added the missing "name" property to
380 the properties collection.
381 Marked the propertySettingsProp property as the default
383 Added internal deserialization method, used from
384 RootProfilePropertySettingsCollection to support the 'group'
387 * ProfileSection.cs: defaultProviderProp typo - the name of the
388 provider should be "AspNetSqlProfileProvider"
390 * RootProfilePropertySettingsCollection.cs: added
391 OnDeseerializeUnrecognizedElement to support the profile 'group'
393 Added a missing Unmerge method.
395 2007-12-11 Vladimir Krasnov <vladimirk@mainsoft.com>
397 * SiteMapSection.cs: fixed ProvidersInternal property to be thread safe
399 2007-12-08 Marek Habersack <mhabersack@novell.com>
401 * WebConfigurationManager.cs: GetSection now runs each section
402 through a mapper (if any is defined for the section) before
403 returning it to the caller.
405 2007-11-23 Marek Habersack <mhabersack@novell.com>
407 * TagPrefixCollection.cs: changed the collection type to
410 * ProfileSection.cs: added missing Properties property, added a
411 static constructor to create property descriptors. Use property
412 descriptors in property accessors.
414 * ProfileGroupSettingsCollection.cs: added missing attribute to
415 the class, removed CollectionType method, added missing IsModified
416 and ResetModified methods, added missing Properties property.
418 * ProfileGroupSettings.cs: added missing Properties property,
419 adjusted the set of custom attributes of the PropertySettings
422 * ProcessModelSection.cs: change the default value of the CpuMask
425 * OutputCacheSection.cs: added the EnableKernelCacheForVaryByStar
428 * OutputCacheProfile.cs: added the VaryByContentEncoding property.
430 * FormsAuthenticationConfiguration.cs: corrected defaults for the
433 * ExpressionBuilder.cs: corrected defaults for the
434 ExpressionPrefix and Type properties.
436 * CustomErrorsSection.cs: added two missing overrides -
437 DeserializeSection and Reset.
439 * ClientTargetSection.cs: added the missing Properties property.
440 Added static constructor to create the property collection.
442 * CustomErrorCollection.cs: removed the ThrowOnDuplicate
445 * CacheSection.cs: corrected defaults for the
446 PercentagePhysicalMemoryUsedLimit property.
448 * ClientTargetCollection.cs: added missing Properties property.
450 * IConfigMapPathFactory.cs: added
452 * IConfigMapPath.cs: added
454 * RoleManagerSection.cs: added a static constructor, a collection
455 of properties, the missing Properties property.
457 2007-11-22 Marek Habersack <mhabersack@novell.com>
459 * RoleManagerSection.cs: CookieTimeout property custom attributes
460 changed to match MS.NET's ones.
462 * AuthorizationRuleCollection.cs: removed the ThrowOnDuplicate
463 property - it's not found in the MS.NET version of the class.
465 2007-11-06 Marek Habersack <mhabersack@novell.com>
467 * MachineKeySectionUtils.cs: make sure keys are autogenerated when
470 2007-11-02 Marek Habersack <mhabersack@novell.com>
472 * HttpHandlerActionCollection.cs: clear http handler cache in
473 HttpApplication if the collection is modified.
475 2007-11-01 Marek Habersack <mhabersack@novell.com>
477 * MachineKeySection.cs: moved all the internal static methods and
478 properties to MachineKeySectionUtils.cs
480 * MachineKeySectionUtils.cs: added. This file is included in the
481 System.Web.Extensions compilation.
482 The old properties from MachineKeySection.cs became methods.
484 2007-10-24 Marek Habersack <mhabersack@novell.com>
486 * HttpHandlerAction.cs: exact path matching must be done on the
487 original string in PathMatches, not on the sliced one. Fixes bug
490 2007-10-17 Marek Habersack <mhabersack@novell.com>
492 * WebConfigurationHost.cs: if running outside hosted environment,
493 read only the assemblyname.config configuration file instead of
494 web.config. Fixes bug #332425
496 2007-10-15 Marek Habersack <mhabersack@novell.com>
498 * ProvidersHelper.cs: use HttpApplication.LoadType instead of
501 * HttpModulesSection.cs: use HttpApplication.LoadType when loading
502 modules, to include both the bin/ directory and the top-level
503 assemblies in search. Fixes bug #333686.
505 2007-08-30 Marek Habersack <mhabersack@novell.com>
507 * MachineKeySection.cs: retrieve the keys from the registry before
508 falling back to the old method. Fixes bug #76606
510 2007-08-23 Marek Habersack <mhabersack@novell.com>
512 * ProvidersHelper.cs: HttpApplication.LoadTypeFromPrivateBin
513 renamed to LoadTypeFromBin.
515 2007-08-21 Marek Habersack <mhabersack@novell.com>
517 * ProvidersHelper.cs: use HttpApplication.LoadTypeFromPrivateBin
518 to get the provider settings type.
520 2007-08-10 Gert Driesen <drieseng@users.sourceforge.net>
522 * PagesEnableSessionState.cs: Marked internal on 1.0 profile.
524 2007-07-16 Vladimir Krasnov <vladimirk@mainsoft.com>
526 * ProfileGroupSettingsCollection.cs: added ResetInternal internal
528 * RootProfilePropertySettingsCollection.cs: added Reset method
529 override to reset GroupSettings collection
531 2007-06-24 Vladimir Krasnov <vladimirk@mainsoft.com>
533 * HttpHandlerAction.cs: fixed SplitPaths property to be thread safe
535 2007-06-12 Vladimir Krasnov <vladimirk@mainsoft.com>
537 * CompilationSection.cs: TARGET_JVM on not supported features
538 * HttpModulesSection.cs: ctor should be static
540 2007-06-03 Adar Wesley <adarw@mainsoft.com>
542 * ProfilePropertySettingsCollection.cs: added missing method
543 OnDeserializeUnrecognizedElement.
545 2007-05-30 Marek Habersack <mhabersack@novell.com>
547 * WebConfigurationManager.cs: if errors happen when opening the
548 configuration file, mark the manager as unsafe to prevent further
549 usage and avoid error loops.
551 2007-05-17 Igor Zelmanovich <igorz@mainsoft.com>
553 * WebConfigurationHost.cs: for TARGET_J2EE only:
554 prevent NullRefference Exception.
556 2007-05-15 Igor Zelmanovich <igorz@mainsoft.com>
558 * WebConfigurationManager.cs:
559 make configurations hashtable case-insensitive.
560 * WebConfigurationHost.cs: for TARGET_J2EE only:
561 GetStreamName returns file path in right case, that make it works
562 on case-sensitive file system.
564 2007-05-15 Marek Habersack <mhabersack@novell.com>
566 * BuildProviderCollection.cs: refactoring - use
567 HttpApplication.LoadType to actually look up the type.
569 * HttpHandlerAction.cs: as above
571 * WebConfigurationHost.cs: refactoring - moved the LoadType to
572 HttpApplication to share the code between 1.1 and 2.0 profiles.
574 2007-05-14 Marek Habersack <mhabersack@novell.com>
576 * UrlMappingCollection.cs: implemented the Item (string) indexer.
578 * UrlMapping.cs: implemented the URL validation callback body
579 (doesn't work at the moment).
581 2007-05-14 Igor Zelmanovich <igorz@mainsoft.com>
583 * WebConfigurationManager.cs:
584 make configurations synchronized.
585 added new internal method RemoveConfigurationFromCache.
587 2007-05-07 Marek Habersack <mhabersack@novell.com>
589 * PagesSection.cs: buffering is on by default.
591 2007-04-24 Marek Habersack <mhabersack@novell.com>
593 * WebConfigurationHost.cs: wrap MapPath calls in try/catch,
594 because bad URLs can cause it to throw exceptions. If such
595 exception is caught, throw a HttpException for Bad Request (400).
596 Look for types in the top-level assemblies (App_Code and
599 * WebConfigurationManager.cs: added two internal methods for safe
600 retrieval of config sections.
602 2007-04-19 Marek Habersack <mhabersack@novell.com>
604 * HttpHandlerAction.cs: look up types in all the toplevel
605 assemblies. Fixes bug #80897.
607 2007-04-17 Atsushi Enomoto <atsushi@ximian.com>
609 * ProcessModelSection.cs : cpuMask default value should be int,
612 2007-04-06 Marek Habersack <mhabersack@novell.com>
614 * CustomErrorsSection.cs: make the customErrors section work.
616 * PagesSection.cs: provide appropriate default value for the
617 asyncTimeout setting.
619 2007-03-24 Marek Habersack <mhabersack@novell.com>
621 * WebConfigurationHost.cs: allow MachineToApplication definition
622 for config paths that equal the domain virtual app directory.
624 2007-03-22 Adar Wesley <adarw@mainsoft.com>
626 * HttpCapabilitiesBase.cs: implemented all capabilities. Capabilities
627 still throw if there is no value in browscaps.ini and the property is called.
629 2007-03-21 Vladimir Krasnov <vladimirk@mainsoft.com>
631 * WebConfigurationManager.cs: fixed OpenWebConfiguration, should not
632 lock when checking if configuration is already open
634 2007-03-15 Vladimir Krasnov <vladimirk@mainsoft.com>
636 * WebConfigurationManager.cs: fixed OpenWebConfiguration, removed
637 GetBasePath call and locations search, since this not affects
638 configuration initialization, but improves performance
640 2007-03-12 Marek Habersack <mhabersack@novell.com>
642 * ProvidersHelper.cs: support loading custom providers from
643 App_Code assemblies. Fixes bug #81071.
644 Also set eol-style to native.
646 2007-03-08 Gert Driesen <drieseng@users.souceforge.net>
648 * PagesSection.cs: Revert part of Adar's patch that regresses
651 2007-03-06 Adar Wesley <adarw@mainsoft.com>
653 * PagesSection.cs: improve Enum parsing and strongly typed default values.
655 2007-02-20 Marek Habersack <grendello@gmail.com>
657 * Patch from Gert Driesen <drieseng@users.sourceforge.net>
658 * PagesSection.cs: Process value of EnableSessionState attribute
659 case-sensitive, and perform check in getter. Fix for bug #80913.
660 * PageParser.cs: Added note on difference in behaviour between page
661 level attribute and configuration attribute for enableSessionState.
662 * PagesConfiguration.cs: Fixed compiler warning.
664 2007-02-22 Marek Habersack <grendello@gmail.com>
666 * CompilerCollection.cs: Optimize language lookup a bit.
668 2007-02-05 Konstantin Triger <kostat@mainsoft.com>
670 * TagPrefixCollection.cs: Fix element key creation.
672 2007-02-04 Konstantin Triger <kostat@mainsoft.com>
674 * NamespaceInfo.cs, HttpModuleAction.cs, RoleManagerSection.cs:
675 fix the default value.
677 2007-02-02 Marek Habersack <grendello@gmail.com>
679 * TagPrefixCollection.cs: Add the CollectionType parameter.
680 Get rid of unnecessary interface references in the class declaration.
681 GetElementKey should return Source which should be unique, unlike TagPrefix.
683 2007-01-04 Konstantin Triger <kostat@mainsoft.com>
685 * ProfileSection.cs: Ensure enabled = true by default; cleanup.
687 2006-12-27 Vladimir Krasnov <vladimirk@mainsoft.com>
689 * CustomErrorCollection.cs: fixed ThrowOnDuplicate to false as in .net
691 2006-12-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
693 * GlobalizationSection.cs: make encodings actually work for the 2.0
696 2006-12-21 Marek Habersack <grendello@gmail.com>
698 * TagMapInfo.cs: Add an internal default constructor for use from
701 * TagMapCollection.cs: Don't call the string,string constructor of
702 TagMapInfo - the class disallows empty strings as values of its
705 2006-12-21 Vladimir Krasnov <vladimirk@mainsoft.com>
707 * RoleManagerSection.cs: refactored using attributes
709 2006-12-20 Marek Habersack <grendello@gmail.com>
711 * ProfilePropertyNameValidator.cs: added a few checks.
713 2006-12-18 Vladimir Krasnov <vladimirk@mainsoft.com>
715 * WebConfigurationManager.cs: fixed GetSection to execute
716 GetRuntimeObject, refactored GetSection and GetWebApplicationSection
718 2006-12-17 Vladimir Krasnov <vladimirk@mainsoft.com>
720 * HttpHandlerAction.cs: fixed 'verb' config property
722 2006-12-07 Igor Zelmanovich <igorz@mainsoft.com>
724 * ProvidersHelper.cs: fixed: load assembles from /bin
726 2006-11-22 Miguel de Icaza <miguel@novell.com>
728 * SessionStateSection.cs: Do not call Enum.Parse with a null
729 argument, prevents an exception from being thrown.
731 2006-11-20 Marek Habersack <grendello@gmail.com>
733 * GlobalizationSection.cs: Added support for "auto" cultures and
734 the "auto:DEFAULT_CULTURE" cultures.
736 2006-11-13 Konstantin Triger <kostat@mainsoft.com>
738 * WebConfigurationHost.cs: use Type.GetType for loading full qualified types.
740 2006-11-05 Vladimir Krasnov <vladimirk@mainsoft.com>
742 * ProfileGroupSettings.cs, ProfileGroupSettingsCollection.cs
743 ProfilePropertySettingsCollection.cs, ProfileSection.cs
744 RootProfilePropertySettingsCollection.cs: refactoring and fix of
747 2006-10-18 Marek Habersack <grendello@gmail.com>
749 * WebConfigurationManager.cs: implement support for extra
750 assemblies to be referenced when compiling a page.
752 2006-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
754 * WebConfigurationManager.cs: add null checks. Patch by Marek Habersack
755 that fixes bug #79283.
757 2006-09-06 Konstantin Triger <kostat@mainsoft.com>
759 * WebConfigurationHost.cs: do not recourse as this will be done by
760 Configuration object.
762 2006-08-08 Vladimir Krasnov <vladimirk@mainsoft.com>
764 * WebConfigurationManager.cs: added configSystem property under
766 * WebConfigurationHost.cs: fixed GetStreamName and OpenStreamForRead
768 * CompilationSection.cs: BuildProviders property removed from
770 * SystemWebSectionGroup.cs: Compilation property removed from
773 2006-06-26 Atsushi Enomoto <atsushi@ximian.com>
775 * NullableStringValidator.cs : new internal class that is almost
776 identical to StringValidator but allows null value.
777 * PropertyHelper.cs : use new NullableStringValidator.
778 * NamespaceCollection.cs : in NamespaceInfo "" is not allowed.
780 2006-06-08 Chris Toshok <toshok@ximian.com>
782 * WebConfigurationHost.cs (InitForConfiguration): i know this is
783 going to bite me in the ass, but guard against configPath being ==
784 to "/", since this will result in an infinite loop.
785 (MapPath): fix a NRE.
787 2006-05-18 Atsushi Enomoto <atsushi@ximian.com>
789 * WebConfigurationManager.cs: recent sys.config.dll changes on
790 ConfigurationManager.GetSection() which should call
791 GetRuntimeObject() should also apply here. Fixed monodoc web.
793 2006-05-10 Andrew Skiba <andrews@mainsoft.com>
795 * HttpHandlerAction.cs: keep the internal exception
797 2006-05-08 Chris Toshok <toshok@ximian.com>
799 * WebConfigurationManager.cs (GetBasePath): fix bug where
800 path.Length was 0 when we got to the last while loop (and indexed
801 -1 into an array.) Thanks Marek for the fix.
803 2006-05-04 Chris Toshok <toshok@ximian.com>
807 * WebConfigurationHost.cs (GetConfigType): add a MonoTODO about
808 how we should use the build provider machinery to get types.
809 (MapPath): add rudimentary mapping in the case where we don't have
810 a request, basically handle the case where the url begins with (or
811 is) HttpRuntime.AppDomainAppVirtualPath.
813 * WebConfigurationManager.cs (GetSection): if we don't have a
814 valid request, open the web configuration corresponding to
815 HttpRuntime.AppDomainAppVirtualPath.
816 (GetBasePath): comment this a little, and make it work in the case
817 where we don't have an HttpRequest.
819 2006-04-27 Chris Toshok <toshok@ximian.com>
821 * AuthorizationRuleCollection.cs (ThrowOnDuplicate): for the time
822 being introduce a overridden property MS doesn't make use of.
823 This needs readdressing, but it should get people making use of
824 <authorization> rules working again.
826 2006-04-25 Chris Toshok <toshok@ximian.com>
828 * AuthorizationRule.cs (Reset): finally figure out what this
829 method is supposed to do. Assign our Action property based on
832 2006-04-25 Chris Toshok <toshok@ximian.com>
834 * WebConfigurationHost.cs (InitForConfiguration): actually, use
835 HttpRuntime.AppDomainAppVirtualPath on gonzalo's recommendation.
836 It's never null, and its use cleans things up a bit.
838 2006-04-25 Chris Toshok <toshok@ximian.com>
840 * WebConfigurationHost.cs (InitForConfiguration): stop going up
841 the virtual hierarchy once we reach the application's base virtual
844 2006-04-24 Chris Toshok <toshok@ximian.com>
846 * AuthorizationSection.cs (IsValidUser): fix a problem that
847 surfaced when converting from the 1.1 to 2.0 config classes. Only
848 check for verb match if there are actually verbs to match against.
850 2006-04-11 Chris Toshok <toshok@ximian.com>
852 * ExpressionBuilderCollection.cs (CreateNewElement): call argless
855 * ExpressionBuilder.cs: add internal argumentless ctor for use by
858 2006-03-24 Chris Toshok <toshok@ximian.com>
860 * WebConfigurationManager.cs (GetConfig): add a fallback case for
861 configuration sections that don't subclass from
862 ConfigurationSection.
864 2006-03-24 Chris Toshok <toshok@ximian.com>
866 * WebConfigurationHost.cs: fix bug where OpenWebConfiguration
867 ("/") would result in 2 configurations for that toplevel path to
870 2006-03-08 Chris Toshok <toshok@ximian.com>
872 * ProvidersHelper.cs: implement this static class properly.
874 * SiteMapSection.cs (ProvidersInternal): add internal property to
875 get the actual SiteMapProviderCollection from here.
877 2006-02-28 Chris Toshok <toshok@ximian.com>
879 * BuildProviderAppliesTo.cs, PagesToCountAction.cs: nuke.
881 2006-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
884 * CompilerCollection.cs: removed compatibility code.
886 * BuildProviderCollection.cs: add GetProviderForExtension().
888 2006-02-02 Chris Toshok <toshok@ximian.com>
890 * WebConfigurationManager.cs (GetSection(string,string)):
893 2006-02-01 Atsushi Enomoto <atsushi@ximian.com>
895 * TrustLevelCollection.cs, CodeSubDirectoriesCollection.cs,
896 CustomErrorCollection.cs, CompilerCollection.cs,
897 HttpHandlerActionCollection.cs,
898 FormsAuthenticationUserCollection.cs,
899 AuthorizationRuleCollection.cs, TagPrefixCollection.cs :
900 CollectionType is public.
902 2006-02-01 Chris Toshok <toshok@ximian.com>
904 * WebConfigurationManager.cs: In the normal case, get the current
905 request's web.config, not the application's. If there is no
906 current request, get the application's.
907 (GetWebApplicationConfiguration): use Request.ApplicationPath, not
908 Request.PhysicalApplicationPath. OpenWebConfiguration takes
911 * HttpConfigurationSystem.cs: GetWebApplicationSection =>
914 2006-02-01 Chris Toshok <toshok@ximian.com>
916 * CompilerCollection.cs: CONFIGURATION_2_0 => NET_2_0
920 2006-02-01 Chris Toshok <toshok@ximian.com>
922 * HttpConfigurationSystem.cs: SupportsUserConfig == true. let's
923 use this to determine if ConfigurationManager.AppSettings should
926 2006-01-31 Chris Toshok <toshok@ximian.com>
928 * WebConfigurationManager.cs: err, why did i ifdef stuff NET_2_0
929 inside of an ifdef NET_2_0?
931 2006-01-30 Chris Toshok <toshok@ximian.com>
933 * WebConfigurationManager.cs: lots of little changes. hopefully
934 this doesn't break anyone. it fixes all the nunit problems
937 * WebConfigurationHost.cs (GetStreamName): in the MachineWebPath
938 case, handle the case where we have a WebConfigurationFileMap.
939 (MapPath): this is likely wrong, but in the case where we don't
940 have a file map or current HttpContext, just return the path.
942 2006-01-29 Chris Toshok <toshok@ximian.com>
944 * HttpModulesSection.cs (LoadModules): I'm not sure we want to
945 solve this problem in this way, but the 1.x code forces
946 DefaultAuthenticationModule to be in the list of modules..
947 Without this fix (or something else) HttpContext.User is null when
950 2006-01-26 Chris Toshok <toshok@ximian.com>
952 * HttpConfigurationSystem.cs: new class that gets sections from
955 * WebConfigurationManager.cs: change a lot of the
956 NotImplementedExceptions to NotSupportedExceptions.
957 (AppSettings): implement by just returning
958 ConfigurationManager.AppSettings (note this is broken because
959 ConfigurationManager.AppSettings are read-only, but it works for
961 (ConnectionStrings): same (and probably broken in the same way..)
962 (Init): replace the 2.0 IInternalConfigSystem with our
963 HttpConfigurationSystem.
965 * WebConfigurationHost.cs: add a comment about how things are
966 likely to work in the face of IRemoteWebConfigurationHostServer.
967 (CreateConfigurationContext): return a WebContext instance.
969 2006-01-25 Chris Toshok <toshok@ximian.com>
971 * AuthorizationSection.cs (IsValidUser): instead of a blanket
972 false for a null user, just set the username to "" and short
973 circuit out the check for roles.
975 2006-01-25 Chris Toshok <toshok@ximian.com>
977 * AuthorizationRule.cs (CheckUser): handle * and ?, and use
978 String.Compare instead of ==.
979 (CheckVerb): use String.Compare instead of ==.
981 * AuthorizationSection.cs (IsValidUser): return false for a null
984 2006-01-22 Chris Toshok <toshok@ximian.com>
986 * GlobalizationSection.cs (VerifyData): quiet mcs.
988 2006-01-18 Chris Toshok <toshok@ximian.com>
990 * SystemWebSectionGroup.cs: wrap System.Web.Services references in
993 2006-01-16 Chris Toshok <toshok@ximian.com>
995 * WebConfigurationManager.cs: implement a IConfigurationSystem for
996 use with WebConfigurationManager.
997 (GetSection): try to load the section
998 using GetWebApplicationSection before calling into
999 ConfigurationManager.GetSection.
1000 (GetWebApplicationConfiguration): move common code to here.
1001 (GetWebApplicationSection): use GetWebApplicationConfiguration.
1002 (AppSettings): implement.
1004 * WebConfigurationHost.cs (GetWebConfigFileName): add
1005 "Web.Config", and move to an array/loop implementation. maybe we
1006 should scan the directory and check ToLower() instead of
1007 explicitly enumerating?
1009 2006-01-10 Chris Toshok <toshok@ximian.com>
1011 * SystemWebSectionGroup.cs (HostingEnvironment): enable this property.
1012 (ProcessModel): add the ConfigurationPropertyAttribute.
1014 2006-01-10 Chris Toshok <toshok@ximian.com>
1016 * PagesSection.cs (.cctor): fix the default value for the
1017 enableSessionState attribute - it's not a bool, but a
1018 PagesEnableSessionState enum.
1020 2006-01-10 Chris Toshok <toshok@ximian.com>
1022 * MachineKeySection.cs (ValidationKeyBytes, DecryptionKeyBytes,
1023 DecryptionKey192Bits): if the keys are null, generate them. Fixes
1024 Page.EnableViewStateMac support.
1026 2006-01-09 Chris Toshok <toshok@ximian.com>
1028 * RoleManagerSection.cs, SqlCacheDepencendySection.cs,
1029 SessionStateSection.cs, TraceSection.cs, SecurityPolicySection.cs,
1030 PagesSection.cs, RulesSettings.cs, UrlMappingSection.cs: fix
1033 2006-01-09 Chris Toshok <toshok@ximian.com>
1035 * ExpressionBuilderCollection.cs (.cctor): no need to create a
1036 collection property here. we're already in the collection.
1038 * CompilationSection.cs: fix typo.
1040 2006-01-04 Chris Toshok <toshok@ximian.com>
1042 * MachineKeySection.cs: bring over some more internal methods from
1043 MachineKeyConfig, and call Set{Decryption,Validation}Key from
1044 their respective property setters.
1046 2006-01-03 Chris Toshok <toshok@ximian.com>
1048 * AuthorizationSection.cs (IsValidUser): add analogous method from
1049 AuthorizationConfig.cs.
1051 * AuthorizationRule.cs: add predicates for Verb, User, and Role
1052 analogous to what existed in AuthorizationConfig.cs.
1054 2005-12-11 Chris Toshok <toshok@ximian.com>
1056 * WebConfigurationManager.cs (OpenMachineConfiguration): just call
1057 ConfigurationManager.OpenMachineConfiguration.
1058 (OpenWebConfiguration): remove the "IntPtr userToken" version and
1059 add a "string userName" version to clean up corcompare output.
1060 Modify all the overloads to pass null instead of IntPtr.Zero.
1061 (GetWebApplicationSection): if we're not running in a web
1062 application, use the machine configuration.
1064 2005-12-06 Chris Toshok <toshok@ximian.com>
1066 * CodeSubDirectory.cs (DirectoryName): don't use an private field,
1067 but base[directoyNameProp].
1069 * AuthorizationRuleCollection.cs (Add): use BaseAdd (rule, false),
1070 so we can insert duplicates.
1072 (GetElementKey): MS for some reason just uses the action for the
1074 (Remove): pass the correct key.
1076 * ProfileGroupSettings.cs (GetHashCode): implement.
1078 * GlobalizationSection.cs (GetEncoding): for the utf-8 case, just
1081 * AssemblyCollection.cs (Add): use BaseAdd (info, false) so we can
1084 * CacheSection.cs (.cctor): make privateByteLimit's default 0L so
1085 we don't get a invalid cast exception later on.
1087 * AuthorizationRule.cs (VerifyData): split out the verification
1088 foo from PreSerialize.
1089 (PostDeserialize): so we can call it from here.
1090 (PreSerialize): and here.
1092 2005-12-05 Chris Toshok <toshok@ximian.com>
1094 * AuthorizationRuleCollection.cs (GetKey): split out the logic for
1095 creating a key from a rule here.
1096 (GetElementKey): use it here.
1099 2005-12-04 Chris Toshok <toshok@ximian.com>
1101 * UrlMapping.cs: add an internal argument-less ctor.
1103 * UrlMappingCollection.cs (CreateNewElement): use argument-less
1105 (GetKey): implement.
1106 (AllKeys): implement.
1108 * TrustLevel.cs: add an internal argument-less ctor.
1110 * TrustLevelCollection.cs (Set): implement.
1111 (CreateNewElement): use argument-less ctor.
1112 (IsElementName): implement.
1113 (ElementName): implement.
1114 (set_Item (int index)): use Set.
1115 (ThrowOnDuplicate): implement.
1117 * TagPrefixInfo.cs: add internal argument-less ctor.
1119 * TagPrefixCollection.cs (CreateNewElement): call argument-less
1121 (CollectionType): add text to TODO.
1122 (ElementName): implement.
1124 * SqlCacheDependencyDatabaseCollection.cs (Set): implement.
1125 (AllKeys): implement.
1127 * RuleSettings.cs: add internal argument-less ctor.
1129 * RuleSettingsCollection.cs (Contains): implement.
1130 (CreateNewElement): use argument-less ctor.
1131 (IndexOf): implement.
1132 (Insert): implement.
1134 * RootProfilePropertySettingsCollection.cs (IsModified): chain up
1135 to base.IsModified for now.
1136 (Reset): chain up to base.Reset for now.
1137 (ResetModified): chain up to base.ResetModified for now.
1139 * ProfileSettings.cs: add internal argument-less ctor.
1141 * ProfileSettingsCollection.cs (Contains): implement.
1142 (CreateNewElement): use argument-less ctor.
1143 (IndexOf): implement.
1144 (Insert): implement.
1146 * ProfilePropertySettingsCollection.cs (IndexOf): implement.
1148 (AllKeys): implement.
1150 * ProfileGroupSettings.cs: add internal argument-less ctor.
1152 * ProfileGroupSettingsCollection.cs (CreateNewElement): use
1153 parameter-less ctor.
1154 (GetKey): implement.
1155 (ResetModified): for now call base.ResetModified.
1157 (AllKeys): implement.
1159 * OutputCacheProfile.cs: add internal argument-less ctor.
1161 * OutputCacheProfileCollection.cs (CreateNewElement): use
1162 parameter-less ctor.
1164 (AllKeys): implement.
1166 * HttpModuleActionCollection.cs (Add): remove MonoTODO.
1167 (CreateNewElement): same.
1169 * HttpHandlerActionCollection.cs (GetElementKey): build up the key
1170 from both the path and the verb.
1173 * FormsAuthenticationUserCollection.cs (Set): implement.
1174 (AllKeys): implement.
1176 * EventMappingSettings.cs: add an internal argument-less ctor.
1178 * EventMappingSettingsCollection.cs (Contains): implement.
1179 (CreateNewElement): use argument-less ctor.
1180 (IndexOf): implement.
1181 (Insert): implement.
1183 * CompilerCollection.cs (GetKey): implement.
1184 (AllKeys): implement.
1186 * ClientTargetCollection.cs (GetKey): implement.
1187 (AllKeys): implement.
1189 * AuthorizationRuleCollection.cs (Set): implement.
1190 (ElementName): add some text to the MonoTODO.
1191 (set_Item (int index)): use Set.
1193 2005-12-04 Chris Toshok <toshok@ximian.com>
1195 * CustomError.cs: add an internal argument-less ctor for use by
1198 * CustomErrorCollection.cs: implement all the MonoTODO's.
1200 2005-12-02 Chris Toshok <toshok@ximian.com>
1202 * GlobalizationSection.cs (VerifyData): split out the stuff that
1203 used to live in PreSerialize here.
1204 (PreSerialize): call VerifyData here.
1205 (PostDeserialize): and here.
1207 2005-12-01 Chris Toshok <toshok@ximian.com>
1209 * GlobalizationSection.cs (PreSerialize): add checks for Culture
1210 and UICulture properties.
1212 2005-12-01 Chris Toshok <toshok@ximian.com>
1214 * AuthorizationRule.cs (..ctor): provide default values for
1215 roles/users/verbs here. Not sure if we should do this in the ctor
1216 or if the System.Configuration infrastructure should.. time will
1218 (PreSerialize): throw if Roles.Count and Users.Count == 0.
1219 (SerializeElement): write out the element here. don't chain up to
1220 the base class since that has differing behavior than what we
1223 2005-11-30 Chris Toshok <toshok@ximian.com>
1225 * CompilerCollection.cs: ugly hack to fix the
1226 2.0-without-config-2.0 case. wrap this file in #if
1227 CONFIGURATION_2_0 as well as #if NET_2_0.
1229 * Compiler.cs: same.
1231 2005-11-28 Chris Toshok <toshok@ximian.com>
1233 * SessionStateSection.cs (CookieLess): correct the compat function
1236 2005-11-28 Chris Toshok <toshok@ximian.com>
1238 * GlobalizationSection.cs (GetEncoding): if the encoding name is
1239 null, default to utf-8 before we hit the try block, so we don't
1240 throw and generate a spurious warning.
1242 * SessionStateSection.cs: The Cookieless handling needs a custom
1243 parser, it appears, as the converter is a StringConverter, not a
1244 GenericEnumConverter.
1245 (ParseCookieMode): the parser.
1247 2005-11-28 Chris Toshok <toshok@ximian.com>
1249 * PagesSection.cs (GetInstance): nuke.
1251 * CompilationSection.cs (GetInstance): nuke.
1253 2005-11-28 Chris Toshok <toshok@ximian.com>
1255 * HttpHandlerAction.cs: add some c&p code from the 1.1 config
1256 stuff to look for matching handlers.
1257 (..ctor): add parameterless ctor.
1259 * HttpHandlerActionCollection.cs: clean up formatting.
1260 (CreateNewElement): call the parameter-less ctor for
1263 * HttpHandlersSection.cs (..ctor): add a ConfigurationProperty for
1264 the default collection.
1265 (get_Handlers): implement.
1266 (LocateHandler): copy over (and massage) some 1.1 config code.
1268 * MachineKeySection.cs: move some code over from the 1.1 config
1269 code to deal with autogeneration of keys, as well as converting
1270 from the string rep to the byte[] rep.
1272 2005-11-28 Chris Toshok <toshok@ximian.com>
1274 * HttpModuleActionCollection.cs (CreateNewElement): use the new
1275 HttpModuleAction ctor.
1277 * HttpModuleAction.cs: add internal ctor with no parameters, for
1278 use in HttpModuleActionCollection.
1280 2005-11-28 Chris Toshok <toshok@ximian.com>
1282 * GlobalizationSection.cs (..cctor): the encoding
1283 ConfigurationProperties are of type "string", even though the
1284 properties themselves are of type Encoding. we do conversions
1285 manually in the setter/getters. gross. Add code (mostly c&p +
1286 massaged from GlobalizationConfigurationHandler) for this and also
1287 to handle the culture gettes.
1289 2005-11-26 Chris Toshok <toshok@ximian.com>
1291 * AuthorizationRuleCollection.cs (GetElementKey): implement this.
1293 * ProfilePropertyNameValidator.cs: make this internal, and add a
1294 blurb about how MS doesn't do the testing you'd expect them to.
1296 2005-11-25 Chris Toshok <toshok@ximian.com>
1298 * AuthorizationRuleCollection.cs (CreateNewElement): remove
1301 * CompilationSection.cs (GetRuntimeObject): add comment to TODO.
1303 * ProfileGroupSettings.cs: reformat some things.
1305 * FormsAuthenticationUser.cs (Name): remove MonoTODO.
1307 * WebPartsSection.cs (GetRuntimeObject): change TODO comment.
1309 * ProfilePropertySettings.cs: add internal argument-less ctor.
1311 * IdentitySection.cs (GetRuntimeObject): return this.
1313 * ProfilePropertySettingsCollection.cs: implement much of the
1316 * WebControlsSection.cs (GetRuntimeObject): implement.
1318 * SqlCacheDependencyDatabaseCollection.cs (GetElementKey):
1320 (GetKey): implement.
1322 2005-11-24 Chris Toshok <toshok@ximian.com>
1324 * AssemblyInfo.cs: move this here from System.Web.Configuration,
1325 and fix up the properties.
1327 * SystemWebSectionGroup.cs: enable most of the sections (2
1328 remaining to be enabled.)
1330 2005-11-24 Chris Toshok <toshok@ximian.com>
1332 * ProcessModelSection.cs, SqlCacheDependencySection.cs,
1333 SessionStateSection.cs, PassportAuthentication.cs,
1334 FormsAuthenticationConfiguration.cs,
1335 SqlCacheDependencyDatabase.cs, HttpModuleAction.cs,
1336 BufferModeSettings.cs, TagPrefixInfo.cs (..cctor): init
1338 (ValidateElement): new static validator callback.
1339 (ElementProperty): enable this, return elementProperty.
1341 2005-11-23 Chris Toshok <toshok@ximian.com>
1343 * ProfilePropertyNameValidator.cs: new implementation.
1345 * ProfilePropertySettings.cs, ProfileGroupSettings.cs,
1346 ClientTargetSection.cs, ClientTargetSection.cs,
1347 BufferModeSettings.cs, HttpModulesSection.cs,
1348 WebPartsPersonalization.cs, TransformerInfo.cs, TrustLevel.cs,
1349 NamespaceInfo.cs, SqlCacheDependencyDatabase.cs,
1350 AuthenticationSection.cs, RuleSettings.cs,
1351 FormsAuthenticationUser.cs, WebPartsSection.cs, BuildProvider.cs,
1352 WebPartsPersonalizationAuthorization.cs, Compiler.cs,
1353 ExpressionBuilder.cs, OutputCacheProfile.cs,
1354 FormsAuthenticationCredentials.cs, XhtmlConformanceSection.cs,
1355 OutputCacheSettingsSection.cs, CustomError.cs, TraceSection.cs,
1356 ExpressionBuilderCollection.cs, ProfileSettings.cs,
1357 SessionStateSection.cs, HealthMonitoringSection.cs,
1358 FormsAuthenticationConfiguration.cs, HttpRuntimeSection.cs,
1359 SessionPageStateSection.cs, TrustSection.cs,
1360 AnonymousIdentificationSection.cs, WebControlsSection.cs,
1361 ClientTarget.cs, TagMapInfo.cs, AuthorizationSection.cs,
1362 ProcessModelSection.cs, RoleManagerSection.cs,
1363 MembershipSection.cs, CustomErrorsSection.cs (..cctor): fix
1364 validator/converters.
1366 * MachineKeySection.cs (..cctor): fix validators/converters.
1367 (Validation): enable the Converter.
1369 * CodeSubDirectory.cs (..cctor): fix validator/converters.
1370 (DirectoryName): add note about missing validator decoration.
1372 * HttpModuleAction.cs (..cctor): init properties.
1373 (Properties): return properties.
1375 * CompilationSection.cs (..cctor): fix validator/converters.
1376 (GetInstance): add in this pre-2.0 interface for the time being,
1377 hopefully it'll make it easier to migrate later on.
1379 * HttpHandlerActionCollection.cs (..cctor): init properties.
1380 (Properties): return properties.
1382 * PagesSection.cs (..cctor): fix validator/converters.
1383 (GetInstance): add in this pre-2.0 interface for the time being,
1384 hopefully it'll make it easier to migrate later on.
1386 * HttpHandlersSection.cs (..cctor): init properties.
1387 (Properties): return properties.
1389 * EventMappingSettings.cs (..cctor): fix validator/converters.
1390 (Name): add note about missing validator decoration.
1392 * HttpHandlerAction.cs (..cctor): fix validator/converters.
1393 (PAth, Type, Verb): add note about missing validator decoration.
1395 * NamespaceCollection.cs (..cctor): fix properties.
1397 * ProfilePropertySettingsCollection.cs (..cctor): init properties.
1398 (..ctor): don't throw NIE.
1399 (Properties): return properties.
1401 * HttpModuleActionCollection.cs (..cctor): init properties.
1402 (Properties): return properties.
1404 * CacheSection.cs (..cctor): fix validators/converters.
1405 (PrivateBytesPollTime): add note about missing validator
1408 * AuthorizationRule.cs (..cctor): fix validators/converters.
1409 (Roles, Users, Verbs): enable the TypeConverter decorations.
1411 * UrlMapping.cs (ValidateUrl): static method for use as a
1412 validation callback. unimplemented as yet.
1413 (..cctor): fix validators/converters.
1414 (MappedUrl): add note about missing validator decoration.
1416 * PropertyHelper.cs: static utility class which contains
1417 references to validators and converters for use in static
1418 constructors (building the Properties arrays).
1420 2005-11-23 Chris Toshok <toshok@ximian.com>
1422 * MachineKeyValidationConverter.cs: new converter (and a pretty
1423 silly one, considering all it seems to do is convert "TripleDES"
1426 * HostingEnvironmentSection.cs (.cctor): use
1427 PositiveTimeSpanValidator like MS does.
1429 2005-11-18 Chris Toshok <toshok@ximian.com>
1431 * HostingEnvironmentSection.cs (.cctor): add validators.
1433 * CompilationSection.cs (.cctor): fix defaultvalue of
1436 2005-11-18 Chris Toshok <toshok@ximian.com>
1438 * SystemWebSectionGroup.cs: enable a whole slew of properties.
1440 * RegexWorker.cs: stub this out.
1442 * HttpCapabilitiesBase.cs: remove GetClrVersions since it's in one
1443 of the other partial files.
1445 * CompilationSection.cs: fix this up.
1447 * PagesSection.cs: fix some types and add a comment to
1450 * CompilerCollection.cs (Add): new internal method.
1452 * ProvidersHelper.cs: put the using System.Configuration.Provider
1453 inside the NET_2_0 block.
1455 * CacheSection.cs: add validators.
1457 2005-11-14 Chris Toshok <toshok@ximian.com>
1459 * BufferModeSettings.cs: add validators/converters to the
1460 programmatic property list.
1462 * BuildProvider.cs: add validators/converters to the programmatic
1463 property list, and add an internal ctor with no args.
1465 * Compiler.cs: wrap the code i hacked from the 1.1 stuff with a
1468 * BuildProviderCollection.cs (CreateNewElement): use the internal
1469 BuildProvider ctor to get around validation.
1471 * AssemblyCollection.cs: same.
1473 2005-11-14 Chris Toshok <toshok@ximian.com>
1475 * TagPrefixCollection.cs (Remove): pass the key to BaseRemove.
1476 (set_Item (int index)): implement.
1478 * TagPrefixInfo.cs (Equals): implement.
1479 (GetHashCode): implement.
1481 * AuthorizationRuleCollection.cs (CreateNewElement(string)):
1482 implement propertly.
1483 (IndexOf): implement.
1484 (IsElementName): implement.
1485 (ElementName): implement.
1486 (Item (int index)): implement.
1488 * FormsAuthenticationUserCollection.cs (set_Item (int index)): implement.
1490 * UrlMappingCollection.cs (set_Item (int index)): implement.
1492 * OutputCacheProfileCollection.cs (set_Item (int index)): implement.
1494 * TransformerInfo.cs (Equals): implement.
1495 (GetHashCode): implement.
1497 * NamespaceInfo.cs (Equals): implement.
1498 (GetHashCode): implement.
1500 * ProfileSettingsCollection.cs (set_Item (int index)): implement.
1502 * TransformerInfoCollection.cs (set_Item (int index)): implement.
1504 * HttpHandlerActionCollection.cs (set_Item (int index)): implement.
1506 * BufferModesCollection.cs (set_Item (int index)): implement.
1508 * BuildProvider.cs: use the base[fooProp] pattern instead of
1511 * ProfileGroupSettingsCollection.cs: implement most of this class.
1513 * RuleSettingsCollection.cs (set_Item (int index)): implement.
1515 * ClientTargetCollection.cs (set_Item (int index)): implement.
1517 * AssemblyCollection.cs (set_Item (int index)): implement.
1519 * BuildProviderCollection.cs (set_Item (int index)): reformat.
1521 * CustomError.cs (Equals): implement.
1522 (GetHashCode): implement.
1524 * ExpressionBuilderCollection.cs (set_Item (int index)): reformat.
1526 * PassportAuthentication.cs (RedirectUrl): express consternation
1529 * NamespaceCollection.cs (set_Item (int index)): implement.
1531 * RootProfilePropertySettingsCollection.cs (SerializeElement): add
1534 * ProfilePropertySettingsCollection.cs (set_Item (int index)):
1537 * CustomErrorCollection.cs (set_Item (int index)): implement.
1539 * HttpModuleActionCollection.cs (set_Item (int index)): implement.
1541 * CodeSubDirectoriesCollection.cs (set_Item (int index)):
1544 * CustomErrorsSection.cs (DeserializeSection): include call to
1545 base.DeserializeSection, and add MonoTODO.
1547 * EventMappingSettingsCollection.cs (set_Item (int index)):
1550 * AuthorizationRule.cs (Equals): implement.
1551 (GetHashCode): implement.
1552 (SerializeElement): add comment.
1554 * TagMapCollection.cs (Remove): pass the key to BaseRemove.
1555 (set_Item (int index)): implement.
1557 * TagMapInfo.cs (Equals): implement.
1558 (GetHashCode): implement.
1559 (SerializeElement): add call to base.SerializeElement.
1561 * TrustLevelCollection.cs (Remove): pass the key to BaseRemove.
1562 (GetElementKey): implement.
1564 * SqlCacheDependencyDatabase.cs (set_Item (int index)): implement.
1566 * WebContext.cs: new implementation.
1568 2005-11-13 Chris Toshok <toshok@ximian.com>
1570 * AnonymousIdentificationSection.cs: rework this class a bit to
1571 fit in with the rest of S.W.C. Add validators to the
1572 ConfigurationProperty ctor calls, a pattern which will need to be
1573 replicated across the entire assembly, it appears (uggggh).
1575 2005-11-13 Chris Toshok <toshok@ximian.com>
1577 * AuthorizationRuleCollection.cs: fix ConfigurationCollection
1580 * TransformerInfo.cs: fix corcompare.
1582 * SqlCacheDependencyDatabase.cs: mark ctor internal to fix
1585 * AuthenticationSection.cs: add missing Reset stub.
1587 * ProfileSettingsCollection.cs: use the more succint ctor.
1589 * FormsAuthenticationUser.cs: enable the TypeConverter on "name".
1591 * GlobalizationSection.cs: fix up corcompare.
1593 * WebPartsSection.cs: fix up corcompare.
1595 * ProfileGroupSettingsCollection.cs: add missing
1596 ConfigurationCollection attribute.
1598 * ExpressionBuilder.cs: implement.
1600 * FormsAuthenticationCredentials.cs: fix up corcompare.
1602 * AssemblyCollection.cs: implement Properties.
1604 * SiteMapSection.cs: implement Properties.
1606 * ExpressionBuilderCollection.cs: fix up corcompare.
1608 * ProfileSettings.cs: add missing ctor.
1610 * PassportAuthentication.cs: new implementation.
1612 * SqlCacheDependencySection.cs: fix up corcompare.
1614 * ProfilePropertySettingsCollection.cs: fix up corcompare.
1616 * HttpModuleActionCollection.cs: fix up corcompare.
1618 * EventMappingSettingsCollection.cs: fix up corcompare.
1620 * AuthorizationRule.cs: fix up corcompare.
1622 * WebControlsSection.cs: fix up corcompare.
1624 * AuthorizationSection.cs: fix up corcompare.
1626 * MembershipSection.cs: clean this up, implement Properties, fix
1629 2005-11-13 Chris Toshok <toshok@ximian.com>
1631 * UrlMapping.cs, CustomErrorCollection.cs, CustomError.cs,
1632 HostingEnvironmentSection.cs, TrustLevel.cs,
1633 HttpCookiesSection.cs, UrlMappingsSection.cs,
1634 UrlMappingCollection.cs, LowerCaseStringConverter.cs,
1635 RoleManagerSection.cs, ProcessModelSection.cs,
1636 TrustLevelCollection.cs, ClientTarget.cs, CustomErrorsSection.cs,
1637 MachineKeySection.cs, SessionPageStateSection.cs,
1638 SessionStateSection.cs, ProvidersHelper.cs,
1639 ClientTargetCollection.cs, SecurityPolicySection.cs,
1640 HttpCapabilitiesBase.cs, ClientTargetSection.cs: Another large
1644 2005-11-12 Chris Toshok <toshok@ximian.com>
1646 * AuthorizationRuleCollection.cs, AuthorizationRule.cs,
1647 AuthorizationSection.cs, BufferModesCollection.cs,
1648 BufferModeSettings.cs, CacheSection.cs, CompilerCollection.cs,
1649 Compiler.cs, DeploymentSection.cs,
1650 EventMappingSettingsCollection.cs, EventMappingSettings.cs,
1651 GlobalizationSection.cs, HealthMonitoringSection.cs,
1652 IdentitySection.cs, OutputCacheProfileCollection.cs,
1653 OutputCacheProfile.cs, OutputCacheSection.cs,
1654 OutputCacheSettingsSection.cs, ProfileSettingsCollection.cs,
1655 ProfileSettings.cs, RuleSettingsCollection.cs, RuleSettings.cs,
1656 SqlCacheDependencyDatabaseCollection.cs,
1657 SqlCacheDependencyDatabase.cs, SqlCacheDependencySection.cs,
1658 SystemWebCachingSectionGroup.cs, TraceSection.cs,
1659 TransformerInfoCollection.cs, TransformerInfo.cs, TrustSection.cs,
1660 WebControlsSection.cs, WebPartsPersonalizationAuthorization.cs,
1661 WebPartsPersonalization.cs, WebPartsSection.cs,
1662 XhtmlConformanceSection.cs: a whole slew of new classes. the
1663 fruits of tons of c&p and ibuprofen.
1666 2005-11-09 Chris Toshok <toshok@ximian.com>
1668 * PagesSection.cs, AuthenticationSection.cs, BuildProvider.cs,
1669 BuildProviderCollection.cs, HttpHandlerActionCollection.cs,
1670 HttpModulesSection.cs, HttpModuleAction.cs,
1671 HttpModuleActionCollection.cs, AnonymousIdentificationSection.cs,
1672 CodeSubDirectory.cs, CodeSubDirectoriesCollection.cs,
1673 SystemWebSectionGroup.cs, SiteMapSection.cs,
1674 WebConfigurationManager.cs: flesh out the implementation.
1676 * TagMap*.cs, TagPrefix*.cs: new implementation.
1678 * FormsAuthentication*.cs: new implementation.
1680 * Profile*.cs: new implementation.
1682 * Namespace*.cs: new implementation.
1684 * HttpRuntimeSection.cs: new implementation.