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