ChangeLog 57 KB

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