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