ChangeLog 54 KB

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