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