* PagesConfigurationHandler.cs: Use enum for EnableSessionState.
[mono.git] / mcs / class / System.Web / System.Web.Configuration_2.0 / ChangeLog
1 2007-08-10  Gert Driesen  <drieseng@users.sourceforge.net>
2
3         * PagesEnableSessionState.cs: Marked internal on 1.0 profile.
4
5 2007-07-16  Vladimir Krasnov  <vladimirk@mainsoft.com>
6
7         * ProfileGroupSettingsCollection.cs: added ResetInternal internal
8         method
9         * RootProfilePropertySettingsCollection.cs: added Reset method
10         override to reset GroupSettings collection
11
12 2007-06-24  Vladimir Krasnov  <vladimirk@mainsoft.com>
13
14         * HttpHandlerAction.cs: fixed SplitPaths property to be thread safe
15
16 2007-06-12  Vladimir Krasnov  <vladimirk@mainsoft.com>
17
18         * CompilationSection.cs: TARGET_JVM on not supported features
19         * HttpModulesSection.cs: ctor should be static
20
21 2007-06-03  Adar Wesley <adarw@mainsoft.com>
22
23         * ProfilePropertySettingsCollection.cs: added missing method 
24         OnDeserializeUnrecognizedElement.
25
26 2007-05-30  Marek Habersack  <mhabersack@novell.com>
27
28         * WebConfigurationManager.cs: if errors happen when opening the
29         configuration file, mark the manager as unsafe to prevent further
30         usage and avoid error loops.
31
32 2007-05-17  Igor Zelmanovich <igorz@mainsoft.com>
33
34         * WebConfigurationHost.cs: for TARGET_J2EE only:
35         prevent NullRefference Exception.
36
37 2007-05-15  Igor Zelmanovich <igorz@mainsoft.com>
38
39         * WebConfigurationManager.cs: 
40         make configurations hashtable case-insensitive.
41         * WebConfigurationHost.cs: for TARGET_J2EE only:
42         GetStreamName returns file path in right case, that make it works 
43         on case-sensitive file system.
44
45 2007-05-15  Marek Habersack  <mhabersack@novell.com>
46
47         * BuildProviderCollection.cs: refactoring - use
48         HttpApplication.LoadType to actually look up the type.
49
50         * HttpHandlerAction.cs: as above
51
52         * WebConfigurationHost.cs: refactoring - moved the LoadType to
53         HttpApplication to share the code between 1.1 and 2.0 profiles.
54
55 2007-05-14  Marek Habersack  <mhabersack@novell.com>
56
57         * UrlMappingCollection.cs: implemented the Item (string) indexer.
58
59         * UrlMapping.cs: implemented the URL validation callback body
60         (doesn't work at the moment).
61
62 2007-05-14  Igor Zelmanovich <igorz@mainsoft.com>
63
64         * WebConfigurationManager.cs: 
65         make configurations synchronized.
66         added new internal method RemoveConfigurationFromCache.
67
68 2007-05-07  Marek Habersack  <mhabersack@novell.com>
69
70         * PagesSection.cs: buffering is on by default.
71
72 2007-04-24  Marek Habersack  <mhabersack@novell.com>
73
74         * WebConfigurationHost.cs: wrap MapPath calls in try/catch,
75         because bad URLs can cause it to throw exceptions. If such
76         exception is caught, throw a HttpException for Bad Request (400).
77         Look for types in the top-level assemblies (App_Code and
78         friends).
79
80         * WebConfigurationManager.cs: added two internal methods for safe
81         retrieval of config sections.
82
83 2007-04-19  Marek Habersack  <mhabersack@novell.com>
84
85         * HttpHandlerAction.cs: look up types in all the toplevel
86         assemblies. Fixes bug #80897.
87
88 2007-04-17  Atsushi Enomoto  <atsushi@ximian.com>
89
90         * ProcessModelSection.cs : cpuMask default value should be int,
91           not uint.
92
93 2007-04-06  Marek Habersack  <mhabersack@novell.com>
94
95         * CustomErrorsSection.cs: make the customErrors section work.
96
97         * PagesSection.cs: provide appropriate default value for the
98         asyncTimeout setting.
99
100 2007-03-24  Marek Habersack  <mhabersack@novell.com>
101
102         * WebConfigurationHost.cs: allow MachineToApplication definition
103         for config paths that equal the domain virtual app directory.
104
105 2007-03-22  Adar Wesley <adarw@mainsoft.com>
106
107         * HttpCapabilitiesBase.cs: implemented all capabilities.  Capabilities
108         still throw if there is no value in browscaps.ini and the property is called.
109
110 2007-03-21  Vladimir Krasnov  <vladimirk@mainsoft.com>
111
112         * WebConfigurationManager.cs: fixed OpenWebConfiguration, should not
113         lock when checking if configuration is already open
114
115 2007-03-15  Vladimir Krasnov  <vladimirk@mainsoft.com>
116
117         * WebConfigurationManager.cs: fixed OpenWebConfiguration, removed 
118         GetBasePath call and locations search, since this not affects
119         configuration initialization, but improves performance
120
121 2007-03-12  Marek Habersack  <mhabersack@novell.com>
122
123         * ProvidersHelper.cs: support loading custom providers from
124         App_Code assemblies. Fixes bug #81071.
125         Also set eol-style to native.
126
127 2007-03-08  Gert Driesen  <drieseng@users.souceforge.net>
128
129         * PagesSection.cs: Revert part of Adar's patch that regresses
130         bug #80913.
131
132 2007-03-06  Adar Wesley <adarw@mainsoft.com>
133
134         * PagesSection.cs: improve Enum parsing and strongly typed default values.
135
136 2007-02-20  Marek Habersack  <grendello@gmail.com>
137
138         * Patch from Gert Driesen  <drieseng@users.sourceforge.net>
139         * PagesSection.cs: Process value of EnableSessionState attribute
140         case-sensitive, and perform check in getter. Fix for bug #80913.
141         * PageParser.cs: Added note on difference in behaviour between page
142         level attribute and configuration attribute for enableSessionState.
143         * PagesConfiguration.cs: Fixed compiler warning.
144
145 2007-02-22  Marek Habersack  <grendello@gmail.com>
146
147         * CompilerCollection.cs: Optimize language lookup a bit.
148
149 2007-02-05  Konstantin Triger <kostat@mainsoft.com>
150
151         * TagPrefixCollection.cs: Fix element key creation.
152
153 2007-02-04  Konstantin Triger <kostat@mainsoft.com>
154
155         * NamespaceInfo.cs, HttpModuleAction.cs, RoleManagerSection.cs:
156                 fix the default value.
157
158 2007-02-02  Marek Habersack  <grendello@gmail.com>
159
160         * TagPrefixCollection.cs: Add the CollectionType parameter.
161         Get rid of unnecessary interface references in the class declaration.
162         GetElementKey should return Source which should be unique, unlike TagPrefix.
163
164 2007-01-04  Konstantin Triger <kostat@mainsoft.com>
165
166         * ProfileSection.cs: Ensure enabled = true by default; cleanup.
167
168 2006-12-27  Vladimir Krasnov  <vladimirk@mainsoft.com>
169
170         * CustomErrorCollection.cs: fixed ThrowOnDuplicate to false as in .net
171
172 2006-12-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
173
174         * GlobalizationSection.cs: make encodings actually work for the 2.0
175         profile.
176
177 2006-12-21  Marek Habersack  <grendello@gmail.com>
178
179         * TagMapInfo.cs: Add an internal default constructor for use from
180         TagMapCollection.
181
182         * TagMapCollection.cs: Don't call the string,string constructor of
183         TagMapInfo - the class disallows empty strings as values of its
184         properties.
185
186 2006-12-21  Vladimir Krasnov  <vladimirk@mainsoft.com>
187
188         * RoleManagerSection.cs: refactored using attributes
189
190 2006-12-20  Marek Habersack  <grendello@gmail.com>
191
192         * ProfilePropertyNameValidator.cs: added a few checks.
193
194 2006-12-18  Vladimir Krasnov  <vladimirk@mainsoft.com>
195
196         * WebConfigurationManager.cs: fixed GetSection to execute
197         GetRuntimeObject, refactored GetSection and GetWebApplicationSection
198
199 2006-12-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
200
201         * HttpHandlerAction.cs: fixed 'verb' config property
202
203 2006-12-07  Igor Zelmanovich  <igorz@mainsoft.com>
204
205         * ProvidersHelper.cs: fixed: load assembles from /bin
206
207 2006-11-22  Miguel de Icaza  <miguel@novell.com>
208
209         * SessionStateSection.cs: Do not call Enum.Parse with a null
210         argument, prevents an exception from being thrown.
211
212 2006-11-20  Marek Habersack  <grendello@gmail.com>
213
214         * GlobalizationSection.cs: Added support for "auto" cultures and
215         the "auto:DEFAULT_CULTURE" cultures.
216
217 2006-11-13  Konstantin Triger  <kostat@mainsoft.com>
218
219         * WebConfigurationHost.cs: use Type.GetType for loading full qualified types.
220
221 2006-11-05  Vladimir Krasnov  <vladimirk@mainsoft.com>
222
223         * ProfileGroupSettings.cs, ProfileGroupSettingsCollection.cs
224         ProfilePropertySettingsCollection.cs, ProfileSection.cs
225         RootProfilePropertySettingsCollection.cs: refactoring and fix of
226         <group> element
227
228 2006-10-18  Marek Habersack  <grendello@gmail.com>
229
230         * WebConfigurationManager.cs: implement support for extra
231         assemblies to be referenced when compiling a page.
232
233 2006-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
234
235         * WebConfigurationManager.cs: add null checks. Patch by Marek Habersack
236         that fixes bug #79283.
237
238 2006-09-06  Konstantin Triger  <kostat@mainsoft.com>
239
240         * WebConfigurationHost.cs: do not recourse as this will be done by
241                 Configuration object.
242
243 2006-08-08  Vladimir Krasnov  <vladimirk@mainsoft.com>
244
245         * WebConfigurationManager.cs: added configSystem property under 
246         TARGET_JVM part
247         * WebConfigurationHost.cs: fixed GetStreamName and OpenStreamForRead
248         for TARGET_JVM
249         * CompilationSection.cs: BuildProviders property removed from
250         TARGET_JVM
251         * SystemWebSectionGroup.cs: Compilation property removed from
252         TARGET_JVM
253
254 2006-06-26  Atsushi Enomoto  <atsushi@ximian.com>
255
256         * NullableStringValidator.cs : new internal class that is almost
257           identical to StringValidator but allows null value.
258         * PropertyHelper.cs : use new NullableStringValidator.
259         * NamespaceCollection.cs : in NamespaceInfo "" is not allowed.
260
261 2006-06-08  Chris Toshok  <toshok@ximian.com>
262
263         * WebConfigurationHost.cs (InitForConfiguration): i know this is
264         going to bite me in the ass, but guard against configPath being ==
265         to "/", since this will result in an infinite loop.
266         (MapPath): fix a NRE.
267
268 2006-05-18  Atsushi Enomoto  <atsushi@ximian.com>
269
270         * WebConfigurationManager.cs: recent sys.config.dll changes on
271           ConfigurationManager.GetSection() which should call
272           GetRuntimeObject() should also apply here. Fixed monodoc web.
273
274 2006-05-10  Andrew Skiba <andrews@mainsoft.com>
275
276         * HttpHandlerAction.cs: keep the internal exception
277
278 2006-05-08  Chris Toshok  <toshok@ximian.com>
279
280         * WebConfigurationManager.cs (GetBasePath): fix bug where
281         path.Length was 0 when we got to the last while loop (and indexed
282         -1 into an array.)  Thanks Marek for the fix.
283
284 2006-05-04  Chris Toshok  <toshok@ximian.com>
285
286         [ Fixes bug #78256 ]
287         
288         * WebConfigurationHost.cs (GetConfigType): add a MonoTODO about
289         how we should use the build provider machinery to get types.
290         (MapPath): add rudimentary mapping in the case where we don't have
291         a request, basically handle the case where the url begins with (or
292         is) HttpRuntime.AppDomainAppVirtualPath.
293
294         * WebConfigurationManager.cs (GetSection): if we don't have a
295         valid request, open the web configuration corresponding to
296         HttpRuntime.AppDomainAppVirtualPath.
297         (GetBasePath): comment this a little, and make it work in the case
298         where we don't have an HttpRequest.
299
300 2006-04-27  Chris Toshok  <toshok@ximian.com>
301
302         * AuthorizationRuleCollection.cs (ThrowOnDuplicate): for the time
303         being introduce a overridden property MS doesn't make use of.
304         This needs readdressing, but it should get people making use of
305         <authorization> rules working again.
306
307 2006-04-25  Chris Toshok  <toshok@ximian.com>
308
309         * AuthorizationRule.cs (Reset): finally figure out what this
310         method is supposed to do.  Assign our Action property based on
311         parentElement's.
312
313 2006-04-25  Chris Toshok  <toshok@ximian.com>
314
315         * WebConfigurationHost.cs (InitForConfiguration): actually, use
316         HttpRuntime.AppDomainAppVirtualPath on gonzalo's recommendation.
317         It's never null, and its use cleans things up a bit.
318
319 2006-04-25  Chris Toshok  <toshok@ximian.com>
320
321         * WebConfigurationHost.cs (InitForConfiguration): stop going up
322         the virtual hierarchy once we reach the application's base virtual
323         path.
324
325 2006-04-24  Chris Toshok  <toshok@ximian.com>
326
327         * AuthorizationSection.cs (IsValidUser): fix a problem that
328         surfaced when converting from the 1.1 to 2.0 config classes.  Only
329         check for verb match if there are actually verbs to match against.
330
331 2006-04-11  Chris Toshok  <toshok@ximian.com>
332
333         * ExpressionBuilderCollection.cs (CreateNewElement): call argless
334         ctor.
335
336         * ExpressionBuilder.cs: add internal argumentless ctor for use by
337         the collection type.
338
339 2006-03-24  Chris Toshok  <toshok@ximian.com>
340
341         * WebConfigurationManager.cs (GetConfig): add a fallback case for
342         configuration sections that don't subclass from
343         ConfigurationSection.
344
345 2006-03-24  Chris Toshok  <toshok@ximian.com>
346
347         * WebConfigurationHost.cs: fix bug where OpenWebConfiguration
348         ("/") would result in 2 configurations for that toplevel path to
349         be opened.
350
351 2006-03-08  Chris Toshok  <toshok@ximian.com>
352
353         * ProvidersHelper.cs: implement this static class properly.
354
355         * SiteMapSection.cs (ProvidersInternal): add internal property to
356         get the actual SiteMapProviderCollection from here.
357
358 2006-02-28  Chris Toshok  <toshok@ximian.com>
359
360         * BuildProviderAppliesTo.cs, PagesToCountAction.cs: nuke.
361
362 2006-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
363
364         * Compiler.cs:
365         * CompilerCollection.cs: removed compatibility code.
366
367         * BuildProviderCollection.cs: add GetProviderForExtension().
368
369 2006-02-02  Chris Toshok  <toshok@ximian.com>
370
371         * WebConfigurationManager.cs (GetSection(string,string)):
372         implement.
373
374 2006-02-01  Atsushi Enomoto  <atsushi@ximian.com>
375
376         * TrustLevelCollection.cs, CodeSubDirectoriesCollection.cs,
377           CustomErrorCollection.cs, CompilerCollection.cs,
378           HttpHandlerActionCollection.cs,
379           FormsAuthenticationUserCollection.cs,
380           AuthorizationRuleCollection.cs, TagPrefixCollection.cs :
381           CollectionType is public.
382
383 2006-02-01  Chris Toshok  <toshok@ximian.com>
384
385         * WebConfigurationManager.cs: In the normal case, get the current
386         request's web.config, not the application's.  If there is no
387         current request, get the application's.
388         (GetWebApplicationConfiguration): use Request.ApplicationPath, not
389         Request.PhysicalApplicationPath.  OpenWebConfiguration takes
390         virtual paths.
391
392         * HttpConfigurationSystem.cs: GetWebApplicationSection =>
393         GetSection.
394
395 2006-02-01  Chris Toshok  <toshok@ximian.com>
396
397         * CompilerCollection.cs: CONFIGURATION_2_0 => NET_2_0
398
399         * Compiler.cs: same.
400
401 2006-02-01  Chris Toshok  <toshok@ximian.com>
402
403         * HttpConfigurationSystem.cs: SupportsUserConfig == true.  let's
404         use this to determine if ConfigurationManager.AppSettings should
405         be read-only or not.
406
407 2006-01-31  Chris Toshok  <toshok@ximian.com>
408
409         * WebConfigurationManager.cs: err, why did i ifdef stuff NET_2_0
410         inside of an ifdef NET_2_0?
411
412 2006-01-30  Chris Toshok  <toshok@ximian.com>
413
414         * WebConfigurationManager.cs: lots of little changes.  hopefully
415         this doesn't break anyone.  it fixes all the nunit problems
416         gonzalo was having.
417
418         * WebConfigurationHost.cs (GetStreamName): in the MachineWebPath
419         case, handle the case where we have a WebConfigurationFileMap.
420         (MapPath): this is likely wrong, but in the case where we don't
421         have a file map or current HttpContext, just return the path.
422
423 2006-01-29  Chris Toshok  <toshok@ximian.com>
424
425         * HttpModulesSection.cs (LoadModules): I'm not sure we want to
426         solve this problem in this way, but the 1.x code forces
427         DefaultAuthenticationModule to be in the list of modules..
428         Without this fix (or something else) HttpContext.User is null when
429         it shouldn't be.
430
431 2006-01-26  Chris Toshok  <toshok@ximian.com>
432
433         * HttpConfigurationSystem.cs: new class that gets sections from
434         web.config files.
435
436         * WebConfigurationManager.cs: change a lot of the
437         NotImplementedExceptions to NotSupportedExceptions.
438         (AppSettings): implement by just returning
439         ConfigurationManager.AppSettings (note this is broken because
440         ConfigurationManager.AppSettings are read-only, but it works for
441         reading.)
442         (ConnectionStrings): same (and probably broken in the same way..)
443         (Init): replace the 2.0 IInternalConfigSystem with our
444         HttpConfigurationSystem.
445
446         * WebConfigurationHost.cs: add a comment about how things are
447         likely to work in the face of IRemoteWebConfigurationHostServer.
448         (CreateConfigurationContext): return a WebContext instance.
449
450 2006-01-25  Chris Toshok  <toshok@ximian.com>
451
452         * AuthorizationSection.cs (IsValidUser): instead of a blanket
453         false for a null user, just set the username to "" and short
454         circuit out the check for roles.
455
456 2006-01-25  Chris Toshok  <toshok@ximian.com>
457
458         * AuthorizationRule.cs (CheckUser): handle * and ?, and use
459         String.Compare instead of ==.
460         (CheckVerb): use String.Compare instead of ==.
461
462         * AuthorizationSection.cs (IsValidUser): return false for a null
463         user.
464
465 2006-01-22  Chris Toshok  <toshok@ximian.com>
466
467         * GlobalizationSection.cs (VerifyData): quiet mcs.
468
469 2006-01-18  Chris Toshok  <toshok@ximian.com>
470
471         * SystemWebSectionGroup.cs: wrap System.Web.Services references in
472         WEBSERVICES_DEP.
473
474 2006-01-16  Chris Toshok  <toshok@ximian.com>
475
476         * WebConfigurationManager.cs: implement a IConfigurationSystem for
477         use with WebConfigurationManager.
478         (GetSection): try to load the section
479         using GetWebApplicationSection before calling into
480         ConfigurationManager.GetSection.
481         (GetWebApplicationConfiguration): move common code to here.
482         (GetWebApplicationSection): use GetWebApplicationConfiguration.
483         (AppSettings): implement.
484
485         * WebConfigurationHost.cs (GetWebConfigFileName): add
486         "Web.Config", and move to an array/loop implementation.  maybe we
487         should scan the directory and check ToLower() instead of
488         explicitly enumerating?
489
490 2006-01-10  Chris Toshok  <toshok@ximian.com>
491
492         * SystemWebSectionGroup.cs (HostingEnvironment): enable this property.
493         (ProcessModel): add the ConfigurationPropertyAttribute.
494
495 2006-01-10  Chris Toshok  <toshok@ximian.com>
496
497         * PagesSection.cs (.cctor): fix the default value for the
498         enableSessionState attribute - it's not a bool, but a
499         PagesEnableSessionState enum.
500
501 2006-01-10  Chris Toshok  <toshok@ximian.com>
502
503         * MachineKeySection.cs (ValidationKeyBytes, DecryptionKeyBytes,
504         DecryptionKey192Bits): if the keys are null, generate them.  Fixes
505         Page.EnableViewStateMac support.
506
507 2006-01-09  Chris Toshok  <toshok@ximian.com>
508
509         * RoleManagerSection.cs, SqlCacheDepencendySection.cs,
510         SessionStateSection.cs, TraceSection.cs, SecurityPolicySection.cs,
511         PagesSection.cs, RulesSettings.cs, UrlMappingSection.cs: fix
512         dumper output.
513
514 2006-01-09  Chris Toshok  <toshok@ximian.com>
515
516         * ExpressionBuilderCollection.cs (.cctor): no need to create a
517         collection property here.  we're already in the collection.
518
519         * CompilationSection.cs: fix typo.
520
521 2006-01-04  Chris Toshok  <toshok@ximian.com>
522
523         * MachineKeySection.cs: bring over some more internal methods from
524         MachineKeyConfig, and call Set{Decryption,Validation}Key from
525         their respective property setters.
526
527 2006-01-03  Chris Toshok  <toshok@ximian.com>
528
529         * AuthorizationSection.cs (IsValidUser): add analogous method from
530         AuthorizationConfig.cs.
531
532         * AuthorizationRule.cs: add predicates for Verb, User, and Role
533         analogous to what existed in AuthorizationConfig.cs.
534
535 2005-12-11  Chris Toshok  <toshok@ximian.com>
536
537         * WebConfigurationManager.cs (OpenMachineConfiguration): just call
538         ConfigurationManager.OpenMachineConfiguration.
539         (OpenWebConfiguration): remove the "IntPtr userToken" version and
540         add a "string userName" version to clean up corcompare output.
541         Modify all the overloads to pass null instead of IntPtr.Zero.
542         (GetWebApplicationSection): if we're not running in a web
543         application, use the machine configuration.
544
545 2005-12-06  Chris Toshok  <toshok@ximian.com>
546
547         * CodeSubDirectory.cs (DirectoryName): don't use an private field,
548         but base[directoyNameProp].
549
550         * AuthorizationRuleCollection.cs (Add): use BaseAdd (rule, false),
551         so we can insert duplicates.
552         (GetKey): nuke.
553         (GetElementKey): MS for some reason just uses the action for the
554         key, ToString()'ed.
555         (Remove): pass the correct key.
556
557         * ProfileGroupSettings.cs (GetHashCode): implement.
558
559         * GlobalizationSection.cs (GetEncoding): for the utf-8 case, just
560         use Encoding.UTF8.
561
562         * AssemblyCollection.cs (Add): use BaseAdd (info, false) so we can
563         insert duplicates.
564
565         * CacheSection.cs (.cctor): make privateByteLimit's default 0L so
566         we don't get a invalid cast exception later on.
567
568         * AuthorizationRule.cs (VerifyData): split out the verification
569         foo from PreSerialize.
570         (PostDeserialize): so we can call it from here.
571         (PreSerialize): and here.
572
573 2005-12-05  Chris Toshok  <toshok@ximian.com>
574
575         * AuthorizationRuleCollection.cs (GetKey): split out the logic for
576         creating a key from a rule here.
577         (GetElementKey): use it here.
578         (Remove): and here.
579
580 2005-12-04  Chris Toshok  <toshok@ximian.com>
581
582         * UrlMapping.cs: add an internal argument-less ctor.
583
584         * UrlMappingCollection.cs (CreateNewElement): use argument-less
585         ctor.
586         (GetKey): implement.
587         (AllKeys): implement.
588
589         * TrustLevel.cs: add an internal argument-less ctor.
590         
591         * TrustLevelCollection.cs (Set): implement.
592         (CreateNewElement): use argument-less ctor.
593         (IsElementName): implement.
594         (ElementName): implement.
595         (set_Item (int index)): use Set.
596         (ThrowOnDuplicate): implement.
597         
598         * TagPrefixInfo.cs: add internal argument-less ctor.
599
600         * TagPrefixCollection.cs (CreateNewElement): call argument-less
601         ctor.
602         (CollectionType): add text to TODO.
603         (ElementName): implement.
604         
605         * SqlCacheDependencyDatabaseCollection.cs (Set): implement.
606         (AllKeys): implement.
607
608         * RuleSettings.cs: add internal argument-less ctor.
609
610         * RuleSettingsCollection.cs (Contains): implement.
611         (CreateNewElement): use argument-less ctor.
612         (IndexOf): implement.
613         (Insert): implement.
614
615         * RootProfilePropertySettingsCollection.cs (IsModified): chain up
616         to base.IsModified for now.
617         (Reset): chain up to base.Reset for now.
618         (ResetModified): chain up to base.ResetModified for now.
619
620         * ProfileSettings.cs: add internal argument-less ctor.
621
622         * ProfileSettingsCollection.cs (Contains): implement.
623         (CreateNewElement): use argument-less ctor.
624         (IndexOf): implement.
625         (Insert): implement.
626         
627         * ProfilePropertySettingsCollection.cs (IndexOf): implement.
628         (Set): implement.
629         (AllKeys): implement.
630         
631         * ProfileGroupSettings.cs: add internal argument-less ctor.
632
633         * ProfileGroupSettingsCollection.cs (CreateNewElement): use
634         parameter-less ctor.
635         (GetKey): implement.
636         (ResetModified): for now call base.ResetModified.
637         (Set): implement.
638         (AllKeys): implement.
639         
640         * OutputCacheProfile.cs: add internal argument-less ctor.
641
642         * OutputCacheProfileCollection.cs (CreateNewElement): use
643         parameter-less ctor.
644         (Set): implement.
645         (AllKeys): implement.
646
647         * HttpModuleActionCollection.cs (Add): remove MonoTODO.
648         (CreateNewElement): same.
649         
650         * HttpHandlerActionCollection.cs (GetElementKey): build up the key
651         from both the path and the verb.
652         (Remove): same.
653
654         * FormsAuthenticationUserCollection.cs (Set): implement.
655         (AllKeys): implement.
656
657         * EventMappingSettings.cs: add an internal argument-less ctor.
658
659         * EventMappingSettingsCollection.cs (Contains): implement.
660         (CreateNewElement): use argument-less ctor.
661         (IndexOf): implement.
662         (Insert): implement.
663
664         * CompilerCollection.cs (GetKey): implement.
665         (AllKeys): implement.
666
667         * ClientTargetCollection.cs (GetKey): implement.
668         (AllKeys): implement.
669
670         * AuthorizationRuleCollection.cs (Set): implement.
671         (ElementName): add some text to the MonoTODO.
672         (set_Item (int index)): use Set.
673
674 2005-12-04  Chris Toshok  <toshok@ximian.com>
675
676         * CustomError.cs: add an internal argument-less ctor for use by
677         the collection.
678
679         * CustomErrorCollection.cs: implement all the MonoTODO's.
680
681 2005-12-02  Chris Toshok  <toshok@ximian.com>
682
683         * GlobalizationSection.cs (VerifyData): split out the stuff that
684         used to live in PreSerialize here.
685         (PreSerialize): call VerifyData here.
686         (PostDeserialize): and here.
687         
688 2005-12-01  Chris Toshok  <toshok@ximian.com>
689
690         * GlobalizationSection.cs (PreSerialize): add checks for Culture
691         and UICulture properties.
692
693 2005-12-01  Chris Toshok  <toshok@ximian.com>
694
695         * AuthorizationRule.cs (..ctor): provide default values for
696         roles/users/verbs here.  Not sure if we should do this in the ctor
697         or if the System.Configuration infrastructure should.. time will
698         tell.
699         (PreSerialize): throw if Roles.Count and Users.Count == 0.
700         (SerializeElement): write out the element here.  don't chain up to
701         the base class since that has differing behavior than what we
702         want.
703
704 2005-11-30  Chris Toshok  <toshok@ximian.com>
705
706         * CompilerCollection.cs: ugly hack to fix the
707         2.0-without-config-2.0 case.  wrap this file in #if
708         CONFIGURATION_2_0 as well as #if NET_2_0.
709         
710         * Compiler.cs: same.
711
712 2005-11-28  Chris Toshok  <toshok@ximian.com>
713
714         * SessionStateSection.cs (CookieLess): correct the compat function
715         implementation.
716
717 2005-11-28  Chris Toshok  <toshok@ximian.com>
718
719         * GlobalizationSection.cs (GetEncoding): if the encoding name is
720         null, default to utf-8 before we hit the try block, so we don't
721         throw and generate a spurious warning.
722
723         * SessionStateSection.cs: The Cookieless handling needs a custom
724         parser, it appears, as the converter is a StringConverter, not a
725         GenericEnumConverter.
726         (ParseCookieMode): the parser.
727
728 2005-11-28  Chris Toshok  <toshok@ximian.com>
729
730         * PagesSection.cs (GetInstance): nuke.
731
732         * CompilationSection.cs (GetInstance): nuke.
733
734 2005-11-28  Chris Toshok  <toshok@ximian.com>
735
736         * HttpHandlerAction.cs: add some c&p code from the 1.1 config
737         stuff to look for matching handlers.
738         (..ctor): add parameterless ctor.
739         
740         * HttpHandlerActionCollection.cs: clean up formatting.
741         (CreateNewElement): call the parameter-less ctor for
742         HttpHandlerAction.
743
744         * HttpHandlersSection.cs (..ctor): add a ConfigurationProperty for
745         the default collection.
746         (get_Handlers): implement.
747         (LocateHandler): copy over (and massage) some 1.1 config code.
748
749         * MachineKeySection.cs: move some code over from the 1.1 config
750         code to deal with autogeneration of keys, as well as converting
751         from the string rep to the byte[] rep.
752
753 2005-11-28  Chris Toshok  <toshok@ximian.com>
754
755         * HttpModuleActionCollection.cs (CreateNewElement): use the new
756         HttpModuleAction ctor.
757
758         * HttpModuleAction.cs: add internal ctor with no parameters, for
759         use in HttpModuleActionCollection.
760
761 2005-11-28  Chris Toshok  <toshok@ximian.com>
762
763         * GlobalizationSection.cs (..cctor): the encoding
764         ConfigurationProperties are of type "string", even though the
765         properties themselves are of type Encoding.  we do conversions
766         manually in the setter/getters.  gross.  Add code (mostly c&p +
767         massaged from GlobalizationConfigurationHandler) for this and also
768         to handle the culture gettes.
769
770 2005-11-26  Chris Toshok  <toshok@ximian.com>
771
772         * AuthorizationRuleCollection.cs (GetElementKey): implement this.
773
774         * ProfilePropertyNameValidator.cs: make this internal, and add a
775         blurb about how MS doesn't do the testing you'd expect them to.
776
777 2005-11-25  Chris Toshok  <toshok@ximian.com>
778
779         * AuthorizationRuleCollection.cs (CreateNewElement): remove
780         MonoTODO.
781
782         * CompilationSection.cs (GetRuntimeObject): add comment to TODO.
783
784         * ProfileGroupSettings.cs: reformat some things.
785
786         * FormsAuthenticationUser.cs (Name): remove MonoTODO.
787
788         * WebPartsSection.cs (GetRuntimeObject): change TODO comment.
789
790         * ProfilePropertySettings.cs: add internal argument-less ctor.
791
792         * IdentitySection.cs (GetRuntimeObject): return this.
793
794         * ProfilePropertySettingsCollection.cs: implement much of the
795         TODO's.
796         
797         * WebControlsSection.cs (GetRuntimeObject): implement.
798
799         * SqlCacheDependencyDatabaseCollection.cs (GetElementKey):
800         implement.
801         (GetKey): implement.
802
803 2005-11-24  Chris Toshok  <toshok@ximian.com>
804
805         * AssemblyInfo.cs: move this here from System.Web.Configuration,
806         and fix up the properties.
807
808         * SystemWebSectionGroup.cs: enable most of the sections (2
809         remaining to be enabled.)
810
811 2005-11-24  Chris Toshok  <toshok@ximian.com>
812
813         * ProcessModelSection.cs, SqlCacheDependencySection.cs,
814         SessionStateSection.cs, PassportAuthentication.cs,
815         FormsAuthenticationConfiguration.cs,
816         SqlCacheDependencyDatabase.cs, HttpModuleAction.cs,
817         BufferModeSettings.cs, TagPrefixInfo.cs (..cctor): init
818         elementProperty.
819         (ValidateElement): new static validator callback.
820         (ElementProperty): enable this, return elementProperty.
821         
822 2005-11-23  Chris Toshok  <toshok@ximian.com>
823
824         * ProfilePropertyNameValidator.cs: new implementation.
825         
826         * ProfilePropertySettings.cs, ProfileGroupSettings.cs,
827         ClientTargetSection.cs, ClientTargetSection.cs,
828         BufferModeSettings.cs, HttpModulesSection.cs,
829         WebPartsPersonalization.cs, TransformerInfo.cs, TrustLevel.cs,
830         NamespaceInfo.cs, SqlCacheDependencyDatabase.cs,
831         AuthenticationSection.cs, RuleSettings.cs,
832         FormsAuthenticationUser.cs, WebPartsSection.cs, BuildProvider.cs,
833         WebPartsPersonalizationAuthorization.cs, Compiler.cs,
834         ExpressionBuilder.cs, OutputCacheProfile.cs,
835         FormsAuthenticationCredentials.cs, XhtmlConformanceSection.cs,
836         OutputCacheSettingsSection.cs, CustomError.cs, TraceSection.cs,
837         ExpressionBuilderCollection.cs, ProfileSettings.cs,
838         SessionStateSection.cs, HealthMonitoringSection.cs,
839         FormsAuthenticationConfiguration.cs, HttpRuntimeSection.cs,
840         SessionPageStateSection.cs, TrustSection.cs,
841         AnonymousIdentificationSection.cs, WebControlsSection.cs,
842         ClientTarget.cs, TagMapInfo.cs, AuthorizationSection.cs,
843         ProcessModelSection.cs, RoleManagerSection.cs,
844         MembershipSection.cs, CustomErrorsSection.cs (..cctor): fix
845         validator/converters.
846         
847         * MachineKeySection.cs (..cctor): fix validators/converters.
848         (Validation): enable the Converter.
849         
850         * CodeSubDirectory.cs (..cctor): fix validator/converters.
851         (DirectoryName): add note about missing validator decoration.
852         
853         * HttpModuleAction.cs (..cctor): init properties.
854         (Properties): return properties.
855         
856         * CompilationSection.cs (..cctor): fix validator/converters.
857         (GetInstance): add in this pre-2.0 interface for the time being,
858         hopefully it'll make it easier to migrate later on.
859         
860         * HttpHandlerActionCollection.cs (..cctor): init properties.
861         (Properties): return properties.
862
863         * PagesSection.cs (..cctor): fix validator/converters.
864         (GetInstance): add in this pre-2.0 interface for the time being,
865         hopefully it'll make it easier to migrate later on.
866         
867         * HttpHandlersSection.cs (..cctor): init properties.
868         (Properties): return properties.
869         
870         * EventMappingSettings.cs (..cctor): fix validator/converters.
871         (Name): add note about missing validator decoration.
872         
873         * HttpHandlerAction.cs (..cctor): fix validator/converters.
874         (PAth, Type, Verb): add note about missing validator decoration.
875
876         * NamespaceCollection.cs (..cctor): fix properties.
877
878         * ProfilePropertySettingsCollection.cs (..cctor): init properties.
879         (..ctor): don't throw NIE.
880         (Properties): return properties.
881
882         * HttpModuleActionCollection.cs (..cctor): init properties.
883         (Properties): return properties.
884
885         * CacheSection.cs (..cctor): fix validators/converters.
886         (PrivateBytesPollTime): add note about missing validator
887         decoration.
888
889         * AuthorizationRule.cs (..cctor): fix validators/converters.
890         (Roles, Users, Verbs): enable the TypeConverter decorations.
891         
892         * UrlMapping.cs (ValidateUrl): static method for use as a
893         validation callback.  unimplemented as yet.
894         (..cctor): fix validators/converters.
895         (MappedUrl): add note about missing validator decoration.
896         
897         * PropertyHelper.cs: static utility class which contains
898         references to validators and converters for use in static
899         constructors (building the Properties arrays).
900
901 2005-11-23  Chris Toshok  <toshok@ximian.com>
902
903         * MachineKeyValidationConverter.cs: new converter (and a pretty
904         silly one, considering all it seems to do is convert "TripleDES"
905         to "3DES").
906
907         * HostingEnvironmentSection.cs (.cctor): use
908         PositiveTimeSpanValidator like MS does.
909
910 2005-11-18  Chris Toshok  <toshok@ximian.com>
911
912         * HostingEnvironmentSection.cs (.cctor): add validators.
913
914         * CompilationSection.cs (.cctor): fix defaultvalue of
915         urlLinePragmas.
916
917 2005-11-18  Chris Toshok  <toshok@ximian.com>
918
919         * SystemWebSectionGroup.cs: enable a whole slew of properties.
920
921         * RegexWorker.cs: stub this out.
922
923         * HttpCapabilitiesBase.cs: remove GetClrVersions since it's in one
924         of the other partial files.
925
926         * CompilationSection.cs: fix this up.
927
928         * PagesSection.cs: fix some types and add a comment to
929         DeserializeSection.
930
931         * CompilerCollection.cs (Add): new internal method.
932
933         * ProvidersHelper.cs: put the using System.Configuration.Provider
934         inside the NET_2_0 block.
935
936         * CacheSection.cs: add validators.
937
938 2005-11-14  Chris Toshok  <toshok@ximian.com>
939
940         * BufferModeSettings.cs: add validators/converters to the
941         programmatic property list.
942         
943         * BuildProvider.cs: add validators/converters to the programmatic
944         property list, and add an internal ctor with no args.
945
946         * Compiler.cs: wrap the code i hacked from the 1.1 stuff with a
947         #region.
948
949         * BuildProviderCollection.cs (CreateNewElement): use the internal
950         BuildProvider ctor to get around validation.
951
952         * AssemblyCollection.cs: same.
953
954 2005-11-14  Chris Toshok  <toshok@ximian.com>
955
956         * TagPrefixCollection.cs (Remove): pass the key to BaseRemove.
957         (set_Item (int index)): implement.
958         
959         * TagPrefixInfo.cs (Equals): implement.
960         (GetHashCode): implement.
961
962         * AuthorizationRuleCollection.cs (CreateNewElement(string)):
963         implement propertly.
964         (IndexOf): implement.
965         (IsElementName): implement.
966         (ElementName): implement.
967         (Item (int index)): implement.
968         
969         * FormsAuthenticationUserCollection.cs (set_Item (int index)): implement.
970
971         * UrlMappingCollection.cs (set_Item (int index)): implement.
972
973         * OutputCacheProfileCollection.cs (set_Item (int index)): implement.
974
975         * TransformerInfo.cs (Equals): implement.
976         (GetHashCode): implement.
977
978         * NamespaceInfo.cs (Equals): implement.
979         (GetHashCode): implement.
980         
981         * ProfileSettingsCollection.cs (set_Item (int index)): implement.
982
983         * TransformerInfoCollection.cs (set_Item (int index)): implement.
984
985         * HttpHandlerActionCollection.cs (set_Item (int index)): implement.
986
987         * BufferModesCollection.cs (set_Item (int index)): implement.
988
989         * BuildProvider.cs: use the base[fooProp] pattern instead of
990         instance fields.
991
992         * ProfileGroupSettingsCollection.cs: implement most of this class.
993
994         * RuleSettingsCollection.cs (set_Item (int index)): implement.
995
996         * ClientTargetCollection.cs (set_Item (int index)): implement.
997
998         * AssemblyCollection.cs (set_Item (int index)): implement.
999
1000         * BuildProviderCollection.cs (set_Item (int index)): reformat.
1001
1002         * CustomError.cs (Equals): implement.
1003         (GetHashCode): implement.
1004
1005         * ExpressionBuilderCollection.cs (set_Item (int index)): reformat.
1006
1007         * PassportAuthentication.cs (RedirectUrl): express consternation
1008         in comment form.
1009
1010         * NamespaceCollection.cs (set_Item (int index)): implement.
1011
1012         * RootProfilePropertySettingsCollection.cs (SerializeElement): add
1013         comment.
1014
1015         * ProfilePropertySettingsCollection.cs (set_Item (int index)):
1016         implement.
1017
1018         * CustomErrorCollection.cs (set_Item (int index)): implement.
1019
1020         * HttpModuleActionCollection.cs (set_Item (int index)): implement.
1021
1022         * CodeSubDirectoriesCollection.cs (set_Item (int index)):
1023         implement.
1024
1025         * CustomErrorsSection.cs (DeserializeSection): include call to
1026         base.DeserializeSection, and add MonoTODO.
1027
1028         * EventMappingSettingsCollection.cs (set_Item (int index)):
1029         implement.
1030
1031         * AuthorizationRule.cs (Equals): implement.
1032         (GetHashCode): implement.
1033         (SerializeElement): add comment.
1034
1035         * TagMapCollection.cs (Remove): pass the key to BaseRemove.
1036         (set_Item (int index)): implement.
1037         
1038         * TagMapInfo.cs (Equals): implement.
1039         (GetHashCode): implement.
1040         (SerializeElement): add call to base.SerializeElement.
1041
1042         * TrustLevelCollection.cs (Remove): pass the key to BaseRemove.
1043         (GetElementKey): implement.
1044
1045         * SqlCacheDependencyDatabase.cs (set_Item (int index)): implement.
1046
1047         * WebContext.cs: new implementation.
1048
1049 2005-11-13  Chris Toshok  <toshok@ximian.com>
1050
1051         * AnonymousIdentificationSection.cs: rework this class a bit to
1052         fit in with the rest of S.W.C.  Add validators to the
1053         ConfigurationProperty ctor calls, a pattern which will need to be
1054         replicated across the entire assembly, it appears (uggggh).
1055
1056 2005-11-13  Chris Toshok  <toshok@ximian.com>
1057
1058         * AuthorizationRuleCollection.cs: fix ConfigurationCollection
1059         attribute.
1060
1061         * TransformerInfo.cs: fix corcompare.
1062
1063         * SqlCacheDependencyDatabase.cs: mark ctor internal to fix
1064         corcompare.
1065
1066         * AuthenticationSection.cs: add missing Reset stub.
1067
1068         * ProfileSettingsCollection.cs: use the more succint ctor.
1069
1070         * FormsAuthenticationUser.cs: enable the TypeConverter on "name".
1071
1072         * GlobalizationSection.cs: fix up corcompare.
1073
1074         * WebPartsSection.cs: fix up corcompare.
1075
1076         * ProfileGroupSettingsCollection.cs: add missing
1077         ConfigurationCollection attribute.
1078
1079         * ExpressionBuilder.cs: implement.
1080
1081         * FormsAuthenticationCredentials.cs: fix up corcompare.
1082
1083         * AssemblyCollection.cs: implement Properties.
1084
1085         * SiteMapSection.cs: implement Properties.
1086
1087         * ExpressionBuilderCollection.cs: fix up corcompare.
1088
1089         * ProfileSettings.cs: add missing ctor.
1090
1091         * PassportAuthentication.cs: new implementation.
1092
1093         * SqlCacheDependencySection.cs: fix up corcompare.
1094
1095         * ProfilePropertySettingsCollection.cs: fix up corcompare.
1096
1097         * HttpModuleActionCollection.cs: fix up corcompare.
1098
1099         * EventMappingSettingsCollection.cs: fix up corcompare.
1100
1101         * AuthorizationRule.cs: fix up corcompare.
1102
1103         * WebControlsSection.cs: fix up corcompare.
1104
1105         * AuthorizationSection.cs: fix up corcompare.
1106
1107         * MembershipSection.cs: clean this up, implement Properties, fix
1108         up corcompare, etc.
1109
1110 2005-11-13  Chris Toshok  <toshok@ximian.com>
1111
1112         * UrlMapping.cs, CustomErrorCollection.cs, CustomError.cs,
1113         HostingEnvironmentSection.cs, TrustLevel.cs,
1114         HttpCookiesSection.cs, UrlMappingsSection.cs,
1115         UrlMappingCollection.cs, LowerCaseStringConverter.cs,
1116         RoleManagerSection.cs, ProcessModelSection.cs,
1117         TrustLevelCollection.cs, ClientTarget.cs, CustomErrorsSection.cs,
1118         MachineKeySection.cs, SessionPageStateSection.cs,
1119         SessionStateSection.cs, ProvidersHelper.cs,
1120         ClientTargetCollection.cs, SecurityPolicySection.cs,
1121         HttpCapabilitiesBase.cs, ClientTargetSection.cs: Another large
1122         swath.
1123
1124
1125 2005-11-12  Chris Toshok  <toshok@ximian.com>
1126
1127         * AuthorizationRuleCollection.cs, AuthorizationRule.cs,
1128         AuthorizationSection.cs, BufferModesCollection.cs,
1129         BufferModeSettings.cs, CacheSection.cs, CompilerCollection.cs,
1130         Compiler.cs, DeploymentSection.cs,
1131         EventMappingSettingsCollection.cs, EventMappingSettings.cs,
1132         GlobalizationSection.cs, HealthMonitoringSection.cs,
1133         IdentitySection.cs, OutputCacheProfileCollection.cs,
1134         OutputCacheProfile.cs, OutputCacheSection.cs,
1135         OutputCacheSettingsSection.cs, ProfileSettingsCollection.cs,
1136         ProfileSettings.cs, RuleSettingsCollection.cs, RuleSettings.cs,
1137         SqlCacheDependencyDatabaseCollection.cs,
1138         SqlCacheDependencyDatabase.cs, SqlCacheDependencySection.cs,
1139         SystemWebCachingSectionGroup.cs, TraceSection.cs,
1140         TransformerInfoCollection.cs, TransformerInfo.cs, TrustSection.cs,
1141         WebControlsSection.cs, WebPartsPersonalizationAuthorization.cs,
1142         WebPartsPersonalization.cs, WebPartsSection.cs,
1143         XhtmlConformanceSection.cs: a whole slew of new classes.  the
1144         fruits of tons of c&p and ibuprofen.
1145
1146
1147 2005-11-09  Chris Toshok  <toshok@ximian.com>
1148
1149         * PagesSection.cs, AuthenticationSection.cs, BuildProvider.cs,
1150         BuildProviderCollection.cs, HttpHandlerActionCollection.cs,
1151         HttpModulesSection.cs, HttpModuleAction.cs,
1152         HttpModuleActionCollection.cs, AnonymousIdentificationSection.cs,
1153         CodeSubDirectory.cs, CodeSubDirectoriesCollection.cs,
1154         SystemWebSectionGroup.cs, SiteMapSection.cs,
1155         WebConfigurationManager.cs: flesh out the implementation.
1156
1157         * TagMap*.cs, TagPrefix*.cs: new implementation.
1158
1159         * FormsAuthentication*.cs: new implementation.
1160
1161         * Profile*.cs: new implementation.
1162
1163         * Namespace*.cs: new implementation.
1164
1165         * HttpRuntimeSection.cs: new implementation.
1166