ChangeLog 58 KB

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