1 2010-04-09 Marek Habersack <mhabersack@novell.com>
3 * WebConfigurationManager.cs: GetSection properly processes paths
4 of form '~'. Fixes bug #595140. Patch from Adriaan van Kekem
5 <avkekem@hotmail.com>, thanks!
7 2010-04-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
9 * GlobalizationSection.cs: use WebName instead of EncodingName.
11 2010-03-06 Marek Habersack <mhabersack@novell.com>
13 * WebConfigurationManager.cs: do not use Request.Path - it may
14 fail because of invalid web.config file, use
15 Request.PathNoValidation instead.
17 * VersionConverter.cs: added
19 * PropertyHelper.cs: added a Version converter helper.
21 * HttpRuntimeSection.cs: added 4.0 properties -
22 RequestPathInvalidCharacters, RequestValidationType and
23 RequestValidationMode.
25 2010-02-23 Marek Habersack <mhabersack@novell.com>
27 * SessionStateSection.cs: implemented 4.0 properties -
28 CompressionEnabled and SqlConnectionRetryInterval
30 2010-02-12 Marek Habersack <mhabersack@novell.com>
32 * WebConfigurationHost.cs: implemented {Encrypt,Decrypt}Section
34 2010-01-20 Marek Habersack <mhabersack@novell.com>
36 * OutputCacheSection.cs: implemented the Providers and
37 DefaultProviderName 4.0 properties.
39 2010-01-09 Marek Habersack <mhabersack@novell.com>
41 * WebConfigurationManager.cs: GetSection properly handles looking
42 up and caching of <location> instances. Part of fix for bug
45 * WebConfigurationHost.cs: GetConfigPathFromLocationSubPath
46 calculatesthe path relative to the current config file path. Part
47 of fix for bug #568441
49 2009-12-02 Marek Habersack <mhabersack@novell.com>
51 * CompilationSection.cs: added two properties -
52 OptimizeCompilations (3.5+) and TargetFramework (4.0+)
54 2009-11-19 Marek Habersack <mhabersack@novell.com>
56 * WebConfigurationHost.cs: IsDefinitionAllowed now normalizes the
57 passed configuration path, so that MachineToApplication sections
59 * WebConfigurationManager.cs: use an rw lock to protect access to
60 sectionCache. This is now necessary as the save handler clears the
63 2009-11-10 Marek Habersack <mhabersack@novell.com>
65 * WebConfigurationManager.cs: path passed to OpenWebConfiguration
66 from GetSection does not come from FindWebConfig.
68 2009-11-09 Marek Habersack <mhabersack@novell.com>
70 * WebConfigurationManager.cs: there's no need to cache sections by
71 _file_ path - using section name and web.config path is more than
72 enough and it reduces the number of cache entries
73 considerably. Fixes bug #550730
75 2009-10-07 Marek Habersack <mhabersack@novell.com>
77 * WebConfigurationManager.cs: GetSection doesn't perform string +
78 char + string concatenation to generate section cache key (by
79 Gonzalo Paniagua Javier) which gives an enormous performance boost
80 (processing time for mojoportal's default.aspx went down from
81 2.65s to 107ms on average). The key generation is performed
82 without any kind of string operation right now (except for
83 GetHashCode on 3 strings).
84 GetSectionCacheKey is called only once and sectionCache became a
87 2009-08-20 Marek Habersack <mhabersack@novell.com>
89 * WebConfigurationManager.cs: GetSection does not use
90 FindWebConfig to get the virtual path to open configuration for -
91 doing so would make the configuration system ignore <location>
92 sections. Fixes bug #482181
94 2009-07-23 Gonzalo Paniagua Javier <gonzalo@novell.com>
96 * WebConfigurationManager.cs: avoid possible infinite loop when the
97 path starts with ~ and 1 file check.
99 2009-07-15 Marek Habersack <mhabersack@novell.com>
101 * WebConfigurationManager.cs: another approach to suppressing
102 application reloads after the app writes to its root web.config
103 file. Leaving the previous code in place to get more
104 protection. It's a kludge, but it's the best option to avoid
105 all the races caused by System.Configuration+FileSystemWatcher
106 without rewriting large parts of System.Configuration (and
107 System.Web.Configuration). Fixes bug #522017
109 2009-07-14 Marek Habersack <mhabersack@novell.com>
111 * WebConfigurationManager.cs: added support for suppressing
112 application reload when the main config file is written to from
115 * WebConfigurationHost.cs: added minimal implementation of
116 WriteCompleted, which checks if there's need to suppress
119 2009-07-13 Marek Habersack <mhabersack@novell.com>
121 * ProvidersHelper.cs: InstantiateProvider doesn't have to
122 explicitly look for types in App_Code assemblies - this is done in
123 HttpApplication.LoadType.
125 2009-07-09 Gonzalo Paniagua Javier <gonzalo@novell.com>
127 * WebConfigurationHost.cs: null means MachineToApplication.
128 * WebConfigurationManager.cs: when caching configuration and sections,
129 use the configuration file directory instead of the incoming request
132 2009-06-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
134 * HttpHandlerAction.cs: fix path matching when the pattern has more
137 2009-06-05 Marek Habersack <mhabersack@novell.com>
139 * WebConfigurationManager.cs: OpenWebConfiguration caches
140 configurations with a key generated from all the parameters passed
141 to it, not just from path.
142 Added internal GetSection method which takes HttpContext as its
143 third parameter - used in calling OpenWebConfiguration.
144 FindWebConfig is no longer used in GetSection - it breaks handling
145 of <location> elements in config files. Fixes bug #510302
147 2009-06-03 Marek Habersack <mhabersack@novell.com>
149 * MonoSettingsSection.cs: added new property,
150 verificationCompatibility, which serves the same purpose as the
151 registry key described in http://support.microsoft.com/kb/932552
152 (when set to 1 it turns off virtual path validity
153 verification). Fixes bug #509163
155 2009-05-14 Marek Habersack <mhabersack@novell.com>
157 * HttpHandlersSection.cs: if we're matching a default handler,
160 2009-04-03 Marek Habersack <mhabersack@novell.com>
162 * WebConfigurationManager.cs: added code in the static constructor
163 to enable retrieving application settings via
164 ApplicationSettingsBase from within asp.net applications. Fixes
167 * ApplicationSettingsConfigurationFileMap.cs: added.
169 2009-03-12 Dean Brettle <dean@brettle.com>
171 * nBrowser/Build.cs: made Browser() method thread-safe and moved the
172 actual tree creation to a private InitializeTree() method for clarity.
174 2009-03-01 Marek Habersack <mhabersack@novell.com>
176 * WebConfigurationManager.cs: optimized GetWebApplicationSection a
179 2009-02-28 Marek Habersack <mhabersack@novell.com>
181 * WebConfigurationManager.cs: make sure no nrex happens in
182 GetSectionCacheKey ()
184 2009-02-26 Gonzalo Paniagua Javier <gonzalo@novell.com>
186 * WebConfigurationManager.cs: generate a hash from the string hsah
187 codes instead of concatenating them.
189 2009-01-27 Marek Habersack <mhabersack@novell.com>
191 * HttpHandlerAction.cs: removed the matches cache, it doesn't
192 improve matters here in 99% of the cases.
193 Regexps are no longer used to match handler paths, SearchPattern
196 2009-01-26 Marek Habersack <mhabersack@novell.com>
198 * WebConfigurationHost.cs: when an attempt to map a fake virtual
199 path is made, MapPath returns the aplication physical root
200 directory. Fixes bug #463950
202 2008-01-09 Dean Brettle <dean@brettle.com>
204 * nBrowser/Node.cs: Fixed compatibility bug where <identification> sections were required
207 2009-01-09 Marek Habersack <mhabersack@novell.com>
209 * WebConfigurationManager.cs: do not normalize the path in
210 FindWebConfig when getting the virtual directory.
212 2009-01-08 Marek Habersack <mhabersack@novell.com>
214 * WebConfigurationManager.cs: improve performance of
217 2009-01-07 Marek Habersack <mhabersack@novell.com>
219 * HttpModulesSection.cs: allow for modules with non-public
220 constructors. Fises bug #463971
222 * HttpHandlerAction.cs: allow for handlers with non-public
223 constructors. Fixes bug #463971
225 2008-12-24 Marek Habersack <mhabersack@novell.com>
227 * WebConfigurationManager.cs: A better version of the previous
228 GetSection fix. Right now the method searches for directories
229 containing web.config and uses them, if found, to open the web
230 configuration. If no web.config is found, web configuration is
231 opened for the root application directory.
233 * WebConfigurationHost.cs: made GetWebConfigFileName internal
234 static, so that code can be reused from WebConfigurationManager.
236 2008-12-23 Marek Habersack <mhabersack@novell.com>
238 * WebConfigurationManager.cs: GetSection should call
239 OpenWebConfiguration using the actual directory path, not a file
240 path. If it fails to do so, System.Configuration may treat the
241 top-level Web.config file as a child one which, in turn, in
242 certain circumstances will lead to duplicate keys inserted in
245 2008-12-16 Marek Habersack <mhabersack@novell.com>
247 * WebConfigurationHost.cs: IsDefinitionAllowed should treat
248 configPath == "~" as the root application path.
250 2008-12-12 Owen Brady <Ocean@owenbrady.net>
252 * nBrowser/File.cs, nBrowser/Identification.cs, nBrowser/Node.cs, nBrowser/NodeTypes.cs,
253 nBrowser/Result.cs, nBrowser/Build.cs, nBrowser/Exception.cs, CapabilitiesBuild.cs,
254 CapabilitiesResult.cs: Updated Copyright information to include updated contact information.
256 * nBrowser/Build.cs: Removed LoadDefaultEmbeddedResource function, the embeded resource
257 it is referring too was never included in Mono. And was designed for a free standing
258 browser identification libary.
260 * nBrowser/Exception.cs: Removed Compile Attributes and related comments which were left
261 in from the original free standing browser libary.
263 * CapabilitiesBuild.cs: Removed Header Checksum related coding since it is not required
264 for the Mono implementation.
266 * CapabilitiesResult.cs: Updated Copyright information to include updated contact information.
267 Removed functions which were designed to make use of features of a embeded browser file which
268 is not present in Mono.
270 * CapabilitiesChecksum.cs, RandomRoboBotKeywords.txt: Deleted
271 2008-10-21 Marek Habersack <mhabersack@novell.com>
273 * CapabilitiesChecksum.cs: implement Hex and MapToHex more efficiently.
275 2008-10-09 Marek Habersack <mhabersack@novell.com>
277 * MonoSettingsSection.cs: added - a section for mono-specific
280 2008-10-01 Marek Habersack <mhabersack@novell.com>
282 * CapabilitiesResult.cs: added support for the "browsers"
283 capability - a collection of matching browser ids.
285 * nBrowser/Node.cs: store matching browser ids in the capabilities
286 collection (to support IsBrowser correctly)
288 2008-07-25 Dean Brettle <dean@brettle.com>
290 * nBrowser/Node.cs nBrowser/Build.cs nBrowser/Identification.cs: Fixed race
291 condition in Node.Process() by removing mutating functions from Identification
292 and changing Node.Process() and Node.BrowserIdentification() to maintain
293 state in a List<Match> instead of a List<Identification>.
295 * nBrowser/Node.cs: Fixed race condition associated with lookup of adapter
298 * nBrowser/Node.cs: Removed duplicate call to Node.BrowserIdentification() from
301 * nBrowser/Node.cs: Removed duplicate call to Result.AddAdaper() from Node.Process().
303 * nBrowser/Node.cs: Fixed bug where capabilities containing literal $ or % were
306 * nBrowser/Node.cs: Fixed bug where capabilities with multiple $ substitutions only
309 2008-06-30 Zoltan Varga <vargaz@gmail.com>
311 * CapabilitiesResult.cs: Make the RandomRoboBotKeywords array static and compute it
314 2008-06-30 Marek Habersack <mhabersack@novell.com>
316 * CompilationSection.cs: hush the warnings
318 2008-06-26 Zoltan Varga <vargaz@gmail.com>
320 * nBrowser/Node.cs nBrowser/Result.cs: Avoid looking up adapter types names for
321 every request in every assembly.
323 2008-05-22 Marek Habersack <mhabersack@novell.com>
325 * WebConfigurationHost.cs: changed CreateDeprecatedConfigContext
326 to return a new HttpContext object. This is part of a fix for bug
327 #325128. Patch contributed by James Fitzsimons <james.fitzsimons@gmail.com>,
330 2008-05-07 Marek Habersack <mhabersack@novell.com>
332 * RoleManagerSection.cs: use type converter when creating the
333 cookieTimeout property in the static constructor. Fixes bug
334 #387526. Patch fromIvan Hamilton <ivan@chimerical.com.au>, thanks!
336 2008-03-23 Dean Brettle <dean@brettle.com>
338 * CapabilitiesBuild.cs (Process), ICapabilitiesProcess.cs (Process),
339 nBrowser/Build.cs (Process): Added initialCapabilities argument to
340 facilitate using browscap.ini capabilities.
342 * CapabilitiesResult.cs (ctor), nBrowserResult.cs (ctor): Change
343 items arg to IDictionary to facilitate using browscap.ini capabilities.
345 * nBrowser/Node.cs (Reset): Removed code which checked prohibited
346 non-alphanumerics in id attributes because .NET is not that strict.
348 * nBrowser/Node.cs (MergeFrom): Fixed NullReferenceExceptions that
349 occurred when the source or destination node did not have any
350 capabilities or adapters.
352 * nBrowser/Result.cs (AddAdapter): Fixed to allow types in other
355 2008-03-09 Dean Brettle <dean@brettle.com>
357 * nBrowser/Result.cs, nBrowser/NodeTypes.cs, nBrowser/Identification.cs,
358 nBrowser/File.cs, nBrowser/Build.cs, nBrowser/Node.cs,
359 nBrowser/Exception.cs: added. The code under nBrowser handles *.browser
360 files. It is based on Owen "Ocean" Brady's code, with the following
361 changes and improvements. Replaced Result.Adapter
362 property with AdapterTypeMap property which maps control Type to adapter
363 Type. Added Result.MarkupTextWriter property. Added overrides for
364 Result.GetAdapters and Result.GetTagWriter to return MarkupTextWriter
365 and AdapterTypeMap, resp. Changed tree building algorithm to not
366 depend on nodes with id="Default" and to inject defaultBrowser nodes
367 as parents of regular nodes with the same ids. Changed Node.cs to use
368 Item instead of Add when adding a capability or sample header, so that
369 values get replaced instead of appended. Added support for reference
370 nodes (ie. nodes with refID="someID").
372 * CapabilitiesResult.cs: load RandomRoboBotKeywords.txt resource
373 using the correct name.
375 * RandomRoboBotKeywords.txt: added
377 * HttpCapabilitiesBase.cs (CreateHtmlWriter, Adapters): Added
378 support for *.browsers. Adapters property calls internal virtual
379 GetAdapters() method which is overrided in nBrowser.Result
380 returned by nBrowser code. CreateHtmlWriter uses type specified
381 by TagWriter property.
383 2008-03-03 Vladimir Krasnov <vladimirk@mainsoft.com>
385 * ProvidersHelper.cs: fixed thread safety issue in InstantiateProvider
387 2008-03-01 Marek Habersack <mhabersack@novell.com>
389 * WebConfigurationManager.cs: SettingsMappingManager has been
390 moved to Mono.Web.dll
392 2008-02-28 Marek Habersack <mhabersack@novell.com>
394 * HttpHandlerAction.cs: ignore case when matching handler
395 paths. Fixes bug #364995
397 2008-02-26 Marek Habersack <mhabersack@novell.com>
399 * BuildProviderCollection.cs: be case-insensitive when looking for
402 2008-02-25 Marek Habersack <mhabersack@novell.com>
404 * WebConfigurationManager.cs: hashtable can contain a key with a
405 null value, avoid adding duplicate keys in such cases.
407 2008-02-18 Vladimir Krasnov <vladimirk@mainsoft.com>
409 * WebConfigurationManager.cs: performance improvement, cached
412 2008-02-07 Vladimir Krasnov <vladimirk@mainsoft.com>
414 * GlobalizationSection.cs: fixed GetSanitizedCulture, performance
417 2008-02-05 Marek Habersack <mhabersack@novell.com>
419 * CompilerCollection.cs: Get (string language) should not use
420 BaseGet as our collection is keyed on a list of language names
421 (e.g. "cs;csharp") and passing a single language won't match in
422 BaseGet correctly. Use the overriden indexer instead.
423 Initialize the base class with the case-insensitive
424 comparer. Fixes bug #357824.
426 2008-01-27 Daniel Nauck <dna@mono-project.de>
428 * HttpHandlerAction.cs: fixed the internal method PathMatches ()
429 removed wrong caching of FileMatchingInfo classes with request specific
430 informations. Now we check against the current request path and cache
431 the result in a dictionary.
432 Also check correctly against all possible paths from the HttpHandler.
435 2007-12-27 Marek Habersack <mhabersack@novell.com>
437 * ProfileGroupSettingsCollection.cs: added an internal method to
438 add/overwrite new group settings. Used from
439 RootProfilePropertySettingsCollection.
441 * ProfileGroupSettings.cs: added the missing "name" property to
442 the properties collection.
443 Marked the propertySettingsProp property as the default
445 Added internal deserialization method, used from
446 RootProfilePropertySettingsCollection to support the 'group'
449 * ProfileSection.cs: defaultProviderProp typo - the name of the
450 provider should be "AspNetSqlProfileProvider"
452 * RootProfilePropertySettingsCollection.cs: added
453 OnDeseerializeUnrecognizedElement to support the profile 'group'
455 Added a missing Unmerge method.
457 2007-12-11 Vladimir Krasnov <vladimirk@mainsoft.com>
459 * SiteMapSection.cs: fixed ProvidersInternal property to be thread safe
461 2007-12-08 Marek Habersack <mhabersack@novell.com>
463 * WebConfigurationManager.cs: GetSection now runs each section
464 through a mapper (if any is defined for the section) before
465 returning it to the caller.
467 2007-11-23 Marek Habersack <mhabersack@novell.com>
469 * TagPrefixCollection.cs: changed the collection type to
472 * ProfileSection.cs: added missing Properties property, added a
473 static constructor to create property descriptors. Use property
474 descriptors in property accessors.
476 * ProfileGroupSettingsCollection.cs: added missing attribute to
477 the class, removed CollectionType method, added missing IsModified
478 and ResetModified methods, added missing Properties property.
480 * ProfileGroupSettings.cs: added missing Properties property,
481 adjusted the set of custom attributes of the PropertySettings
484 * ProcessModelSection.cs: change the default value of the CpuMask
487 * OutputCacheSection.cs: added the EnableKernelCacheForVaryByStar
490 * OutputCacheProfile.cs: added the VaryByContentEncoding property.
492 * FormsAuthenticationConfiguration.cs: corrected defaults for the
495 * ExpressionBuilder.cs: corrected defaults for the
496 ExpressionPrefix and Type properties.
498 * CustomErrorsSection.cs: added two missing overrides -
499 DeserializeSection and Reset.
501 * ClientTargetSection.cs: added the missing Properties property.
502 Added static constructor to create the property collection.
504 * CustomErrorCollection.cs: removed the ThrowOnDuplicate
507 * CacheSection.cs: corrected defaults for the
508 PercentagePhysicalMemoryUsedLimit property.
510 * ClientTargetCollection.cs: added missing Properties property.
512 * IConfigMapPathFactory.cs: added
514 * IConfigMapPath.cs: added
516 * RoleManagerSection.cs: added a static constructor, a collection
517 of properties, the missing Properties property.
519 2007-11-22 Marek Habersack <mhabersack@novell.com>
521 * RoleManagerSection.cs: CookieTimeout property custom attributes
522 changed to match MS.NET's ones.
524 * AuthorizationRuleCollection.cs: removed the ThrowOnDuplicate
525 property - it's not found in the MS.NET version of the class.
527 2007-11-06 Marek Habersack <mhabersack@novell.com>
529 * MachineKeySectionUtils.cs: make sure keys are autogenerated when
532 2007-11-02 Marek Habersack <mhabersack@novell.com>
534 * HttpHandlerActionCollection.cs: clear http handler cache in
535 HttpApplication if the collection is modified.
537 2007-11-01 Marek Habersack <mhabersack@novell.com>
539 * MachineKeySection.cs: moved all the internal static methods and
540 properties to MachineKeySectionUtils.cs
542 * MachineKeySectionUtils.cs: added. This file is included in the
543 System.Web.Extensions compilation.
544 The old properties from MachineKeySection.cs became methods.
546 2007-10-24 Marek Habersack <mhabersack@novell.com>
548 * HttpHandlerAction.cs: exact path matching must be done on the
549 original string in PathMatches, not on the sliced one. Fixes bug
552 2007-10-17 Marek Habersack <mhabersack@novell.com>
554 * WebConfigurationHost.cs: if running outside hosted environment,
555 read only the assemblyname.config configuration file instead of
556 web.config. Fixes bug #332425
558 2007-10-15 Marek Habersack <mhabersack@novell.com>
560 * ProvidersHelper.cs: use HttpApplication.LoadType instead of
563 * HttpModulesSection.cs: use HttpApplication.LoadType when loading
564 modules, to include both the bin/ directory and the top-level
565 assemblies in search. Fixes bug #333686.
567 2007-08-30 Marek Habersack <mhabersack@novell.com>
569 * MachineKeySection.cs: retrieve the keys from the registry before
570 falling back to the old method. Fixes bug #76606
572 2007-08-23 Marek Habersack <mhabersack@novell.com>
574 * ProvidersHelper.cs: HttpApplication.LoadTypeFromPrivateBin
575 renamed to LoadTypeFromBin.
577 2007-08-21 Marek Habersack <mhabersack@novell.com>
579 * ProvidersHelper.cs: use HttpApplication.LoadTypeFromPrivateBin
580 to get the provider settings type.
582 2007-08-10 Gert Driesen <drieseng@users.sourceforge.net>
584 * PagesEnableSessionState.cs: Marked internal on 1.0 profile.
586 2007-07-16 Vladimir Krasnov <vladimirk@mainsoft.com>
588 * ProfileGroupSettingsCollection.cs: added ResetInternal internal
590 * RootProfilePropertySettingsCollection.cs: added Reset method
591 override to reset GroupSettings collection
593 2007-06-24 Vladimir Krasnov <vladimirk@mainsoft.com>
595 * HttpHandlerAction.cs: fixed SplitPaths property to be thread safe
597 2007-06-12 Vladimir Krasnov <vladimirk@mainsoft.com>
599 * CompilationSection.cs: TARGET_JVM on not supported features
600 * HttpModulesSection.cs: ctor should be static
602 2007-06-03 Adar Wesley <adarw@mainsoft.com>
604 * ProfilePropertySettingsCollection.cs: added missing method
605 OnDeserializeUnrecognizedElement.
607 2007-05-30 Marek Habersack <mhabersack@novell.com>
609 * WebConfigurationManager.cs: if errors happen when opening the
610 configuration file, mark the manager as unsafe to prevent further
611 usage and avoid error loops.
613 2007-05-17 Igor Zelmanovich <igorz@mainsoft.com>
615 * WebConfigurationHost.cs: for TARGET_J2EE only:
616 prevent NullRefference Exception.
618 2007-05-15 Igor Zelmanovich <igorz@mainsoft.com>
620 * WebConfigurationManager.cs:
621 make configurations hashtable case-insensitive.
622 * WebConfigurationHost.cs: for TARGET_J2EE only:
623 GetStreamName returns file path in right case, that make it works
624 on case-sensitive file system.
626 2007-05-15 Marek Habersack <mhabersack@novell.com>
628 * BuildProviderCollection.cs: refactoring - use
629 HttpApplication.LoadType to actually look up the type.
631 * HttpHandlerAction.cs: as above
633 * WebConfigurationHost.cs: refactoring - moved the LoadType to
634 HttpApplication to share the code between 1.1 and 2.0 profiles.
636 2007-05-14 Marek Habersack <mhabersack@novell.com>
638 * UrlMappingCollection.cs: implemented the Item (string) indexer.
640 * UrlMapping.cs: implemented the URL validation callback body
641 (doesn't work at the moment).
643 2007-05-14 Igor Zelmanovich <igorz@mainsoft.com>
645 * WebConfigurationManager.cs:
646 make configurations synchronized.
647 added new internal method RemoveConfigurationFromCache.
649 2007-05-07 Marek Habersack <mhabersack@novell.com>
651 * PagesSection.cs: buffering is on by default.
653 2007-04-24 Marek Habersack <mhabersack@novell.com>
655 * WebConfigurationHost.cs: wrap MapPath calls in try/catch,
656 because bad URLs can cause it to throw exceptions. If such
657 exception is caught, throw a HttpException for Bad Request (400).
658 Look for types in the top-level assemblies (App_Code and
661 * WebConfigurationManager.cs: added two internal methods for safe
662 retrieval of config sections.
664 2007-04-19 Marek Habersack <mhabersack@novell.com>
666 * HttpHandlerAction.cs: look up types in all the toplevel
667 assemblies. Fixes bug #80897.
669 2007-04-17 Atsushi Enomoto <atsushi@ximian.com>
671 * ProcessModelSection.cs : cpuMask default value should be int,
674 2007-04-06 Marek Habersack <mhabersack@novell.com>
676 * CustomErrorsSection.cs: make the customErrors section work.
678 * PagesSection.cs: provide appropriate default value for the
679 asyncTimeout setting.
681 2007-03-24 Marek Habersack <mhabersack@novell.com>
683 * WebConfigurationHost.cs: allow MachineToApplication definition
684 for config paths that equal the domain virtual app directory.
686 2007-03-22 Adar Wesley <adarw@mainsoft.com>
688 * HttpCapabilitiesBase.cs: implemented all capabilities. Capabilities
689 still throw if there is no value in browscaps.ini and the property is called.
691 2007-03-21 Vladimir Krasnov <vladimirk@mainsoft.com>
693 * WebConfigurationManager.cs: fixed OpenWebConfiguration, should not
694 lock when checking if configuration is already open
696 2007-03-15 Vladimir Krasnov <vladimirk@mainsoft.com>
698 * WebConfigurationManager.cs: fixed OpenWebConfiguration, removed
699 GetBasePath call and locations search, since this not affects
700 configuration initialization, but improves performance
702 2007-03-12 Marek Habersack <mhabersack@novell.com>
704 * ProvidersHelper.cs: support loading custom providers from
705 App_Code assemblies. Fixes bug #81071.
706 Also set eol-style to native.
708 2007-03-08 Gert Driesen <drieseng@users.souceforge.net>
710 * PagesSection.cs: Revert part of Adar's patch that regresses
713 2007-03-06 Adar Wesley <adarw@mainsoft.com>
715 * PagesSection.cs: improve Enum parsing and strongly typed default values.
717 2007-02-20 Marek Habersack <grendello@gmail.com>
719 * Patch from Gert Driesen <drieseng@users.sourceforge.net>
720 * PagesSection.cs: Process value of EnableSessionState attribute
721 case-sensitive, and perform check in getter. Fix for bug #80913.
722 * PageParser.cs: Added note on difference in behaviour between page
723 level attribute and configuration attribute for enableSessionState.
724 * PagesConfiguration.cs: Fixed compiler warning.
726 2007-02-22 Marek Habersack <grendello@gmail.com>
728 * CompilerCollection.cs: Optimize language lookup a bit.
730 2007-02-05 Konstantin Triger <kostat@mainsoft.com>
732 * TagPrefixCollection.cs: Fix element key creation.
734 2007-02-04 Konstantin Triger <kostat@mainsoft.com>
736 * NamespaceInfo.cs, HttpModuleAction.cs, RoleManagerSection.cs:
737 fix the default value.
739 2007-02-02 Marek Habersack <grendello@gmail.com>
741 * TagPrefixCollection.cs: Add the CollectionType parameter.
742 Get rid of unnecessary interface references in the class declaration.
743 GetElementKey should return Source which should be unique, unlike TagPrefix.
745 2007-01-04 Konstantin Triger <kostat@mainsoft.com>
747 * ProfileSection.cs: Ensure enabled = true by default; cleanup.
749 2006-12-27 Vladimir Krasnov <vladimirk@mainsoft.com>
751 * CustomErrorCollection.cs: fixed ThrowOnDuplicate to false as in .net
753 2006-12-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
755 * GlobalizationSection.cs: make encodings actually work for the 2.0
758 2006-12-21 Marek Habersack <grendello@gmail.com>
760 * TagMapInfo.cs: Add an internal default constructor for use from
763 * TagMapCollection.cs: Don't call the string,string constructor of
764 TagMapInfo - the class disallows empty strings as values of its
767 2006-12-21 Vladimir Krasnov <vladimirk@mainsoft.com>
769 * RoleManagerSection.cs: refactored using attributes
771 2006-12-20 Marek Habersack <grendello@gmail.com>
773 * ProfilePropertyNameValidator.cs: added a few checks.
775 2006-12-18 Vladimir Krasnov <vladimirk@mainsoft.com>
777 * WebConfigurationManager.cs: fixed GetSection to execute
778 GetRuntimeObject, refactored GetSection and GetWebApplicationSection
780 2006-12-17 Vladimir Krasnov <vladimirk@mainsoft.com>
782 * HttpHandlerAction.cs: fixed 'verb' config property
784 2006-12-07 Igor Zelmanovich <igorz@mainsoft.com>
786 * ProvidersHelper.cs: fixed: load assembles from /bin
788 2006-11-22 Miguel de Icaza <miguel@novell.com>
790 * SessionStateSection.cs: Do not call Enum.Parse with a null
791 argument, prevents an exception from being thrown.
793 2006-11-20 Marek Habersack <grendello@gmail.com>
795 * GlobalizationSection.cs: Added support for "auto" cultures and
796 the "auto:DEFAULT_CULTURE" cultures.
798 2006-11-13 Konstantin Triger <kostat@mainsoft.com>
800 * WebConfigurationHost.cs: use Type.GetType for loading full qualified types.
802 2006-11-05 Vladimir Krasnov <vladimirk@mainsoft.com>
804 * ProfileGroupSettings.cs, ProfileGroupSettingsCollection.cs
805 ProfilePropertySettingsCollection.cs, ProfileSection.cs
806 RootProfilePropertySettingsCollection.cs: refactoring and fix of
809 2006-10-18 Marek Habersack <grendello@gmail.com>
811 * WebConfigurationManager.cs: implement support for extra
812 assemblies to be referenced when compiling a page.
814 2006-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
816 * WebConfigurationManager.cs: add null checks. Patch by Marek Habersack
817 that fixes bug #79283.
819 2006-09-06 Konstantin Triger <kostat@mainsoft.com>
821 * WebConfigurationHost.cs: do not recourse as this will be done by
822 Configuration object.
824 2006-08-08 Vladimir Krasnov <vladimirk@mainsoft.com>
826 * WebConfigurationManager.cs: added configSystem property under
828 * WebConfigurationHost.cs: fixed GetStreamName and OpenStreamForRead
830 * CompilationSection.cs: BuildProviders property removed from
832 * SystemWebSectionGroup.cs: Compilation property removed from
835 2006-06-26 Atsushi Enomoto <atsushi@ximian.com>
837 * NullableStringValidator.cs : new internal class that is almost
838 identical to StringValidator but allows null value.
839 * PropertyHelper.cs : use new NullableStringValidator.
840 * NamespaceCollection.cs : in NamespaceInfo "" is not allowed.
842 2006-06-08 Chris Toshok <toshok@ximian.com>
844 * WebConfigurationHost.cs (InitForConfiguration): i know this is
845 going to bite me in the ass, but guard against configPath being ==
846 to "/", since this will result in an infinite loop.
847 (MapPath): fix a NRE.
849 2006-05-18 Atsushi Enomoto <atsushi@ximian.com>
851 * WebConfigurationManager.cs: recent sys.config.dll changes on
852 ConfigurationManager.GetSection() which should call
853 GetRuntimeObject() should also apply here. Fixed monodoc web.
855 2006-05-10 Andrew Skiba <andrews@mainsoft.com>
857 * HttpHandlerAction.cs: keep the internal exception
859 2006-05-08 Chris Toshok <toshok@ximian.com>
861 * WebConfigurationManager.cs (GetBasePath): fix bug where
862 path.Length was 0 when we got to the last while loop (and indexed
863 -1 into an array.) Thanks Marek for the fix.
865 2006-05-04 Chris Toshok <toshok@ximian.com>
869 * WebConfigurationHost.cs (GetConfigType): add a MonoTODO about
870 how we should use the build provider machinery to get types.
871 (MapPath): add rudimentary mapping in the case where we don't have
872 a request, basically handle the case where the url begins with (or
873 is) HttpRuntime.AppDomainAppVirtualPath.
875 * WebConfigurationManager.cs (GetSection): if we don't have a
876 valid request, open the web configuration corresponding to
877 HttpRuntime.AppDomainAppVirtualPath.
878 (GetBasePath): comment this a little, and make it work in the case
879 where we don't have an HttpRequest.
881 2006-04-27 Chris Toshok <toshok@ximian.com>
883 * AuthorizationRuleCollection.cs (ThrowOnDuplicate): for the time
884 being introduce a overridden property MS doesn't make use of.
885 This needs readdressing, but it should get people making use of
886 <authorization> rules working again.
888 2006-04-25 Chris Toshok <toshok@ximian.com>
890 * AuthorizationRule.cs (Reset): finally figure out what this
891 method is supposed to do. Assign our Action property based on
894 2006-04-25 Chris Toshok <toshok@ximian.com>
896 * WebConfigurationHost.cs (InitForConfiguration): actually, use
897 HttpRuntime.AppDomainAppVirtualPath on gonzalo's recommendation.
898 It's never null, and its use cleans things up a bit.
900 2006-04-25 Chris Toshok <toshok@ximian.com>
902 * WebConfigurationHost.cs (InitForConfiguration): stop going up
903 the virtual hierarchy once we reach the application's base virtual
906 2006-04-24 Chris Toshok <toshok@ximian.com>
908 * AuthorizationSection.cs (IsValidUser): fix a problem that
909 surfaced when converting from the 1.1 to 2.0 config classes. Only
910 check for verb match if there are actually verbs to match against.
912 2006-04-11 Chris Toshok <toshok@ximian.com>
914 * ExpressionBuilderCollection.cs (CreateNewElement): call argless
917 * ExpressionBuilder.cs: add internal argumentless ctor for use by
920 2006-03-24 Chris Toshok <toshok@ximian.com>
922 * WebConfigurationManager.cs (GetConfig): add a fallback case for
923 configuration sections that don't subclass from
924 ConfigurationSection.
926 2006-03-24 Chris Toshok <toshok@ximian.com>
928 * WebConfigurationHost.cs: fix bug where OpenWebConfiguration
929 ("/") would result in 2 configurations for that toplevel path to
932 2006-03-08 Chris Toshok <toshok@ximian.com>
934 * ProvidersHelper.cs: implement this static class properly.
936 * SiteMapSection.cs (ProvidersInternal): add internal property to
937 get the actual SiteMapProviderCollection from here.
939 2006-02-28 Chris Toshok <toshok@ximian.com>
941 * BuildProviderAppliesTo.cs, PagesToCountAction.cs: nuke.
943 2006-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
946 * CompilerCollection.cs: removed compatibility code.
948 * BuildProviderCollection.cs: add GetProviderForExtension().
950 2006-02-02 Chris Toshok <toshok@ximian.com>
952 * WebConfigurationManager.cs (GetSection(string,string)):
955 2006-02-01 Atsushi Enomoto <atsushi@ximian.com>
957 * TrustLevelCollection.cs, CodeSubDirectoriesCollection.cs,
958 CustomErrorCollection.cs, CompilerCollection.cs,
959 HttpHandlerActionCollection.cs,
960 FormsAuthenticationUserCollection.cs,
961 AuthorizationRuleCollection.cs, TagPrefixCollection.cs :
962 CollectionType is public.
964 2006-02-01 Chris Toshok <toshok@ximian.com>
966 * WebConfigurationManager.cs: In the normal case, get the current
967 request's web.config, not the application's. If there is no
968 current request, get the application's.
969 (GetWebApplicationConfiguration): use Request.ApplicationPath, not
970 Request.PhysicalApplicationPath. OpenWebConfiguration takes
973 * HttpConfigurationSystem.cs: GetWebApplicationSection =>
976 2006-02-01 Chris Toshok <toshok@ximian.com>
978 * CompilerCollection.cs: CONFIGURATION_2_0 => NET_2_0
982 2006-02-01 Chris Toshok <toshok@ximian.com>
984 * HttpConfigurationSystem.cs: SupportsUserConfig == true. let's
985 use this to determine if ConfigurationManager.AppSettings should
988 2006-01-31 Chris Toshok <toshok@ximian.com>
990 * WebConfigurationManager.cs: err, why did i ifdef stuff NET_2_0
991 inside of an ifdef NET_2_0?
993 2006-01-30 Chris Toshok <toshok@ximian.com>
995 * WebConfigurationManager.cs: lots of little changes. hopefully
996 this doesn't break anyone. it fixes all the nunit problems
999 * WebConfigurationHost.cs (GetStreamName): in the MachineWebPath
1000 case, handle the case where we have a WebConfigurationFileMap.
1001 (MapPath): this is likely wrong, but in the case where we don't
1002 have a file map or current HttpContext, just return the path.
1004 2006-01-29 Chris Toshok <toshok@ximian.com>
1006 * HttpModulesSection.cs (LoadModules): I'm not sure we want to
1007 solve this problem in this way, but the 1.x code forces
1008 DefaultAuthenticationModule to be in the list of modules..
1009 Without this fix (or something else) HttpContext.User is null when
1012 2006-01-26 Chris Toshok <toshok@ximian.com>
1014 * HttpConfigurationSystem.cs: new class that gets sections from
1017 * WebConfigurationManager.cs: change a lot of the
1018 NotImplementedExceptions to NotSupportedExceptions.
1019 (AppSettings): implement by just returning
1020 ConfigurationManager.AppSettings (note this is broken because
1021 ConfigurationManager.AppSettings are read-only, but it works for
1023 (ConnectionStrings): same (and probably broken in the same way..)
1024 (Init): replace the 2.0 IInternalConfigSystem with our
1025 HttpConfigurationSystem.
1027 * WebConfigurationHost.cs: add a comment about how things are
1028 likely to work in the face of IRemoteWebConfigurationHostServer.
1029 (CreateConfigurationContext): return a WebContext instance.
1031 2006-01-25 Chris Toshok <toshok@ximian.com>
1033 * AuthorizationSection.cs (IsValidUser): instead of a blanket
1034 false for a null user, just set the username to "" and short
1035 circuit out the check for roles.
1037 2006-01-25 Chris Toshok <toshok@ximian.com>
1039 * AuthorizationRule.cs (CheckUser): handle * and ?, and use
1040 String.Compare instead of ==.
1041 (CheckVerb): use String.Compare instead of ==.
1043 * AuthorizationSection.cs (IsValidUser): return false for a null
1046 2006-01-22 Chris Toshok <toshok@ximian.com>
1048 * GlobalizationSection.cs (VerifyData): quiet mcs.
1050 2006-01-18 Chris Toshok <toshok@ximian.com>
1052 * SystemWebSectionGroup.cs: wrap System.Web.Services references in
1055 2006-01-16 Chris Toshok <toshok@ximian.com>
1057 * WebConfigurationManager.cs: implement a IConfigurationSystem for
1058 use with WebConfigurationManager.
1059 (GetSection): try to load the section
1060 using GetWebApplicationSection before calling into
1061 ConfigurationManager.GetSection.
1062 (GetWebApplicationConfiguration): move common code to here.
1063 (GetWebApplicationSection): use GetWebApplicationConfiguration.
1064 (AppSettings): implement.
1066 * WebConfigurationHost.cs (GetWebConfigFileName): add
1067 "Web.Config", and move to an array/loop implementation. maybe we
1068 should scan the directory and check ToLower() instead of
1069 explicitly enumerating?
1071 2006-01-10 Chris Toshok <toshok@ximian.com>
1073 * SystemWebSectionGroup.cs (HostingEnvironment): enable this property.
1074 (ProcessModel): add the ConfigurationPropertyAttribute.
1076 2006-01-10 Chris Toshok <toshok@ximian.com>
1078 * PagesSection.cs (.cctor): fix the default value for the
1079 enableSessionState attribute - it's not a bool, but a
1080 PagesEnableSessionState enum.
1082 2006-01-10 Chris Toshok <toshok@ximian.com>
1084 * MachineKeySection.cs (ValidationKeyBytes, DecryptionKeyBytes,
1085 DecryptionKey192Bits): if the keys are null, generate them. Fixes
1086 Page.EnableViewStateMac support.
1088 2006-01-09 Chris Toshok <toshok@ximian.com>
1090 * RoleManagerSection.cs, SqlCacheDepencendySection.cs,
1091 SessionStateSection.cs, TraceSection.cs, SecurityPolicySection.cs,
1092 PagesSection.cs, RulesSettings.cs, UrlMappingSection.cs: fix
1095 2006-01-09 Chris Toshok <toshok@ximian.com>
1097 * ExpressionBuilderCollection.cs (.cctor): no need to create a
1098 collection property here. we're already in the collection.
1100 * CompilationSection.cs: fix typo.
1102 2006-01-04 Chris Toshok <toshok@ximian.com>
1104 * MachineKeySection.cs: bring over some more internal methods from
1105 MachineKeyConfig, and call Set{Decryption,Validation}Key from
1106 their respective property setters.
1108 2006-01-03 Chris Toshok <toshok@ximian.com>
1110 * AuthorizationSection.cs (IsValidUser): add analogous method from
1111 AuthorizationConfig.cs.
1113 * AuthorizationRule.cs: add predicates for Verb, User, and Role
1114 analogous to what existed in AuthorizationConfig.cs.
1116 2005-12-11 Chris Toshok <toshok@ximian.com>
1118 * WebConfigurationManager.cs (OpenMachineConfiguration): just call
1119 ConfigurationManager.OpenMachineConfiguration.
1120 (OpenWebConfiguration): remove the "IntPtr userToken" version and
1121 add a "string userName" version to clean up corcompare output.
1122 Modify all the overloads to pass null instead of IntPtr.Zero.
1123 (GetWebApplicationSection): if we're not running in a web
1124 application, use the machine configuration.
1126 2005-12-06 Chris Toshok <toshok@ximian.com>
1128 * CodeSubDirectory.cs (DirectoryName): don't use an private field,
1129 but base[directoyNameProp].
1131 * AuthorizationRuleCollection.cs (Add): use BaseAdd (rule, false),
1132 so we can insert duplicates.
1134 (GetElementKey): MS for some reason just uses the action for the
1136 (Remove): pass the correct key.
1138 * ProfileGroupSettings.cs (GetHashCode): implement.
1140 * GlobalizationSection.cs (GetEncoding): for the utf-8 case, just
1143 * AssemblyCollection.cs (Add): use BaseAdd (info, false) so we can
1146 * CacheSection.cs (.cctor): make privateByteLimit's default 0L so
1147 we don't get a invalid cast exception later on.
1149 * AuthorizationRule.cs (VerifyData): split out the verification
1150 foo from PreSerialize.
1151 (PostDeserialize): so we can call it from here.
1152 (PreSerialize): and here.
1154 2005-12-05 Chris Toshok <toshok@ximian.com>
1156 * AuthorizationRuleCollection.cs (GetKey): split out the logic for
1157 creating a key from a rule here.
1158 (GetElementKey): use it here.
1161 2005-12-04 Chris Toshok <toshok@ximian.com>
1163 * UrlMapping.cs: add an internal argument-less ctor.
1165 * UrlMappingCollection.cs (CreateNewElement): use argument-less
1167 (GetKey): implement.
1168 (AllKeys): implement.
1170 * TrustLevel.cs: add an internal argument-less ctor.
1172 * TrustLevelCollection.cs (Set): implement.
1173 (CreateNewElement): use argument-less ctor.
1174 (IsElementName): implement.
1175 (ElementName): implement.
1176 (set_Item (int index)): use Set.
1177 (ThrowOnDuplicate): implement.
1179 * TagPrefixInfo.cs: add internal argument-less ctor.
1181 * TagPrefixCollection.cs (CreateNewElement): call argument-less
1183 (CollectionType): add text to TODO.
1184 (ElementName): implement.
1186 * SqlCacheDependencyDatabaseCollection.cs (Set): implement.
1187 (AllKeys): implement.
1189 * RuleSettings.cs: add internal argument-less ctor.
1191 * RuleSettingsCollection.cs (Contains): implement.
1192 (CreateNewElement): use argument-less ctor.
1193 (IndexOf): implement.
1194 (Insert): implement.
1196 * RootProfilePropertySettingsCollection.cs (IsModified): chain up
1197 to base.IsModified for now.
1198 (Reset): chain up to base.Reset for now.
1199 (ResetModified): chain up to base.ResetModified for now.
1201 * ProfileSettings.cs: add internal argument-less ctor.
1203 * ProfileSettingsCollection.cs (Contains): implement.
1204 (CreateNewElement): use argument-less ctor.
1205 (IndexOf): implement.
1206 (Insert): implement.
1208 * ProfilePropertySettingsCollection.cs (IndexOf): implement.
1210 (AllKeys): implement.
1212 * ProfileGroupSettings.cs: add internal argument-less ctor.
1214 * ProfileGroupSettingsCollection.cs (CreateNewElement): use
1215 parameter-less ctor.
1216 (GetKey): implement.
1217 (ResetModified): for now call base.ResetModified.
1219 (AllKeys): implement.
1221 * OutputCacheProfile.cs: add internal argument-less ctor.
1223 * OutputCacheProfileCollection.cs (CreateNewElement): use
1224 parameter-less ctor.
1226 (AllKeys): implement.
1228 * HttpModuleActionCollection.cs (Add): remove MonoTODO.
1229 (CreateNewElement): same.
1231 * HttpHandlerActionCollection.cs (GetElementKey): build up the key
1232 from both the path and the verb.
1235 * FormsAuthenticationUserCollection.cs (Set): implement.
1236 (AllKeys): implement.
1238 * EventMappingSettings.cs: add an internal argument-less ctor.
1240 * EventMappingSettingsCollection.cs (Contains): implement.
1241 (CreateNewElement): use argument-less ctor.
1242 (IndexOf): implement.
1243 (Insert): implement.
1245 * CompilerCollection.cs (GetKey): implement.
1246 (AllKeys): implement.
1248 * ClientTargetCollection.cs (GetKey): implement.
1249 (AllKeys): implement.
1251 * AuthorizationRuleCollection.cs (Set): implement.
1252 (ElementName): add some text to the MonoTODO.
1253 (set_Item (int index)): use Set.
1255 2005-12-04 Chris Toshok <toshok@ximian.com>
1257 * CustomError.cs: add an internal argument-less ctor for use by
1260 * CustomErrorCollection.cs: implement all the MonoTODO's.
1262 2005-12-02 Chris Toshok <toshok@ximian.com>
1264 * GlobalizationSection.cs (VerifyData): split out the stuff that
1265 used to live in PreSerialize here.
1266 (PreSerialize): call VerifyData here.
1267 (PostDeserialize): and here.
1269 2005-12-01 Chris Toshok <toshok@ximian.com>
1271 * GlobalizationSection.cs (PreSerialize): add checks for Culture
1272 and UICulture properties.
1274 2005-12-01 Chris Toshok <toshok@ximian.com>
1276 * AuthorizationRule.cs (..ctor): provide default values for
1277 roles/users/verbs here. Not sure if we should do this in the ctor
1278 or if the System.Configuration infrastructure should.. time will
1280 (PreSerialize): throw if Roles.Count and Users.Count == 0.
1281 (SerializeElement): write out the element here. don't chain up to
1282 the base class since that has differing behavior than what we
1285 2005-11-30 Chris Toshok <toshok@ximian.com>
1287 * CompilerCollection.cs: ugly hack to fix the
1288 2.0-without-config-2.0 case. wrap this file in #if
1289 CONFIGURATION_2_0 as well as #if NET_2_0.
1291 * Compiler.cs: same.
1293 2005-11-28 Chris Toshok <toshok@ximian.com>
1295 * SessionStateSection.cs (CookieLess): correct the compat function
1298 2005-11-28 Chris Toshok <toshok@ximian.com>
1300 * GlobalizationSection.cs (GetEncoding): if the encoding name is
1301 null, default to utf-8 before we hit the try block, so we don't
1302 throw and generate a spurious warning.
1304 * SessionStateSection.cs: The Cookieless handling needs a custom
1305 parser, it appears, as the converter is a StringConverter, not a
1306 GenericEnumConverter.
1307 (ParseCookieMode): the parser.
1309 2005-11-28 Chris Toshok <toshok@ximian.com>
1311 * PagesSection.cs (GetInstance): nuke.
1313 * CompilationSection.cs (GetInstance): nuke.
1315 2005-11-28 Chris Toshok <toshok@ximian.com>
1317 * HttpHandlerAction.cs: add some c&p code from the 1.1 config
1318 stuff to look for matching handlers.
1319 (..ctor): add parameterless ctor.
1321 * HttpHandlerActionCollection.cs: clean up formatting.
1322 (CreateNewElement): call the parameter-less ctor for
1325 * HttpHandlersSection.cs (..ctor): add a ConfigurationProperty for
1326 the default collection.
1327 (get_Handlers): implement.
1328 (LocateHandler): copy over (and massage) some 1.1 config code.
1330 * MachineKeySection.cs: move some code over from the 1.1 config
1331 code to deal with autogeneration of keys, as well as converting
1332 from the string rep to the byte[] rep.
1334 2005-11-28 Chris Toshok <toshok@ximian.com>
1336 * HttpModuleActionCollection.cs (CreateNewElement): use the new
1337 HttpModuleAction ctor.
1339 * HttpModuleAction.cs: add internal ctor with no parameters, for
1340 use in HttpModuleActionCollection.
1342 2005-11-28 Chris Toshok <toshok@ximian.com>
1344 * GlobalizationSection.cs (..cctor): the encoding
1345 ConfigurationProperties are of type "string", even though the
1346 properties themselves are of type Encoding. we do conversions
1347 manually in the setter/getters. gross. Add code (mostly c&p +
1348 massaged from GlobalizationConfigurationHandler) for this and also
1349 to handle the culture gettes.
1351 2005-11-26 Chris Toshok <toshok@ximian.com>
1353 * AuthorizationRuleCollection.cs (GetElementKey): implement this.
1355 * ProfilePropertyNameValidator.cs: make this internal, and add a
1356 blurb about how MS doesn't do the testing you'd expect them to.
1358 2005-11-25 Chris Toshok <toshok@ximian.com>
1360 * AuthorizationRuleCollection.cs (CreateNewElement): remove
1363 * CompilationSection.cs (GetRuntimeObject): add comment to TODO.
1365 * ProfileGroupSettings.cs: reformat some things.
1367 * FormsAuthenticationUser.cs (Name): remove MonoTODO.
1369 * WebPartsSection.cs (GetRuntimeObject): change TODO comment.
1371 * ProfilePropertySettings.cs: add internal argument-less ctor.
1373 * IdentitySection.cs (GetRuntimeObject): return this.
1375 * ProfilePropertySettingsCollection.cs: implement much of the
1378 * WebControlsSection.cs (GetRuntimeObject): implement.
1380 * SqlCacheDependencyDatabaseCollection.cs (GetElementKey):
1382 (GetKey): implement.
1384 2005-11-24 Chris Toshok <toshok@ximian.com>
1386 * AssemblyInfo.cs: move this here from System.Web.Configuration,
1387 and fix up the properties.
1389 * SystemWebSectionGroup.cs: enable most of the sections (2
1390 remaining to be enabled.)
1392 2005-11-24 Chris Toshok <toshok@ximian.com>
1394 * ProcessModelSection.cs, SqlCacheDependencySection.cs,
1395 SessionStateSection.cs, PassportAuthentication.cs,
1396 FormsAuthenticationConfiguration.cs,
1397 SqlCacheDependencyDatabase.cs, HttpModuleAction.cs,
1398 BufferModeSettings.cs, TagPrefixInfo.cs (..cctor): init
1400 (ValidateElement): new static validator callback.
1401 (ElementProperty): enable this, return elementProperty.
1403 2005-11-23 Chris Toshok <toshok@ximian.com>
1405 * ProfilePropertyNameValidator.cs: new implementation.
1407 * ProfilePropertySettings.cs, ProfileGroupSettings.cs,
1408 ClientTargetSection.cs, ClientTargetSection.cs,
1409 BufferModeSettings.cs, HttpModulesSection.cs,
1410 WebPartsPersonalization.cs, TransformerInfo.cs, TrustLevel.cs,
1411 NamespaceInfo.cs, SqlCacheDependencyDatabase.cs,
1412 AuthenticationSection.cs, RuleSettings.cs,
1413 FormsAuthenticationUser.cs, WebPartsSection.cs, BuildProvider.cs,
1414 WebPartsPersonalizationAuthorization.cs, Compiler.cs,
1415 ExpressionBuilder.cs, OutputCacheProfile.cs,
1416 FormsAuthenticationCredentials.cs, XhtmlConformanceSection.cs,
1417 OutputCacheSettingsSection.cs, CustomError.cs, TraceSection.cs,
1418 ExpressionBuilderCollection.cs, ProfileSettings.cs,
1419 SessionStateSection.cs, HealthMonitoringSection.cs,
1420 FormsAuthenticationConfiguration.cs, HttpRuntimeSection.cs,
1421 SessionPageStateSection.cs, TrustSection.cs,
1422 AnonymousIdentificationSection.cs, WebControlsSection.cs,
1423 ClientTarget.cs, TagMapInfo.cs, AuthorizationSection.cs,
1424 ProcessModelSection.cs, RoleManagerSection.cs,
1425 MembershipSection.cs, CustomErrorsSection.cs (..cctor): fix
1426 validator/converters.
1428 * MachineKeySection.cs (..cctor): fix validators/converters.
1429 (Validation): enable the Converter.
1431 * CodeSubDirectory.cs (..cctor): fix validator/converters.
1432 (DirectoryName): add note about missing validator decoration.
1434 * HttpModuleAction.cs (..cctor): init properties.
1435 (Properties): return properties.
1437 * CompilationSection.cs (..cctor): fix validator/converters.
1438 (GetInstance): add in this pre-2.0 interface for the time being,
1439 hopefully it'll make it easier to migrate later on.
1441 * HttpHandlerActionCollection.cs (..cctor): init properties.
1442 (Properties): return properties.
1444 * PagesSection.cs (..cctor): fix validator/converters.
1445 (GetInstance): add in this pre-2.0 interface for the time being,
1446 hopefully it'll make it easier to migrate later on.
1448 * HttpHandlersSection.cs (..cctor): init properties.
1449 (Properties): return properties.
1451 * EventMappingSettings.cs (..cctor): fix validator/converters.
1452 (Name): add note about missing validator decoration.
1454 * HttpHandlerAction.cs (..cctor): fix validator/converters.
1455 (PAth, Type, Verb): add note about missing validator decoration.
1457 * NamespaceCollection.cs (..cctor): fix properties.
1459 * ProfilePropertySettingsCollection.cs (..cctor): init properties.
1460 (..ctor): don't throw NIE.
1461 (Properties): return properties.
1463 * HttpModuleActionCollection.cs (..cctor): init properties.
1464 (Properties): return properties.
1466 * CacheSection.cs (..cctor): fix validators/converters.
1467 (PrivateBytesPollTime): add note about missing validator
1470 * AuthorizationRule.cs (..cctor): fix validators/converters.
1471 (Roles, Users, Verbs): enable the TypeConverter decorations.
1473 * UrlMapping.cs (ValidateUrl): static method for use as a
1474 validation callback. unimplemented as yet.
1475 (..cctor): fix validators/converters.
1476 (MappedUrl): add note about missing validator decoration.
1478 * PropertyHelper.cs: static utility class which contains
1479 references to validators and converters for use in static
1480 constructors (building the Properties arrays).
1482 2005-11-23 Chris Toshok <toshok@ximian.com>
1484 * MachineKeyValidationConverter.cs: new converter (and a pretty
1485 silly one, considering all it seems to do is convert "TripleDES"
1488 * HostingEnvironmentSection.cs (.cctor): use
1489 PositiveTimeSpanValidator like MS does.
1491 2005-11-18 Chris Toshok <toshok@ximian.com>
1493 * HostingEnvironmentSection.cs (.cctor): add validators.
1495 * CompilationSection.cs (.cctor): fix defaultvalue of
1498 2005-11-18 Chris Toshok <toshok@ximian.com>
1500 * SystemWebSectionGroup.cs: enable a whole slew of properties.
1502 * RegexWorker.cs: stub this out.
1504 * HttpCapabilitiesBase.cs: remove GetClrVersions since it's in one
1505 of the other partial files.
1507 * CompilationSection.cs: fix this up.
1509 * PagesSection.cs: fix some types and add a comment to
1512 * CompilerCollection.cs (Add): new internal method.
1514 * ProvidersHelper.cs: put the using System.Configuration.Provider
1515 inside the NET_2_0 block.
1517 * CacheSection.cs: add validators.
1519 2005-11-14 Chris Toshok <toshok@ximian.com>
1521 * BufferModeSettings.cs: add validators/converters to the
1522 programmatic property list.
1524 * BuildProvider.cs: add validators/converters to the programmatic
1525 property list, and add an internal ctor with no args.
1527 * Compiler.cs: wrap the code i hacked from the 1.1 stuff with a
1530 * BuildProviderCollection.cs (CreateNewElement): use the internal
1531 BuildProvider ctor to get around validation.
1533 * AssemblyCollection.cs: same.
1535 2005-11-14 Chris Toshok <toshok@ximian.com>
1537 * TagPrefixCollection.cs (Remove): pass the key to BaseRemove.
1538 (set_Item (int index)): implement.
1540 * TagPrefixInfo.cs (Equals): implement.
1541 (GetHashCode): implement.
1543 * AuthorizationRuleCollection.cs (CreateNewElement(string)):
1544 implement propertly.
1545 (IndexOf): implement.
1546 (IsElementName): implement.
1547 (ElementName): implement.
1548 (Item (int index)): implement.
1550 * FormsAuthenticationUserCollection.cs (set_Item (int index)): implement.
1552 * UrlMappingCollection.cs (set_Item (int index)): implement.
1554 * OutputCacheProfileCollection.cs (set_Item (int index)): implement.
1556 * TransformerInfo.cs (Equals): implement.
1557 (GetHashCode): implement.
1559 * NamespaceInfo.cs (Equals): implement.
1560 (GetHashCode): implement.
1562 * ProfileSettingsCollection.cs (set_Item (int index)): implement.
1564 * TransformerInfoCollection.cs (set_Item (int index)): implement.
1566 * HttpHandlerActionCollection.cs (set_Item (int index)): implement.
1568 * BufferModesCollection.cs (set_Item (int index)): implement.
1570 * BuildProvider.cs: use the base[fooProp] pattern instead of
1573 * ProfileGroupSettingsCollection.cs: implement most of this class.
1575 * RuleSettingsCollection.cs (set_Item (int index)): implement.
1577 * ClientTargetCollection.cs (set_Item (int index)): implement.
1579 * AssemblyCollection.cs (set_Item (int index)): implement.
1581 * BuildProviderCollection.cs (set_Item (int index)): reformat.
1583 * CustomError.cs (Equals): implement.
1584 (GetHashCode): implement.
1586 * ExpressionBuilderCollection.cs (set_Item (int index)): reformat.
1588 * PassportAuthentication.cs (RedirectUrl): express consternation
1591 * NamespaceCollection.cs (set_Item (int index)): implement.
1593 * RootProfilePropertySettingsCollection.cs (SerializeElement): add
1596 * ProfilePropertySettingsCollection.cs (set_Item (int index)):
1599 * CustomErrorCollection.cs (set_Item (int index)): implement.
1601 * HttpModuleActionCollection.cs (set_Item (int index)): implement.
1603 * CodeSubDirectoriesCollection.cs (set_Item (int index)):
1606 * CustomErrorsSection.cs (DeserializeSection): include call to
1607 base.DeserializeSection, and add MonoTODO.
1609 * EventMappingSettingsCollection.cs (set_Item (int index)):
1612 * AuthorizationRule.cs (Equals): implement.
1613 (GetHashCode): implement.
1614 (SerializeElement): add comment.
1616 * TagMapCollection.cs (Remove): pass the key to BaseRemove.
1617 (set_Item (int index)): implement.
1619 * TagMapInfo.cs (Equals): implement.
1620 (GetHashCode): implement.
1621 (SerializeElement): add call to base.SerializeElement.
1623 * TrustLevelCollection.cs (Remove): pass the key to BaseRemove.
1624 (GetElementKey): implement.
1626 * SqlCacheDependencyDatabase.cs (set_Item (int index)): implement.
1628 * WebContext.cs: new implementation.
1630 2005-11-13 Chris Toshok <toshok@ximian.com>
1632 * AnonymousIdentificationSection.cs: rework this class a bit to
1633 fit in with the rest of S.W.C. Add validators to the
1634 ConfigurationProperty ctor calls, a pattern which will need to be
1635 replicated across the entire assembly, it appears (uggggh).
1637 2005-11-13 Chris Toshok <toshok@ximian.com>
1639 * AuthorizationRuleCollection.cs: fix ConfigurationCollection
1642 * TransformerInfo.cs: fix corcompare.
1644 * SqlCacheDependencyDatabase.cs: mark ctor internal to fix
1647 * AuthenticationSection.cs: add missing Reset stub.
1649 * ProfileSettingsCollection.cs: use the more succint ctor.
1651 * FormsAuthenticationUser.cs: enable the TypeConverter on "name".
1653 * GlobalizationSection.cs: fix up corcompare.
1655 * WebPartsSection.cs: fix up corcompare.
1657 * ProfileGroupSettingsCollection.cs: add missing
1658 ConfigurationCollection attribute.
1660 * ExpressionBuilder.cs: implement.
1662 * FormsAuthenticationCredentials.cs: fix up corcompare.
1664 * AssemblyCollection.cs: implement Properties.
1666 * SiteMapSection.cs: implement Properties.
1668 * ExpressionBuilderCollection.cs: fix up corcompare.
1670 * ProfileSettings.cs: add missing ctor.
1672 * PassportAuthentication.cs: new implementation.
1674 * SqlCacheDependencySection.cs: fix up corcompare.
1676 * ProfilePropertySettingsCollection.cs: fix up corcompare.
1678 * HttpModuleActionCollection.cs: fix up corcompare.
1680 * EventMappingSettingsCollection.cs: fix up corcompare.
1682 * AuthorizationRule.cs: fix up corcompare.
1684 * WebControlsSection.cs: fix up corcompare.
1686 * AuthorizationSection.cs: fix up corcompare.
1688 * MembershipSection.cs: clean this up, implement Properties, fix
1691 2005-11-13 Chris Toshok <toshok@ximian.com>
1693 * UrlMapping.cs, CustomErrorCollection.cs, CustomError.cs,
1694 HostingEnvironmentSection.cs, TrustLevel.cs,
1695 HttpCookiesSection.cs, UrlMappingsSection.cs,
1696 UrlMappingCollection.cs, LowerCaseStringConverter.cs,
1697 RoleManagerSection.cs, ProcessModelSection.cs,
1698 TrustLevelCollection.cs, ClientTarget.cs, CustomErrorsSection.cs,
1699 MachineKeySection.cs, SessionPageStateSection.cs,
1700 SessionStateSection.cs, ProvidersHelper.cs,
1701 ClientTargetCollection.cs, SecurityPolicySection.cs,
1702 HttpCapabilitiesBase.cs, ClientTargetSection.cs: Another large
1706 2005-11-12 Chris Toshok <toshok@ximian.com>
1708 * AuthorizationRuleCollection.cs, AuthorizationRule.cs,
1709 AuthorizationSection.cs, BufferModesCollection.cs,
1710 BufferModeSettings.cs, CacheSection.cs, CompilerCollection.cs,
1711 Compiler.cs, DeploymentSection.cs,
1712 EventMappingSettingsCollection.cs, EventMappingSettings.cs,
1713 GlobalizationSection.cs, HealthMonitoringSection.cs,
1714 IdentitySection.cs, OutputCacheProfileCollection.cs,
1715 OutputCacheProfile.cs, OutputCacheSection.cs,
1716 OutputCacheSettingsSection.cs, ProfileSettingsCollection.cs,
1717 ProfileSettings.cs, RuleSettingsCollection.cs, RuleSettings.cs,
1718 SqlCacheDependencyDatabaseCollection.cs,
1719 SqlCacheDependencyDatabase.cs, SqlCacheDependencySection.cs,
1720 SystemWebCachingSectionGroup.cs, TraceSection.cs,
1721 TransformerInfoCollection.cs, TransformerInfo.cs, TrustSection.cs,
1722 WebControlsSection.cs, WebPartsPersonalizationAuthorization.cs,
1723 WebPartsPersonalization.cs, WebPartsSection.cs,
1724 XhtmlConformanceSection.cs: a whole slew of new classes. the
1725 fruits of tons of c&p and ibuprofen.
1728 2005-11-09 Chris Toshok <toshok@ximian.com>
1730 * PagesSection.cs, AuthenticationSection.cs, BuildProvider.cs,
1731 BuildProviderCollection.cs, HttpHandlerActionCollection.cs,
1732 HttpModulesSection.cs, HttpModuleAction.cs,
1733 HttpModuleActionCollection.cs, AnonymousIdentificationSection.cs,
1734 CodeSubDirectory.cs, CodeSubDirectoriesCollection.cs,
1735 SystemWebSectionGroup.cs, SiteMapSection.cs,
1736 WebConfigurationManager.cs: flesh out the implementation.
1738 * TagMap*.cs, TagPrefix*.cs: new implementation.
1740 * FormsAuthentication*.cs: new implementation.
1742 * Profile*.cs: new implementation.
1744 * Namespace*.cs: new implementation.
1746 * HttpRuntimeSection.cs: new implementation.