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