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