-2007-05-16 Konstantin Triger <kostat@mainsoft.com>
+2007-10-30 Igor Zelmanovich <igorz@mainsoft.com>
- * HttpContext.cs: correctly check for request locality.
+ * HttpUtility.cs: fixed UrlPathEncode.
+
+2007-10-24 Gert Driesen <drieseng@users.sourceforge.net>
+
+ * StaticFileHandler.cs: Modified 404 message to match MS.
+
+2007-10-24 Marek Habersack <mhabersack@novell.com>
+
+ * HttpUtility.cs: MS.NET does not support the ';' query parameter
+ separator. Fixes bug #335615
+
+2007-10-18 Juraj Skripsky <js@hotfeet.ch>
+
+ * StaticSiteMapProvider.cs: Replace Hashtables by Dictionaries,
+ don't allocate them on-demand, there will never be many
+ Provider instances around.
+ AddNode(): Check for duplicate keys before adding any item to
+ hashtables.
+ RemoveNode(): Use fact that Hashtable.Remove() never throws,
+ remove item from keyToNode as well, make symmetric to AddNode().
+ MapUrl(): Use VirtualPathUtility, allow for full urls
+ (e.g. http://www.google.com).
+
+2007-10-17 Marek Habersack <mhabersack@novell.com>
+
+ * StaticFileHandler.cs: fixed an bug with Mono running under
+ Windows operating systems which caused XSP to return source of the
+ requested page if the file name used in the request ended in any
+ number of spaces or dots. The problem lies in the way the Win32
+ subsystem treats such file names - it ignores the trailing
+ characters and allows the calling application to open a file on
+ disk even when its name does not contain the trailing characters
+ used in the open request. Such file names may be supported by the
+ underlying filesystem (e.g. NTFS) but they are not supported by
+ the I/O Win32 subsystem. The security issue is reported in
+ CVE security report CVE-2007-5473. Fixes bug #332401
+
+2007-10-17 Igor Zelmanovich <igorz@mainsoft.com>
+
+ * HttpResponse.cs:
+ response status is sent after PreSendRequestHeaders invoked.
+ Redirect method set RedirectLocation property
+ fixes bug #334521
+
+2007-10-15 Marek Habersack <mhabersack@novell.com>
+
+ * HttpApplication.cs: do not return a non-existing bin directory
+ from BinDirectories. Patch from Atsushi Enomoto
+ <atsushi@ximian.com>, thanks! Fixes bug #332434.
+
+2007-10-04 Marek Habersack <mhabersack@novell.com>
+
+ * HttpApplication.cs: call the Init method after loading the
+ modules and hooking up application events. Fixes bug #330416.
+
+2007-10-01 Marek Habersack <mhabersack@novell.com>
+
+ * HttpServerUtility.cs: set a flag when transferring control to
+ another page.
+
+ * HttpContext.cs: added an internal InTransit property to carry
+ information that HttpServerUtility.Transfer has been used, over to
+ the target page.
+
+2007-09-12 Juraj Skripsky <js@hotfeet.ch>
+
+ * StaticSiteMapProvider.cs (AddNode): Add message text to
+ InvalidOperationException (duplicate url case).
+
+2007-09-06 Marek Habersack <mhabersack@novell.com>
+
+ * HttpCachePolicy.cs: implemented setting the ETag and
+ Last-Modified headers from file dependencies.
+
+ * HttpResponse.cs: implemented file dependency methods.
+
+2007-09-01 Marek Habersack <mhabersack@novell.com>
+
+ * HttpRuntime.cs: rewrote the app_offline.htm support. It now uses
+ filesystem watchers instead of checking for existence of the
+ file(s) at the beginning of every request. No performance penalty
+ that way.
+
+2007-08-31 Marek Habersack <mhabersack@novell.com>
+
+ * HttpApplicationFactory.cs: added methods to enable/disable
+ watchers.
+
+ * HttpRuntime.cs: implemented handling of app_offline.htm file in
+ the application root directory. Fixes bug #81127.
+
+ * HttpResponse.cs: make sure neither context or
+ context.ApplicationInstance are null in End ().
+
+2007-08-27 Marek Habersack <mhabersack@novell.com>
+
+ * HttpCookie.cs: make sure a key is output even if it has no
+ values set. Fixes bug #81333.
+
+2007-08-23 Marek Habersack <mhabersack@novell.com>
+
+ * HttpApplication.cs: added a static array BinDirs which contains
+ the common bin directory names we can encounter.
+ Added internal static property IsRunningOnWindows.
+ Added internal enumerable property BinDirectories to iterate over
+ the full paths of the available binary directories.
+ Added internal enumerable property BinDirectoryAssemblies to
+ iterate over .dll files in the bin directories.
+ LoadTypeFromPrivateBin renamed to LoadTypeFromBin.
+ LoadTypeFromBin uses BinDirectoryAssemblies.
+
+ * HttpApplicationFactory.cs: use HttpApplication.BinDirectories to
+ interate over the list of bin dirs.
+
+2007-08-21 Marek Habersack <mhabersack@novell.com>
+
+ * HttpApplicationFactory.cs: watch for changes in all the
+ private binary directories for the current application domain.
+
+ * HttpApplication.cs: turn the PrivateBinPath property into an
+ internal enumerable, so that code throughout the assembly can
+ iterate over the list of private bin directories configured for
+ the application domain.
+ Added a new internal method LoadTypeFromPrivateBin, for sharing
+ with other parts of the assembly.
+
+2007-08-18 Juraj Skripsky <js@hotfeet.ch>
+
+ * HttpRequest.cs (StripPath): Fix off-by-one error, make static.
+
+2007-08-18 Marek Habersack <mhabersack@novell.com>
+
+ * HttpRequest.cs: IE sends the full input file path when uploading
+ a file via the upload input control. Detect the situation and
+ strip the leading path. Fixes bug #82059.
+
+ * HttpServerUtility.cs: set the current context's path(s) to the
+ Transfer/Execute target only to retrieve the new handler, and
+ restore them immediately afterwards. It has a two-fold effect:
+ first it avoids an extra round trip to the original page which
+ called Transfer/Execute, second it makes FilePath etc. return
+ information about the original page (that is the one which called
+ Transfer/Execute). Fixes bug #82439.
+
+2007-08-14 Marek Habersack <mhabersack@novell.com>
+
+ * XmlSiteMapProvider.cs: do not hide this_lock.
+
+2007-08-09 Marek Habersack <mhabersack@novell.com>
+
+ * HttpApplicationFactory.cs: unconditionally watch for changes
+ (including creation) to Global.asax, global.asax, Web.config,
+ web.config and Web.Config. This makes the application restart once
+ any of those is created. Patch from Juraj Skripsky
+ <juraj@hotfeet.ch>, thanks! Fixes bug #82380.
+
+2007-08-08 Marek Habersack <mhabersack@novell.com>
+
+ * StaticSiteMapProvider.cs, HttpApplicationFactory.cs,
+ HttpStaticObjectsCollection.cs, SiteMapProvider.cs,
+ XmlSiteMapProvider.cs, HttpApplication.cs, CapabilitiesLoader.cs,
+ TimeoutManager.cs: do not use lock (this), replace it with lock
+ (this_object), where this_object is an instance variable. Prevents
+ deadlocks in situation when external code locks on the class
+ instance.
+
+2007-08-05 Vladimir Krasnov <vladimirk@mainsoft.com>
+
+ * HttpUtility.cs: performance refactoring, optimized UrlEncode
+
+2007-08-05 Igor Zelmanovich <igorz@mainsoft.com>
+
+ * SiteMapNode.cs: refactoring + typo fix:
+ variable is declared in scope where is used.
-2007-05-16 Marek Habersack <mhabersack@novell.com>
+2007-07-31 Vladimir Krasnov <vladimirk@mainsoft.com>
- * HttpRequest.cs: do not add duplicate fields to the form
- collection. Unbreaks the TreeView populate on demand sample from
- the XSP2 tests.
+ * VirtualPathUtility.cs: refactored GetDirectory, ToAbsolute, added
+ internal api to skip path normalizing
+
+2007-07-30 Vladimir Krasnov <vladimirk@mainsoft.com>
+
+ * HttpResponseStream.jvm.cs: optimized CharBucket
+
+2007-07-22 Vladimir Krasnov <vladimirk@mainsoft.com>
+
+ * HttpServerUtility.cs: fixed Execute, SetCurrentExePath should be
+ called after ApplicationInstance.GetHandler call in case of GetHandler
+ fails for some reason
+
+2007-07-21 Marek Habersack <mhabersack@novell.com>
+
+ * HttpRuntime.cs: clean up the dynamic base directory on domain
+ shutdown.
+
+2007-07-10 Vladimir Krasnov <vladimirk@mainsoft.com>
+
+ * HttpUtility.cs: optimized HtmlEncode and HtmlAttributeEncode methods
+
+2007-07-05 Miguel de Icaza <miguel@novell.com>
+
+ * HttpApplication.cs (AsyncRequestState.Complete): Add the
+ try/catch for the callback here to ensure that we only call
+ complete_event.Set once.
+
+ (PipelineDone): This is where the core of the bug fix is: do not
+ call Complete() or call done.Set() (depending on the invocation
+ case) until we are actually done cleaning up the request.
+
+ The problem was that we signaled that we were done, but we had not
+ completed the shut down, so another thread could have been
+ scheduled on the same HttpApplication and had its variables be
+ modified as we completed the shutdown on the first thread.
+
+ This fixes #81400 which was a very long standing bug.
+
+ (Tick): Remove the pipeline check against null, this is not
+ necessary and it will help us find problems like this one in the
+ future.
+
+ Reverts patch r66072 which was a described as:
+
+ band-aid patch to help debugging hang running 2.0
+ tests.
+
+2007-07-02 Marek Habersack <mhabersack@novell.com>
+
+ * CapabilitiesLoader.cs: provide default capability values for all
+ the 2.0+ capabilities which are not defined in our
+ browscap.ini. The default values have been assigned as per
+ MSDN. Fixes bug #81927
+
+2007-06-28 Vladimir Krasnov <vladimirk@mainsoft.com>
+
+ * HttpResponse.cs: fixed AddHeadersNoCache, removed content-length
+ header for TARGET_JVM
+ * HttpWorkerRequest.cs: made this class partial, moved TARGET_JVM stuff
+ to .jvm part
+ * HttpWriter.cs: fixed write methods, output_stream can write char[]
+ and string in TARGET_JVM
+ added HttpWorkerRequest.jvm.cs, HttpResponseStream.jvm.cs
+
+2007-06-25 Juraj Skripsky <js@hotfeet.ch>
+
+ * HttpRuntime.cs (ShutdownAppDomain): Re-introduce call to
+ "Cache.InvokePrivateCallbacks".
+
+2007-06-24 Vladimir Krasnov <vladimirk@mainsoft.com>
+
+ * HttpUtility.cs: fixed HtmlAttributeEncode, performance improvement
+
+2007-06-20 Marek Habersack <mhabersack@novell.com>
+
+ * HttpRuntime.cs: added new internal property, InternalCache, to
+ keep all the internal cache entries instead of mixing them with
+ the public cache ones.
+ Do not invoke Cache.InvokePrivateCallbacks - this method no longer
+ exists.
+
+ * HttpResponse.cs: private entries are now kept in
+ Context.InternalCache.
+
+ * HttpContext.cs: added new internal property, InternalCache,
+ which returns the HttpRuntime.InternalCache value.
+
+ * HttpApplication.cs: check all the loaded assemblies for the type
+ being looked up. Patch from Juraj Skripsky <juraj@hotfeet.ch>,
+ thanks! Fixes bug #81697.
+
+2007-06-18 Igor Zelmanovich <igorz@mainsoft.com>
+
+ * HttpUtility.cs: refactoring:
+ removed constants to another class.
+
+2007-06-18 Igor Zelmanovich <igorz@mainsoft.com>
+
+ * AssemblyResourceLoader.cs: refactoring:
+ make the code reusable in System.Web.Extenssions.
+
+2007-05-31 Marek Habersack <mhabersack@novell.com>
+
+ * SiteMapProvider.cs: implemented proper logic of authorizing
+ user's access to a sitemap node, as per MSDN2 docs. Patch from
+ Dumitru Ban <dban@dako.ro>, thanks!
+
+2007-05-30 Marek Habersack <mhabersack@novell.com>
+
+ * TraceManager.cs: Catch all the possible exceptions in the
+ constructor - the object MUST be created successfully (even if
+ there are errors).
+
+ * HttpRequest.cs: do not attempt to apply url mappings if the
+ configuration manager has errors.
+
+ * HttpRuntime.cs: handle static constructor exceptions later on,
+ during the first call to ReallyProcessRequest.
+
+ * QueueManager.cs: provide defaults for the parameters to be read
+ from the config file(s).
+ Catch all the possible exceptions in the constructor - the object
+ MUST be created successfully (even if there are errors).
+
+2007-05-29 Marek Habersack <mhabersack@novell.com>
+
+ * SiteMapProvider.cs: updated the node accessibility comments.
+ If Roles not null and user is not in at least one of the
+ specified roles, return false.
+ If there Url is null or empty, return false.
+
+2007-05-28 Marek Habersack <mhabersack@novell.com>
+
+ * HttpRequest.cs: since Path is used from within
+ WebConfigurationManager, under some conditions it may lead to
+ endless recursion if the UrlComponents is not instantiated when
+ Path_get is called.
+
+2007-05-21 Vladimir Krasnov <vladimirk@mainsoft.com>
+
+ * HttpContext.cs: added ProfileInitialized boolean property
+
+2007-05-16 Vladimir Krasnov <vladimirk@mainsoft.com>
+
+ * VirtualPathUtility.cs: Normalize method check more carefully if need
+ to normalize, performance fix
+
+2007-05-16 Konstantin Triger <kostat@mainsoft.com>
+
+ * HttpContext.cs: correctly check for request locality.
2007-05-15 Marek Habersack <mhabersack@novell.com>