[corlib] Improve CancellationTokenSource test
[mono.git] / mcs / class / System.Web / System.Web.Configuration_2.0 / ChangeLog
1 2010-07-02  Marek Habersack  <mhabersack@novell.com>
2
3         * VersionConverter.cs: added support for checking whether the
4         passed version is equal or more than a specified minimal version.
5
6         * PagesSection.cs: added two 4.0 properties - ClientIDMode and
7         ControlRenderingCompatibilityVersion 
8
9 2010-06-01  Marek Habersack  <mhabersack@novell.com>
10
11         * HttpRuntimeSection.cs: added 4.0 properties
12         MaxQueryLengthString, MaxUrlLength, EncoderType and
13         RelaxedUrlToFileSystemMapping.
14
15 2010-05-17  Marek Habersack  <mhabersack@novell.com>
16
17         * BuildProvider.cs: made the Extension property case-insensitive
18
19 2010-04-09  Marek Habersack  <mhabersack@novell.com>
20
21         * WebConfigurationManager.cs: GetSection properly processes paths
22         of form '~'. Fixes bug #595140. Patch from Adriaan van Kekem
23         <avkekem@hotmail.com>, thanks!
24
25 2010-04-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
26
27         * GlobalizationSection.cs: use WebName instead of EncodingName.
28
29 2010-03-06  Marek Habersack  <mhabersack@novell.com>
30
31         * WebConfigurationManager.cs: do not use Request.Path - it may
32         fail because of invalid web.config file, use
33         Request.PathNoValidation instead.
34
35         * VersionConverter.cs: added
36
37         * PropertyHelper.cs: added a Version converter helper.
38
39         * HttpRuntimeSection.cs: added 4.0 properties -
40         RequestPathInvalidCharacters, RequestValidationType and
41         RequestValidationMode.
42
43 2010-02-23  Marek Habersack  <mhabersack@novell.com>
44
45         * SessionStateSection.cs: implemented 4.0 properties -
46         CompressionEnabled and SqlConnectionRetryInterval 
47
48 2010-02-12  Marek Habersack  <mhabersack@novell.com>
49
50         * WebConfigurationHost.cs: implemented {Encrypt,Decrypt}Section
51
52 2010-01-20  Marek Habersack  <mhabersack@novell.com>
53
54         * OutputCacheSection.cs: implemented the Providers and
55         DefaultProviderName 4.0 properties.
56
57 2010-01-09  Marek Habersack  <mhabersack@novell.com>
58
59         * WebConfigurationManager.cs: GetSection properly handles looking
60         up and caching of <location> instances. Part of fix for bug
61         #568441
62
63         * WebConfigurationHost.cs: GetConfigPathFromLocationSubPath
64         calculatesthe path relative to the current config file path. Part
65         of fix for bug #568441
66
67 2009-12-02  Marek Habersack  <mhabersack@novell.com>
68
69         * CompilationSection.cs: added two properties -
70         OptimizeCompilations (3.5+) and TargetFramework (4.0+)
71
72 2009-11-19  Marek Habersack  <mhabersack@novell.com>
73
74         * WebConfigurationHost.cs: IsDefinitionAllowed now normalizes the
75         passed configuration path, so that MachineToApplication sections
76
77         * WebConfigurationManager.cs: use an rw lock to protect access to
78         sectionCache. This is now necessary as the save handler clears the
79         cache.
80
81 2009-11-10  Marek Habersack  <mhabersack@novell.com>
82
83         * WebConfigurationManager.cs: path passed to OpenWebConfiguration
84         from GetSection does not come from FindWebConfig.
85
86 2009-11-09  Marek Habersack  <mhabersack@novell.com>
87
88         * WebConfigurationManager.cs: there's no need to cache sections by
89         _file_ path - using section name and web.config path is more than
90         enough and it reduces the number of cache entries
91         considerably. Fixes bug #550730
92
93 2009-10-07  Marek Habersack  <mhabersack@novell.com>
94
95         * WebConfigurationManager.cs: GetSection doesn't perform string +
96         char + string concatenation to generate section cache key (by
97         Gonzalo Paniagua Javier) which gives an enormous performance boost
98         (processing time for mojoportal's default.aspx went down from
99         2.65s to 107ms on average). The key generation is performed
100         without any kind of string operation right now (except for
101         GetHashCode on 3 strings).
102         GetSectionCacheKey is called only once and sectionCache became a
103         dictionary.
104
105 2009-08-20  Marek Habersack  <mhabersack@novell.com>
106
107         * WebConfigurationManager.cs: GetSection does not use
108         FindWebConfig to get the virtual path to open configuration for -
109         doing so would make the configuration system ignore <location>
110         sections. Fixes bug #482181
111
112 2009-07-23 Gonzalo Paniagua Javier <gonzalo@novell.com>
113
114         * WebConfigurationManager.cs: avoid possible infinite loop when the
115         path starts with ~ and 1 file check.
116
117 2009-07-15  Marek Habersack  <mhabersack@novell.com>
118
119         * WebConfigurationManager.cs: another approach to suppressing
120         application reloads after the app writes to its root web.config
121         file. Leaving the previous code in place to get more
122         protection. It's a kludge, but it's the best option to avoid
123         all the races caused by System.Configuration+FileSystemWatcher
124         without rewriting large parts of System.Configuration (and
125         System.Web.Configuration). Fixes bug #522017
126
127 2009-07-14  Marek Habersack  <mhabersack@novell.com>
128
129         * WebConfigurationManager.cs: added support for suppressing
130         application reload when the main config file is written to from
131         application.
132
133         * WebConfigurationHost.cs: added minimal implementation of
134         WriteCompleted, which checks if there's need to suppress
135         application reload.
136
137 2009-07-13  Marek Habersack  <mhabersack@novell.com>
138
139         * ProvidersHelper.cs: InstantiateProvider doesn't have to
140         explicitly look for types in App_Code assemblies - this is done in
141         HttpApplication.LoadType.
142
143 2009-07-09 Gonzalo Paniagua Javier <gonzalo@novell.com>
144
145         * WebConfigurationHost.cs: null means MachineToApplication.
146         * WebConfigurationManager.cs: when caching configuration and sections,
147         use the configuration file directory instead of the incoming request
148         path.
149
150 2009-06-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
151
152         * HttpHandlerAction.cs: fix path matching when the pattern has more
153         than one slash.
154
155 2009-06-05  Marek Habersack  <mhabersack@novell.com>
156
157         * WebConfigurationManager.cs: OpenWebConfiguration caches
158         configurations with a key generated from all the parameters passed
159         to it, not just from path.
160         Added internal GetSection method which takes HttpContext as its
161         third parameter - used in calling OpenWebConfiguration.
162         FindWebConfig is no longer used in GetSection - it breaks handling
163         of <location> elements in config files. Fixes bug #510302
164
165 2009-06-03  Marek Habersack  <mhabersack@novell.com>
166
167         * MonoSettingsSection.cs: added new property,
168         verificationCompatibility, which serves the same purpose as the
169         registry key described in http://support.microsoft.com/kb/932552
170         (when set to 1 it turns off virtual path validity
171         verification). Fixes bug #509163
172
173 2009-05-14  Marek Habersack  <mhabersack@novell.com>
174
175         * HttpHandlersSection.cs: if we're matching a default handler,
176         disallow caching.
177
178 2009-04-03  Marek Habersack  <mhabersack@novell.com>
179
180         * WebConfigurationManager.cs: added code in the static constructor
181         to enable retrieving application settings via
182         ApplicationSettingsBase from within asp.net applications. Fixes
183         bug #491531
184
185         * ApplicationSettingsConfigurationFileMap.cs: added.
186
187 2009-03-12  Dean Brettle  <dean@brettle.com>
188
189         * nBrowser/Build.cs: made Browser() method thread-safe and moved the
190         actual tree creation to a private InitializeTree() method for clarity.
191
192 2009-03-01  Marek Habersack  <mhabersack@novell.com>
193
194         * WebConfigurationManager.cs: optimized GetWebApplicationSection a
195         bit
196
197 2009-02-28  Marek Habersack  <mhabersack@novell.com>
198
199         * WebConfigurationManager.cs: make sure no nrex happens in
200         GetSectionCacheKey ()
201
202 2009-02-26 Gonzalo Paniagua Javier <gonzalo@novell.com>
203
204         * WebConfigurationManager.cs: generate a hash from the string hsah
205         codes instead of concatenating them.
206
207 2009-01-27  Marek Habersack  <mhabersack@novell.com>
208
209         * HttpHandlerAction.cs: removed the matches cache, it doesn't
210         improve matters here in 99% of the cases.
211         Regexps are no longer used to match handler paths, SearchPattern
212         is used instead.
213
214 2009-01-26  Marek Habersack  <mhabersack@novell.com>
215
216         * WebConfigurationHost.cs: when an attempt to map a fake virtual
217         path is made, MapPath returns the aplication physical root
218         directory. Fixes bug #463950
219
220 2008-01-09  Dean Brettle  <dean@brettle.com>
221
222         * nBrowser/Node.cs: Fixed compatibility bug where <identification> sections were required
223         in browser defs.  
224
225 2009-01-09  Marek Habersack  <mhabersack@novell.com>
226
227         * WebConfigurationManager.cs: do not normalize the path in
228         FindWebConfig when getting the virtual directory.
229
230 2009-01-08  Marek Habersack  <mhabersack@novell.com>
231
232         * WebConfigurationManager.cs: improve performance of
233         FindWebConfig.
234
235 2009-01-07  Marek Habersack  <mhabersack@novell.com>
236
237         * HttpModulesSection.cs: allow for modules with non-public
238         constructors. Fises bug #463971
239
240         * HttpHandlerAction.cs: allow for handlers with non-public
241         constructors. Fixes bug #463971
242
243 2008-12-24  Marek Habersack  <mhabersack@novell.com>
244
245         * WebConfigurationManager.cs: A better version of the previous
246         GetSection fix. Right now the method searches for directories
247         containing web.config and uses them, if found, to open the web
248         configuration. If no web.config is found, web configuration is
249         opened for the root application directory.
250
251         * WebConfigurationHost.cs: made GetWebConfigFileName internal
252         static, so that code can be reused from WebConfigurationManager.
253
254 2008-12-23  Marek Habersack  <mhabersack@novell.com>
255
256         * WebConfigurationManager.cs: GetSection should call
257         OpenWebConfiguration using the actual directory path, not a file
258         path. If it fails to do so, System.Configuration may treat the
259         top-level Web.config file as a child one which, in turn, in
260         certain circumstances will lead to duplicate keys inserted in
261         collections.
262
263 2008-12-16  Marek Habersack  <mhabersack@novell.com>
264
265         * WebConfigurationHost.cs: IsDefinitionAllowed should treat
266         configPath == "~" as the root application path.
267
268 2008-12-12  Owen Brady <Ocean@owenbrady.net>
269
270         * nBrowser/File.cs, nBrowser/Identification.cs, nBrowser/Node.cs, nBrowser/NodeTypes.cs,
271         nBrowser/Result.cs, nBrowser/Build.cs, nBrowser/Exception.cs, CapabilitiesBuild.cs, 
272         CapabilitiesResult.cs: Updated Copyright information to include updated contact information.
273         
274         * nBrowser/Build.cs: Removed LoadDefaultEmbeddedResource function, the embeded resource
275         it is referring too was never included in Mono. And was designed for a free standing 
276         browser identification libary.
277
278         * nBrowser/Exception.cs: Removed Compile Attributes and related comments which were left
279         in from the original free standing browser libary.
280         
281         * CapabilitiesBuild.cs: Removed Header Checksum related coding since it is not required
282         for the Mono implementation.
283
284         * CapabilitiesResult.cs: Updated Copyright information to include updated contact information. 
285         Removed functions which were designed to make use of features of a embeded browser file which
286         is not present in Mono.
287         
288         * CapabilitiesChecksum.cs, RandomRoboBotKeywords.txt: Deleted
289 2008-10-21  Marek Habersack  <mhabersack@novell.com>
290
291         * CapabilitiesChecksum.cs: implement Hex and MapToHex more efficiently.
292
293 2008-10-09  Marek Habersack  <mhabersack@novell.com>
294
295         * MonoSettingsSection.cs: added - a section for mono-specific
296         settings.
297
298 2008-10-01  Marek Habersack  <mhabersack@novell.com>
299
300         * CapabilitiesResult.cs: added support for the "browsers"
301         capability - a collection of matching browser ids.
302
303         * nBrowser/Node.cs: store matching browser ids in the capabilities
304         collection (to support IsBrowser correctly)
305
306 2008-07-25  Dean Brettle <dean@brettle.com>
307
308         * nBrowser/Node.cs nBrowser/Build.cs nBrowser/Identification.cs: Fixed race
309         condition in Node.Process() by removing mutating functions from Identification
310         and     changing Node.Process() and Node.BrowserIdentification() to maintain
311         state in a List<Match> instead of a List<Identification>.
312         
313         * nBrowser/Node.cs: Fixed race condition associated with lookup of adapter
314         types.
315         
316         * nBrowser/Node.cs: Removed duplicate call to Node.BrowserIdentification() from
317         Node.Process().
318
319         * nBrowser/Node.cs: Removed duplicate call to Result.AddAdaper() from Node.Process().
320         
321         * nBrowser/Node.cs: Fixed bug where capabilities containing literal $ or % were
322         dropped.
323
324         * nBrowser/Node.cs: Fixed bug where capabilities with multiple $ substitutions only
325         had one applied.
326
327 2008-06-30  Zoltan Varga  <vargaz@gmail.com>
328
329         * CapabilitiesResult.cs: Make the RandomRoboBotKeywords array static and compute it
330         only once.
331
332 2008-06-30  Marek Habersack  <mhabersack@novell.com>
333
334         * CompilationSection.cs: hush the warnings
335
336 2008-06-26  Zoltan Varga  <vargaz@gmail.com>
337
338         * nBrowser/Node.cs nBrowser/Result.cs: Avoid looking up adapter types names for
339         every request in every assembly.
340
341 2008-05-22  Marek Habersack  <mhabersack@novell.com>
342
343         * WebConfigurationHost.cs: changed CreateDeprecatedConfigContext
344         to return a new HttpContext object. This is part of a fix for bug 
345         #325128. Patch contributed by James Fitzsimons <james.fitzsimons@gmail.com>,
346         thanks!
347
348 2008-05-07  Marek Habersack  <mhabersack@novell.com>
349
350         * RoleManagerSection.cs: use type converter when creating the
351         cookieTimeout property in the static constructor. Fixes bug
352         #387526. Patch fromIvan Hamilton <ivan@chimerical.com.au>, thanks! 
353
354 2008-03-23  Dean Brettle <dean@brettle.com>
355
356         * CapabilitiesBuild.cs (Process), ICapabilitiesProcess.cs (Process),
357         nBrowser/Build.cs (Process): Added initialCapabilities argument to 
358         facilitate using browscap.ini capabilities.
359         
360         * CapabilitiesResult.cs (ctor), nBrowserResult.cs (ctor): Change 
361         items arg to IDictionary to     facilitate using browscap.ini capabilities.
362         
363         * nBrowser/Node.cs (Reset): Removed code which checked prohibited 
364         non-alphanumerics in id attributes because .NET is not that strict.
365         
366         * nBrowser/Node.cs (MergeFrom): Fixed NullReferenceExceptions that
367         occurred when the source or destination node did not have any
368         capabilities or adapters.
369         
370         * nBrowser/Result.cs (AddAdapter): Fixed to allow types in other
371         assemblies.
372
373 2008-03-09  Dean Brettle <dean@brettle.com> 
374
375         * nBrowser/Result.cs, nBrowser/NodeTypes.cs, nBrowser/Identification.cs,
376         nBrowser/File.cs, nBrowser/Build.cs, nBrowser/Node.cs, 
377         nBrowser/Exception.cs: added.  The code under nBrowser handles *.browser
378         files.  It is based on Owen "Ocean" Brady's code, with the following 
379         changes and improvements.  Replaced Result.Adapter 
380         property with AdapterTypeMap property which maps control Type to adapter
381         Type.  Added Result.MarkupTextWriter property.  Added overrides for
382         Result.GetAdapters and Result.GetTagWriter to return MarkupTextWriter
383         and AdapterTypeMap, resp.  Changed tree building algorithm to not
384         depend on nodes with id="Default" and to inject defaultBrowser nodes
385         as parents of regular nodes with the same ids.  Changed Node.cs to use
386         Item instead of Add when adding a capability or sample header, so that
387         values get replaced instead of appended.  Added support for reference 
388         nodes (ie. nodes with refID="someID").
389                 
390         * CapabilitiesResult.cs: load RandomRoboBotKeywords.txt resource
391         using the correct name.
392         
393         * RandomRoboBotKeywords.txt: added 
394
395         * HttpCapabilitiesBase.cs (CreateHtmlWriter, Adapters): Added
396         support for *.browsers.  Adapters property calls internal virtual
397         GetAdapters() method which is overrided in nBrowser.Result 
398         returned by nBrowser code.  CreateHtmlWriter uses type specified
399         by TagWriter property.
400         
401 2008-03-03  Vladimir Krasnov  <vladimirk@mainsoft.com>
402
403         * ProvidersHelper.cs: fixed thread safety issue in InstantiateProvider
404
405 2008-03-01  Marek Habersack  <mhabersack@novell.com>
406
407         * WebConfigurationManager.cs: SettingsMappingManager has been
408         moved to Mono.Web.dll
409
410 2008-02-28  Marek Habersack  <mhabersack@novell.com>
411
412         * HttpHandlerAction.cs: ignore case when matching handler
413         paths. Fixes bug #364995
414
415 2008-02-26  Marek Habersack  <mhabersack@novell.com>
416
417         * BuildProviderCollection.cs: be case-insensitive when looking for
418         the extension match.
419
420 2008-02-25  Marek Habersack  <mhabersack@novell.com>
421
422         * WebConfigurationManager.cs: hashtable can contain a key with a
423         null value, avoid adding duplicate keys in such cases.
424
425 2008-02-18  Vladimir Krasnov  <vladimirk@mainsoft.com>
426
427         * WebConfigurationManager.cs: performance improvement, cached
428         GetSection method
429
430 2008-02-07  Vladimir Krasnov  <vladimirk@mainsoft.com>
431
432         * GlobalizationSection.cs: fixed GetSanitizedCulture, performance
433         optimization
434
435 2008-02-05  Marek Habersack  <mhabersack@novell.com>
436
437         * CompilerCollection.cs: Get (string language) should not use
438         BaseGet as our collection is keyed on a list of language names
439         (e.g. "cs;csharp") and passing a single language won't match in
440         BaseGet correctly. Use the overriden indexer instead.
441         Initialize the base class with the case-insensitive
442         comparer. Fixes bug #357824.
443
444 2008-01-27  Daniel Nauck <dna@mono-project.de>
445
446         * HttpHandlerAction.cs: fixed the internal method PathMatches ()
447         removed wrong caching of FileMatchingInfo classes with request specific
448         informations. Now we check against the current request path and cache
449         the result in a dictionary.
450         Also check correctly against all possible paths from the HttpHandler.
451                 
452
453 2007-12-27  Marek Habersack  <mhabersack@novell.com>
454
455         * ProfileGroupSettingsCollection.cs: added an internal method to
456         add/overwrite new group settings. Used from
457         RootProfilePropertySettingsCollection.
458
459         * ProfileGroupSettings.cs: added the missing "name" property to
460         the properties collection.
461         Marked the propertySettingsProp property as the default
462         collection.
463         Added internal deserialization method, used from
464         RootProfilePropertySettingsCollection to support the 'group'
465         element.
466
467         * ProfileSection.cs: defaultProviderProp typo - the name of the
468         provider should be "AspNetSqlProfileProvider"
469
470         * RootProfilePropertySettingsCollection.cs: added
471         OnDeseerializeUnrecognizedElement to support the profile 'group'
472         element.
473         Added a missing Unmerge method.
474
475 2007-12-11  Vladimir Krasnov  <vladimirk@mainsoft.com>
476
477         * SiteMapSection.cs: fixed ProvidersInternal property to be thread safe
478
479 2007-12-08  Marek Habersack  <mhabersack@novell.com>
480
481         * WebConfigurationManager.cs: GetSection now runs each section
482         through a mapper (if any is defined for the section) before
483         returning it to the caller.
484
485 2007-11-23  Marek Habersack  <mhabersack@novell.com>
486
487         * TagPrefixCollection.cs: changed the collection type to
488         BasicMap.
489
490         * ProfileSection.cs: added missing Properties property, added a
491         static constructor to create property descriptors. Use property
492         descriptors in property accessors.
493
494         * ProfileGroupSettingsCollection.cs: added missing attribute to
495         the class, removed CollectionType method, added missing IsModified
496         and ResetModified methods, added missing Properties property.
497
498         * ProfileGroupSettings.cs: added missing Properties property,
499         adjusted the set of custom attributes of the PropertySettings
500         property.
501
502         * ProcessModelSection.cs: change the default value of the CpuMask
503         property.
504
505         * OutputCacheSection.cs: added the EnableKernelCacheForVaryByStar
506         property.
507
508         * OutputCacheProfile.cs: added the VaryByContentEncoding property.
509
510         * FormsAuthenticationConfiguration.cs: corrected defaults for the
511         Timeout property.
512
513         * ExpressionBuilder.cs: corrected defaults for the
514         ExpressionPrefix and Type properties.
515
516         * CustomErrorsSection.cs: added two missing overrides -
517         DeserializeSection and Reset.
518
519         * ClientTargetSection.cs: added the missing Properties property.
520         Added static constructor to create the property collection.
521
522         * CustomErrorCollection.cs: removed the ThrowOnDuplicate
523         property.
524
525         * CacheSection.cs: corrected defaults for the
526         PercentagePhysicalMemoryUsedLimit property.
527
528         * ClientTargetCollection.cs: added missing Properties property.
529
530         * IConfigMapPathFactory.cs: added
531
532         * IConfigMapPath.cs: added
533
534         * RoleManagerSection.cs: added a static constructor, a collection
535         of properties, the missing Properties property.
536
537 2007-11-22  Marek Habersack  <mhabersack@novell.com>
538
539         * RoleManagerSection.cs: CookieTimeout property custom attributes
540         changed to match MS.NET's ones.
541
542         * AuthorizationRuleCollection.cs: removed the ThrowOnDuplicate
543         property - it's not found in the MS.NET version of the class.
544
545 2007-11-06  Marek Habersack  <mhabersack@novell.com>
546
547         * MachineKeySectionUtils.cs: make sure keys are autogenerated when
548         necessary.
549
550 2007-11-02  Marek Habersack  <mhabersack@novell.com>
551
552         * HttpHandlerActionCollection.cs: clear http handler cache in
553         HttpApplication if the collection is modified.
554
555 2007-11-01  Marek Habersack  <mhabersack@novell.com>
556
557         * MachineKeySection.cs: moved all the internal static methods and
558         properties to MachineKeySectionUtils.cs
559
560         * MachineKeySectionUtils.cs: added. This file is included in the
561         System.Web.Extensions compilation.
562         The old properties from MachineKeySection.cs became methods.
563
564 2007-10-24  Marek Habersack  <mhabersack@novell.com>
565
566         * HttpHandlerAction.cs: exact path matching must be done on the
567         original string in PathMatches, not on the sliced one. Fixes bug
568         #335669.
569
570 2007-10-17  Marek Habersack  <mhabersack@novell.com>
571
572         * WebConfigurationHost.cs: if running outside hosted environment,
573         read only the assemblyname.config configuration file instead of
574         web.config. Fixes bug #332425
575
576 2007-10-15  Marek Habersack  <mhabersack@novell.com>
577
578         * ProvidersHelper.cs: use HttpApplication.LoadType instead of
579         Type.GetType.
580
581         * HttpModulesSection.cs: use HttpApplication.LoadType when loading
582         modules, to include both the bin/ directory and the top-level
583         assemblies in search. Fixes bug #333686.
584
585 2007-08-30  Marek Habersack  <mhabersack@novell.com>
586
587         * MachineKeySection.cs: retrieve the keys from the registry before
588         falling back to the old method. Fixes bug #76606
589
590 2007-08-23  Marek Habersack  <mhabersack@novell.com>
591
592         * ProvidersHelper.cs: HttpApplication.LoadTypeFromPrivateBin
593         renamed to LoadTypeFromBin.
594
595 2007-08-21  Marek Habersack  <mhabersack@novell.com>
596
597         * ProvidersHelper.cs: use HttpApplication.LoadTypeFromPrivateBin
598         to get the provider settings type.
599
600 2007-08-10  Gert Driesen  <drieseng@users.sourceforge.net>
601
602         * PagesEnableSessionState.cs: Marked internal on 1.0 profile.
603
604 2007-07-16  Vladimir Krasnov  <vladimirk@mainsoft.com>
605
606         * ProfileGroupSettingsCollection.cs: added ResetInternal internal
607         method
608         * RootProfilePropertySettingsCollection.cs: added Reset method
609         override to reset GroupSettings collection
610
611 2007-06-24  Vladimir Krasnov  <vladimirk@mainsoft.com>
612
613         * HttpHandlerAction.cs: fixed SplitPaths property to be thread safe
614
615 2007-06-12  Vladimir Krasnov  <vladimirk@mainsoft.com>
616
617         * CompilationSection.cs: TARGET_JVM on not supported features
618         * HttpModulesSection.cs: ctor should be static
619
620 2007-06-03  Adar Wesley <adarw@mainsoft.com>
621
622         * ProfilePropertySettingsCollection.cs: added missing method 
623         OnDeserializeUnrecognizedElement.
624
625 2007-05-30  Marek Habersack  <mhabersack@novell.com>
626
627         * WebConfigurationManager.cs: if errors happen when opening the
628         configuration file, mark the manager as unsafe to prevent further
629         usage and avoid error loops.
630
631 2007-05-17  Igor Zelmanovich <igorz@mainsoft.com>
632
633         * WebConfigurationHost.cs: for TARGET_J2EE only:
634         prevent NullRefference Exception.
635
636 2007-05-15  Igor Zelmanovich <igorz@mainsoft.com>
637
638         * WebConfigurationManager.cs: 
639         make configurations hashtable case-insensitive.
640         * WebConfigurationHost.cs: for TARGET_J2EE only:
641         GetStreamName returns file path in right case, that make it works 
642         on case-sensitive file system.
643
644 2007-05-15  Marek Habersack  <mhabersack@novell.com>
645
646         * BuildProviderCollection.cs: refactoring - use
647         HttpApplication.LoadType to actually look up the type.
648
649         * HttpHandlerAction.cs: as above
650
651         * WebConfigurationHost.cs: refactoring - moved the LoadType to
652         HttpApplication to share the code between 1.1 and 2.0 profiles.
653
654 2007-05-14  Marek Habersack  <mhabersack@novell.com>
655
656         * UrlMappingCollection.cs: implemented the Item (string) indexer.
657
658         * UrlMapping.cs: implemented the URL validation callback body
659         (doesn't work at the moment).
660
661 2007-05-14  Igor Zelmanovich <igorz@mainsoft.com>
662
663         * WebConfigurationManager.cs: 
664         make configurations synchronized.
665         added new internal method RemoveConfigurationFromCache.
666
667 2007-05-07  Marek Habersack  <mhabersack@novell.com>
668
669         * PagesSection.cs: buffering is on by default.
670
671 2007-04-24  Marek Habersack  <mhabersack@novell.com>
672
673         * WebConfigurationHost.cs: wrap MapPath calls in try/catch,
674         because bad URLs can cause it to throw exceptions. If such
675         exception is caught, throw a HttpException for Bad Request (400).
676         Look for types in the top-level assemblies (App_Code and
677         friends).
678
679         * WebConfigurationManager.cs: added two internal methods for safe
680         retrieval of config sections.
681
682 2007-04-19  Marek Habersack  <mhabersack@novell.com>
683
684         * HttpHandlerAction.cs: look up types in all the toplevel
685         assemblies. Fixes bug #80897.
686
687 2007-04-17  Atsushi Enomoto  <atsushi@ximian.com>
688
689         * ProcessModelSection.cs : cpuMask default value should be int,
690           not uint.
691
692 2007-04-06  Marek Habersack  <mhabersack@novell.com>
693
694         * CustomErrorsSection.cs: make the customErrors section work.
695
696         * PagesSection.cs: provide appropriate default value for the
697         asyncTimeout setting.
698
699 2007-03-24  Marek Habersack  <mhabersack@novell.com>
700
701         * WebConfigurationHost.cs: allow MachineToApplication definition
702         for config paths that equal the domain virtual app directory.
703
704 2007-03-22  Adar Wesley <adarw@mainsoft.com>
705
706         * HttpCapabilitiesBase.cs: implemented all capabilities.  Capabilities
707         still throw if there is no value in browscaps.ini and the property is called.
708
709 2007-03-21  Vladimir Krasnov  <vladimirk@mainsoft.com>
710
711         * WebConfigurationManager.cs: fixed OpenWebConfiguration, should not
712         lock when checking if configuration is already open
713
714 2007-03-15  Vladimir Krasnov  <vladimirk@mainsoft.com>
715
716         * WebConfigurationManager.cs: fixed OpenWebConfiguration, removed 
717         GetBasePath call and locations search, since this not affects
718         configuration initialization, but improves performance
719
720 2007-03-12  Marek Habersack  <mhabersack@novell.com>
721
722         * ProvidersHelper.cs: support loading custom providers from
723         App_Code assemblies. Fixes bug #81071.
724         Also set eol-style to native.
725
726 2007-03-08  Gert Driesen  <drieseng@users.souceforge.net>
727
728         * PagesSection.cs: Revert part of Adar's patch that regresses
729         bug #80913.
730
731 2007-03-06  Adar Wesley <adarw@mainsoft.com>
732
733         * PagesSection.cs: improve Enum parsing and strongly typed default values.
734
735 2007-02-20  Marek Habersack  <grendello@gmail.com>
736
737         * Patch from Gert Driesen  <drieseng@users.sourceforge.net>
738         * PagesSection.cs: Process value of EnableSessionState attribute
739         case-sensitive, and perform check in getter. Fix for bug #80913.
740         * PageParser.cs: Added note on difference in behaviour between page
741         level attribute and configuration attribute for enableSessionState.
742         * PagesConfiguration.cs: Fixed compiler warning.
743
744 2007-02-22  Marek Habersack  <grendello@gmail.com>
745
746         * CompilerCollection.cs: Optimize language lookup a bit.
747
748 2007-02-05  Konstantin Triger <kostat@mainsoft.com>
749
750         * TagPrefixCollection.cs: Fix element key creation.
751
752 2007-02-04  Konstantin Triger <kostat@mainsoft.com>
753
754         * NamespaceInfo.cs, HttpModuleAction.cs, RoleManagerSection.cs:
755                 fix the default value.
756
757 2007-02-02  Marek Habersack  <grendello@gmail.com>
758
759         * TagPrefixCollection.cs: Add the CollectionType parameter.
760         Get rid of unnecessary interface references in the class declaration.
761         GetElementKey should return Source which should be unique, unlike TagPrefix.
762
763 2007-01-04  Konstantin Triger <kostat@mainsoft.com>
764
765         * ProfileSection.cs: Ensure enabled = true by default; cleanup.
766
767 2006-12-27  Vladimir Krasnov  <vladimirk@mainsoft.com>
768
769         * CustomErrorCollection.cs: fixed ThrowOnDuplicate to false as in .net
770
771 2006-12-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
772
773         * GlobalizationSection.cs: make encodings actually work for the 2.0
774         profile.
775
776 2006-12-21  Marek Habersack  <grendello@gmail.com>
777
778         * TagMapInfo.cs: Add an internal default constructor for use from
779         TagMapCollection.
780
781         * TagMapCollection.cs: Don't call the string,string constructor of
782         TagMapInfo - the class disallows empty strings as values of its
783         properties.
784
785 2006-12-21  Vladimir Krasnov  <vladimirk@mainsoft.com>
786
787         * RoleManagerSection.cs: refactored using attributes
788
789 2006-12-20  Marek Habersack  <grendello@gmail.com>
790
791         * ProfilePropertyNameValidator.cs: added a few checks.
792
793 2006-12-18  Vladimir Krasnov  <vladimirk@mainsoft.com>
794
795         * WebConfigurationManager.cs: fixed GetSection to execute
796         GetRuntimeObject, refactored GetSection and GetWebApplicationSection
797
798 2006-12-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
799
800         * HttpHandlerAction.cs: fixed 'verb' config property
801
802 2006-12-07  Igor Zelmanovich  <igorz@mainsoft.com>
803
804         * ProvidersHelper.cs: fixed: load assembles from /bin
805
806 2006-11-22  Miguel de Icaza  <miguel@novell.com>
807
808         * SessionStateSection.cs: Do not call Enum.Parse with a null
809         argument, prevents an exception from being thrown.
810
811 2006-11-20  Marek Habersack  <grendello@gmail.com>
812
813         * GlobalizationSection.cs: Added support for "auto" cultures and
814         the "auto:DEFAULT_CULTURE" cultures.
815
816 2006-11-13  Konstantin Triger  <kostat@mainsoft.com>
817
818         * WebConfigurationHost.cs: use Type.GetType for loading full qualified types.
819
820 2006-11-05  Vladimir Krasnov  <vladimirk@mainsoft.com>
821
822         * ProfileGroupSettings.cs, ProfileGroupSettingsCollection.cs
823         ProfilePropertySettingsCollection.cs, ProfileSection.cs
824         RootProfilePropertySettingsCollection.cs: refactoring and fix of
825         <group> element
826
827 2006-10-18  Marek Habersack  <grendello@gmail.com>
828
829         * WebConfigurationManager.cs: implement support for extra
830         assemblies to be referenced when compiling a page.
831
832 2006-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
833
834         * WebConfigurationManager.cs: add null checks. Patch by Marek Habersack
835         that fixes bug #79283.
836
837 2006-09-06  Konstantin Triger  <kostat@mainsoft.com>
838
839         * WebConfigurationHost.cs: do not recourse as this will be done by
840                 Configuration object.
841
842 2006-08-08  Vladimir Krasnov  <vladimirk@mainsoft.com>
843
844         * WebConfigurationManager.cs: added configSystem property under 
845         TARGET_JVM part
846         * WebConfigurationHost.cs: fixed GetStreamName and OpenStreamForRead
847         for TARGET_JVM
848         * CompilationSection.cs: BuildProviders property removed from
849         TARGET_JVM
850         * SystemWebSectionGroup.cs: Compilation property removed from
851         TARGET_JVM
852
853 2006-06-26  Atsushi Enomoto  <atsushi@ximian.com>
854
855         * NullableStringValidator.cs : new internal class that is almost
856           identical to StringValidator but allows null value.
857         * PropertyHelper.cs : use new NullableStringValidator.
858         * NamespaceCollection.cs : in NamespaceInfo "" is not allowed.
859
860 2006-06-08  Chris Toshok  <toshok@ximian.com>
861
862         * WebConfigurationHost.cs (InitForConfiguration): i know this is
863         going to bite me in the ass, but guard against configPath being ==
864         to "/", since this will result in an infinite loop.
865         (MapPath): fix a NRE.
866
867 2006-05-18  Atsushi Enomoto  <atsushi@ximian.com>
868
869         * WebConfigurationManager.cs: recent sys.config.dll changes on
870           ConfigurationManager.GetSection() which should call
871           GetRuntimeObject() should also apply here. Fixed monodoc web.
872
873 2006-05-10  Andrew Skiba <andrews@mainsoft.com>
874
875         * HttpHandlerAction.cs: keep the internal exception
876
877 2006-05-08  Chris Toshok  <toshok@ximian.com>
878
879         * WebConfigurationManager.cs (GetBasePath): fix bug where
880         path.Length was 0 when we got to the last while loop (and indexed
881         -1 into an array.)  Thanks Marek for the fix.
882
883 2006-05-04  Chris Toshok  <toshok@ximian.com>
884
885         [ Fixes bug #78256 ]
886         
887         * WebConfigurationHost.cs (GetConfigType): add a MonoTODO about
888         how we should use the build provider machinery to get types.
889         (MapPath): add rudimentary mapping in the case where we don't have
890         a request, basically handle the case where the url begins with (or
891         is) HttpRuntime.AppDomainAppVirtualPath.
892
893         * WebConfigurationManager.cs (GetSection): if we don't have a
894         valid request, open the web configuration corresponding to
895         HttpRuntime.AppDomainAppVirtualPath.
896         (GetBasePath): comment this a little, and make it work in the case
897         where we don't have an HttpRequest.
898
899 2006-04-27  Chris Toshok  <toshok@ximian.com>
900
901         * AuthorizationRuleCollection.cs (ThrowOnDuplicate): for the time
902         being introduce a overridden property MS doesn't make use of.
903         This needs readdressing, but it should get people making use of
904         <authorization> rules working again.
905
906 2006-04-25  Chris Toshok  <toshok@ximian.com>
907
908         * AuthorizationRule.cs (Reset): finally figure out what this
909         method is supposed to do.  Assign our Action property based on
910         parentElement's.
911
912 2006-04-25  Chris Toshok  <toshok@ximian.com>
913
914         * WebConfigurationHost.cs (InitForConfiguration): actually, use
915         HttpRuntime.AppDomainAppVirtualPath on gonzalo's recommendation.
916         It's never null, and its use cleans things up a bit.
917
918 2006-04-25  Chris Toshok  <toshok@ximian.com>
919
920         * WebConfigurationHost.cs (InitForConfiguration): stop going up
921         the virtual hierarchy once we reach the application's base virtual
922         path.
923
924 2006-04-24  Chris Toshok  <toshok@ximian.com>
925
926         * AuthorizationSection.cs (IsValidUser): fix a problem that
927         surfaced when converting from the 1.1 to 2.0 config classes.  Only
928         check for verb match if there are actually verbs to match against.
929
930 2006-04-11  Chris Toshok  <toshok@ximian.com>
931
932         * ExpressionBuilderCollection.cs (CreateNewElement): call argless
933         ctor.
934
935         * ExpressionBuilder.cs: add internal argumentless ctor for use by
936         the collection type.
937
938 2006-03-24  Chris Toshok  <toshok@ximian.com>
939
940         * WebConfigurationManager.cs (GetConfig): add a fallback case for
941         configuration sections that don't subclass from
942         ConfigurationSection.
943
944 2006-03-24  Chris Toshok  <toshok@ximian.com>
945
946         * WebConfigurationHost.cs: fix bug where OpenWebConfiguration
947         ("/") would result in 2 configurations for that toplevel path to
948         be opened.
949
950 2006-03-08  Chris Toshok  <toshok@ximian.com>
951
952         * ProvidersHelper.cs: implement this static class properly.
953
954         * SiteMapSection.cs (ProvidersInternal): add internal property to
955         get the actual SiteMapProviderCollection from here.
956
957 2006-02-28  Chris Toshok  <toshok@ximian.com>
958
959         * BuildProviderAppliesTo.cs, PagesToCountAction.cs: nuke.
960
961 2006-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
962
963         * Compiler.cs:
964         * CompilerCollection.cs: removed compatibility code.
965
966         * BuildProviderCollection.cs: add GetProviderForExtension().
967
968 2006-02-02  Chris Toshok  <toshok@ximian.com>
969
970         * WebConfigurationManager.cs (GetSection(string,string)):
971         implement.
972
973 2006-02-01  Atsushi Enomoto  <atsushi@ximian.com>
974
975         * TrustLevelCollection.cs, CodeSubDirectoriesCollection.cs,
976           CustomErrorCollection.cs, CompilerCollection.cs,
977           HttpHandlerActionCollection.cs,
978           FormsAuthenticationUserCollection.cs,
979           AuthorizationRuleCollection.cs, TagPrefixCollection.cs :
980           CollectionType is public.
981
982 2006-02-01  Chris Toshok  <toshok@ximian.com>
983
984         * WebConfigurationManager.cs: In the normal case, get the current
985         request's web.config, not the application's.  If there is no
986         current request, get the application's.
987         (GetWebApplicationConfiguration): use Request.ApplicationPath, not
988         Request.PhysicalApplicationPath.  OpenWebConfiguration takes
989         virtual paths.
990
991         * HttpConfigurationSystem.cs: GetWebApplicationSection =>
992         GetSection.
993
994 2006-02-01  Chris Toshok  <toshok@ximian.com>
995
996         * CompilerCollection.cs: CONFIGURATION_2_0 => NET_2_0
997
998         * Compiler.cs: same.
999
1000 2006-02-01  Chris Toshok  <toshok@ximian.com>
1001
1002         * HttpConfigurationSystem.cs: SupportsUserConfig == true.  let's
1003         use this to determine if ConfigurationManager.AppSettings should
1004         be read-only or not.
1005
1006 2006-01-31  Chris Toshok  <toshok@ximian.com>
1007
1008         * WebConfigurationManager.cs: err, why did i ifdef stuff NET_2_0
1009         inside of an ifdef NET_2_0?
1010
1011 2006-01-30  Chris Toshok  <toshok@ximian.com>
1012
1013         * WebConfigurationManager.cs: lots of little changes.  hopefully
1014         this doesn't break anyone.  it fixes all the nunit problems
1015         gonzalo was having.
1016
1017         * WebConfigurationHost.cs (GetStreamName): in the MachineWebPath
1018         case, handle the case where we have a WebConfigurationFileMap.
1019         (MapPath): this is likely wrong, but in the case where we don't
1020         have a file map or current HttpContext, just return the path.
1021
1022 2006-01-29  Chris Toshok  <toshok@ximian.com>
1023
1024         * HttpModulesSection.cs (LoadModules): I'm not sure we want to
1025         solve this problem in this way, but the 1.x code forces
1026         DefaultAuthenticationModule to be in the list of modules..
1027         Without this fix (or something else) HttpContext.User is null when
1028         it shouldn't be.
1029
1030 2006-01-26  Chris Toshok  <toshok@ximian.com>
1031
1032         * HttpConfigurationSystem.cs: new class that gets sections from
1033         web.config files.
1034
1035         * WebConfigurationManager.cs: change a lot of the
1036         NotImplementedExceptions to NotSupportedExceptions.
1037         (AppSettings): implement by just returning
1038         ConfigurationManager.AppSettings (note this is broken because
1039         ConfigurationManager.AppSettings are read-only, but it works for
1040         reading.)
1041         (ConnectionStrings): same (and probably broken in the same way..)
1042         (Init): replace the 2.0 IInternalConfigSystem with our
1043         HttpConfigurationSystem.
1044
1045         * WebConfigurationHost.cs: add a comment about how things are
1046         likely to work in the face of IRemoteWebConfigurationHostServer.
1047         (CreateConfigurationContext): return a WebContext instance.
1048
1049 2006-01-25  Chris Toshok  <toshok@ximian.com>
1050
1051         * AuthorizationSection.cs (IsValidUser): instead of a blanket
1052         false for a null user, just set the username to "" and short
1053         circuit out the check for roles.
1054
1055 2006-01-25  Chris Toshok  <toshok@ximian.com>
1056
1057         * AuthorizationRule.cs (CheckUser): handle * and ?, and use
1058         String.Compare instead of ==.
1059         (CheckVerb): use String.Compare instead of ==.
1060
1061         * AuthorizationSection.cs (IsValidUser): return false for a null
1062         user.
1063
1064 2006-01-22  Chris Toshok  <toshok@ximian.com>
1065
1066         * GlobalizationSection.cs (VerifyData): quiet mcs.
1067
1068 2006-01-18  Chris Toshok  <toshok@ximian.com>
1069
1070         * SystemWebSectionGroup.cs: wrap System.Web.Services references in
1071         WEBSERVICES_DEP.
1072
1073 2006-01-16  Chris Toshok  <toshok@ximian.com>
1074
1075         * WebConfigurationManager.cs: implement a IConfigurationSystem for
1076         use with WebConfigurationManager.
1077         (GetSection): try to load the section
1078         using GetWebApplicationSection before calling into
1079         ConfigurationManager.GetSection.
1080         (GetWebApplicationConfiguration): move common code to here.
1081         (GetWebApplicationSection): use GetWebApplicationConfiguration.
1082         (AppSettings): implement.
1083
1084         * WebConfigurationHost.cs (GetWebConfigFileName): add
1085         "Web.Config", and move to an array/loop implementation.  maybe we
1086         should scan the directory and check ToLower() instead of
1087         explicitly enumerating?
1088
1089 2006-01-10  Chris Toshok  <toshok@ximian.com>
1090
1091         * SystemWebSectionGroup.cs (HostingEnvironment): enable this property.
1092         (ProcessModel): add the ConfigurationPropertyAttribute.
1093
1094 2006-01-10  Chris Toshok  <toshok@ximian.com>
1095
1096         * PagesSection.cs (.cctor): fix the default value for the
1097         enableSessionState attribute - it's not a bool, but a
1098         PagesEnableSessionState enum.
1099
1100 2006-01-10  Chris Toshok  <toshok@ximian.com>
1101
1102         * MachineKeySection.cs (ValidationKeyBytes, DecryptionKeyBytes,
1103         DecryptionKey192Bits): if the keys are null, generate them.  Fixes
1104         Page.EnableViewStateMac support.
1105
1106 2006-01-09  Chris Toshok  <toshok@ximian.com>
1107
1108         * RoleManagerSection.cs, SqlCacheDepencendySection.cs,
1109         SessionStateSection.cs, TraceSection.cs, SecurityPolicySection.cs,
1110         PagesSection.cs, RulesSettings.cs, UrlMappingSection.cs: fix
1111         dumper output.
1112
1113 2006-01-09  Chris Toshok  <toshok@ximian.com>
1114
1115         * ExpressionBuilderCollection.cs (.cctor): no need to create a
1116         collection property here.  we're already in the collection.
1117
1118         * CompilationSection.cs: fix typo.
1119
1120 2006-01-04  Chris Toshok  <toshok@ximian.com>
1121
1122         * MachineKeySection.cs: bring over some more internal methods from
1123         MachineKeyConfig, and call Set{Decryption,Validation}Key from
1124         their respective property setters.
1125
1126 2006-01-03  Chris Toshok  <toshok@ximian.com>
1127
1128         * AuthorizationSection.cs (IsValidUser): add analogous method from
1129         AuthorizationConfig.cs.
1130
1131         * AuthorizationRule.cs: add predicates for Verb, User, and Role
1132         analogous to what existed in AuthorizationConfig.cs.
1133
1134 2005-12-11  Chris Toshok  <toshok@ximian.com>
1135
1136         * WebConfigurationManager.cs (OpenMachineConfiguration): just call
1137         ConfigurationManager.OpenMachineConfiguration.
1138         (OpenWebConfiguration): remove the "IntPtr userToken" version and
1139         add a "string userName" version to clean up corcompare output.
1140         Modify all the overloads to pass null instead of IntPtr.Zero.
1141         (GetWebApplicationSection): if we're not running in a web
1142         application, use the machine configuration.
1143
1144 2005-12-06  Chris Toshok  <toshok@ximian.com>
1145
1146         * CodeSubDirectory.cs (DirectoryName): don't use an private field,
1147         but base[directoyNameProp].
1148
1149         * AuthorizationRuleCollection.cs (Add): use BaseAdd (rule, false),
1150         so we can insert duplicates.
1151         (GetKey): nuke.
1152         (GetElementKey): MS for some reason just uses the action for the
1153         key, ToString()'ed.
1154         (Remove): pass the correct key.
1155
1156         * ProfileGroupSettings.cs (GetHashCode): implement.
1157
1158         * GlobalizationSection.cs (GetEncoding): for the utf-8 case, just
1159         use Encoding.UTF8.
1160
1161         * AssemblyCollection.cs (Add): use BaseAdd (info, false) so we can
1162         insert duplicates.
1163
1164         * CacheSection.cs (.cctor): make privateByteLimit's default 0L so
1165         we don't get a invalid cast exception later on.
1166
1167         * AuthorizationRule.cs (VerifyData): split out the verification
1168         foo from PreSerialize.
1169         (PostDeserialize): so we can call it from here.
1170         (PreSerialize): and here.
1171
1172 2005-12-05  Chris Toshok  <toshok@ximian.com>
1173
1174         * AuthorizationRuleCollection.cs (GetKey): split out the logic for
1175         creating a key from a rule here.
1176         (GetElementKey): use it here.
1177         (Remove): and here.
1178
1179 2005-12-04  Chris Toshok  <toshok@ximian.com>
1180
1181         * UrlMapping.cs: add an internal argument-less ctor.
1182
1183         * UrlMappingCollection.cs (CreateNewElement): use argument-less
1184         ctor.
1185         (GetKey): implement.
1186         (AllKeys): implement.
1187
1188         * TrustLevel.cs: add an internal argument-less ctor.
1189         
1190         * TrustLevelCollection.cs (Set): implement.
1191         (CreateNewElement): use argument-less ctor.
1192         (IsElementName): implement.
1193         (ElementName): implement.
1194         (set_Item (int index)): use Set.
1195         (ThrowOnDuplicate): implement.
1196         
1197         * TagPrefixInfo.cs: add internal argument-less ctor.
1198
1199         * TagPrefixCollection.cs (CreateNewElement): call argument-less
1200         ctor.
1201         (CollectionType): add text to TODO.
1202         (ElementName): implement.
1203         
1204         * SqlCacheDependencyDatabaseCollection.cs (Set): implement.
1205         (AllKeys): implement.
1206
1207         * RuleSettings.cs: add internal argument-less ctor.
1208
1209         * RuleSettingsCollection.cs (Contains): implement.
1210         (CreateNewElement): use argument-less ctor.
1211         (IndexOf): implement.
1212         (Insert): implement.
1213
1214         * RootProfilePropertySettingsCollection.cs (IsModified): chain up
1215         to base.IsModified for now.
1216         (Reset): chain up to base.Reset for now.
1217         (ResetModified): chain up to base.ResetModified for now.
1218
1219         * ProfileSettings.cs: add internal argument-less ctor.
1220
1221         * ProfileSettingsCollection.cs (Contains): implement.
1222         (CreateNewElement): use argument-less ctor.
1223         (IndexOf): implement.
1224         (Insert): implement.
1225         
1226         * ProfilePropertySettingsCollection.cs (IndexOf): implement.
1227         (Set): implement.
1228         (AllKeys): implement.
1229         
1230         * ProfileGroupSettings.cs: add internal argument-less ctor.
1231
1232         * ProfileGroupSettingsCollection.cs (CreateNewElement): use
1233         parameter-less ctor.
1234         (GetKey): implement.
1235         (ResetModified): for now call base.ResetModified.
1236         (Set): implement.
1237         (AllKeys): implement.
1238         
1239         * OutputCacheProfile.cs: add internal argument-less ctor.
1240
1241         * OutputCacheProfileCollection.cs (CreateNewElement): use
1242         parameter-less ctor.
1243         (Set): implement.
1244         (AllKeys): implement.
1245
1246         * HttpModuleActionCollection.cs (Add): remove MonoTODO.
1247         (CreateNewElement): same.
1248         
1249         * HttpHandlerActionCollection.cs (GetElementKey): build up the key
1250         from both the path and the verb.
1251         (Remove): same.
1252
1253         * FormsAuthenticationUserCollection.cs (Set): implement.
1254         (AllKeys): implement.
1255
1256         * EventMappingSettings.cs: add an internal argument-less ctor.
1257
1258         * EventMappingSettingsCollection.cs (Contains): implement.
1259         (CreateNewElement): use argument-less ctor.
1260         (IndexOf): implement.
1261         (Insert): implement.
1262
1263         * CompilerCollection.cs (GetKey): implement.
1264         (AllKeys): implement.
1265
1266         * ClientTargetCollection.cs (GetKey): implement.
1267         (AllKeys): implement.
1268
1269         * AuthorizationRuleCollection.cs (Set): implement.
1270         (ElementName): add some text to the MonoTODO.
1271         (set_Item (int index)): use Set.
1272
1273 2005-12-04  Chris Toshok  <toshok@ximian.com>
1274
1275         * CustomError.cs: add an internal argument-less ctor for use by
1276         the collection.
1277
1278         * CustomErrorCollection.cs: implement all the MonoTODO's.
1279
1280 2005-12-02  Chris Toshok  <toshok@ximian.com>
1281
1282         * GlobalizationSection.cs (VerifyData): split out the stuff that
1283         used to live in PreSerialize here.
1284         (PreSerialize): call VerifyData here.
1285         (PostDeserialize): and here.
1286         
1287 2005-12-01  Chris Toshok  <toshok@ximian.com>
1288
1289         * GlobalizationSection.cs (PreSerialize): add checks for Culture
1290         and UICulture properties.
1291
1292 2005-12-01  Chris Toshok  <toshok@ximian.com>
1293
1294         * AuthorizationRule.cs (..ctor): provide default values for
1295         roles/users/verbs here.  Not sure if we should do this in the ctor
1296         or if the System.Configuration infrastructure should.. time will
1297         tell.
1298         (PreSerialize): throw if Roles.Count and Users.Count == 0.
1299         (SerializeElement): write out the element here.  don't chain up to
1300         the base class since that has differing behavior than what we
1301         want.
1302
1303 2005-11-30  Chris Toshok  <toshok@ximian.com>
1304
1305         * CompilerCollection.cs: ugly hack to fix the
1306         2.0-without-config-2.0 case.  wrap this file in #if
1307         CONFIGURATION_2_0 as well as #if NET_2_0.
1308         
1309         * Compiler.cs: same.
1310
1311 2005-11-28  Chris Toshok  <toshok@ximian.com>
1312
1313         * SessionStateSection.cs (CookieLess): correct the compat function
1314         implementation.
1315
1316 2005-11-28  Chris Toshok  <toshok@ximian.com>
1317
1318         * GlobalizationSection.cs (GetEncoding): if the encoding name is
1319         null, default to utf-8 before we hit the try block, so we don't
1320         throw and generate a spurious warning.
1321
1322         * SessionStateSection.cs: The Cookieless handling needs a custom
1323         parser, it appears, as the converter is a StringConverter, not a
1324         GenericEnumConverter.
1325         (ParseCookieMode): the parser.
1326
1327 2005-11-28  Chris Toshok  <toshok@ximian.com>
1328
1329         * PagesSection.cs (GetInstance): nuke.
1330
1331         * CompilationSection.cs (GetInstance): nuke.
1332
1333 2005-11-28  Chris Toshok  <toshok@ximian.com>
1334
1335         * HttpHandlerAction.cs: add some c&p code from the 1.1 config
1336         stuff to look for matching handlers.
1337         (..ctor): add parameterless ctor.
1338         
1339         * HttpHandlerActionCollection.cs: clean up formatting.
1340         (CreateNewElement): call the parameter-less ctor for
1341         HttpHandlerAction.
1342
1343         * HttpHandlersSection.cs (..ctor): add a ConfigurationProperty for
1344         the default collection.
1345         (get_Handlers): implement.
1346         (LocateHandler): copy over (and massage) some 1.1 config code.
1347
1348         * MachineKeySection.cs: move some code over from the 1.1 config
1349         code to deal with autogeneration of keys, as well as converting
1350         from the string rep to the byte[] rep.
1351
1352 2005-11-28  Chris Toshok  <toshok@ximian.com>
1353
1354         * HttpModuleActionCollection.cs (CreateNewElement): use the new
1355         HttpModuleAction ctor.
1356
1357         * HttpModuleAction.cs: add internal ctor with no parameters, for
1358         use in HttpModuleActionCollection.
1359
1360 2005-11-28  Chris Toshok  <toshok@ximian.com>
1361
1362         * GlobalizationSection.cs (..cctor): the encoding
1363         ConfigurationProperties are of type "string", even though the
1364         properties themselves are of type Encoding.  we do conversions
1365         manually in the setter/getters.  gross.  Add code (mostly c&p +
1366         massaged from GlobalizationConfigurationHandler) for this and also
1367         to handle the culture gettes.
1368
1369 2005-11-26  Chris Toshok  <toshok@ximian.com>
1370
1371         * AuthorizationRuleCollection.cs (GetElementKey): implement this.
1372
1373         * ProfilePropertyNameValidator.cs: make this internal, and add a
1374         blurb about how MS doesn't do the testing you'd expect them to.
1375
1376 2005-11-25  Chris Toshok  <toshok@ximian.com>
1377
1378         * AuthorizationRuleCollection.cs (CreateNewElement): remove
1379         MonoTODO.
1380
1381         * CompilationSection.cs (GetRuntimeObject): add comment to TODO.
1382
1383         * ProfileGroupSettings.cs: reformat some things.
1384
1385         * FormsAuthenticationUser.cs (Name): remove MonoTODO.
1386
1387         * WebPartsSection.cs (GetRuntimeObject): change TODO comment.
1388
1389         * ProfilePropertySettings.cs: add internal argument-less ctor.
1390
1391         * IdentitySection.cs (GetRuntimeObject): return this.
1392
1393         * ProfilePropertySettingsCollection.cs: implement much of the
1394         TODO's.
1395         
1396         * WebControlsSection.cs (GetRuntimeObject): implement.
1397
1398         * SqlCacheDependencyDatabaseCollection.cs (GetElementKey):
1399         implement.
1400         (GetKey): implement.
1401
1402 2005-11-24  Chris Toshok  <toshok@ximian.com>
1403
1404         * AssemblyInfo.cs: move this here from System.Web.Configuration,
1405         and fix up the properties.
1406
1407         * SystemWebSectionGroup.cs: enable most of the sections (2
1408         remaining to be enabled.)
1409
1410 2005-11-24  Chris Toshok  <toshok@ximian.com>
1411
1412         * ProcessModelSection.cs, SqlCacheDependencySection.cs,
1413         SessionStateSection.cs, PassportAuthentication.cs,
1414         FormsAuthenticationConfiguration.cs,
1415         SqlCacheDependencyDatabase.cs, HttpModuleAction.cs,
1416         BufferModeSettings.cs, TagPrefixInfo.cs (..cctor): init
1417         elementProperty.
1418         (ValidateElement): new static validator callback.
1419         (ElementProperty): enable this, return elementProperty.
1420         
1421 2005-11-23  Chris Toshok  <toshok@ximian.com>
1422
1423         * ProfilePropertyNameValidator.cs: new implementation.
1424         
1425         * ProfilePropertySettings.cs, ProfileGroupSettings.cs,
1426         ClientTargetSection.cs, ClientTargetSection.cs,
1427         BufferModeSettings.cs, HttpModulesSection.cs,
1428         WebPartsPersonalization.cs, TransformerInfo.cs, TrustLevel.cs,
1429         NamespaceInfo.cs, SqlCacheDependencyDatabase.cs,
1430         AuthenticationSection.cs, RuleSettings.cs,
1431         FormsAuthenticationUser.cs, WebPartsSection.cs, BuildProvider.cs,
1432         WebPartsPersonalizationAuthorization.cs, Compiler.cs,
1433         ExpressionBuilder.cs, OutputCacheProfile.cs,
1434         FormsAuthenticationCredentials.cs, XhtmlConformanceSection.cs,
1435         OutputCacheSettingsSection.cs, CustomError.cs, TraceSection.cs,
1436         ExpressionBuilderCollection.cs, ProfileSettings.cs,
1437         SessionStateSection.cs, HealthMonitoringSection.cs,
1438         FormsAuthenticationConfiguration.cs, HttpRuntimeSection.cs,
1439         SessionPageStateSection.cs, TrustSection.cs,
1440         AnonymousIdentificationSection.cs, WebControlsSection.cs,
1441         ClientTarget.cs, TagMapInfo.cs, AuthorizationSection.cs,
1442         ProcessModelSection.cs, RoleManagerSection.cs,
1443         MembershipSection.cs, CustomErrorsSection.cs (..cctor): fix
1444         validator/converters.
1445         
1446         * MachineKeySection.cs (..cctor): fix validators/converters.
1447         (Validation): enable the Converter.
1448         
1449         * CodeSubDirectory.cs (..cctor): fix validator/converters.
1450         (DirectoryName): add note about missing validator decoration.
1451         
1452         * HttpModuleAction.cs (..cctor): init properties.
1453         (Properties): return properties.
1454         
1455         * CompilationSection.cs (..cctor): fix validator/converters.
1456         (GetInstance): add in this pre-2.0 interface for the time being,
1457         hopefully it'll make it easier to migrate later on.
1458         
1459         * HttpHandlerActionCollection.cs (..cctor): init properties.
1460         (Properties): return properties.
1461
1462         * PagesSection.cs (..cctor): fix validator/converters.
1463         (GetInstance): add in this pre-2.0 interface for the time being,
1464         hopefully it'll make it easier to migrate later on.
1465         
1466         * HttpHandlersSection.cs (..cctor): init properties.
1467         (Properties): return properties.
1468         
1469         * EventMappingSettings.cs (..cctor): fix validator/converters.
1470         (Name): add note about missing validator decoration.
1471         
1472         * HttpHandlerAction.cs (..cctor): fix validator/converters.
1473         (PAth, Type, Verb): add note about missing validator decoration.
1474
1475         * NamespaceCollection.cs (..cctor): fix properties.
1476
1477         * ProfilePropertySettingsCollection.cs (..cctor): init properties.
1478         (..ctor): don't throw NIE.
1479         (Properties): return properties.
1480
1481         * HttpModuleActionCollection.cs (..cctor): init properties.
1482         (Properties): return properties.
1483
1484         * CacheSection.cs (..cctor): fix validators/converters.
1485         (PrivateBytesPollTime): add note about missing validator
1486         decoration.
1487
1488         * AuthorizationRule.cs (..cctor): fix validators/converters.
1489         (Roles, Users, Verbs): enable the TypeConverter decorations.
1490         
1491         * UrlMapping.cs (ValidateUrl): static method for use as a
1492         validation callback.  unimplemented as yet.
1493         (..cctor): fix validators/converters.
1494         (MappedUrl): add note about missing validator decoration.
1495         
1496         * PropertyHelper.cs: static utility class which contains
1497         references to validators and converters for use in static
1498         constructors (building the Properties arrays).
1499
1500 2005-11-23  Chris Toshok  <toshok@ximian.com>
1501
1502         * MachineKeyValidationConverter.cs: new converter (and a pretty
1503         silly one, considering all it seems to do is convert "TripleDES"
1504         to "3DES").
1505
1506         * HostingEnvironmentSection.cs (.cctor): use
1507         PositiveTimeSpanValidator like MS does.
1508
1509 2005-11-18  Chris Toshok  <toshok@ximian.com>
1510
1511         * HostingEnvironmentSection.cs (.cctor): add validators.
1512
1513         * CompilationSection.cs (.cctor): fix defaultvalue of
1514         urlLinePragmas.
1515
1516 2005-11-18  Chris Toshok  <toshok@ximian.com>
1517
1518         * SystemWebSectionGroup.cs: enable a whole slew of properties.
1519
1520         * RegexWorker.cs: stub this out.
1521
1522         * HttpCapabilitiesBase.cs: remove GetClrVersions since it's in one
1523         of the other partial files.
1524
1525         * CompilationSection.cs: fix this up.
1526
1527         * PagesSection.cs: fix some types and add a comment to
1528         DeserializeSection.
1529
1530         * CompilerCollection.cs (Add): new internal method.
1531
1532         * ProvidersHelper.cs: put the using System.Configuration.Provider
1533         inside the NET_2_0 block.
1534
1535         * CacheSection.cs: add validators.
1536
1537 2005-11-14  Chris Toshok  <toshok@ximian.com>
1538
1539         * BufferModeSettings.cs: add validators/converters to the
1540         programmatic property list.
1541         
1542         * BuildProvider.cs: add validators/converters to the programmatic
1543         property list, and add an internal ctor with no args.
1544
1545         * Compiler.cs: wrap the code i hacked from the 1.1 stuff with a
1546         #region.
1547
1548         * BuildProviderCollection.cs (CreateNewElement): use the internal
1549         BuildProvider ctor to get around validation.
1550
1551         * AssemblyCollection.cs: same.
1552
1553 2005-11-14  Chris Toshok  <toshok@ximian.com>
1554
1555         * TagPrefixCollection.cs (Remove): pass the key to BaseRemove.
1556         (set_Item (int index)): implement.
1557         
1558         * TagPrefixInfo.cs (Equals): implement.
1559         (GetHashCode): implement.
1560
1561         * AuthorizationRuleCollection.cs (CreateNewElement(string)):
1562         implement propertly.
1563         (IndexOf): implement.
1564         (IsElementName): implement.
1565         (ElementName): implement.
1566         (Item (int index)): implement.
1567         
1568         * FormsAuthenticationUserCollection.cs (set_Item (int index)): implement.
1569
1570         * UrlMappingCollection.cs (set_Item (int index)): implement.
1571
1572         * OutputCacheProfileCollection.cs (set_Item (int index)): implement.
1573
1574         * TransformerInfo.cs (Equals): implement.
1575         (GetHashCode): implement.
1576
1577         * NamespaceInfo.cs (Equals): implement.
1578         (GetHashCode): implement.
1579         
1580         * ProfileSettingsCollection.cs (set_Item (int index)): implement.
1581
1582         * TransformerInfoCollection.cs (set_Item (int index)): implement.
1583
1584         * HttpHandlerActionCollection.cs (set_Item (int index)): implement.
1585
1586         * BufferModesCollection.cs (set_Item (int index)): implement.
1587
1588         * BuildProvider.cs: use the base[fooProp] pattern instead of
1589         instance fields.
1590
1591         * ProfileGroupSettingsCollection.cs: implement most of this class.
1592
1593         * RuleSettingsCollection.cs (set_Item (int index)): implement.
1594
1595         * ClientTargetCollection.cs (set_Item (int index)): implement.
1596
1597         * AssemblyCollection.cs (set_Item (int index)): implement.
1598
1599         * BuildProviderCollection.cs (set_Item (int index)): reformat.
1600
1601         * CustomError.cs (Equals): implement.
1602         (GetHashCode): implement.
1603
1604         * ExpressionBuilderCollection.cs (set_Item (int index)): reformat.
1605
1606         * PassportAuthentication.cs (RedirectUrl): express consternation
1607         in comment form.
1608
1609         * NamespaceCollection.cs (set_Item (int index)): implement.
1610
1611         * RootProfilePropertySettingsCollection.cs (SerializeElement): add
1612         comment.
1613
1614         * ProfilePropertySettingsCollection.cs (set_Item (int index)):
1615         implement.
1616
1617         * CustomErrorCollection.cs (set_Item (int index)): implement.
1618
1619         * HttpModuleActionCollection.cs (set_Item (int index)): implement.
1620
1621         * CodeSubDirectoriesCollection.cs (set_Item (int index)):
1622         implement.
1623
1624         * CustomErrorsSection.cs (DeserializeSection): include call to
1625         base.DeserializeSection, and add MonoTODO.
1626
1627         * EventMappingSettingsCollection.cs (set_Item (int index)):
1628         implement.
1629
1630         * AuthorizationRule.cs (Equals): implement.
1631         (GetHashCode): implement.
1632         (SerializeElement): add comment.
1633
1634         * TagMapCollection.cs (Remove): pass the key to BaseRemove.
1635         (set_Item (int index)): implement.
1636         
1637         * TagMapInfo.cs (Equals): implement.
1638         (GetHashCode): implement.
1639         (SerializeElement): add call to base.SerializeElement.
1640
1641         * TrustLevelCollection.cs (Remove): pass the key to BaseRemove.
1642         (GetElementKey): implement.
1643
1644         * SqlCacheDependencyDatabase.cs (set_Item (int index)): implement.
1645
1646         * WebContext.cs: new implementation.
1647
1648 2005-11-13  Chris Toshok  <toshok@ximian.com>
1649
1650         * AnonymousIdentificationSection.cs: rework this class a bit to
1651         fit in with the rest of S.W.C.  Add validators to the
1652         ConfigurationProperty ctor calls, a pattern which will need to be
1653         replicated across the entire assembly, it appears (uggggh).
1654
1655 2005-11-13  Chris Toshok  <toshok@ximian.com>
1656
1657         * AuthorizationRuleCollection.cs: fix ConfigurationCollection
1658         attribute.
1659
1660         * TransformerInfo.cs: fix corcompare.
1661
1662         * SqlCacheDependencyDatabase.cs: mark ctor internal to fix
1663         corcompare.
1664
1665         * AuthenticationSection.cs: add missing Reset stub.
1666
1667         * ProfileSettingsCollection.cs: use the more succint ctor.
1668
1669         * FormsAuthenticationUser.cs: enable the TypeConverter on "name".
1670
1671         * GlobalizationSection.cs: fix up corcompare.
1672
1673         * WebPartsSection.cs: fix up corcompare.
1674
1675         * ProfileGroupSettingsCollection.cs: add missing
1676         ConfigurationCollection attribute.
1677
1678         * ExpressionBuilder.cs: implement.
1679
1680         * FormsAuthenticationCredentials.cs: fix up corcompare.
1681
1682         * AssemblyCollection.cs: implement Properties.
1683
1684         * SiteMapSection.cs: implement Properties.
1685
1686         * ExpressionBuilderCollection.cs: fix up corcompare.
1687
1688         * ProfileSettings.cs: add missing ctor.
1689
1690         * PassportAuthentication.cs: new implementation.
1691
1692         * SqlCacheDependencySection.cs: fix up corcompare.
1693
1694         * ProfilePropertySettingsCollection.cs: fix up corcompare.
1695
1696         * HttpModuleActionCollection.cs: fix up corcompare.
1697
1698         * EventMappingSettingsCollection.cs: fix up corcompare.
1699
1700         * AuthorizationRule.cs: fix up corcompare.
1701
1702         * WebControlsSection.cs: fix up corcompare.
1703
1704         * AuthorizationSection.cs: fix up corcompare.
1705
1706         * MembershipSection.cs: clean this up, implement Properties, fix
1707         up corcompare, etc.
1708
1709 2005-11-13  Chris Toshok  <toshok@ximian.com>
1710
1711         * UrlMapping.cs, CustomErrorCollection.cs, CustomError.cs,
1712         HostingEnvironmentSection.cs, TrustLevel.cs,
1713         HttpCookiesSection.cs, UrlMappingsSection.cs,
1714         UrlMappingCollection.cs, LowerCaseStringConverter.cs,
1715         RoleManagerSection.cs, ProcessModelSection.cs,
1716         TrustLevelCollection.cs, ClientTarget.cs, CustomErrorsSection.cs,
1717         MachineKeySection.cs, SessionPageStateSection.cs,
1718         SessionStateSection.cs, ProvidersHelper.cs,
1719         ClientTargetCollection.cs, SecurityPolicySection.cs,
1720         HttpCapabilitiesBase.cs, ClientTargetSection.cs: Another large
1721         swath.
1722
1723
1724 2005-11-12  Chris Toshok  <toshok@ximian.com>
1725
1726         * AuthorizationRuleCollection.cs, AuthorizationRule.cs,
1727         AuthorizationSection.cs, BufferModesCollection.cs,
1728         BufferModeSettings.cs, CacheSection.cs, CompilerCollection.cs,
1729         Compiler.cs, DeploymentSection.cs,
1730         EventMappingSettingsCollection.cs, EventMappingSettings.cs,
1731         GlobalizationSection.cs, HealthMonitoringSection.cs,
1732         IdentitySection.cs, OutputCacheProfileCollection.cs,
1733         OutputCacheProfile.cs, OutputCacheSection.cs,
1734         OutputCacheSettingsSection.cs, ProfileSettingsCollection.cs,
1735         ProfileSettings.cs, RuleSettingsCollection.cs, RuleSettings.cs,
1736         SqlCacheDependencyDatabaseCollection.cs,
1737         SqlCacheDependencyDatabase.cs, SqlCacheDependencySection.cs,
1738         SystemWebCachingSectionGroup.cs, TraceSection.cs,
1739         TransformerInfoCollection.cs, TransformerInfo.cs, TrustSection.cs,
1740         WebControlsSection.cs, WebPartsPersonalizationAuthorization.cs,
1741         WebPartsPersonalization.cs, WebPartsSection.cs,
1742         XhtmlConformanceSection.cs: a whole slew of new classes.  the
1743         fruits of tons of c&p and ibuprofen.
1744
1745
1746 2005-11-09  Chris Toshok  <toshok@ximian.com>
1747
1748         * PagesSection.cs, AuthenticationSection.cs, BuildProvider.cs,
1749         BuildProviderCollection.cs, HttpHandlerActionCollection.cs,
1750         HttpModulesSection.cs, HttpModuleAction.cs,
1751         HttpModuleActionCollection.cs, AnonymousIdentificationSection.cs,
1752         CodeSubDirectory.cs, CodeSubDirectoriesCollection.cs,
1753         SystemWebSectionGroup.cs, SiteMapSection.cs,
1754         WebConfigurationManager.cs: flesh out the implementation.
1755
1756         * TagMap*.cs, TagPrefix*.cs: new implementation.
1757
1758         * FormsAuthentication*.cs: new implementation.
1759
1760         * Profile*.cs: new implementation.
1761
1762         * Namespace*.cs: new implementation.
1763
1764         * HttpRuntimeSection.cs: new implementation.
1765