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