ChangeLog 57 KB

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