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