1 2010-06-01 Marek Habersack <mhabersack@novell.com>
3 * HttpRuntimeSection.cs: added 4.0 properties
4 MaxQueryLengthString, MaxUrlLength, EncoderType and
5 RelaxedUrlToFileSystemMapping.
7 2010-05-17 Marek Habersack <mhabersack@novell.com>
9 * BuildProvider.cs: made the Extension property case-insensitive
11 2010-04-09 Marek Habersack <mhabersack@novell.com>
13 * WebConfigurationManager.cs: GetSection properly processes paths
14 of form '~'. Fixes bug #595140. Patch from Adriaan van Kekem
15 <avkekem@hotmail.com>, thanks!
17 2010-04-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
19 * GlobalizationSection.cs: use WebName instead of EncodingName.
21 2010-03-06 Marek Habersack <mhabersack@novell.com>
23 * WebConfigurationManager.cs: do not use Request.Path - it may
24 fail because of invalid web.config file, use
25 Request.PathNoValidation instead.
27 * VersionConverter.cs: added
29 * PropertyHelper.cs: added a Version converter helper.
31 * HttpRuntimeSection.cs: added 4.0 properties -
32 RequestPathInvalidCharacters, RequestValidationType and
33 RequestValidationMode.
35 2010-02-23 Marek Habersack <mhabersack@novell.com>
37 * SessionStateSection.cs: implemented 4.0 properties -
38 CompressionEnabled and SqlConnectionRetryInterval
40 2010-02-12 Marek Habersack <mhabersack@novell.com>
42 * WebConfigurationHost.cs: implemented {Encrypt,Decrypt}Section
44 2010-01-20 Marek Habersack <mhabersack@novell.com>
46 * OutputCacheSection.cs: implemented the Providers and
47 DefaultProviderName 4.0 properties.
49 2010-01-09 Marek Habersack <mhabersack@novell.com>
51 * WebConfigurationManager.cs: GetSection properly handles looking
52 up and caching of <location> instances. Part of fix for bug
55 * WebConfigurationHost.cs: GetConfigPathFromLocationSubPath
56 calculatesthe path relative to the current config file path. Part
57 of fix for bug #568441
59 2009-12-02 Marek Habersack <mhabersack@novell.com>
61 * CompilationSection.cs: added two properties -
62 OptimizeCompilations (3.5+) and TargetFramework (4.0+)
64 2009-11-19 Marek Habersack <mhabersack@novell.com>
66 * WebConfigurationHost.cs: IsDefinitionAllowed now normalizes the
67 passed configuration path, so that MachineToApplication sections
69 * WebConfigurationManager.cs: use an rw lock to protect access to
70 sectionCache. This is now necessary as the save handler clears the
73 2009-11-10 Marek Habersack <mhabersack@novell.com>
75 * WebConfigurationManager.cs: path passed to OpenWebConfiguration
76 from GetSection does not come from FindWebConfig.
78 2009-11-09 Marek Habersack <mhabersack@novell.com>
80 * WebConfigurationManager.cs: there's no need to cache sections by
81 _file_ path - using section name and web.config path is more than
82 enough and it reduces the number of cache entries
83 considerably. Fixes bug #550730
85 2009-10-07 Marek Habersack <mhabersack@novell.com>
87 * WebConfigurationManager.cs: GetSection doesn't perform string +
88 char + string concatenation to generate section cache key (by
89 Gonzalo Paniagua Javier) which gives an enormous performance boost
90 (processing time for mojoportal's default.aspx went down from
91 2.65s to 107ms on average). The key generation is performed
92 without any kind of string operation right now (except for
93 GetHashCode on 3 strings).
94 GetSectionCacheKey is called only once and sectionCache became a
97 2009-08-20 Marek Habersack <mhabersack@novell.com>
99 * WebConfigurationManager.cs: GetSection does not use
100 FindWebConfig to get the virtual path to open configuration for -
101 doing so would make the configuration system ignore <location>
102 sections. Fixes bug #482181
104 2009-07-23 Gonzalo Paniagua Javier <gonzalo@novell.com>
106 * WebConfigurationManager.cs: avoid possible infinite loop when the
107 path starts with ~ and 1 file check.
109 2009-07-15 Marek Habersack <mhabersack@novell.com>
111 * WebConfigurationManager.cs: another approach to suppressing
112 application reloads after the app writes to its root web.config
113 file. Leaving the previous code in place to get more
114 protection. It's a kludge, but it's the best option to avoid
115 all the races caused by System.Configuration+FileSystemWatcher
116 without rewriting large parts of System.Configuration (and
117 System.Web.Configuration). Fixes bug #522017
119 2009-07-14 Marek Habersack <mhabersack@novell.com>
121 * WebConfigurationManager.cs: added support for suppressing
122 application reload when the main config file is written to from
125 * WebConfigurationHost.cs: added minimal implementation of
126 WriteCompleted, which checks if there's need to suppress
129 2009-07-13 Marek Habersack <mhabersack@novell.com>
131 * ProvidersHelper.cs: InstantiateProvider doesn't have to
132 explicitly look for types in App_Code assemblies - this is done in
133 HttpApplication.LoadType.
135 2009-07-09 Gonzalo Paniagua Javier <gonzalo@novell.com>
137 * WebConfigurationHost.cs: null means MachineToApplication.
138 * WebConfigurationManager.cs: when caching configuration and sections,
139 use the configuration file directory instead of the incoming request
142 2009-06-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
144 * HttpHandlerAction.cs: fix path matching when the pattern has more
147 2009-06-05 Marek Habersack <mhabersack@novell.com>
149 * WebConfigurationManager.cs: OpenWebConfiguration caches
150 configurations with a key generated from all the parameters passed
151 to it, not just from path.
152 Added internal GetSection method which takes HttpContext as its
153 third parameter - used in calling OpenWebConfiguration.
154 FindWebConfig is no longer used in GetSection - it breaks handling
155 of <location> elements in config files. Fixes bug #510302
157 2009-06-03 Marek Habersack <mhabersack@novell.com>
159 * MonoSettingsSection.cs: added new property,
160 verificationCompatibility, which serves the same purpose as the
161 registry key described in http://support.microsoft.com/kb/932552
162 (when set to 1 it turns off virtual path validity
163 verification). Fixes bug #509163
165 2009-05-14 Marek Habersack <mhabersack@novell.com>
167 * HttpHandlersSection.cs: if we're matching a default handler,
170 2009-04-03 Marek Habersack <mhabersack@novell.com>
172 * WebConfigurationManager.cs: added code in the static constructor
173 to enable retrieving application settings via
174 ApplicationSettingsBase from within asp.net applications. Fixes
177 * ApplicationSettingsConfigurationFileMap.cs: added.
179 2009-03-12 Dean Brettle <dean@brettle.com>
181 * nBrowser/Build.cs: made Browser() method thread-safe and moved the
182 actual tree creation to a private InitializeTree() method for clarity.
184 2009-03-01 Marek Habersack <mhabersack@novell.com>
186 * WebConfigurationManager.cs: optimized GetWebApplicationSection a
189 2009-02-28 Marek Habersack <mhabersack@novell.com>
191 * WebConfigurationManager.cs: make sure no nrex happens in
192 GetSectionCacheKey ()
194 2009-02-26 Gonzalo Paniagua Javier <gonzalo@novell.com>
196 * WebConfigurationManager.cs: generate a hash from the string hsah
197 codes instead of concatenating them.
199 2009-01-27 Marek Habersack <mhabersack@novell.com>
201 * HttpHandlerAction.cs: removed the matches cache, it doesn't
202 improve matters here in 99% of the cases.
203 Regexps are no longer used to match handler paths, SearchPattern
206 2009-01-26 Marek Habersack <mhabersack@novell.com>
208 * WebConfigurationHost.cs: when an attempt to map a fake virtual
209 path is made, MapPath returns the aplication physical root
210 directory. Fixes bug #463950
212 2008-01-09 Dean Brettle <dean@brettle.com>
214 * nBrowser/Node.cs: Fixed compatibility bug where <identification> sections were required
217 2009-01-09 Marek Habersack <mhabersack@novell.com>
219 * WebConfigurationManager.cs: do not normalize the path in
220 FindWebConfig when getting the virtual directory.
222 2009-01-08 Marek Habersack <mhabersack@novell.com>
224 * WebConfigurationManager.cs: improve performance of
227 2009-01-07 Marek Habersack <mhabersack@novell.com>
229 * HttpModulesSection.cs: allow for modules with non-public
230 constructors. Fises bug #463971
232 * HttpHandlerAction.cs: allow for handlers with non-public
233 constructors. Fixes bug #463971
235 2008-12-24 Marek Habersack <mhabersack@novell.com>
237 * WebConfigurationManager.cs: A better version of the previous
238 GetSection fix. Right now the method searches for directories
239 containing web.config and uses them, if found, to open the web
240 configuration. If no web.config is found, web configuration is
241 opened for the root application directory.
243 * WebConfigurationHost.cs: made GetWebConfigFileName internal
244 static, so that code can be reused from WebConfigurationManager.
246 2008-12-23 Marek Habersack <mhabersack@novell.com>
248 * WebConfigurationManager.cs: GetSection should call
249 OpenWebConfiguration using the actual directory path, not a file
250 path. If it fails to do so, System.Configuration may treat the
251 top-level Web.config file as a child one which, in turn, in
252 certain circumstances will lead to duplicate keys inserted in
255 2008-12-16 Marek Habersack <mhabersack@novell.com>
257 * WebConfigurationHost.cs: IsDefinitionAllowed should treat
258 configPath == "~" as the root application path.
260 2008-12-12 Owen Brady <Ocean@owenbrady.net>
262 * nBrowser/File.cs, nBrowser/Identification.cs, nBrowser/Node.cs, nBrowser/NodeTypes.cs,
263 nBrowser/Result.cs, nBrowser/Build.cs, nBrowser/Exception.cs, CapabilitiesBuild.cs,
264 CapabilitiesResult.cs: Updated Copyright information to include updated contact information.
266 * nBrowser/Build.cs: Removed LoadDefaultEmbeddedResource function, the embeded resource
267 it is referring too was never included in Mono. And was designed for a free standing
268 browser identification libary.
270 * nBrowser/Exception.cs: Removed Compile Attributes and related comments which were left
271 in from the original free standing browser libary.
273 * CapabilitiesBuild.cs: Removed Header Checksum related coding since it is not required
274 for the Mono implementation.
276 * CapabilitiesResult.cs: Updated Copyright information to include updated contact information.
277 Removed functions which were designed to make use of features of a embeded browser file which
278 is not present in Mono.
280 * CapabilitiesChecksum.cs, RandomRoboBotKeywords.txt: Deleted
281 2008-10-21 Marek Habersack <mhabersack@novell.com>
283 * CapabilitiesChecksum.cs: implement Hex and MapToHex more efficiently.
285 2008-10-09 Marek Habersack <mhabersack@novell.com>
287 * MonoSettingsSection.cs: added - a section for mono-specific
290 2008-10-01 Marek Habersack <mhabersack@novell.com>
292 * CapabilitiesResult.cs: added support for the "browsers"
293 capability - a collection of matching browser ids.
295 * nBrowser/Node.cs: store matching browser ids in the capabilities
296 collection (to support IsBrowser correctly)
298 2008-07-25 Dean Brettle <dean@brettle.com>
300 * nBrowser/Node.cs nBrowser/Build.cs nBrowser/Identification.cs: Fixed race
301 condition in Node.Process() by removing mutating functions from Identification
302 and changing Node.Process() and Node.BrowserIdentification() to maintain
303 state in a List<Match> instead of a List<Identification>.
305 * nBrowser/Node.cs: Fixed race condition associated with lookup of adapter
308 * nBrowser/Node.cs: Removed duplicate call to Node.BrowserIdentification() from
311 * nBrowser/Node.cs: Removed duplicate call to Result.AddAdaper() from Node.Process().
313 * nBrowser/Node.cs: Fixed bug where capabilities containing literal $ or % were
316 * nBrowser/Node.cs: Fixed bug where capabilities with multiple $ substitutions only
319 2008-06-30 Zoltan Varga <vargaz@gmail.com>
321 * CapabilitiesResult.cs: Make the RandomRoboBotKeywords array static and compute it
324 2008-06-30 Marek Habersack <mhabersack@novell.com>
326 * CompilationSection.cs: hush the warnings
328 2008-06-26 Zoltan Varga <vargaz@gmail.com>
330 * nBrowser/Node.cs nBrowser/Result.cs: Avoid looking up adapter types names for
331 every request in every assembly.
333 2008-05-22 Marek Habersack <mhabersack@novell.com>
335 * WebConfigurationHost.cs: changed CreateDeprecatedConfigContext
336 to return a new HttpContext object. This is part of a fix for bug
337 #325128. Patch contributed by James Fitzsimons <james.fitzsimons@gmail.com>,
340 2008-05-07 Marek Habersack <mhabersack@novell.com>
342 * RoleManagerSection.cs: use type converter when creating the
343 cookieTimeout property in the static constructor. Fixes bug
344 #387526. Patch fromIvan Hamilton <ivan@chimerical.com.au>, thanks!
346 2008-03-23 Dean Brettle <dean@brettle.com>
348 * CapabilitiesBuild.cs (Process), ICapabilitiesProcess.cs (Process),
349 nBrowser/Build.cs (Process): Added initialCapabilities argument to
350 facilitate using browscap.ini capabilities.
352 * CapabilitiesResult.cs (ctor), nBrowserResult.cs (ctor): Change
353 items arg to IDictionary to facilitate using browscap.ini capabilities.
355 * nBrowser/Node.cs (Reset): Removed code which checked prohibited
356 non-alphanumerics in id attributes because .NET is not that strict.
358 * nBrowser/Node.cs (MergeFrom): Fixed NullReferenceExceptions that
359 occurred when the source or destination node did not have any
360 capabilities or adapters.
362 * nBrowser/Result.cs (AddAdapter): Fixed to allow types in other
365 2008-03-09 Dean Brettle <dean@brettle.com>
367 * nBrowser/Result.cs, nBrowser/NodeTypes.cs, nBrowser/Identification.cs,
368 nBrowser/File.cs, nBrowser/Build.cs, nBrowser/Node.cs,
369 nBrowser/Exception.cs: added. The code under nBrowser handles *.browser
370 files. It is based on Owen "Ocean" Brady's code, with the following
371 changes and improvements. Replaced Result.Adapter
372 property with AdapterTypeMap property which maps control Type to adapter
373 Type. Added Result.MarkupTextWriter property. Added overrides for
374 Result.GetAdapters and Result.GetTagWriter to return MarkupTextWriter
375 and AdapterTypeMap, resp. Changed tree building algorithm to not
376 depend on nodes with id="Default" and to inject defaultBrowser nodes
377 as parents of regular nodes with the same ids. Changed Node.cs to use
378 Item instead of Add when adding a capability or sample header, so that
379 values get replaced instead of appended. Added support for reference
380 nodes (ie. nodes with refID="someID").
382 * CapabilitiesResult.cs: load RandomRoboBotKeywords.txt resource
383 using the correct name.
385 * RandomRoboBotKeywords.txt: added
387 * HttpCapabilitiesBase.cs (CreateHtmlWriter, Adapters): Added
388 support for *.browsers. Adapters property calls internal virtual
389 GetAdapters() method which is overrided in nBrowser.Result
390 returned by nBrowser code. CreateHtmlWriter uses type specified
391 by TagWriter property.
393 2008-03-03 Vladimir Krasnov <vladimirk@mainsoft.com>
395 * ProvidersHelper.cs: fixed thread safety issue in InstantiateProvider
397 2008-03-01 Marek Habersack <mhabersack@novell.com>
399 * WebConfigurationManager.cs: SettingsMappingManager has been
400 moved to Mono.Web.dll
402 2008-02-28 Marek Habersack <mhabersack@novell.com>
404 * HttpHandlerAction.cs: ignore case when matching handler
405 paths. Fixes bug #364995
407 2008-02-26 Marek Habersack <mhabersack@novell.com>
409 * BuildProviderCollection.cs: be case-insensitive when looking for
412 2008-02-25 Marek Habersack <mhabersack@novell.com>
414 * WebConfigurationManager.cs: hashtable can contain a key with a
415 null value, avoid adding duplicate keys in such cases.
417 2008-02-18 Vladimir Krasnov <vladimirk@mainsoft.com>
419 * WebConfigurationManager.cs: performance improvement, cached
422 2008-02-07 Vladimir Krasnov <vladimirk@mainsoft.com>
424 * GlobalizationSection.cs: fixed GetSanitizedCulture, performance
427 2008-02-05 Marek Habersack <mhabersack@novell.com>
429 * CompilerCollection.cs: Get (string language) should not use
430 BaseGet as our collection is keyed on a list of language names
431 (e.g. "cs;csharp") and passing a single language won't match in
432 BaseGet correctly. Use the overriden indexer instead.
433 Initialize the base class with the case-insensitive
434 comparer. Fixes bug #357824.
436 2008-01-27 Daniel Nauck <dna@mono-project.de>
438 * HttpHandlerAction.cs: fixed the internal method PathMatches ()
439 removed wrong caching of FileMatchingInfo classes with request specific
440 informations. Now we check against the current request path and cache
441 the result in a dictionary.
442 Also check correctly against all possible paths from the HttpHandler.
445 2007-12-27 Marek Habersack <mhabersack@novell.com>
447 * ProfileGroupSettingsCollection.cs: added an internal method to
448 add/overwrite new group settings. Used from
449 RootProfilePropertySettingsCollection.
451 * ProfileGroupSettings.cs: added the missing "name" property to
452 the properties collection.
453 Marked the propertySettingsProp property as the default
455 Added internal deserialization method, used from
456 RootProfilePropertySettingsCollection to support the 'group'
459 * ProfileSection.cs: defaultProviderProp typo - the name of the
460 provider should be "AspNetSqlProfileProvider"
462 * RootProfilePropertySettingsCollection.cs: added
463 OnDeseerializeUnrecognizedElement to support the profile 'group'
465 Added a missing Unmerge method.
467 2007-12-11 Vladimir Krasnov <vladimirk@mainsoft.com>
469 * SiteMapSection.cs: fixed ProvidersInternal property to be thread safe
471 2007-12-08 Marek Habersack <mhabersack@novell.com>
473 * WebConfigurationManager.cs: GetSection now runs each section
474 through a mapper (if any is defined for the section) before
475 returning it to the caller.
477 2007-11-23 Marek Habersack <mhabersack@novell.com>
479 * TagPrefixCollection.cs: changed the collection type to
482 * ProfileSection.cs: added missing Properties property, added a
483 static constructor to create property descriptors. Use property
484 descriptors in property accessors.
486 * ProfileGroupSettingsCollection.cs: added missing attribute to
487 the class, removed CollectionType method, added missing IsModified
488 and ResetModified methods, added missing Properties property.
490 * ProfileGroupSettings.cs: added missing Properties property,
491 adjusted the set of custom attributes of the PropertySettings
494 * ProcessModelSection.cs: change the default value of the CpuMask
497 * OutputCacheSection.cs: added the EnableKernelCacheForVaryByStar
500 * OutputCacheProfile.cs: added the VaryByContentEncoding property.
502 * FormsAuthenticationConfiguration.cs: corrected defaults for the
505 * ExpressionBuilder.cs: corrected defaults for the
506 ExpressionPrefix and Type properties.
508 * CustomErrorsSection.cs: added two missing overrides -
509 DeserializeSection and Reset.
511 * ClientTargetSection.cs: added the missing Properties property.
512 Added static constructor to create the property collection.
514 * CustomErrorCollection.cs: removed the ThrowOnDuplicate
517 * CacheSection.cs: corrected defaults for the
518 PercentagePhysicalMemoryUsedLimit property.
520 * ClientTargetCollection.cs: added missing Properties property.
522 * IConfigMapPathFactory.cs: added
524 * IConfigMapPath.cs: added
526 * RoleManagerSection.cs: added a static constructor, a collection
527 of properties, the missing Properties property.
529 2007-11-22 Marek Habersack <mhabersack@novell.com>
531 * RoleManagerSection.cs: CookieTimeout property custom attributes
532 changed to match MS.NET's ones.
534 * AuthorizationRuleCollection.cs: removed the ThrowOnDuplicate
535 property - it's not found in the MS.NET version of the class.
537 2007-11-06 Marek Habersack <mhabersack@novell.com>
539 * MachineKeySectionUtils.cs: make sure keys are autogenerated when
542 2007-11-02 Marek Habersack <mhabersack@novell.com>
544 * HttpHandlerActionCollection.cs: clear http handler cache in
545 HttpApplication if the collection is modified.
547 2007-11-01 Marek Habersack <mhabersack@novell.com>
549 * MachineKeySection.cs: moved all the internal static methods and
550 properties to MachineKeySectionUtils.cs
552 * MachineKeySectionUtils.cs: added. This file is included in the
553 System.Web.Extensions compilation.
554 The old properties from MachineKeySection.cs became methods.
556 2007-10-24 Marek Habersack <mhabersack@novell.com>
558 * HttpHandlerAction.cs: exact path matching must be done on the
559 original string in PathMatches, not on the sliced one. Fixes bug
562 2007-10-17 Marek Habersack <mhabersack@novell.com>
564 * WebConfigurationHost.cs: if running outside hosted environment,
565 read only the assemblyname.config configuration file instead of
566 web.config. Fixes bug #332425
568 2007-10-15 Marek Habersack <mhabersack@novell.com>
570 * ProvidersHelper.cs: use HttpApplication.LoadType instead of
573 * HttpModulesSection.cs: use HttpApplication.LoadType when loading
574 modules, to include both the bin/ directory and the top-level
575 assemblies in search. Fixes bug #333686.
577 2007-08-30 Marek Habersack <mhabersack@novell.com>
579 * MachineKeySection.cs: retrieve the keys from the registry before
580 falling back to the old method. Fixes bug #76606
582 2007-08-23 Marek Habersack <mhabersack@novell.com>
584 * ProvidersHelper.cs: HttpApplication.LoadTypeFromPrivateBin
585 renamed to LoadTypeFromBin.
587 2007-08-21 Marek Habersack <mhabersack@novell.com>
589 * ProvidersHelper.cs: use HttpApplication.LoadTypeFromPrivateBin
590 to get the provider settings type.
592 2007-08-10 Gert Driesen <drieseng@users.sourceforge.net>
594 * PagesEnableSessionState.cs: Marked internal on 1.0 profile.
596 2007-07-16 Vladimir Krasnov <vladimirk@mainsoft.com>
598 * ProfileGroupSettingsCollection.cs: added ResetInternal internal
600 * RootProfilePropertySettingsCollection.cs: added Reset method
601 override to reset GroupSettings collection
603 2007-06-24 Vladimir Krasnov <vladimirk@mainsoft.com>
605 * HttpHandlerAction.cs: fixed SplitPaths property to be thread safe
607 2007-06-12 Vladimir Krasnov <vladimirk@mainsoft.com>
609 * CompilationSection.cs: TARGET_JVM on not supported features
610 * HttpModulesSection.cs: ctor should be static
612 2007-06-03 Adar Wesley <adarw@mainsoft.com>
614 * ProfilePropertySettingsCollection.cs: added missing method
615 OnDeserializeUnrecognizedElement.
617 2007-05-30 Marek Habersack <mhabersack@novell.com>
619 * WebConfigurationManager.cs: if errors happen when opening the
620 configuration file, mark the manager as unsafe to prevent further
621 usage and avoid error loops.
623 2007-05-17 Igor Zelmanovich <igorz@mainsoft.com>
625 * WebConfigurationHost.cs: for TARGET_J2EE only:
626 prevent NullRefference Exception.
628 2007-05-15 Igor Zelmanovich <igorz@mainsoft.com>
630 * WebConfigurationManager.cs:
631 make configurations hashtable case-insensitive.
632 * WebConfigurationHost.cs: for TARGET_J2EE only:
633 GetStreamName returns file path in right case, that make it works
634 on case-sensitive file system.
636 2007-05-15 Marek Habersack <mhabersack@novell.com>
638 * BuildProviderCollection.cs: refactoring - use
639 HttpApplication.LoadType to actually look up the type.
641 * HttpHandlerAction.cs: as above
643 * WebConfigurationHost.cs: refactoring - moved the LoadType to
644 HttpApplication to share the code between 1.1 and 2.0 profiles.
646 2007-05-14 Marek Habersack <mhabersack@novell.com>
648 * UrlMappingCollection.cs: implemented the Item (string) indexer.
650 * UrlMapping.cs: implemented the URL validation callback body
651 (doesn't work at the moment).
653 2007-05-14 Igor Zelmanovich <igorz@mainsoft.com>
655 * WebConfigurationManager.cs:
656 make configurations synchronized.
657 added new internal method RemoveConfigurationFromCache.
659 2007-05-07 Marek Habersack <mhabersack@novell.com>
661 * PagesSection.cs: buffering is on by default.
663 2007-04-24 Marek Habersack <mhabersack@novell.com>
665 * WebConfigurationHost.cs: wrap MapPath calls in try/catch,
666 because bad URLs can cause it to throw exceptions. If such
667 exception is caught, throw a HttpException for Bad Request (400).
668 Look for types in the top-level assemblies (App_Code and
671 * WebConfigurationManager.cs: added two internal methods for safe
672 retrieval of config sections.
674 2007-04-19 Marek Habersack <mhabersack@novell.com>
676 * HttpHandlerAction.cs: look up types in all the toplevel
677 assemblies. Fixes bug #80897.
679 2007-04-17 Atsushi Enomoto <atsushi@ximian.com>
681 * ProcessModelSection.cs : cpuMask default value should be int,
684 2007-04-06 Marek Habersack <mhabersack@novell.com>
686 * CustomErrorsSection.cs: make the customErrors section work.
688 * PagesSection.cs: provide appropriate default value for the
689 asyncTimeout setting.
691 2007-03-24 Marek Habersack <mhabersack@novell.com>
693 * WebConfigurationHost.cs: allow MachineToApplication definition
694 for config paths that equal the domain virtual app directory.
696 2007-03-22 Adar Wesley <adarw@mainsoft.com>
698 * HttpCapabilitiesBase.cs: implemented all capabilities. Capabilities
699 still throw if there is no value in browscaps.ini and the property is called.
701 2007-03-21 Vladimir Krasnov <vladimirk@mainsoft.com>
703 * WebConfigurationManager.cs: fixed OpenWebConfiguration, should not
704 lock when checking if configuration is already open
706 2007-03-15 Vladimir Krasnov <vladimirk@mainsoft.com>
708 * WebConfigurationManager.cs: fixed OpenWebConfiguration, removed
709 GetBasePath call and locations search, since this not affects
710 configuration initialization, but improves performance
712 2007-03-12 Marek Habersack <mhabersack@novell.com>
714 * ProvidersHelper.cs: support loading custom providers from
715 App_Code assemblies. Fixes bug #81071.
716 Also set eol-style to native.
718 2007-03-08 Gert Driesen <drieseng@users.souceforge.net>
720 * PagesSection.cs: Revert part of Adar's patch that regresses
723 2007-03-06 Adar Wesley <adarw@mainsoft.com>
725 * PagesSection.cs: improve Enum parsing and strongly typed default values.
727 2007-02-20 Marek Habersack <grendello@gmail.com>
729 * Patch from Gert Driesen <drieseng@users.sourceforge.net>
730 * PagesSection.cs: Process value of EnableSessionState attribute
731 case-sensitive, and perform check in getter. Fix for bug #80913.
732 * PageParser.cs: Added note on difference in behaviour between page
733 level attribute and configuration attribute for enableSessionState.
734 * PagesConfiguration.cs: Fixed compiler warning.
736 2007-02-22 Marek Habersack <grendello@gmail.com>
738 * CompilerCollection.cs: Optimize language lookup a bit.
740 2007-02-05 Konstantin Triger <kostat@mainsoft.com>
742 * TagPrefixCollection.cs: Fix element key creation.
744 2007-02-04 Konstantin Triger <kostat@mainsoft.com>
746 * NamespaceInfo.cs, HttpModuleAction.cs, RoleManagerSection.cs:
747 fix the default value.
749 2007-02-02 Marek Habersack <grendello@gmail.com>
751 * TagPrefixCollection.cs: Add the CollectionType parameter.
752 Get rid of unnecessary interface references in the class declaration.
753 GetElementKey should return Source which should be unique, unlike TagPrefix.
755 2007-01-04 Konstantin Triger <kostat@mainsoft.com>
757 * ProfileSection.cs: Ensure enabled = true by default; cleanup.
759 2006-12-27 Vladimir Krasnov <vladimirk@mainsoft.com>
761 * CustomErrorCollection.cs: fixed ThrowOnDuplicate to false as in .net
763 2006-12-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
765 * GlobalizationSection.cs: make encodings actually work for the 2.0
768 2006-12-21 Marek Habersack <grendello@gmail.com>
770 * TagMapInfo.cs: Add an internal default constructor for use from
773 * TagMapCollection.cs: Don't call the string,string constructor of
774 TagMapInfo - the class disallows empty strings as values of its
777 2006-12-21 Vladimir Krasnov <vladimirk@mainsoft.com>
779 * RoleManagerSection.cs: refactored using attributes
781 2006-12-20 Marek Habersack <grendello@gmail.com>
783 * ProfilePropertyNameValidator.cs: added a few checks.
785 2006-12-18 Vladimir Krasnov <vladimirk@mainsoft.com>
787 * WebConfigurationManager.cs: fixed GetSection to execute
788 GetRuntimeObject, refactored GetSection and GetWebApplicationSection
790 2006-12-17 Vladimir Krasnov <vladimirk@mainsoft.com>
792 * HttpHandlerAction.cs: fixed 'verb' config property
794 2006-12-07 Igor Zelmanovich <igorz@mainsoft.com>
796 * ProvidersHelper.cs: fixed: load assembles from /bin
798 2006-11-22 Miguel de Icaza <miguel@novell.com>
800 * SessionStateSection.cs: Do not call Enum.Parse with a null
801 argument, prevents an exception from being thrown.
803 2006-11-20 Marek Habersack <grendello@gmail.com>
805 * GlobalizationSection.cs: Added support for "auto" cultures and
806 the "auto:DEFAULT_CULTURE" cultures.
808 2006-11-13 Konstantin Triger <kostat@mainsoft.com>
810 * WebConfigurationHost.cs: use Type.GetType for loading full qualified types.
812 2006-11-05 Vladimir Krasnov <vladimirk@mainsoft.com>
814 * ProfileGroupSettings.cs, ProfileGroupSettingsCollection.cs
815 ProfilePropertySettingsCollection.cs, ProfileSection.cs
816 RootProfilePropertySettingsCollection.cs: refactoring and fix of
819 2006-10-18 Marek Habersack <grendello@gmail.com>
821 * WebConfigurationManager.cs: implement support for extra
822 assemblies to be referenced when compiling a page.
824 2006-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
826 * WebConfigurationManager.cs: add null checks. Patch by Marek Habersack
827 that fixes bug #79283.
829 2006-09-06 Konstantin Triger <kostat@mainsoft.com>
831 * WebConfigurationHost.cs: do not recourse as this will be done by
832 Configuration object.
834 2006-08-08 Vladimir Krasnov <vladimirk@mainsoft.com>
836 * WebConfigurationManager.cs: added configSystem property under
838 * WebConfigurationHost.cs: fixed GetStreamName and OpenStreamForRead
840 * CompilationSection.cs: BuildProviders property removed from
842 * SystemWebSectionGroup.cs: Compilation property removed from
845 2006-06-26 Atsushi Enomoto <atsushi@ximian.com>
847 * NullableStringValidator.cs : new internal class that is almost
848 identical to StringValidator but allows null value.
849 * PropertyHelper.cs : use new NullableStringValidator.
850 * NamespaceCollection.cs : in NamespaceInfo "" is not allowed.
852 2006-06-08 Chris Toshok <toshok@ximian.com>
854 * WebConfigurationHost.cs (InitForConfiguration): i know this is
855 going to bite me in the ass, but guard against configPath being ==
856 to "/", since this will result in an infinite loop.
857 (MapPath): fix a NRE.
859 2006-05-18 Atsushi Enomoto <atsushi@ximian.com>
861 * WebConfigurationManager.cs: recent sys.config.dll changes on
862 ConfigurationManager.GetSection() which should call
863 GetRuntimeObject() should also apply here. Fixed monodoc web.
865 2006-05-10 Andrew Skiba <andrews@mainsoft.com>
867 * HttpHandlerAction.cs: keep the internal exception
869 2006-05-08 Chris Toshok <toshok@ximian.com>
871 * WebConfigurationManager.cs (GetBasePath): fix bug where
872 path.Length was 0 when we got to the last while loop (and indexed
873 -1 into an array.) Thanks Marek for the fix.
875 2006-05-04 Chris Toshok <toshok@ximian.com>
879 * WebConfigurationHost.cs (GetConfigType): add a MonoTODO about
880 how we should use the build provider machinery to get types.
881 (MapPath): add rudimentary mapping in the case where we don't have
882 a request, basically handle the case where the url begins with (or
883 is) HttpRuntime.AppDomainAppVirtualPath.
885 * WebConfigurationManager.cs (GetSection): if we don't have a
886 valid request, open the web configuration corresponding to
887 HttpRuntime.AppDomainAppVirtualPath.
888 (GetBasePath): comment this a little, and make it work in the case
889 where we don't have an HttpRequest.
891 2006-04-27 Chris Toshok <toshok@ximian.com>
893 * AuthorizationRuleCollection.cs (ThrowOnDuplicate): for the time
894 being introduce a overridden property MS doesn't make use of.
895 This needs readdressing, but it should get people making use of
896 <authorization> rules working again.
898 2006-04-25 Chris Toshok <toshok@ximian.com>
900 * AuthorizationRule.cs (Reset): finally figure out what this
901 method is supposed to do. Assign our Action property based on
904 2006-04-25 Chris Toshok <toshok@ximian.com>
906 * WebConfigurationHost.cs (InitForConfiguration): actually, use
907 HttpRuntime.AppDomainAppVirtualPath on gonzalo's recommendation.
908 It's never null, and its use cleans things up a bit.
910 2006-04-25 Chris Toshok <toshok@ximian.com>
912 * WebConfigurationHost.cs (InitForConfiguration): stop going up
913 the virtual hierarchy once we reach the application's base virtual
916 2006-04-24 Chris Toshok <toshok@ximian.com>
918 * AuthorizationSection.cs (IsValidUser): fix a problem that
919 surfaced when converting from the 1.1 to 2.0 config classes. Only
920 check for verb match if there are actually verbs to match against.
922 2006-04-11 Chris Toshok <toshok@ximian.com>
924 * ExpressionBuilderCollection.cs (CreateNewElement): call argless
927 * ExpressionBuilder.cs: add internal argumentless ctor for use by
930 2006-03-24 Chris Toshok <toshok@ximian.com>
932 * WebConfigurationManager.cs (GetConfig): add a fallback case for
933 configuration sections that don't subclass from
934 ConfigurationSection.
936 2006-03-24 Chris Toshok <toshok@ximian.com>
938 * WebConfigurationHost.cs: fix bug where OpenWebConfiguration
939 ("/") would result in 2 configurations for that toplevel path to
942 2006-03-08 Chris Toshok <toshok@ximian.com>
944 * ProvidersHelper.cs: implement this static class properly.
946 * SiteMapSection.cs (ProvidersInternal): add internal property to
947 get the actual SiteMapProviderCollection from here.
949 2006-02-28 Chris Toshok <toshok@ximian.com>
951 * BuildProviderAppliesTo.cs, PagesToCountAction.cs: nuke.
953 2006-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
956 * CompilerCollection.cs: removed compatibility code.
958 * BuildProviderCollection.cs: add GetProviderForExtension().
960 2006-02-02 Chris Toshok <toshok@ximian.com>
962 * WebConfigurationManager.cs (GetSection(string,string)):
965 2006-02-01 Atsushi Enomoto <atsushi@ximian.com>
967 * TrustLevelCollection.cs, CodeSubDirectoriesCollection.cs,
968 CustomErrorCollection.cs, CompilerCollection.cs,
969 HttpHandlerActionCollection.cs,
970 FormsAuthenticationUserCollection.cs,
971 AuthorizationRuleCollection.cs, TagPrefixCollection.cs :
972 CollectionType is public.
974 2006-02-01 Chris Toshok <toshok@ximian.com>
976 * WebConfigurationManager.cs: In the normal case, get the current
977 request's web.config, not the application's. If there is no
978 current request, get the application's.
979 (GetWebApplicationConfiguration): use Request.ApplicationPath, not
980 Request.PhysicalApplicationPath. OpenWebConfiguration takes
983 * HttpConfigurationSystem.cs: GetWebApplicationSection =>
986 2006-02-01 Chris Toshok <toshok@ximian.com>
988 * CompilerCollection.cs: CONFIGURATION_2_0 => NET_2_0
992 2006-02-01 Chris Toshok <toshok@ximian.com>
994 * HttpConfigurationSystem.cs: SupportsUserConfig == true. let's
995 use this to determine if ConfigurationManager.AppSettings should
998 2006-01-31 Chris Toshok <toshok@ximian.com>
1000 * WebConfigurationManager.cs: err, why did i ifdef stuff NET_2_0
1001 inside of an ifdef NET_2_0?
1003 2006-01-30 Chris Toshok <toshok@ximian.com>
1005 * WebConfigurationManager.cs: lots of little changes. hopefully
1006 this doesn't break anyone. it fixes all the nunit problems
1009 * WebConfigurationHost.cs (GetStreamName): in the MachineWebPath
1010 case, handle the case where we have a WebConfigurationFileMap.
1011 (MapPath): this is likely wrong, but in the case where we don't
1012 have a file map or current HttpContext, just return the path.
1014 2006-01-29 Chris Toshok <toshok@ximian.com>
1016 * HttpModulesSection.cs (LoadModules): I'm not sure we want to
1017 solve this problem in this way, but the 1.x code forces
1018 DefaultAuthenticationModule to be in the list of modules..
1019 Without this fix (or something else) HttpContext.User is null when
1022 2006-01-26 Chris Toshok <toshok@ximian.com>
1024 * HttpConfigurationSystem.cs: new class that gets sections from
1027 * WebConfigurationManager.cs: change a lot of the
1028 NotImplementedExceptions to NotSupportedExceptions.
1029 (AppSettings): implement by just returning
1030 ConfigurationManager.AppSettings (note this is broken because
1031 ConfigurationManager.AppSettings are read-only, but it works for
1033 (ConnectionStrings): same (and probably broken in the same way..)
1034 (Init): replace the 2.0 IInternalConfigSystem with our
1035 HttpConfigurationSystem.
1037 * WebConfigurationHost.cs: add a comment about how things are
1038 likely to work in the face of IRemoteWebConfigurationHostServer.
1039 (CreateConfigurationContext): return a WebContext instance.
1041 2006-01-25 Chris Toshok <toshok@ximian.com>
1043 * AuthorizationSection.cs (IsValidUser): instead of a blanket
1044 false for a null user, just set the username to "" and short
1045 circuit out the check for roles.
1047 2006-01-25 Chris Toshok <toshok@ximian.com>
1049 * AuthorizationRule.cs (CheckUser): handle * and ?, and use
1050 String.Compare instead of ==.
1051 (CheckVerb): use String.Compare instead of ==.
1053 * AuthorizationSection.cs (IsValidUser): return false for a null
1056 2006-01-22 Chris Toshok <toshok@ximian.com>
1058 * GlobalizationSection.cs (VerifyData): quiet mcs.
1060 2006-01-18 Chris Toshok <toshok@ximian.com>
1062 * SystemWebSectionGroup.cs: wrap System.Web.Services references in
1065 2006-01-16 Chris Toshok <toshok@ximian.com>
1067 * WebConfigurationManager.cs: implement a IConfigurationSystem for
1068 use with WebConfigurationManager.
1069 (GetSection): try to load the section
1070 using GetWebApplicationSection before calling into
1071 ConfigurationManager.GetSection.
1072 (GetWebApplicationConfiguration): move common code to here.
1073 (GetWebApplicationSection): use GetWebApplicationConfiguration.
1074 (AppSettings): implement.
1076 * WebConfigurationHost.cs (GetWebConfigFileName): add
1077 "Web.Config", and move to an array/loop implementation. maybe we
1078 should scan the directory and check ToLower() instead of
1079 explicitly enumerating?
1081 2006-01-10 Chris Toshok <toshok@ximian.com>
1083 * SystemWebSectionGroup.cs (HostingEnvironment): enable this property.
1084 (ProcessModel): add the ConfigurationPropertyAttribute.
1086 2006-01-10 Chris Toshok <toshok@ximian.com>
1088 * PagesSection.cs (.cctor): fix the default value for the
1089 enableSessionState attribute - it's not a bool, but a
1090 PagesEnableSessionState enum.
1092 2006-01-10 Chris Toshok <toshok@ximian.com>
1094 * MachineKeySection.cs (ValidationKeyBytes, DecryptionKeyBytes,
1095 DecryptionKey192Bits): if the keys are null, generate them. Fixes
1096 Page.EnableViewStateMac support.
1098 2006-01-09 Chris Toshok <toshok@ximian.com>
1100 * RoleManagerSection.cs, SqlCacheDepencendySection.cs,
1101 SessionStateSection.cs, TraceSection.cs, SecurityPolicySection.cs,
1102 PagesSection.cs, RulesSettings.cs, UrlMappingSection.cs: fix
1105 2006-01-09 Chris Toshok <toshok@ximian.com>
1107 * ExpressionBuilderCollection.cs (.cctor): no need to create a
1108 collection property here. we're already in the collection.
1110 * CompilationSection.cs: fix typo.
1112 2006-01-04 Chris Toshok <toshok@ximian.com>
1114 * MachineKeySection.cs: bring over some more internal methods from
1115 MachineKeyConfig, and call Set{Decryption,Validation}Key from
1116 their respective property setters.
1118 2006-01-03 Chris Toshok <toshok@ximian.com>
1120 * AuthorizationSection.cs (IsValidUser): add analogous method from
1121 AuthorizationConfig.cs.
1123 * AuthorizationRule.cs: add predicates for Verb, User, and Role
1124 analogous to what existed in AuthorizationConfig.cs.
1126 2005-12-11 Chris Toshok <toshok@ximian.com>
1128 * WebConfigurationManager.cs (OpenMachineConfiguration): just call
1129 ConfigurationManager.OpenMachineConfiguration.
1130 (OpenWebConfiguration): remove the "IntPtr userToken" version and
1131 add a "string userName" version to clean up corcompare output.
1132 Modify all the overloads to pass null instead of IntPtr.Zero.
1133 (GetWebApplicationSection): if we're not running in a web
1134 application, use the machine configuration.
1136 2005-12-06 Chris Toshok <toshok@ximian.com>
1138 * CodeSubDirectory.cs (DirectoryName): don't use an private field,
1139 but base[directoyNameProp].
1141 * AuthorizationRuleCollection.cs (Add): use BaseAdd (rule, false),
1142 so we can insert duplicates.
1144 (GetElementKey): MS for some reason just uses the action for the
1146 (Remove): pass the correct key.
1148 * ProfileGroupSettings.cs (GetHashCode): implement.
1150 * GlobalizationSection.cs (GetEncoding): for the utf-8 case, just
1153 * AssemblyCollection.cs (Add): use BaseAdd (info, false) so we can
1156 * CacheSection.cs (.cctor): make privateByteLimit's default 0L so
1157 we don't get a invalid cast exception later on.
1159 * AuthorizationRule.cs (VerifyData): split out the verification
1160 foo from PreSerialize.
1161 (PostDeserialize): so we can call it from here.
1162 (PreSerialize): and here.
1164 2005-12-05 Chris Toshok <toshok@ximian.com>
1166 * AuthorizationRuleCollection.cs (GetKey): split out the logic for
1167 creating a key from a rule here.
1168 (GetElementKey): use it here.
1171 2005-12-04 Chris Toshok <toshok@ximian.com>
1173 * UrlMapping.cs: add an internal argument-less ctor.
1175 * UrlMappingCollection.cs (CreateNewElement): use argument-less
1177 (GetKey): implement.
1178 (AllKeys): implement.
1180 * TrustLevel.cs: add an internal argument-less ctor.
1182 * TrustLevelCollection.cs (Set): implement.
1183 (CreateNewElement): use argument-less ctor.
1184 (IsElementName): implement.
1185 (ElementName): implement.
1186 (set_Item (int index)): use Set.
1187 (ThrowOnDuplicate): implement.
1189 * TagPrefixInfo.cs: add internal argument-less ctor.
1191 * TagPrefixCollection.cs (CreateNewElement): call argument-less
1193 (CollectionType): add text to TODO.
1194 (ElementName): implement.
1196 * SqlCacheDependencyDatabaseCollection.cs (Set): implement.
1197 (AllKeys): implement.
1199 * RuleSettings.cs: add internal argument-less ctor.
1201 * RuleSettingsCollection.cs (Contains): implement.
1202 (CreateNewElement): use argument-less ctor.
1203 (IndexOf): implement.
1204 (Insert): implement.
1206 * RootProfilePropertySettingsCollection.cs (IsModified): chain up
1207 to base.IsModified for now.
1208 (Reset): chain up to base.Reset for now.
1209 (ResetModified): chain up to base.ResetModified for now.
1211 * ProfileSettings.cs: add internal argument-less ctor.
1213 * ProfileSettingsCollection.cs (Contains): implement.
1214 (CreateNewElement): use argument-less ctor.
1215 (IndexOf): implement.
1216 (Insert): implement.
1218 * ProfilePropertySettingsCollection.cs (IndexOf): implement.
1220 (AllKeys): implement.
1222 * ProfileGroupSettings.cs: add internal argument-less ctor.
1224 * ProfileGroupSettingsCollection.cs (CreateNewElement): use
1225 parameter-less ctor.
1226 (GetKey): implement.
1227 (ResetModified): for now call base.ResetModified.
1229 (AllKeys): implement.
1231 * OutputCacheProfile.cs: add internal argument-less ctor.
1233 * OutputCacheProfileCollection.cs (CreateNewElement): use
1234 parameter-less ctor.
1236 (AllKeys): implement.
1238 * HttpModuleActionCollection.cs (Add): remove MonoTODO.
1239 (CreateNewElement): same.
1241 * HttpHandlerActionCollection.cs (GetElementKey): build up the key
1242 from both the path and the verb.
1245 * FormsAuthenticationUserCollection.cs (Set): implement.
1246 (AllKeys): implement.
1248 * EventMappingSettings.cs: add an internal argument-less ctor.
1250 * EventMappingSettingsCollection.cs (Contains): implement.
1251 (CreateNewElement): use argument-less ctor.
1252 (IndexOf): implement.
1253 (Insert): implement.
1255 * CompilerCollection.cs (GetKey): implement.
1256 (AllKeys): implement.
1258 * ClientTargetCollection.cs (GetKey): implement.
1259 (AllKeys): implement.
1261 * AuthorizationRuleCollection.cs (Set): implement.
1262 (ElementName): add some text to the MonoTODO.
1263 (set_Item (int index)): use Set.
1265 2005-12-04 Chris Toshok <toshok@ximian.com>
1267 * CustomError.cs: add an internal argument-less ctor for use by
1270 * CustomErrorCollection.cs: implement all the MonoTODO's.
1272 2005-12-02 Chris Toshok <toshok@ximian.com>
1274 * GlobalizationSection.cs (VerifyData): split out the stuff that
1275 used to live in PreSerialize here.
1276 (PreSerialize): call VerifyData here.
1277 (PostDeserialize): and here.
1279 2005-12-01 Chris Toshok <toshok@ximian.com>
1281 * GlobalizationSection.cs (PreSerialize): add checks for Culture
1282 and UICulture properties.
1284 2005-12-01 Chris Toshok <toshok@ximian.com>
1286 * AuthorizationRule.cs (..ctor): provide default values for
1287 roles/users/verbs here. Not sure if we should do this in the ctor
1288 or if the System.Configuration infrastructure should.. time will
1290 (PreSerialize): throw if Roles.Count and Users.Count == 0.
1291 (SerializeElement): write out the element here. don't chain up to
1292 the base class since that has differing behavior than what we
1295 2005-11-30 Chris Toshok <toshok@ximian.com>
1297 * CompilerCollection.cs: ugly hack to fix the
1298 2.0-without-config-2.0 case. wrap this file in #if
1299 CONFIGURATION_2_0 as well as #if NET_2_0.
1301 * Compiler.cs: same.
1303 2005-11-28 Chris Toshok <toshok@ximian.com>
1305 * SessionStateSection.cs (CookieLess): correct the compat function
1308 2005-11-28 Chris Toshok <toshok@ximian.com>
1310 * GlobalizationSection.cs (GetEncoding): if the encoding name is
1311 null, default to utf-8 before we hit the try block, so we don't
1312 throw and generate a spurious warning.
1314 * SessionStateSection.cs: The Cookieless handling needs a custom
1315 parser, it appears, as the converter is a StringConverter, not a
1316 GenericEnumConverter.
1317 (ParseCookieMode): the parser.
1319 2005-11-28 Chris Toshok <toshok@ximian.com>
1321 * PagesSection.cs (GetInstance): nuke.
1323 * CompilationSection.cs (GetInstance): nuke.
1325 2005-11-28 Chris Toshok <toshok@ximian.com>
1327 * HttpHandlerAction.cs: add some c&p code from the 1.1 config
1328 stuff to look for matching handlers.
1329 (..ctor): add parameterless ctor.
1331 * HttpHandlerActionCollection.cs: clean up formatting.
1332 (CreateNewElement): call the parameter-less ctor for
1335 * HttpHandlersSection.cs (..ctor): add a ConfigurationProperty for
1336 the default collection.
1337 (get_Handlers): implement.
1338 (LocateHandler): copy over (and massage) some 1.1 config code.
1340 * MachineKeySection.cs: move some code over from the 1.1 config
1341 code to deal with autogeneration of keys, as well as converting
1342 from the string rep to the byte[] rep.
1344 2005-11-28 Chris Toshok <toshok@ximian.com>
1346 * HttpModuleActionCollection.cs (CreateNewElement): use the new
1347 HttpModuleAction ctor.
1349 * HttpModuleAction.cs: add internal ctor with no parameters, for
1350 use in HttpModuleActionCollection.
1352 2005-11-28 Chris Toshok <toshok@ximian.com>
1354 * GlobalizationSection.cs (..cctor): the encoding
1355 ConfigurationProperties are of type "string", even though the
1356 properties themselves are of type Encoding. we do conversions
1357 manually in the setter/getters. gross. Add code (mostly c&p +
1358 massaged from GlobalizationConfigurationHandler) for this and also
1359 to handle the culture gettes.
1361 2005-11-26 Chris Toshok <toshok@ximian.com>
1363 * AuthorizationRuleCollection.cs (GetElementKey): implement this.
1365 * ProfilePropertyNameValidator.cs: make this internal, and add a
1366 blurb about how MS doesn't do the testing you'd expect them to.
1368 2005-11-25 Chris Toshok <toshok@ximian.com>
1370 * AuthorizationRuleCollection.cs (CreateNewElement): remove
1373 * CompilationSection.cs (GetRuntimeObject): add comment to TODO.
1375 * ProfileGroupSettings.cs: reformat some things.
1377 * FormsAuthenticationUser.cs (Name): remove MonoTODO.
1379 * WebPartsSection.cs (GetRuntimeObject): change TODO comment.
1381 * ProfilePropertySettings.cs: add internal argument-less ctor.
1383 * IdentitySection.cs (GetRuntimeObject): return this.
1385 * ProfilePropertySettingsCollection.cs: implement much of the
1388 * WebControlsSection.cs (GetRuntimeObject): implement.
1390 * SqlCacheDependencyDatabaseCollection.cs (GetElementKey):
1392 (GetKey): implement.
1394 2005-11-24 Chris Toshok <toshok@ximian.com>
1396 * AssemblyInfo.cs: move this here from System.Web.Configuration,
1397 and fix up the properties.
1399 * SystemWebSectionGroup.cs: enable most of the sections (2
1400 remaining to be enabled.)
1402 2005-11-24 Chris Toshok <toshok@ximian.com>
1404 * ProcessModelSection.cs, SqlCacheDependencySection.cs,
1405 SessionStateSection.cs, PassportAuthentication.cs,
1406 FormsAuthenticationConfiguration.cs,
1407 SqlCacheDependencyDatabase.cs, HttpModuleAction.cs,
1408 BufferModeSettings.cs, TagPrefixInfo.cs (..cctor): init
1410 (ValidateElement): new static validator callback.
1411 (ElementProperty): enable this, return elementProperty.
1413 2005-11-23 Chris Toshok <toshok@ximian.com>
1415 * ProfilePropertyNameValidator.cs: new implementation.
1417 * ProfilePropertySettings.cs, ProfileGroupSettings.cs,
1418 ClientTargetSection.cs, ClientTargetSection.cs,
1419 BufferModeSettings.cs, HttpModulesSection.cs,
1420 WebPartsPersonalization.cs, TransformerInfo.cs, TrustLevel.cs,
1421 NamespaceInfo.cs, SqlCacheDependencyDatabase.cs,
1422 AuthenticationSection.cs, RuleSettings.cs,
1423 FormsAuthenticationUser.cs, WebPartsSection.cs, BuildProvider.cs,
1424 WebPartsPersonalizationAuthorization.cs, Compiler.cs,
1425 ExpressionBuilder.cs, OutputCacheProfile.cs,
1426 FormsAuthenticationCredentials.cs, XhtmlConformanceSection.cs,
1427 OutputCacheSettingsSection.cs, CustomError.cs, TraceSection.cs,
1428 ExpressionBuilderCollection.cs, ProfileSettings.cs,
1429 SessionStateSection.cs, HealthMonitoringSection.cs,
1430 FormsAuthenticationConfiguration.cs, HttpRuntimeSection.cs,
1431 SessionPageStateSection.cs, TrustSection.cs,
1432 AnonymousIdentificationSection.cs, WebControlsSection.cs,
1433 ClientTarget.cs, TagMapInfo.cs, AuthorizationSection.cs,
1434 ProcessModelSection.cs, RoleManagerSection.cs,
1435 MembershipSection.cs, CustomErrorsSection.cs (..cctor): fix
1436 validator/converters.
1438 * MachineKeySection.cs (..cctor): fix validators/converters.
1439 (Validation): enable the Converter.
1441 * CodeSubDirectory.cs (..cctor): fix validator/converters.
1442 (DirectoryName): add note about missing validator decoration.
1444 * HttpModuleAction.cs (..cctor): init properties.
1445 (Properties): return properties.
1447 * CompilationSection.cs (..cctor): fix validator/converters.
1448 (GetInstance): add in this pre-2.0 interface for the time being,
1449 hopefully it'll make it easier to migrate later on.
1451 * HttpHandlerActionCollection.cs (..cctor): init properties.
1452 (Properties): return properties.
1454 * PagesSection.cs (..cctor): fix validator/converters.
1455 (GetInstance): add in this pre-2.0 interface for the time being,
1456 hopefully it'll make it easier to migrate later on.
1458 * HttpHandlersSection.cs (..cctor): init properties.
1459 (Properties): return properties.
1461 * EventMappingSettings.cs (..cctor): fix validator/converters.
1462 (Name): add note about missing validator decoration.
1464 * HttpHandlerAction.cs (..cctor): fix validator/converters.
1465 (PAth, Type, Verb): add note about missing validator decoration.
1467 * NamespaceCollection.cs (..cctor): fix properties.
1469 * ProfilePropertySettingsCollection.cs (..cctor): init properties.
1470 (..ctor): don't throw NIE.
1471 (Properties): return properties.
1473 * HttpModuleActionCollection.cs (..cctor): init properties.
1474 (Properties): return properties.
1476 * CacheSection.cs (..cctor): fix validators/converters.
1477 (PrivateBytesPollTime): add note about missing validator
1480 * AuthorizationRule.cs (..cctor): fix validators/converters.
1481 (Roles, Users, Verbs): enable the TypeConverter decorations.
1483 * UrlMapping.cs (ValidateUrl): static method for use as a
1484 validation callback. unimplemented as yet.
1485 (..cctor): fix validators/converters.
1486 (MappedUrl): add note about missing validator decoration.
1488 * PropertyHelper.cs: static utility class which contains
1489 references to validators and converters for use in static
1490 constructors (building the Properties arrays).
1492 2005-11-23 Chris Toshok <toshok@ximian.com>
1494 * MachineKeyValidationConverter.cs: new converter (and a pretty
1495 silly one, considering all it seems to do is convert "TripleDES"
1498 * HostingEnvironmentSection.cs (.cctor): use
1499 PositiveTimeSpanValidator like MS does.
1501 2005-11-18 Chris Toshok <toshok@ximian.com>
1503 * HostingEnvironmentSection.cs (.cctor): add validators.
1505 * CompilationSection.cs (.cctor): fix defaultvalue of
1508 2005-11-18 Chris Toshok <toshok@ximian.com>
1510 * SystemWebSectionGroup.cs: enable a whole slew of properties.
1512 * RegexWorker.cs: stub this out.
1514 * HttpCapabilitiesBase.cs: remove GetClrVersions since it's in one
1515 of the other partial files.
1517 * CompilationSection.cs: fix this up.
1519 * PagesSection.cs: fix some types and add a comment to
1522 * CompilerCollection.cs (Add): new internal method.
1524 * ProvidersHelper.cs: put the using System.Configuration.Provider
1525 inside the NET_2_0 block.
1527 * CacheSection.cs: add validators.
1529 2005-11-14 Chris Toshok <toshok@ximian.com>
1531 * BufferModeSettings.cs: add validators/converters to the
1532 programmatic property list.
1534 * BuildProvider.cs: add validators/converters to the programmatic
1535 property list, and add an internal ctor with no args.
1537 * Compiler.cs: wrap the code i hacked from the 1.1 stuff with a
1540 * BuildProviderCollection.cs (CreateNewElement): use the internal
1541 BuildProvider ctor to get around validation.
1543 * AssemblyCollection.cs: same.
1545 2005-11-14 Chris Toshok <toshok@ximian.com>
1547 * TagPrefixCollection.cs (Remove): pass the key to BaseRemove.
1548 (set_Item (int index)): implement.
1550 * TagPrefixInfo.cs (Equals): implement.
1551 (GetHashCode): implement.
1553 * AuthorizationRuleCollection.cs (CreateNewElement(string)):
1554 implement propertly.
1555 (IndexOf): implement.
1556 (IsElementName): implement.
1557 (ElementName): implement.
1558 (Item (int index)): implement.
1560 * FormsAuthenticationUserCollection.cs (set_Item (int index)): implement.
1562 * UrlMappingCollection.cs (set_Item (int index)): implement.
1564 * OutputCacheProfileCollection.cs (set_Item (int index)): implement.
1566 * TransformerInfo.cs (Equals): implement.
1567 (GetHashCode): implement.
1569 * NamespaceInfo.cs (Equals): implement.
1570 (GetHashCode): implement.
1572 * ProfileSettingsCollection.cs (set_Item (int index)): implement.
1574 * TransformerInfoCollection.cs (set_Item (int index)): implement.
1576 * HttpHandlerActionCollection.cs (set_Item (int index)): implement.
1578 * BufferModesCollection.cs (set_Item (int index)): implement.
1580 * BuildProvider.cs: use the base[fooProp] pattern instead of
1583 * ProfileGroupSettingsCollection.cs: implement most of this class.
1585 * RuleSettingsCollection.cs (set_Item (int index)): implement.
1587 * ClientTargetCollection.cs (set_Item (int index)): implement.
1589 * AssemblyCollection.cs (set_Item (int index)): implement.
1591 * BuildProviderCollection.cs (set_Item (int index)): reformat.
1593 * CustomError.cs (Equals): implement.
1594 (GetHashCode): implement.
1596 * ExpressionBuilderCollection.cs (set_Item (int index)): reformat.
1598 * PassportAuthentication.cs (RedirectUrl): express consternation
1601 * NamespaceCollection.cs (set_Item (int index)): implement.
1603 * RootProfilePropertySettingsCollection.cs (SerializeElement): add
1606 * ProfilePropertySettingsCollection.cs (set_Item (int index)):
1609 * CustomErrorCollection.cs (set_Item (int index)): implement.
1611 * HttpModuleActionCollection.cs (set_Item (int index)): implement.
1613 * CodeSubDirectoriesCollection.cs (set_Item (int index)):
1616 * CustomErrorsSection.cs (DeserializeSection): include call to
1617 base.DeserializeSection, and add MonoTODO.
1619 * EventMappingSettingsCollection.cs (set_Item (int index)):
1622 * AuthorizationRule.cs (Equals): implement.
1623 (GetHashCode): implement.
1624 (SerializeElement): add comment.
1626 * TagMapCollection.cs (Remove): pass the key to BaseRemove.
1627 (set_Item (int index)): implement.
1629 * TagMapInfo.cs (Equals): implement.
1630 (GetHashCode): implement.
1631 (SerializeElement): add call to base.SerializeElement.
1633 * TrustLevelCollection.cs (Remove): pass the key to BaseRemove.
1634 (GetElementKey): implement.
1636 * SqlCacheDependencyDatabase.cs (set_Item (int index)): implement.
1638 * WebContext.cs: new implementation.
1640 2005-11-13 Chris Toshok <toshok@ximian.com>
1642 * AnonymousIdentificationSection.cs: rework this class a bit to
1643 fit in with the rest of S.W.C. Add validators to the
1644 ConfigurationProperty ctor calls, a pattern which will need to be
1645 replicated across the entire assembly, it appears (uggggh).
1647 2005-11-13 Chris Toshok <toshok@ximian.com>
1649 * AuthorizationRuleCollection.cs: fix ConfigurationCollection
1652 * TransformerInfo.cs: fix corcompare.
1654 * SqlCacheDependencyDatabase.cs: mark ctor internal to fix
1657 * AuthenticationSection.cs: add missing Reset stub.
1659 * ProfileSettingsCollection.cs: use the more succint ctor.
1661 * FormsAuthenticationUser.cs: enable the TypeConverter on "name".
1663 * GlobalizationSection.cs: fix up corcompare.
1665 * WebPartsSection.cs: fix up corcompare.
1667 * ProfileGroupSettingsCollection.cs: add missing
1668 ConfigurationCollection attribute.
1670 * ExpressionBuilder.cs: implement.
1672 * FormsAuthenticationCredentials.cs: fix up corcompare.
1674 * AssemblyCollection.cs: implement Properties.
1676 * SiteMapSection.cs: implement Properties.
1678 * ExpressionBuilderCollection.cs: fix up corcompare.
1680 * ProfileSettings.cs: add missing ctor.
1682 * PassportAuthentication.cs: new implementation.
1684 * SqlCacheDependencySection.cs: fix up corcompare.
1686 * ProfilePropertySettingsCollection.cs: fix up corcompare.
1688 * HttpModuleActionCollection.cs: fix up corcompare.
1690 * EventMappingSettingsCollection.cs: fix up corcompare.
1692 * AuthorizationRule.cs: fix up corcompare.
1694 * WebControlsSection.cs: fix up corcompare.
1696 * AuthorizationSection.cs: fix up corcompare.
1698 * MembershipSection.cs: clean this up, implement Properties, fix
1701 2005-11-13 Chris Toshok <toshok@ximian.com>
1703 * UrlMapping.cs, CustomErrorCollection.cs, CustomError.cs,
1704 HostingEnvironmentSection.cs, TrustLevel.cs,
1705 HttpCookiesSection.cs, UrlMappingsSection.cs,
1706 UrlMappingCollection.cs, LowerCaseStringConverter.cs,
1707 RoleManagerSection.cs, ProcessModelSection.cs,
1708 TrustLevelCollection.cs, ClientTarget.cs, CustomErrorsSection.cs,
1709 MachineKeySection.cs, SessionPageStateSection.cs,
1710 SessionStateSection.cs, ProvidersHelper.cs,
1711 ClientTargetCollection.cs, SecurityPolicySection.cs,
1712 HttpCapabilitiesBase.cs, ClientTargetSection.cs: Another large
1716 2005-11-12 Chris Toshok <toshok@ximian.com>
1718 * AuthorizationRuleCollection.cs, AuthorizationRule.cs,
1719 AuthorizationSection.cs, BufferModesCollection.cs,
1720 BufferModeSettings.cs, CacheSection.cs, CompilerCollection.cs,
1721 Compiler.cs, DeploymentSection.cs,
1722 EventMappingSettingsCollection.cs, EventMappingSettings.cs,
1723 GlobalizationSection.cs, HealthMonitoringSection.cs,
1724 IdentitySection.cs, OutputCacheProfileCollection.cs,
1725 OutputCacheProfile.cs, OutputCacheSection.cs,
1726 OutputCacheSettingsSection.cs, ProfileSettingsCollection.cs,
1727 ProfileSettings.cs, RuleSettingsCollection.cs, RuleSettings.cs,
1728 SqlCacheDependencyDatabaseCollection.cs,
1729 SqlCacheDependencyDatabase.cs, SqlCacheDependencySection.cs,
1730 SystemWebCachingSectionGroup.cs, TraceSection.cs,
1731 TransformerInfoCollection.cs, TransformerInfo.cs, TrustSection.cs,
1732 WebControlsSection.cs, WebPartsPersonalizationAuthorization.cs,
1733 WebPartsPersonalization.cs, WebPartsSection.cs,
1734 XhtmlConformanceSection.cs: a whole slew of new classes. the
1735 fruits of tons of c&p and ibuprofen.
1738 2005-11-09 Chris Toshok <toshok@ximian.com>
1740 * PagesSection.cs, AuthenticationSection.cs, BuildProvider.cs,
1741 BuildProviderCollection.cs, HttpHandlerActionCollection.cs,
1742 HttpModulesSection.cs, HttpModuleAction.cs,
1743 HttpModuleActionCollection.cs, AnonymousIdentificationSection.cs,
1744 CodeSubDirectory.cs, CodeSubDirectoriesCollection.cs,
1745 SystemWebSectionGroup.cs, SiteMapSection.cs,
1746 WebConfigurationManager.cs: flesh out the implementation.
1748 * TagMap*.cs, TagPrefix*.cs: new implementation.
1750 * FormsAuthentication*.cs: new implementation.
1752 * Profile*.cs: new implementation.
1754 * Namespace*.cs: new implementation.
1756 * HttpRuntimeSection.cs: new implementation.