1 2008-05-28 Marek Habersack <mhabersack@novell.com>
3 * Configuration.cs: set the ConfigContext when getting
4 and instance of a section. Fix for bug #325128.
6 * ConfigurationSection.cs: added an internal property -
7 ConfigContext used to supply the HttpContext to the Create
8 method of SectionHandler when called from GetRuntimeObject.
11 * InternalConfiguationHost.cs: changed CreateDeprecatedConfigContext
12 to return null rather than throwing a NotImplementedException.
15 * All patches above contributed by James Fitzsimons <james.fitzsimons@gmail.com>,
18 2008-05-18 Sebastien Pouliot <sebastien@ximian.com>
20 * SectionGroupInfo.cs: Use String.IsNullOrEmpty inside 2.0 code.
21 [Found using Gendarme]
23 2008-05-11 Roei Erez <roeie@mainsoft.com>
25 * SectionGroupInfo.cs: fix loading a SectionGroup without sections as childern.
27 2008-05-05 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
29 * ConfigurationElement.cs: don't fail when a mandatory property is a
30 configuration element itself.
32 2008-04-30 Marek Habersack <mhabersack@novell.com>
34 * ConfigurationElement.cs: HasLocalModifications considers a
35 property modifed locally if its origin is SetHere and it's been
38 2008-03-20 Igor Zelmanovich <igorz@mainsoft.com>
41 * ConfigurationElement.cs:
42 implement EvaluationContext property.
44 2008-03-01 Marek Habersack <mhabersack@novell.com>
46 * SectionInformation.cs: added an internal property -
47 ConfigFilePath, used when deserializing a section in
48 ConfigurationSection.GetRuntimeObject.
50 * Configuration.cs: set SectionInformation.ConfigFilePath when
51 getting an instance of a section.
53 * ConfigurationSection.cs: support the 'configSource' attribute
54 when section is read through GetRuntimeObject.
56 2008-02-21 Marek Habersack <mhabersack@novell.com>
58 * Configuration.cs: if the section being deserialized uses the
59 configSource attribute, call the section's DeserializeConfigSource
62 * SectionInfo.cs: WriteData takes care of writing the section data
63 to the configSource file, if any.
65 * ConfigurationSection.cs: moved reading of the configSource
66 external data file to a separate internal method,
67 DeserializeConfigSource. Section's source config file path is now
68 used to find the configSource.
69 SerializeSection now doesn't write the section content to the
70 passed writer if configSource was used. Writing of the section
71 data is now done in SectionInfo.
73 * ConfigurationElement.cs: added a new method -
74 HasLocalModifications which returns true of any of the element
75 properties have been set locally on that element.
77 2008-02-20 Marek Habersack <mhabersack@novell.com>
79 * ConfigurationSection.cs: support the "configSource" attribute
80 when deserializing a section. Contents of the file (if it exists)
81 replaces the previous section contents.
83 * ConfigurationElement.cs: ignore the "configSource" attribute if we're a
84 ConfigurationSection instance.
85 HasValues () returns true only if any of the properties has the
86 origin set to SetHere.
88 2008-02-07 Konstantin Triger <kostat@mainsoft.com>
90 * ClientConfigurationSystem.cs: performance: refactor out the Configuration
91 object construction from GetSection() to the ctor.
93 2008-01-16 Zoltan Varga <vargaz@gmail.com>
95 * ConfigurationElement.cs: Allow non-public constructors. Fixes #353554.
97 * PropertyInformation.cs: Allow non-public constructors. Fixes #353557.
99 * ConfigurationElement.cs: Consider non-public properties as well. Fixes
102 2008-01-12 Sebastien Pouliot <sebastien@ximian.com>
104 * ConfigurationLocationCollection.cs: Avoid infinite recursion.
105 Found using Gendarme.
107 2007-12-25 Konstantin Triger <kostat@mainsoft.com>
109 * KeyValueInternalCollection.cs: properly override NameValueCollection
110 to support interop with it.
112 2007-12-25 Konstantin Triger <kostat@mainsoft.com>
114 * ConfigurationElement.cs:
115 1. typo - pass the correct property to Attribute.GetCustomAttribute.
116 2. Pass oroginal exception as inner.
118 2007-12-05 Marek Habersack <mhabersack@novell.com>
120 * ConfigurationElement.cs: some property values may be null
121 objects in GetHashCode.
123 2007-11-23 Marek Habersack <mhabersack@novell.com>
125 * ConfigurationElementCollection.cs: ThrowOnDuplicate returns true
126 if the collection is one of the AddRemoveClearMap or
127 AddRemoveClearMapAlternate types.
129 2007-11-15 Atsushi Enomoto <atsushi@ximian.com>
131 Part of fix for bug #323708.
132 * ConfigurationSection.cs : in GetRuntimeObject(), take parent
133 section instance into consideration.
134 * SectionInformation.cs : to make it possible, GetParentSection()
135 should be implemented.
136 * Configuration.cs : to make it possible, GetSectionInstance()
137 should set parent section on its SectionInformation. It used to
138 just steal parent's xml when its own xml does not exist, but
139 it now blocks correct configuration retrieval.
141 2007-11-15 Atsushi Enomoto <atsushi@ximian.com>
143 * SectionGroupInfo.cs : remove extra StringBuilder creation.
145 2007-11-14 Atsushi Enomoto <atsushi@ximian.com>
147 * Configuration.cs : (Save) when the given file path is relative
148 it failed to create directory. Fixed standalone test t25/t26.
149 * InternalConfigurationHost.cs : pass userLevel to create a host
152 2007-10-04 Atsushi Enomoto <atsushi@ximian.com>
154 * InternalConfigurationHost.cs : when the streamName is for
155 machine.config, try get_bundled_machine_config() icall first.
156 This hopefully implements the requested feature in bug #325022.
157 * Configuration.cs : added comment.
159 2007-08-31 Gert Driesen <drieseng@users.sourceforge.net>
161 * ConfigurationManager.cs: Fixed line endings. Avoid warning by
162 changing accessibility of ChangeConfigurationSystem to internal.
163 * Configuration.cs: Fixed compiler warnings.
164 * DpapiProtectedConfigurationProvider.cs: Fixed line endings.
166 2007-08-21 Atsushi Enomoto <atsushi@ximian.com>
168 * ConfigurationManager.cs : To open exe configuration, use
169 GetEntryAssembly() first, and GetCallingAssembly() only when
170 it was not found. Should fix bug #82071.
172 2007-06-21 Atsushi Enomoto <atsushi@ximian.com>
174 * Configuration.cs, InternalConfigurationHost.cs :
175 configuration file to write might be given as an absolute path,
176 where the ancestor directories may not exist.
178 2007-06-20 Atsushi Enomoto <atsushi@ximian.com>
180 * ConfigurationManager.cs : in OpenExeConfiguration() and
181 OpenMappedExeConfiguration(), take userLevel into consideration.
182 * InternalConfigurationHost.cs : consider ConfigurationUserLevel and
183 use correct config map file in InitForConfiguration().
185 2007-06-18 Atsushi Enomoto <atsushi@ximian.com>
187 * ClientConfigurationSystem.cs : do not asume GetEntryAssembly()
188 returns non-null. Patch by Patrick Perry.
190 2007-06-13 Atsushi Enomoto <atsushi@ximian.com>
192 * ConfigurationElement.cs : SerializeToXmlElement() should be
193 called regardless of HasValues() return value, especially since
194 it could be overriden (e.g. in SettingsValueElement).
196 2007-06-13 Atsushi Enomoto <atsushi@ximian.com>
198 * ConfigurationSectionGroup.cs
199 Configuration.cs : ConfigurationSectionGroup must be initialized
200 at least when being added to a collection.
202 2007-06-12 Vladimir Krasnov <vladimirk@mainsoft.com>
204 * ConfigurationElement.cs: refactored GetKeyProperties and
205 GetDefaultCollection methods, map should not be used here, Properties
206 will do instead. Refactored ElementMap class
207 * ConfigurationElementCollection.cs: fixed InitFromProperty, GetMap()
208 should not be called here
209 * ElementInformation.cs: fixed Properties, moved to ctor to be thread
211 * PropertyInformation.cs: members assigned readonly modifier
213 2007-05-30 Marek Habersack <mhabersack@novell.com>
215 * SectionGroupInfo.cs: <location> elements are case-insensitive
216 and the same 'path' attribute may be used only once.
218 * ConfigurationLocationCollection.cs: Find should be
219 case-insensitive for all targets, not just TARGET_JVM.
221 2007-05-17 Igor Zelmanovich <igorz@mainsoft.com>
223 * Configuration.cs: FilePath implemented according to MSDN:
224 If the value for this FilePath property represents a merged view and
225 no actual file exists for the application, the path to the parent
226 configuration file is returned.
228 2007-05-15 Igor Zelmanovich <igorz@mainsoft.com>
231 * ConfigurationLocation.cs:
232 implemented EvaluationContext property.
234 2007-05-15 Igor Zelmanovich <igorz@mainsoft.com>
236 * ConfigurationLocationCollection.cs: for TARGET_JVM only:
237 location path is case-insensitive.
239 2007-05-15 Marek Habersack <mhabersack@novell.com>
241 * ConfigurationElement.cs: added value validation on
242 deserialization from the config file.
244 2007-05-14 Igor Zelmanovich <igorz@mainsoft.com>
246 * ConfigurationElement.cs: when attribute value cannot be parsed,
247 ConfigurationErrorException is thrown.
249 2007-05-09 Igor Zelmanovich <igorz@mainsoft.com>
251 * ConfigurationManager.cs:
252 added MonoLimitation attribute for TARGATE_JVM.
254 2007-05-08 Igor Zelmanovich <igorz@mainsoft.com>
256 * ConnectionStringSettingsCollection.cs: removed 'new' keyword, cause
257 property doesn't hide any inherit property.
259 2007-04-24 Atsushi Enomoto <atsushi@ximian.com>
261 * InternalConfigurationHost.cs : machine configuration covers all
262 ConfigurationAllowDefinition values.
264 2007-04-17 Atsushi Enomoto <atsushi@ximian.com>
266 * ConfigurationSectionCollection.cs : GetEnumerator() should return
267 IEnumerator for the items, not keys.
268 * ConfigurationProperty.cs : more helpful type mismatch message.
270 2007-04-16 Marek Habersack <mhabersack@novell.com>
272 * SectionGroupInfo.cs: another (and final, hopefully) fix for bug
273 #81321 and several other related issues that were discovered by
274 the way. Thanks to Atsushi for help with XmlReader!
276 2007-04-15 Marek Habersack <mhabersack@novell.com>
278 * SectionGroupInfo.cs: another incarnation of the fix for bug
281 2007-04-12 Marek Habersack <mhabersack@novell.com>
283 * SectionGroupInfo.cs: a better fix for #81321
285 2007-04-10 Marek Habersack <mhabersack@novell.com>
287 * SectionGroupInfo.cs: make sure empty sections with the
288 short-circuit tag ends (<section/>) don't make the process loop
289 endlessly. Fixes bug #81321.
291 2007-03-22 Konstantin Triger <kostat@mainsoft.com>
293 * ConfigInfo.cs: should be able instantiate types with private ctors.
295 2007-03-19 Vladimir Krasnov <vladimirk@mainsoft.com>
297 * ConfigurationSectionCollection.cs,
298 * ConfigurationSectionGroupCollection.cs,
299 * PropertyInformationCollection.cs,
300 * SectionGroupInfo.cs: used StringComparer.Ordinal instead of
303 2007-03-15 Vladimir Krasnov <vladimirk@mainsoft.com>
305 * ConfigurationSectionCollection.cs,
306 * ConfigurationSectionGroupCollection.cs,
307 * PropertyInformationCollection.cs,
308 * SectionGroupInfo.cs: these collections should be based on case
309 insensitive NameObjectCollectionBase
310 * added OrdinalComparer.cs for use in NameObjectCollectionBase
312 2007-02-07 Atsushi Enomoto <atsushi@ximian.com>
314 * SectionInfo.cs : don't stop at restartOnExternalChanges attribute.
316 2007-01-16 Konstantin Triger <kostat@mainsoft.com>
318 * ConfigurationElement.cs: ignore properties with null or empty name.
320 2007-01-16 Konstantin Triger <kostat@mainsoft.com>
322 * ConfigurationElement.cs: Try to deserilalize an unrecognized element by
323 current element, and only if failed delegate to default collection.
325 2006-12-27 Vladimir Krasnov <vladimirk@mainsoft.com>
327 * ConfigurationElementCollection.cs: fixed BaseAdd, looking for
328 identical element when collection type is not alternate
330 2006-12-27 Vladimir Krasnov <vladimirk@mainsoft.com>
332 * ConnectionStringSettingsCollection.cs: made connection string key
335 2006-12-27 Atsushi Enomoto <atsushi@ximian.com>
337 * ConfigurationElementCollection.cs : fixed BaseAdd() with
338 throwIfExists to not raise an error for identical element
339 but for different element which shares the same key. Fix by
342 2006-12-21 Vladimir Krasnov <vladimirk@mainsoft.com>
344 * ConfigurationProperty.cs: fixed DefaultValue of type Enum
346 2006-12-10 Konstantin Triger <kostat@mainsoft.com>
348 * ConfigurationElement.cs: Delegate parameter checking and default
349 assigning to Configuratin property.
350 * ConfigurationProperty.cs:
351 Ensure the TypeConvert and Validator always exist.
352 Ensure the primitive types are properly initialized.
354 2006-12-09 Vladimir Krasnov <vladimirk@mainsoft.com>
356 * ConfigurationElementCollection.cs
357 * ConfigurationRemoveElement.cs: fixed key for <remove> element in
358 ConfigurationRemoveElement class
360 2006-11-28 Marek Habersack <grendello@gmail.com>
362 * SectionGroupInfo.cs: Implement merging of section groups with
363 the same names and parents.
365 * ConfigInfo.cs: Add an abstract method for merging sections.
367 * SectionInfo.cs: Add implementation of an abstract base method
369 2006-08-23 Konstantin Triger <kostat@mainsoft.com>
371 * SectionInfo.cs: refactoring - remove unneeded bool? usage.
373 2006-11-05 Vladimir Krasnov <vladimirk@mainsoft.com>
375 * added: ConfigurationRemoveElement.cs, common element for <remove>
376 * ConnectionStringSettingsCollection.cs: reverted last fix for
378 * ConfigurationElementCollection.cs: fixed the way that
379 OnDeserializeUnrecognizedElement method handles <remove> element
381 2006-11-02 Vladimir Krasnov <vladimirk@mainsoft.com>
383 * ConfigurationElement.cs: typo in DefaultCollectionProperty
386 2006-10-30 Joel Reed <joel.reed@ddiworld.com>
388 * NameValueConfigurationCollection.cs: Implement the Properties
391 2006-08-23 Konstantin Triger <kostat@mainsoft.com>
393 * ConfigurationLocation.cs: do not read root element, correctly close stream.
394 * Configuration.cs: use ReadData for nested content to throw if location
395 elements are encounterd.
396 In constructor taking parent Configurqation: do not call Init and so avoid
397 rereading config file.
399 2006-09-05 Vladimir Krasnov <vladimirk@mainsoft.com>
401 * NameValueConfigurationElement.cs: fixed functionality
402 * ConfigurationElementCollection.cs,
403 ConnectionStringSettingsCollection.cs: fixed <remove> element in
404 connectionStrings section
406 2006-08-23 Konstantin Triger <kostat@mainsoft.com>
408 * ConfigurationSection.cs: for net 1.1 SectionHandlers: return null in case
409 RawXml is null, as net 1.1 does.
411 2006-08-17 Vladimir Krasnov <vladimirk@mainsoft.com>
413 * ConfigurationFileMap.cs: added TARGET_JVM on not supported members
416 2006-07-07 Atsushi Enomoto <atsushi@ximian.com>
418 * ConfigurationManager.cs : OpenExeConfiguration(null) should still
419 work. This is required for embedded scenario.
421 2006-06-10 Atsushi Enomoto <atsushi@ximian.com>
423 * SectionGroupInfo.cs : skip <dllmap> in configuration.
425 2006-05-14 Atsushi Enomoto <atsushi@ximian.com>
427 * ConfigurationManager.cs: since ConfigurationSystem is different
428 for web.config, cast from ConfigurationSection to runtime object
429 should be done at GetSection().
430 This really fixed bug #78372.
432 2006-05-12 Atsushi Enomoto <atsushi@ximian.com>
434 * Configuration.cs : configPath is null for machine.config, so don't
435 use it. Use streamName instead. To my understanding, this should
438 2006-05-10 Atsushi Enomoto <atsushi@ximian.com>
440 * ConnectionStringSettings.cs : it seems that "name" property
441 could be null i.e. there is no StringValidator.
442 * StringValidator.cs : allow null.
444 2006-05-10 Atsushi Enomoto <atsushi@ximian.com>
446 * ConfigurationManager.cs : use GetCallingAssembly() instead of
447 GetEntryAssembly() which possibly returns null (e.g. nunit) in
448 OpenExeConfiguration(). Several nunit test failures are gone.
450 2006-05-10 Atsushi Enomoto <atsushi@ximian.com>
452 * ConnectionStringSettings.cs : oops, this API fix broke standalone
455 2006-05-10 Atsushi Enomoto <atsushi@ximian.com>
457 * ConfigurationElement.cs,
458 ConfigurationErrorsException.cs,
459 ConfigurationUserLevel.cs,
460 ConfigurationPropertyOptions.cs,
461 ConnectionStringSettings.cs : assorted minor corcompare fixes.
463 2006-05-10 Atsushi Enomoto <atsushi@ximian.com>
465 * Configuration.cs : some kind of refactoring is absolutely needed
466 here. Reuse RawXml from parentSection when data was not available
467 on current section. This should fix bug #78353.
469 2006-05-10 Atsushi Enomoto <atsushi@ximian.com>
471 * ConfigurationElement.cs,
473 in some cases RawXml was set null string, so skip such cases.
474 * Configuration.cs : support IConfigurationSectionHandler here.
475 * ConfigurationManager.cs : GetSection() now returns name value
476 collection, not a section.
477 * ConfigurationSection.cs : added SectionHandler for
478 IConfigurationSectionHandler support, and use its Create() in
480 * ClientConfigurationSystem.cs :
481 use GetRuntimeObject() in GetSection(). Thus now
482 ConfigurationManager.GetSection() returns a runtime object.
485 2006-04-28 Atsushi Enomoto <atsushi@ximian.com>
487 * SectionGroupInfo.cs :
488 sections which are defined in sectionGroups could be directly
489 referenced, so search corresponding section recursively.
490 * DefaultSection.cs : It does not reject unrecognized contents.
492 2006-04-26 Chris Toshok <toshok@ximian.com>
494 * SectionInformation.cs (.ctor): add MonoTODO about the default
495 value for require_permission.
496 (RequirePermission): implement the getter/setter for this so
497 Atsushi's previous commit doesn't break everything :)
499 2006-04-26 Atsushi Enomoto <atsushi@ximian.com>
502 SectionInfo.cs : added support for "requirePermission" attribute
503 in "section" element. This fixes bug #77957.
505 2006-04-25 Chris Toshok <toshok@ximian.com>
507 * ConfigurationElementCollection.cs (Reset): it makes no sense to
508 pass the typename to CreateNewElementInternal. the argument is
509 the elementname. pass null instead.
512 2006-02-01 Atsushi Enomoto <atsushi@ximian.com>
514 * ConfigurationElement.cs : ListErrors() and SetPropertyValue()
516 * ConfigurationSection.cs : the .ctor() is protected.
517 * ConfigurationElementCollection.cs : CollectionType is public.
518 Count and BaseAdd() are not virtual.
519 * ConfigurationPropertyCollection.cs : Count is not virtual.
521 2006-02-01 Chris Toshok <toshok@ximian.com>
523 * ConfigurationElement.cs: revert the patch that stores and writes
524 out xmlns attributes for all elements.
526 * ClientConfigurationSystem.cs: SupportsUserConfig == false.
528 * AppSettingsSection.cs (GetRuntimeObject): call col.SetReadOnly()
529 only if SupportsUserConfig != true.
531 * ConfigurationManager.cs (ConfigurationSystem): add a property
532 like ConfigurationFactory, and use it instead of the private field
535 2006-01-26 Chris Toshok <toshok@ximian.com>
537 * SectionGroupInfo.cs (ReadContent): handle "location" (seemingly)
540 * InternalConfigurationRoot.cs: misc logical additions. still
543 * ConfigurationManager.cs (OpenExeConfigurationInternal): throw an
544 exception if both calling_assembly and exePath are null. Allow
545 the exePath to be a path to a config file as well, checking to see
546 if it ends in .config before appending.
547 (OpenExeConfiguration): stop blindly passing
548 Assembly.GetCallingAssembly. I'm assuming this will likely break
549 .dll.config usage. need to investigate that (and write more unit
551 (GetSection): call configSystem.GetSection.
552 (RefreshSection): call configSystem.RefreshSection.
553 (ChangeConfigurationSystem): modeled after the
554 ConfigurationSettings System.Web hack - allow
555 WebConfigurationManager to replace the current
556 IInternalConfigSystem.
558 * InternalConfigurationHost.cs (InternalConfigurationHost): make
559 abstract, and remove all the NotImplenmentedException's.
561 * ConfigurationElement.cs (DeserializeElement): store off the xml
562 namespace if there is one.
563 (SerializeElement): write out the namespace if there was one.
565 * ClientConfigurationSystem.cs: new class, based on some stack
566 traces I've seen in tests. Kinda (well, not *kinda*..) hacky.
568 * Configuration.cs (NamespaceDeclared): implement.
569 (Load): don't swallow all exceptions, just the ones raised when we
570 open the stream for reading.
571 (ReadConfigFile): handle xmlns.
573 2006-01-25 Chris Toshok <toshok@ximian.com>
575 * ConfigInfo.cs (ThrowException): throw a
576 ConfigurationErrorsException, not a ConfigurationException.
578 * SectionGroupInfo.cs (ReadContent): throw an exception
579 unconditionally if we see a <location>. they aren't valid in
582 2006-01-25 Chris Toshok <toshok@ximian.com>
584 * KeyValueInternalCollection.cs: don't use a nested collection,
585 just defer to our base class. This fixes usage of
586 ConfigurationManager.AppSettings.Keys.
588 2006-01-13 Chris Toshok <toshok@ximian.com>
590 * AppSettingsSection.cs (GetRuntimeObject): only access
591 Settings[key] once per iteration.
593 2006-01-09 Chris Toshok <toshok@ximian.com>
595 * ConfigurationManager.cs (AppSettings): just return
596 AppSettingsSection.GetRuntimeObject() here.
598 * AppSettingsSection.cs: fix the "file" property to match dumper
600 (GetRuntimeObject): this returns a KeyValueInternalCollection in
603 2006-01-09 Chris Toshok <toshok@ximian.com>
605 * ElementInformation.cs (Validator): if propertyInfo == null,
606 return a DefaultValidator instance.
608 2006-01-09 Chris Toshok <toshok@ximian.com>
610 * AppSettingsSection.cs (.cctor): specify null for
613 * ProtectedProviderSettings.cs (.cctor): specify null for
616 2006-01-03 Chris Toshok <toshok@ximian.com>
618 * Configuration.cs (SaveAs): open with FileMode.OpenOrCreate so we
619 can save to a new file.
620 (CreateSection): don't bother to set the section information's
621 Name here. we'll do it in SectionInfo.CreateInstance.
623 * ProtectedConfiguration.cs (Section): new static property so we
624 can remove all the GetSection calls.
625 (GetProvider): load a named provider, optionally throwing an
626 exception if it's not found.
628 * InternalConfigurationHost.cs (EncryptSection, DecryptSection):
629 make these private interface implementations, and call
630 protectedSection.{EncryptSection,DecryptSection}.
632 * ProtectedConfigurationSection.cs (EncryptSection,
633 DecryptSection): add these two calls. They really shouldn't be
634 here, but I saw them in an MS stack trace and thought "why not?".
636 * ConfigurationSection.cs (SectionInformation): don't set
637 attributes here, that's done in SectionInfo.CreateInstance.
638 (DeserializeSection): shoehorn in the decryption stuff here. It
639 doesn't belong here, and I've added a MonoTODO about it. It
640 should live someplace like SectionInfo.ReadData (which would make
641 it similar to the encryption stuff in .WriteData).
643 * SectionInformation.cs (IsProtected): remove the special flag,
644 just return true if we have a non-null protection_provider.
645 (ProtectSection): do nothing but try to instantiate the named
647 (UnprotectSection): null out protection_provider.
649 * DpapiProtectedConfigurationProvider.cs: move the
650 NotSupportedExceptions to Decrypt/Encrypt so we don't bomb out
651 when parsing our machine.config file.
653 * RsaProtectedConfigurationProvider.cs: initial implementation.
654 much is missing (OAEP support, key importing, adding/deleting
655 keys), but it can be used.
657 2006-01-02 Chris Toshok <toshok@ximian.com>
659 * RsaProtectedConfigurationProvider.cs: implement the
660 CspProviderName and UseOAEP properties..
662 2006-01-02 Chris Toshok <toshok@ximian.com>
664 * ProtectedConfigurationSection.cs: flesh this out (and add logic
665 to instantiate providers, based on some of the standalone test
666 exception stack traces.)
668 * ProtectedConfiguration.cs: new implementation.
670 * ProtectedConfigurationProviderCollection.cs: new
673 * ProtectedProviderSettings.cs: new implementation.
675 * ProtectedConfigurationProvider.cs: trim the superclass's name.
677 * RsaProtectedConfigurationProvider.cs: stubbed, unimplemented.
679 * DpapiProtectedConfigurationProvider.cs: add stubbed
680 implementation that throws NotSupportedException telling people
681 they should be using RsaProtectedConfigurationProvider.
683 2006-01-02 Chris Toshok <toshok@ximian.com>
685 * DefaultSection.cs (Properties): implement.
687 * IgnoreSection.cs: move from lazily creating the properties
688 collection to sharing a single one across all instances.
690 * ConfigurationLockCollection.cs (IsReadOnly): fix compiler warning.
692 * ConfigurationElementCollection.cs (BaseAdd) remove logic to
693 remove an old matching element.
694 (BaseGetKey): throw an exception if @index is out of range.
696 * SectionInformation.cs (SectionName): just return name, like Name
697 does.. redundant, but it matches tests.
698 (GetRawXml): implement.
699 (SetRawXml): implement.
701 * ConfigurationSection.cs (SectionInformation): fill in
702 sectionInformation.Type before returning.
703 (DeserializeSection): save off the raw xml to our
706 * ConfigurationElement.cs (LockItem): implement.
707 (DeserializeElement): add support for the "lockItem" attribute.
709 2005-12-16 Chris Toshok <toshok@ximian.com>
711 * ConfigurationLockCollection.cs (Add): only add the name if it's
713 (IsReadOnly): always return false for the time being, in the
714 non-exceptional case.
716 2005-12-15 Chris Toshok <toshok@ximian.com>
718 * ConfigurationElement.cs (LockAllAttributesExcept): implement.
719 (LockAllElementsExcept): implement.
720 (DeserializeElement): handle the built-in attributes (lock* for
723 2005-12-15 Chris Toshok <toshok@ximian.com>
725 * ConfigurationLockCollection.cs (..ctor): don't call Populate.
727 (CheckName): make sure the passes in name is valid for this type
729 (Add): call CheckName, and set is_modified to true.
730 (Clear): set is_modified.
731 (IsReadOnly): add plausable implementation, including exception in
732 the case where the name isn't found.
733 (Remove): set is_modified.
734 (SetFromList): implement.
735 (get_AttributeList): implement.
736 (set_IsModified): add internal setter so we can clear the modified
739 2005-12-12 Chris Toshok <toshok@ximian.com>
741 * AppSettingsSection.cs (DeserializeElement): provide rather naive
742 version of the file="" handling. It's enough to make our tests
745 2005-12-11 Chris Toshok <toshok@ximian.com>
747 * ConnectionStringsSection.cs (..cctor): use "" instead of null
748 for the name of the default collection.
750 * AppSettingsSection.cs (..cctor): create a property for the
752 (DeserializeElement): call base.DeserializeElement.
753 (File): index off the property, not the name.
754 (Settings): don't use an private variable here, use
757 * ConfigurationManager.cs (GetSection): GetEntryAssembly returns
758 null for new app domains. so deal with this by calling
759 GetCallingAssembly if it's null. This is probably still wrong but
760 it doesn't NRE in xsp2.
761 (AppSettings): remove MonoTODO.
763 * KeyValueConfigurationElement.cs (..ctor): new method, create the
764 ConfigurationProperty's and the collection here.
765 (.ctor): add internal arg-less ctor.
766 (Key): use keyProp instead of "key".
767 (Value): use vlaueProp instead of "value".
768 (Properties): return our class's properties.
770 * KeyValueConfigurationCollection.cs (CreateNewElement): use the
772 (GetElementKey): re-enable the BaseIndexOf test.
774 2005-12-02 Chris Toshok <toshok@ximian.com>
776 * Configuration.cs (Save): call WriteStartDocument.
778 * ConnectionStringSettingsCollection.cs (CreateNewElement): use
779 parameter-less ctor to keep from generating exceptions when using
782 2005-12-02 Chris Toshok <toshok@ximian.com>
784 * ConnectionStringSettings.cs: tabify, fix default values, and add
785 a string validator for "name".
787 2005-12-02 Chris Toshok <toshok@ximian.com>
789 * CommaDelimitedStringCollectionConverter.cs (ConvertTo): change
790 the type check away from an exact check for
791 CommaDelimitedStringCollection to an assignable test from
792 StringCollection. This is due to the fact that AuthorizationRule
793 doesn't create CommaDelimitedStringCollections, for some odd
794 reason. It uses StringCollections.
796 * PropertyInformation.cs (Value): remove the case for
797 IsDefaultCollection - it's not necessary, as the property is an
800 * ConnectionStringSettings.cs: fix formatting and remove some
803 * ConnectionStringSettingsCollection.cs: same.
805 * ConnectionStringsSection.cs: same.
807 * ConfigurationElement.cs (SerializeToXmlElement): don't write the
808 enclosing start/end elements if the elementName is null or "".
809 this fixes the case for the DefaultCollections (at least in the
810 case of connectionStrings).
812 * IgnoreSection.cs (Properties): remove the MonoTODO.
814 * SectionInfo.cs (WriteData): remove the "<!-- dd -->" output.
816 2005-11-28 Chris Toshok <toshok@ximian.com>
818 * ProviderSettings.cs: use ConfigurationProperty's to implement
821 2005-11-24 Chris Toshok <toshok@ximian.com>
823 * ConfigurationProperty.cs (Validate): add internal method.
825 2005-11-24 Chris Toshok <toshok@ximian.com>
827 * ConfigurationElement.cs (ElementProperty): make this protected
828 internal virtual instead of public.
829 (SetPropertyValue): add a validator call and a blurb about the
830 code based on information gleaned from tests.
831 (set_Item (string)): call SetPropertyValue in the setter.
833 2005-11-14 Chris Toshok <toshok@ximian.com>
835 * CommaDelimitedStringCollection.cs: reformat things a bit, and
836 flag ToString() as override.
838 * DefaultSection.cs: new stubbed out implementation.
840 * CommaDelimitedStringCollectionConverter.cs: new implementation.
842 2005-11-10 Chris Toshok <toshok@ximian.com>
844 * AppSettingsSection.cs (DeserializeElement): stop explicitly
845 calling Settings.DeserializeElement, as the DefaultCollection
848 * ConfigurationElement.cs (DeserializeElement): rework the loop
849 here so that we actually loop over all the content elements.
851 2005-11-09 Chris Toshok <toshok@ximian.com>
853 * ConfigurationElement.cs: Add support for DefaultCollection
856 * PropertyInformation.cs (PropertyInformation.Value): add case for
859 * SectionGroupInfo.cs (SectionGroupInfo.ReadConfig): when we read
860 a "type" attribute, make sure the cached System.Type is cleared.
862 2005-10-25 Chris Toshok <toshok@ximian.com>
864 * InfiniteTimeSpanConverter.cs: new implementation.
866 * InfiniteIntConverter.cs: new implementation.
868 * GenericEnumConverter.cs: new implementation.
870 * Configuration.cs: we don't need to check with "is" after we use
871 "as".. just check for null-ness.
873 * KeyValueConfigurationCollection.cs: GetElementKey should throw
874 NRE if element == null.
876 * CommaDelimitedStringCollection.cs: raise the correct exceptions
877 in the read only case, and return null from ToString if there are
880 2005-10-25 Chris Toshok <toshok@ximian.com>
882 * PositiveTimeSpanValidatorAttribute.cs: new implementation.
884 * PositiveTimeSpanValidator.cs: new implementation.
886 2005-10-24 Chris Toshok <toshok@ximian.com>
888 * TimeSpanSecondsOrInfiniteConverter.cs: new implementation.
890 * TypeNameConverter.cs: new implementation.
892 * WhiteSpaceTrimStringConverter.cs: new implementation.
894 2005-10-24 Chris Toshok <toshok@ximian.com>
896 * AppSettingsSection.cs (DeserializeElement, SerializeSection):
897 split the behavior based on if File == "". If it is, we do the
898 default. otherwise we throw NIE.
900 * ConnectionStringsSection.cs (DeserializeElement): we shouldn't
901 need this, but we do until the IsDefaultCollection stuff is fixed.
903 * ConfigurationElementCollection.cs
904 (OnDeserializeUnrecognizedElement): for clearElementName, make
905 sure we have no attributes.
907 * ConnectionStringSettingsCollection.cs (get_Properties): for now
908 just chain up to base.Properties.
910 * ConfigurationElement.cs (ReflectProperties): do the default
911 value/property type check in a more robust way, using
914 2005-10-24 Chris Toshok <toshok@ximian.com>
916 * ConfigurationElement.cs: treat
917 ConfigurationProperty.NoDefaultValue the same as null when we're
918 checking the default value's type. this fixes t13 and 14.
920 * ConnectionStringsSection.cs (ConnectionStrings): fix the
921 DefaultValue in the ConfigurationPropertyAttribute.
923 2005-10-24 Chris Toshok <toshok@ximian.com>
925 * KeyValueConfigurationCollection.cs (GetElementKey): sacrifice
926 one test to get another working. Return a valid key even if the
927 element is not in this collection.
928 (get_ThrowOnDuplicate): return false.
930 * ConfigurationElementCollection.cs (BaseAdd): if we're adding an
931 element with the same key, overwrite the old one (remove the old
932 one after inserting the new one). Also, re-enable the throwing of
933 exceptions if ThrowOnDuplicate == true.
935 2005-10-24 Chris Toshok <toshok@ximian.com>
937 * AppSettingsSection.cs (Settings): fix ConfigurationProperty
940 * ProtectedConfigurationSection.cs (Providers): same.
942 2005-10-12 Chris Toshok <toshok@ximian.com>
944 * ConfigurationPermission.cs: flesh out as per tests.
946 2005-10-11 Chris Toshok <toshok@ximian.com>
948 * ConfigurationProperty.cs: don't use null to mean no default
949 value, use NoDefaultValue.
951 2005-10-11 Chris Toshok <toshok@ximian.com>
953 * KeyValueConfigurationCollection.cs (GetElementKey): duh.
954 BaseGet calls GetElementKey, so we were hitting an infinite
955 recursion here. Use BaseIndexOf instead.
957 2005-10-07 Chris Toshok <toshok@ximian.com>
959 * InternalConfigurationHost.cs: some interface work, adding in the
962 * ConfigurationProperty.cs: remove debug spew.
964 * Configuration.cs: add NIE'd NamespaceDeclared property.
966 * ElementInformation.cs: add NIE'd Errors property.
968 * PropertyInformationCollection.cs: add NIE'd GetObjectData().
970 * ConfigurationManager.cs: quite a bit of new work here. Some
971 definie TODO's still though.
973 2005-10-07 Chris Toshok <toshok@ximian.com>
975 * ConfigurationErrorsException.cs (.ctor): for the (string)
976 overload, chain up to the base (string) ctor.
978 2005-10-07 Chris Toshok <toshok@ximian.com>
980 * ConfigurationElement.cs (ElementMap.ReflectProperties): make
981 sure the type of the default value is compatible with that of the
982 property itself, and throw ConfigurationErrorsException if they
983 don't match. Fixes t12.
985 2005-10-07 Chris Toshok <toshok@ximian.com>
987 * ConfigHelper.cs: remove some unused code.
989 * ConfigurationProperty.cs: disambiguate the ctor we chain to.
991 * ConfigurationElement.cs (ElementProperty): implement.
992 (ElementMap.ReflectProperties): make DefaultValidator the default
995 2005-10-06 Chris Toshok <toshok@ximian.com>
997 * KeyValueConfigurationElement.cs: uncomment out some stuff.
998 (Properties): just return base.Properties. Not sure why they
999 override this, as the base class's implementation passes our test.
1001 * KeyValueConfigurationCollection.cs (Add): for the keyValue
1002 overload, call keyValue.Init as the unit test stack traces
1003 indicates that'9s where it's called. For the string,string
1004 overload, just call the keyValue overload instead of calling
1006 (CreateNewElement): just use the name/value ctor, and specify ""
1008 (GetElementKey): this function always returns "" for elements that
1009 haven't been added to the collection. Once theyre added, it seems
1010 to always return keyValue.Key.
1011 (Properties): the unit tests show this returns a 0 length
1014 2005-10-05 Chris Toshok <toshok@ximian.com>
1016 * ConfigurationPermissionAttribute.cs: stub out.
1018 2005-10-05 Chris Toshok <toshok@ximian.com>
1020 * TimeSpanMinutesOrInfiniteConverter.cs: fill in the
1023 2005-10-05 Chris Toshok <toshok@ximian.com>
1025 * TimeSpanSecondsConverter.cs: new implementation.
1027 2005-10-05 Chris Toshok <toshok@ximian.com>
1029 * TimeSpanMinutesConverter.cs: flesh out implementation.
1031 * ConfigurationConverterBase.cs: make all subclasses work with
1032 strings only, since that's what seems to manifest itself in the
1035 2005-10-05 Chris Toshok <toshok@ximian.com>
1037 * ConfigurationLockCollection.cs: add NIE'd AttributeList
1040 * ConfigurationConverterBase.cs: add MonoTODO'd CanConvertFrom and
1041 CanConvertTo methods.
1043 * ConfigurationSectionGroup.cs: add NIE'd IsDeclared property.
1045 * ProtectedConfigurationSection.cs: add NIE'd properties.
1047 * ConfigurationElementCollection.cs: add MonoTODO'd IsReadOnly
1048 and SetReadOnly methods, and have then chain up to the base class.
1050 * KeyValueConfigurationCollection.cs: add the class level
1051 ConfigurationCollectionAttribute, and add a NIE'ed Properties
1054 * ProviderSettingsCollection.cs: add the class level
1055 ConfigurationCollectionAttribute, and add a "new" keyword to the
1056 this property. Also, nuke the Provider's property.
1058 * SectionInformation.cs: add some NEI'd properties.
1060 * ConfigurationSection.cs (ResetModified): leave the MonoTODO, but
1061 chain up to base class's method instead of throwing NIE.
1063 * ConnectionStringSettingsCollection.cs: add the class-level
1064 ConfigurationCollectionAttribute, and add the unimplemented
1065 Properties property.
1067 * ConfigurationErrorsException.cs: flesh this out, and add a
1068 pragma to disable the obsolete warnings from our base class.
1070 * ProviderSettings.cs: add unimplemented Properties property.
1072 * ConfigurationElement.cs: remove unnecessary
1073 EvaluationInformation.
1075 * InternalConfigurationRoot.cs: add unimplemented IsDesignTime
1078 * ConfigurationProperty.cs: add a missing ctor.
1080 * AppSettingsSection.cs: add missing "override" keyword.
1082 * ConnectionStringsSection.cs: remove override.
1084 * ConfigurationSectionCollection.cs: AllKeys -> Keys, and add
1085 unimplemented GetObjectData override.
1087 * ConfigurationSectionGroupCollection.cs: same.
1089 * ConfigurationCollectionAttribute.cs: add missing CollectionType
1092 2005-10-05 Chris Toshok <toshok@ximian.com>
1094 * ConfigurationPermission.cs: new implementation.
1096 * IgnoreSection.cs: new implementation.
1098 2005-10-05 Chris Toshok <toshok@ximian.com>
1100 * CommaDelimitedStringCollection.cs: new implementation.
1102 2005-10-05 Chris Toshok <toshok@ximian.com>
1104 * NameValueConfigurationCollection.cs: new implementation.
1106 * NameValueConfigurationElement.cs: new implementation.
1108 2005-10-05 Chris Toshok <toshok@ximian.com>
1110 * ValidatorCallback.cs: new implementation.
1112 * SubclassTypeValidator.cs, SubclassTypeValidatorAttribute.cs: new
1115 * CallbackValidator.cs, CallbackValidatorAttribute.cs: new
1118 * RegexStringValidator.cs, RegexStringValidatorAttribute.cs: new
1121 * LongValidator.cs, LongValidatorAttribute.cs: new implementation.
1123 * IntegerValidator.cs, IntegerValidatorAttribute.cs: new
1126 * DefaultValidator.cs: new implementation.
1128 2005-09-28 Chris Toshok <toshok@ximian.com>
1130 * ConfigurationElementCollection.cs: more work on the "<clear />"
1131 handling - just skip the element for now. this causes a failure
1132 in one test ('<clear hi="bye" />' doesn't throw an exception when
1133 it should), but it succeeds for collections that have required
1136 * ConnectionStringSettings.cs: providerName isn't a required
1139 * AppSettingsSection.cs (.cctor): initialize our "file" Property.
1142 (GetRuntimeObject): call the base class method instead of just
1145 * ConnectionStringsSection.cs: Add a hacky DeserializeElement
1146 method here (that isn't in MS's) for the time being so we actually
1147 deserialize our collection.
1149 2005-09-28 Chris Toshok <toshok@ximian.com>
1151 * KeyValueInternalCollection.cs: found this by way of a stack
1152 trace in one of the tests. A NameValueCollection that wraps a
1153 KeyValueConfigurationCollection.
1155 * Configuration.cs (Init): save off configPath.
1156 (EvaluationContext): new, mostly implemented.
1157 (GetSectionInstance): use IgnoreSection instead of
1159 (Load): don't fail when we can't load a file.
1161 * IgnoreSection.cs: replace RuntimeOnlySection with this new
1164 * RuntimeOnlySection.cs: nuke.
1166 2005-09-27 Chris Toshok <toshok@ximian.com>
1168 * TimeSpanMinutesOrInfiniteConverter.cs: this is sealed.
1170 2005-09-27 Chris Toshok <toshok@ximian.com>
1172 * ConfigurationProperty.cs: add IsDefaultCollection property.
1174 2005-09-27 Chris Toshok <toshok@ximian.com>
1176 * ConfigurationElementProperty.cs: new file.
1178 * ConfigurationLockCollection.cs: new file.
1180 * ConfigurationElementCollection.cs
1181 (OnDeserializeUnrecognizedElement): make sure we consume the
1182 <clear /> element so we don't into an endless loop.
1184 * ConfigurationElement.cs: add a bunch of NIE's properties.
1186 * ContextInformation.cs: Add NIE'ed IsMachineLevel property.
1188 2005-09-23 Chris Toshok <toshok@ximian.com>
1190 * AppSettingsSection.cs: fix build and add a couple of TODO'ed
1193 2005-09-23 Chris Toshok <toshok@ximian.com>
1195 * ProviderSettings.cs (Unmerge): track change to
1196 ConfigurationElement.Unmerge.
1198 * ConfigurationSection.cs: add functions nuked from
1199 ConfigurationElement here.
1201 * ConfigurationElementCollection.cs: add DebuggerDisplay attribute
1203 (BaseGetAllKeys): returns object[], not string[].
1204 (BaseGetKey): returns object, not string.
1205 (Unmerge): track change to ConfigurationElement.Unmerge signature.
1207 * ConfigurationElement.cs (ConfigurationElement.Unmerge): fix
1208 signature (drop the serializeCollectionKey parameter).
1211 2005-09-23 Chris Toshok <toshok@ximian.com>
1213 * StringValidator.cs: throw ArgumentException instead of
1214 ConfigurationErrorsException.
1216 2005-09-23 Chris Toshok <toshok@ximian.com>
1218 * ConnectionStringsSection.cs: track change to
1219 ConfigurationPropertyOptions.
1221 * ConfigurationPropertyAttribute.cs, ConfigurationProperty.cs,
1222 ProviderSettings.cs: track change to ConfigurationPropertyOptions.
1224 * ConnectionStringSettings.cs: track change to
1225 ConfigurationProprertyOptions, and add some ConfigurationProperty
1228 * ConfigurationPropertyOptions.cs: DefaultCollection ->
1229 IsDefaultCollection, Required -> IsRequired.
1231 2005-09-22 Chris Toshok <toshok@ximian.com>
1233 * PositiveTimeSpanValidator.cs: this lives in
1234 System.Web.Configuration, not System.Configuration.
1236 2005-09-22 Chris Toshok <toshok@ximian.com>
1238 * TimeSpanValidator.cs: change to ArgumentException and alter the
1241 2005-09-22 Chris Toshok <toshok@ximian.com>
1243 * ExeConfigurationFileMap.cs (ctor): init all the strings to "".
1245 2005-07-01 Lluis Sanchez Gual <lluis@novell.com>
1247 * ProviderSettings.cs: Implemented properties using property attributes.
1248 * ConfigurationElement.cs: Implemented ElementInformation property and
1249 moved there all value management.
1250 * ProtectedConfigurationProvider.cs: Set the correct base class.
1251 * SectionInformation.cs: Added missing AllowExeDefinition property.
1252 * TimeSpanValidatorAttribute.cs: Implemented.
1253 * StringValidator.cs: Implemented.
1254 * ProviderSettingsCollection.cs: Added missing class attribute.
1255 * ConfigurationSaveMode.cs: Fix enum values.
1256 * ConfigurationElementCollection.cs: Added Init method for initializing
1257 elements from properties.
1258 * StringValidatorAttribute.cs: Implemented.
1259 * ConfigurationLocation.cs: Added support for allowOverride flag.
1260 * TimeSpanMinutesOrInfiniteConverter.cs: Created skeleton class.
1261 * PositiveTimeSpanValidator.cs: Implemented.
1262 * TimeSpanMinutesConverter.cs: Created skeleton class.
1263 * SectionInfo.cs: Properly read, store and check the values of AllowLocation,
1264 AllowDefinition and AllowExeDefinition.
1265 * TimeSpanValidator.cs: Implemented.
1266 * ConfigurationConverterBase.cs: Created skeleton class.
1267 * InternalConfigurationHost.cs: Implemented IsDefinitionAllowed and
1268 VerifyDefinitionAllowed.
1269 * ConfigurationManager.cs: That class must be static.
1270 * PropertyInformationCollection.cs: Implemented.
1271 * Configuration.cs: Added some checks for AllowLocation, AllowDefinition and
1272 so on. In Save(), don't forget to save location elements.
1273 * ConfigurationProperty.cs: Keep track of collection attributes.
1274 * ConfigInfo.cs: Support overrideAllowed flag.
1275 * KeyValueConfigurationElement.cs: Define properties using attributes.
1276 * PropertyValueOrigin.cs: implemented.
1277 * PropertyInformation.cs: Mostly implemented.
1278 * SectionGroupInfo.cs: Properly propagate the overrideAllowed flag.
1279 * ElementInformation.cs: Mostly implemented.
1280 * ConfigurationPropertyAttribute.cs: Set the correct default value.
1281 * ConfigurationCollectionAttribute.cs: Implemented.
1283 2005-06-23 Lluis Sanchez Gual <lluis@novell.com>
1285 * SectionInfo.cs: Set the config host when loading the section.
1286 * InternalConfigurationHost.cs: Implemented some basic methods.
1287 * Configuration.cs: Find the correct parent for the configuration,
1288 taking into accound locations and such. Use Host functions to get
1290 * ConfigurationLocationCollection.cs: Added find method.
1291 * ConfigInfo.cs: Added Host property.
1292 * InternalConfigurationFactory.cs: The InitForConfiguration calls
1293 are now done in each correspoding configuration.
1294 * SectionGroupInfo.cs: When reading a location element, create
1295 a Configuration object for each path specified in the location.
1296 * ConfigurationElementCollection.cs: Added the CreateNewElementInternal
1297 method, which properly initializes the created element.
1298 * ConfigurationLocation.cs: OpenConfiguration now has to read the
1299 xml contents. It also has to find the correct parent configuration,
1300 if it has not been specified.
1302 2005-06-17 Lluis Sanchez Gual <lluis@novell.com>
1304 * SectionInfo.cs, ConfigInfo.cs, SectionGroupInfo.cs: Minor api fixes.
1305 * ConfigurationPropertyCollection.cs: Added Clear method.
1306 * ContextInformation.cs: Implemented.
1307 * ConfigurationManager.cs: Implemented some missing methods.
1308 Configuration objects are now created through the ConfigurationFactory.
1309 * InternalConfigurationHost.cs: Implementation of IInternalConfigHost
1310 to be used for exe files and machine.config.
1311 * ConfigurationFileMap.cs: Implemented.
1312 * Configuration.cs: Read and write config files using the methods that
1313 IInternalConfigHost provides.
1314 * InternalConfigurationRoot.cs: IInternalConfigRoot stub.
1315 * ExeContext.cs: Implemented.
1316 * AppSettingsSection.cs: Use the KeyValueConfigurationCollection
1317 collection to store values.
1318 * KeyValueConfigurationElement.cs: Implemented.
1319 * KeyValueConfigurationCollection.cs: Implemented.
1320 * InternalConfigurationFactory.cs: An implementation of
1321 IInternalConfigConfigurationFactory.
1322 * ConfigurationPropertyAttribute.cs: Added missing attributes.
1323 * ExeConfigurationFileMap.cs: Implemented.
1325 2005-06-15 Lluis Sanchez Gual <lluis@novell.com>
1327 * ConfigurationElement.cs, ConfigurationErrorsException.cs
1328 SectionInfo.cs, ConnectionStringSettingsCollection.cs,
1329 ConfigurationPropertyCollection.cs, ProtectedConfigurationProvider.cs,
1330 ConfigurationSection.cs, NonEmptyStringConfigurationProperty.cs,
1331 ConfigurationElementCollectionType.cs, Configuration.cs,
1332 ConnectionStringSettings.cs, ConfigurationProperty.cs,
1333 ConfigurationLocationCollection.cs, TimeSpanConfigurationProperty.cs,
1334 ConfigurationAllowDefinition.cs, ConfigInfo.cs,
1335 ConfigurationSectionGroupCollection.cs, AppSettingsSection.cs,
1336 ProviderSettingsCollection.cs, IntegerConfigurationProperty.cs,
1337 SectionGroupInfo.cs, ConfigurationUserLevel.cs,
1338 ConnectionStringsSection.cs, ConfigurationPropertyAttribute.cs,
1339 ConfigurationLocation.cs, ConfigurationSectionCollection.cs,
1340 ConfigurationSectionGroup.cs, RuntimeOnlySection.cs,
1341 ProviderSettings.cs:
1344 * ConfigurationElementCollection.cs: Implemented support for Basic
1345 collection type. Other fixes.
1347 * ConfigurationPropertyFlags.cs: Renamed to ConfigurationPropertyOptions.
1348 * ConfigurationUpdateMode.cs: Renamed to ConfigurationSaveMode.
1350 * SectionInformation.cs, ConfigurationAllowExeDefinition.cs
1351 ConfigurationManager.cs, ConfigurationSaveMode.cs,
1352 ConfigurationValidatorAttribute.cs, ProtectedConfigurationSection.cs,
1353 ConfigurationValidatorBase.cs, ConfigurationPropertyOptions.cs:
1356 * ConfigurationValidationAttribute.cs: Removed.
1358 * ProviderBase.cs: Moved to System.dll.
1360 2005-06-14 Lluis Sanchez Gual <lluis@novell.com>
1362 * AppSettingsSection.cs, ConfigInfo.cs, Configuration.cs
1363 ConfigurationAllowDefinition.cs, ConfigurationElement.cs
1364 ConfigurationElementCollection.cs, ConfigurationElementCollectionType.cs
1365 ConfigurationLocation.cs, ConfigurationLocationCollection.cs
1366 ConfigurationProperty.cs, ConfigurationPropertyAttribute.cs
1367 ConfigurationPropertyCollection.cs, ConfigurationPropertyFlags.cs
1368 ConfigurationSection.cs, ConfigurationSectionCollection.cs
1369 ConfigurationSectionGroup.cs, ConfigurationSectionGroupCollection.cs
1370 ConfigurationUpdateMode.cs, ConfigurationUserLevel.cs
1371 ConfigurationValidationAttribute.cs, ConnectionStringsSection.cs
1372 ConnectionStringSettingsCollection.cs, ConnectionStringSettings.cs
1373 IntegerConfigurationProperty.cs, NonEmptyStringConfigurationProperty.cs
1374 NonEmptyStringFlags.cs, PathLevel.cs, ProtectedConfigurationProvider.cs
1375 ProviderBase.cs, ProviderSettings.cs, ProviderSettingsCollection.cs
1376 RuntimeOnlySection.cs, SectionInfo.cs, SectionGroupInfo.cs
1377 TimeSpanConfigurationProperty.cs, TimeSpanPropertyFlags.cs
1378 TimeSpanSerializedFormat.cs:
1380 Moved from the System assembly.