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