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