ChangeLog 55 KB

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