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