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