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