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