ChangeLog 59 KB

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