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