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