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