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