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