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