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