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