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