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