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