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