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