* StaticSiteMapProvider.cs (UrlToNode): this entire file is #if
[mono.git] / mcs / class / System.Web / System.Web / ChangeLog
index 112a386e62b1b513841397b4f893aa16f02ca308..3ec5baa5bb7fd966d47045973c11dc972f392f4e 100644 (file)
-2005-07-25  Eyal Alalouf  <eyala@mainsoft.com>
-       * HttpContext.cs HttpRuntime.cs HttpApplication.cs: timeout is not supported
-         in TARGET_J2EE configuration (no Thread.Abort support).
+2006-03-10  Chris Toshok  <toshok@ximian.com>
 
-2005-07-25  Eyal Alalouf  <eyala@mainsoft.com>
-       * QueueManager.cs: TARGET_J2EE fixes.
-       * HttpApplicationFactory.cs: TARGET_J2EE fixes.
+       * StaticSiteMapProvider.cs (UrlToNode): this entire file is #if
+       NET_2_0, no need to embed another #if NET_2_0.
 
-2005-07-24  Eyal Alalouf  <eyala@mainsoft.com>
-       * HttpRequest.cs: Removed GhFilePath property from TARGET_J2EE.
+       * SiteMapProvider.cs (AddNode): throw NotImplementedException.
+       (FindSiteMapNode): with null context, return null.  don't throw
+       ArgumentNullException.
+       (RemoveNode): throw NotImplementedException.
+       (IsAccessibleToUser): check arguments to make test pass.  still
+       lacking the method's actual functionality.
+       (ResourceKey): add missing property.
 
-2005-07-19  Eyal Alalouf  <eyala@mainsoft.com>
-       * CapabilitiesLoader.cs: Indentation fixes in TARGET_J2EE specific code.
+2006-03-10  Chris Toshok  <toshok@ximian.com>
 
-2005-07-19  Eyal Alalouf  <eyala@mainsoft.com>
-       * Grasshopper compilation fixes. Disabled use of unsupported features under TARGET_JVM/J2EE configuration.
+       * HttpRequest.cs (CheckString): add back in the check for \xff1c
+       that i took out.  oops.
 
-2005-07-18  Eyal Alalouf  <eyala@mainsoft.com>
+2006-03-10  Chris Toshok  <toshok@ximian.com>
 
-       * HttpRequest.cs: Fix compilation error in TARGET_J2EE config.
-       * HttpApplicationFactory.cs: Fix compilation error in TARGET_J2EE config.
+       * HttpRequest.cs (CheckString): implement as described in
+       Shackow's "Professional ASP.NET 2.0 Security, Membership, and Role
+       Management", page 310.
 
-2005-07-18  Eyal Alalouf  <eyala@mainsoft.com>
+2006-03-08  Chris Toshok  <toshok@ximian.com>
 
-       * CapabilitiesLoader.cs: Fix compilation error in TARGET_J2EE config.
+       * SiteMap.cs: clean this up a bunch.  use the SiteMapSection to
+       initialize the provider collection, and don't add a provider.
+       web.config handles that for us.  Also, don't always return true
+       from get_Enabled.
+
+2006-02-28  Chris Toshok  <toshok@ximian.com>
+
+       * HttpCookieMode.cs: corcompare work.
+
+       * ProcessShutdownReason.cs: same.
+
+       * SiteMapNodeCollection.cs: same.
+
+       * SiteMapNode.cs: same.
+
+       * SiteMapProvider.cs: same.
+
+       * HttpCacheRevalidation.cs: same.
+
+       * HttpCacheability.cs: same.
+
+       * StaticSiteMapProvider.cs: same.
+
+       * HttpValidationStatus.cs: same.
+       
+2006-02-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * DefaultHttpHandler.cs: New file.
+
+2006-02-01  Chris Toshok  <toshok@ximian.com>
+
+       * SiteMap.cs: use GetSection instead of GetWebApplicationSection.
+
+2006-02-01  Chris Toshok  <toshok@ximian.com>
+
+       * HttpApplication.cs: CONFIGURATION_2_0 => NET_2_0, and use
+       GetSection instead of GetWebApplicationSection.
+
+       * HttpApplication.jvm.cs: same.
+       
+       * HttpApplicationFactory.cs: same.
+
+       * HttpContext.cs: same.
+
+       * CapabilitiesLoader.cs: same.
+
+       * QueueManager.cs: same.
+
+       * HttpRuntime.cs: same.
+
+       * TraceManager.cs: same.
+
+       * HttpRequest.cs: same.
+       
+2006-01-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: keep any exception that happens during
+       initialization.
+
+2006-01-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpDataTransferMode.cs: Removed file.
+       * HttpRequestPriority.cs: Removed file.
+       * ApplicationShutdownReason.cs:
+       * SiteMap.cs:
+       * HttpRuntime.cs:
+       * HttpApplication.cs: minor class status fixes.
+
+2006-01-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * VirtualPathUtility.cs: done with all the not implemented methods.
+
+2006-01-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpResponse.cs: use UInt64.Parse for content length. In AppendHeader,
+       set cache_control through the property to update the cachebility
+       accordingly. When using the cached headers, don't add again all the
+       headers to that collection.
+       * HttpCacheVaryByParams.cs: if there are no params, return null.
+       Otherwise we get an empty 'Vary' header.
+
+2006-01-25  Chris Toshok  <toshok@ximian.com>
+
+       * HttpApplication.cs (Start): wrap InitOnce in a try/catch block,
+       and if there's a configuration error, output it and end things
+       immediately.
+
+2006-01-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs: fixed the file path when RewritePath is used. Also
+       add the PathInfo to the Url. Fixes bug #77291.
+
+2006-01-22  Chris Toshok  <toshok@ximian.com>
+
+       * HttpRequest.cs (ReadBoundary): remove two unused variables to
+       quiet mcs.
+       (IsBoundary): remove unused method.
+
+       * MimeTypes.cs (.cctor): use a 2.0 friendly form of the Hashtable
+       ctor to silence a warning.
+
+       * HttpCacheVaryByHeaders.cs (.ctor): same.
+
+       * HttpCacheVaryByParams.cs (.ctor): same.
+
+       * StaticSiteMapProvider.cs (UrlToNode): same.
+
+2006-01-22  Konstantin Triger <kostat@mainsoft.com>
+
+       * HttpWorkerRequest.cs: ensure case insensitivity in header search.
+
+2006-01-19  Konstantin Triger <kostat@mainsoft.com>
+
+       * HttpApplication.jvm.cs: merge HttpApplication.cs changes.
+
+2006-01-17  Chris Toshok  <toshok@ximian.com>
+
+       * CapabilitiesLoader.cs (Init): use WebConfigurationManager in the
+       CONFIGURATION_2_0 case.
+
+       * HttpRuntime.cs (MachineConfigurationDirectory): same.
+
+2006-01-16  Chris Toshok  <toshok@ximian.com>
+
+       * HttpApplicationFactory.cs: call WebConfigurationManager.Init in
+       the CONFIGURATION_2_0 case.
+
+2006-01-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpWriter.cs: made Write (char) less memory hungry. Thanks to Mike
+       Glenn for pointing this out.
+
+2006-01-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplicationFactory.cs: fix condition for ContextAvailable.
+
+2006-01-11  Vladimir Krasnov  <vladimirk@mainsoft.com>
+
+       * HttpResponse.cs: removed TARGET_JVM block from End
+       * GetJavaTextReader: Merged TARGET_JVM block from LoadFile
+       to GetJavaTextReader
+
+2006-01-11  Vladimir Krasnov  <vladimirk@mainsoft.com>
+
+       * HttpRequest.cs: removed TARGET_JVM block from MapPath
+
+2006-01-11  Vladimir Krasnov  <vladimirk@mainsoft.com>
+
+       * HttpRequest.cs: little fix in MapPath(), virtualPath.Replace
+       return value wasnt stored.
+
+2006-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpResponse.cs: typo in comment.
+
+       * HttpApplicationFactory.cs:
+       * HttpApplication.cs: don't discard the application used for running the
+       Application_Start event to allow for Redirect/Transfer to be used. Fail
+       to get the request/response from the application object as MS does (it
+       can still be retrieved through HttpContext.Current.blah). Fixes
+       bug #77162.
+
+2006-01-09  Vladimir Krasnov <vladimirk@mainsoft.com>
+
+       * CapabilitiesLoader.cs: Merged TARGET_JVM parts in LoadFile
+       from /main/9
+       * HttpException.cs: Merged TARGET_JVM parts in GetHtmlizedErrorMessage
+       from /main/13
+       * HttpRequest.cs: Merged TARGET_JVM parts in MapPath from /main/29
+       * HttpResponse.cs: Merged TARGET_JVM parts in End() from /main/30
+       * StaticFileHandler.cs: Merged TARGET_JVM parts in ProcessRequest
+       from /main/7
+
+2006-01-08  Konstantin Triger <kostat@mainsoft.com>
+
+       * BrowserCapabilities.cs, HttpBrowserCapabilities.cs,
+       HttpResponseStream.cs: TARGET_JVM changes to let the compilation
+       pass with csc 1.1.
+
+2006-01-04  Chris Toshok  <toshok@ximian.com>
+
+       * HttpContext.cs (IsCustomErrorEnabled): add CONFIGURATION_2_0
+       code.  use a nasty 'using' hack to map the 2.0 CustomErrorsMode to
+       the 1.x CustomErrorMode name.
+       (IsDebuggingEnabled): add CONFIGURATION_2_0 code.
+       (ConfigTimeout): add CONFIGURATION_2_0 code.
+
+       * HttpRequest.cs (MakeInputStream): add CONFIGURATION_2_0 code.
+
+       * HttpApplication.cs (RedirectCustomError): add CONFIGURATION_2_0
+       code.
+
+       * SiteMap.c (Init): use
+       WebConfigurationManager.GetWebApplicationSection.
+
+2005-12-21  Miguel de Icaza  <miguel@novell.com>
+
+       * HttpUtility.cs (UrlEncodeUnicode): The generated encoding of
+       unicode values must be in %XXXX format, not %XX sometimes.
+
+2005-12-08 Robert Jordan  <robertj@gmx.net> 
+
+       * MimeTypes.cs: added entry for "jpg".
+
+2005-12-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs: only read up to content-length when provided. Patch
+       by Peter Teichman.
+
+2005-12-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpCookie.cs: fixed the set_Secure. Closes bug #76906.
+
+2005-11-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpResponseStream.cs: flush the filter stream before closing.
+       Patch by Geir Bergum that fixes bug #76753.
+
+2005-11-28  Chris Toshok  <toshok@ximian.com>
+
+       * HttpContext.cs (Profile): remove the #if false from around this,
+       as we now have the ProfileBase type.
+       (GetConfig): add CONFIGURATION_2_0 version.
+       (GetSection): add CONFIGURATION_2_0 version.
+
+2005-11-28  Chris Toshok  <toshok@ximian.com>
+
+       * TraceManager.cs (..ctor): CONFIGURATION_2_0 work.
+
+       * QueueManager.cs (..ctor): CONFIGURATION_2_0 work.
+
+       * HttpRequest.cs (AnonymousID): add 2.0 property.
+       (MakeInputStream): CONFIGURATION_2_0 work.
+
+       * HttpApplication.cs (InitOnce): change around the
+       CONFIGURATION_2_0 stuff since we need additional Culture foo for
+       it.
+
+2005-11-27  Chris Toshok  <toshok@ximian.com>
+
+       * HttpApplication.cs (InitOnce): add Configuration_2.0 code.
+       (GetHandler): same.
+
+2005-11-26  Miguel de Icaza  <miguel@novell.com>
+
+       * HttpResponseStream.cs: Do not try to write zero bytes.
+
+2005-11-24  Miguel de Icaza  <miguel@novell.com>
+
+       * WebROCollection.cs: Do not add an empty "=" to the query string
+       if the key is empty or null.
+
+2005-11-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * WebROCollection.cs: override ToString and generate a query string from
+       the key/value pairs. Fixes bug #76779.
+
+2005-11-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpServerUtility.cs: prevent possible nullref in GetLastError().
+
+2005-11-07  Jason Diamond  <jason@diamond.name>
+
+       * HttpRequest.cs: Don't throw exception when Content-Length doesn't
+       match length of POSTed data. Also, allow charset parameter on
+       Content-Type header when type is "application/x-www-form-urlencoded".
+
+2005-11-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * WebROCollection.cs: add an ID for the collection. Page needs it.
+
+2005-11-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs: no need to allocate the buffer when all the content
+       is preloaded.
+
+2005-11-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: ignore TAE in ProcesssError. The Error event might
+       redirect or transfer and that causes a TAE to be thrown. Fixes
+       bug #76573.
+
+2005-11-01  Chris Toshok  <toshok@ximian.com>
+
+       * VirtualPathUtility.cs: new (partial implementation) to get some
+       MS provider examples compiling.
+
+2005-10-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpContext.cs: added a new internal overload for ClearError.
+
+2005-10-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRuntime.cs: invoke callbacks on private items in the cache before 
+       calling disposing the app. factory. This way we get notifications of
+       removal for all sessions stored in the cache (InProc only).
+
+2005-10-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpResponseStream.cs: reworked buffering so that adjacents blocks are
+       written at once. Also fix bug #76460.
+
+2005-10-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpResponseStream.cs: when allocating a chunk larger than the
+       default chunk size, mark all the blocks as taken. Fixes bug
+       #76452.
+
+2005-10-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpResponse.cs: use HaveFilter instead of Filter.
+       * HttpResponseStream.cs: allocate chunks of the requested size
+       when it's > 32KB. Fixes bug #76460.
+
+2005-10-14  Sebastien Pouliot  <sebastien@ximian.com> 
+
+       * ServerVariablesCollection.cs: Added a demand for 
+       SerializationFormatter on GetObjectData method (even if it's not 
+       really required in this case as it remove warnings from gendarme.
+
+2005-10-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpResponse.cs:
+       * HttpRequest.cs: buglets in error checking in Filter.
+
+2005-10-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * OutputFilterStream.cs: proxy class for response filters.
+       * HttpResponse.cs: moved all the actual write operations into the
+       response stream. Handle response filtering. When caching, get the
+       actual length of the data, not the buffer length.
+       * HttpApplication.cs: if there's no error, invoke the filters before
+       updating the request cache.
+       * HttpResponseStream.cs: new Filter property. SendChunkSize is moved
+       here and now supports writing the final chunk. New method ApplyFilter
+       that filters the existing buckets and replaces them with the filtered
+       ones. Modified Write to deal with buffering and filtering.
+
+2005-10-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpResponseStream.cs: allow for writes of more than 32K at once.
+
+2005-10-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * InputFilterStream.cs proxy stream for use by filters.
+       * HttpRequest.cs: implement input filtering.
+
+2005-10-02 Eyal Alaluf <eyala@mainsoft.com>
+       * HttpApplication.jvm.cs - Workaround for use of yield in
+       HttpApplication.cs HttpRuntime.cs: AppDomain.Unload is not supported
+       * under TARGET_J2EE
+
+2005-09-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpResponseStream.cs: remove dead code.
+
+2005-09-29  Sebastien Pouliot  <sebastien@ximian.com> 
+
+       * HttpClientCertificate.cs: Remove last TODO on IsValid. This now 
+       works when using XSP. Now use flags to determine valid/presence.
+
+2005-09-26  Chris Toshok  <toshok@ximian.com>
+
+       * HttpApplicationFactory.cs (OnAppFileChanged): add null checks
+       for bin_watcher and app_file_watcher so we don't get NRE's here.
+
+2005-09-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * BrowserCapabilities.cs: don't rely on the win32 attribute to be there.
+       Just use the platform to determine whether Win32 is true or not. Fixes
+       bug #74777.
+
+2005-09-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: fixed typo when setting UI culture. Closes bug
+       #76189.
+
+2005-09-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs: new SetFilePath() that does not conflict with
+       SetCurrentExePath. Now when transfering from a page to another,
+       CurrentExecutionFilePath and FilePath are correct.
+
+2005-09-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * TraceContext.cs: add new method to store size of controls.
+       * TraceData.cs: render control size.
+       * HttpResponse.cs: new internal method to get the number of bytes of
+       buffered output.
+       * HttpResponseStream.cs: added Length property to the Buckets and new
+       GetTotalLength.
+
+2005-09-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * TraceData.cs: we have to change the method of getting a control render
+       size. MS does not do this or otherwise would run into the same bug
+       (#76051) that this patch fixes. This is temporarily setting the size
+       to 0.
+
+2005-09-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpResponseStream.cs: implemented Send(stream) for files. Fixes bug
+       #76145.
+
+2005-09-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRuntime.cs: catch errors when compiling global.asax and
+       initializing the application. Fixes bug #76090.
+
+2005-09-14  Sebastien Pouliot  <sebastien@ximian.com> 
+       * BrowserCapabilities.cs: Fixed changes (in 2.0) with versions. Fixed
+       compare with "True" (culture and case sensitivity).
+       * HttpApplicationState.cs: Added LinkDemand for Minimal. Use the 
+       internal HttpStaticObjectsCollection ctor to avoid the UnmanagedCode
+       demand.
+       * HttpContext.cs: Added LinkDemand for Minimal. Added 2.0 properties
+       and methods to test CAS on them.
+       * HttpRequest.cs: Added LinkDemand for Minimal. Ensure we return 
+       proper values when worker_request is null.
+       * HttpResponse.cs: Added LinkDemand for Minimal. Ensure we return 
+       proper values when context or WorkerRequest is null. Added 2.0 
+       properties and methods to test CAS on them.
+       * HttpRuntime.cs: Added LinkDemand for Minimal. Added PathDiscovery 
+       demands for properties returning directories. Added demand for High 
+       level on AppDomainAppId and AppDomainId properties, Low level on 
+       IsOnUNCShare, Medium level on ProcessRequest and a demand for 
+       UnmanagedCode on UnloadAppDomain method. Constructor also has a 
+       UnmanagedCode demand for 1.x.
+       * HttpStaticObjectsCollection.cs: Added LinkDemand for Minimal. Added
+       a UnmanagedCode demand to public ctor. Added internal ctor without the
+       demand. Changed Serialize and Deserialize methods to public for 2.0.
+
+2005-09-14  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * HttpWorkerRequest.cs: Removed TODO for 2.0 APIs and return the 
+       default values for them.
+
+2005-09-13  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * HttpApplication.cs: : Added LinkDemand and InheritanceDemand (class)
+       for Minimal. Changed AssemblyLocation to a property (so it doesn't 
+       require special permission, PathDiscovery) to create an instance. 
+       Protected Modules property with a Demand for High level. Added some 
+       missing HttpException for null context.
+       * HttpServerUtility.cs: Added LinkDemand for Minimal. Added demands 
+       for UnmanagedCode on all CreateObject* methods. Added demand for 
+       Medium level on MachineName and ScriptTimeout properties. Added new
+       overloaded Transfer method (2.0) to test CAS on it.
+       * HttpUtility.cs: Added LinkDemand for Minimal. Added [Obsolete] to 
+       ctor (2.0). Changed some return values when 'count' is 0. Added 
+       ParseQueryString (overload) methods for 2.0 (to enabled CAS testing on
+       them).
+       * HttpWorkerRequest.cs: Added LinkDemand and InheritanceDemand (class)
+       for Minimal. Added RequestTraceIdentifier and RootWebConfigPath (2.0) 
+       properties, GetPreloadedEntityBody, GetPreloadedEntityBodyLength, 
+       GetTotalEntityBodyLength and ReadEntityBody (2.0) methods to test CAS 
+       on them. Fixed SendResponseFromMemory to ignore IntPtr.Zero (used in 
+       tests without failures).
+       * ServerVariablesCollection.cs: Fixed loadServerVariablesCollection 
+       when HttpWorkerRequest is null.
+       * TraceContext.cs: Added LinkDemand for Minimal. Fixed default Mode 
+       (SortByTime). Added new (2.0) TraceFinished event to test CAS on it.
+
+2005-09-13  Sebastien Pouliot  <sebastien@ximian.com> 
+       * HttpBrowserCapabilities.cs: Added LinkDemand and InheritanceDemand 
+       (class) for Minimal. Note that current MCS has problem compiling 
+       security attributes on partial class (bug #75969).
+       * HttpCachePolicy.cs: Added LinkDemand for Minimal. Added 2.0 methods
+       (stub) to enable CAS tests on them.
+       * HttpCacheVaryByHeaders.cs: Added LinkDemand for Minimal.
+       * HttpCacheVaryByParams.cs: Added LinkDemand for Minimal.
+       * HttpClientCertificate.cs: Added LinkDemand and InheritanceDemand 
+       (class) for Minimal.
+       * HttpCookie.cs: Added LinkDemand for Minimal.
+       * HttpCookieCollection.cs: Added LinkDemand for Minimal.
+       * HttpFileCollection.cs: Added LinkDemand for Minimal.
+       * HttpModuleCollection.cs: Added LinkDemand for Minimal.
+       * HttpPostedFile.cs: Added LinkDemand for Minimal.
+       * HttpRequestPriority.cs: Fix enum values.
+       * HttpWriter.cs: Added LinkDemand for Minimal.
+
+2005-09-13  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * ProcessInfo.cs: Added LinkDemand and InheritanceDemand (class) for
+       Minimal.
+       * ProcessModelInfo.cs: Added LinkDemand and InheritanceDemand (class)
+       for Minimal. Methods GetCurrentProcessInfo and GetHistory are also
+       protected by Demand for High level.
+
+2005-09-13  Sebastien Pouliot  <sebastien@ximian.com> 
+       * HttpCompileException.cs: Added new public ctors and [Serializable]
+       to 2.0. Added new Message property and GetObjectData (protected by a
+       demand for SerializationFormatter) for 2.0. Fixed line-ending.
+       * HttpException.cs: Added LinkDemand and InheritanceDemand (class) for
+       Minimal. Renamed parameters to match documentation.
+       * HttpParseException.cs: Added LinkDemand (class) for Minimal. Added
+       demand for SerializationFormatter on GetObjectData method. Fixed 
+       line-ending.
+       * HttpRequestValidationException.cs: Added new public ctors and 
+       [Serializable] to 2.0. Added LinkDemand for Minimal.
+       * HttpUnhandledException.cs: Added new public ctors and [Serializable]
+       to 2.0. Removed unused internal ctor. Added LinkDemand for Minimal.
+       Fixed line-ending.
+
+2005-09-13  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * HttpResponseSubstitutionCallback.cs: New. 2.0 delegate.
+       * TraceContextEventArgs.cs: New. 2.0 class.
+       * TraceContextEventHandler.cs: New. 2.0 delegate.
+
+2005-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs: use GetServerName instead of GetLocalAddress when
+       building the Url.
+
+2005-09-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs: fix the indexer.
+
+2005-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpPostedFile.cs: fixes in Seek and Position.
+
+2005-09-08  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * HttpRequest.cs: Make sure the MemoryStream created have their 
+       contents marked as public - or else you can't call GetBuffer on them!
+
+2005-09-08  Miguel de Icaza  <miguel@novell.com>
+
+       * HttpRequest.cs: Patch from Juraj Skripsky <js@hotfeet.ch> that
+       fixes UrlReferrer. 
+
+2005-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpPostedFile.cs: Make this class actually work. Every time we read,
+       we have to position the underlying stream.
+
+2005-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs: reading multipart/form-data works again.
+
+2005-09-08 Eyal Alaluf <eyala@mainsoft.com>
+       * HttpRequest.cs: Under TARGET_JVM the input stream must allow GetBuffer.
+
+2005-09-08 Eyal Alaluf <eyala@mainsoft.com>
+       * HttpApplicationFactory.cs: TARGET_J2EE/JVM fix.
+
+2005-09-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs: correctly detect multipart/form-data.
+
+2005-09-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplicationFactory.cs: recycle after invoking session_end.
+
+2005-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRuntime.cs: remove Console.
+
+       * HttpApplicationFactory.cs: don't hook Session_End, but keep
+       the MethodInfo around for later invocation if needed. Don't call
+       GetMethods() for every HttpApplication (or derived class) instances.
+       Added a method, used by SessionStateModule, that will create use an
+       application without context to invoke Session_End. Keep a pool of
+       applications that are meant to be used by this method only.
+
+       * HttpApplication.cs: add a SetSession method and do not
+       attach all the events if the application is for Session_End only.
+
+2005-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRuntime.cs: actually unload the domain when requested. Reformatted
+       FinishUnavailable() and removed the 'Location' header form the error.
+
+       * HttpApplicationFactory.cs: set up the watcher for the bin directory.
+       This also prevents a nullref when global.asax is changed.
+
+2005-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: fixed bug introduced when moving GetHandler call
+       around. Now we get error pages again.
+
+2005-09-06  Miguel de Icaza  <miguel@novell.com>
+
+       * HttpApplication.cs: Catch EndRequest errors as well.
+
+2005-09-05  Miguel de Icaza  <miguel@novell.com>
+
+       * HttpApplication.cs: Invoke EndRequest handler before OutputPage
+       as FormsAuthentication will issue a Redirect from the EndRequest 
+       handler. 
+
+2005-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: when writing an error message, catch the possible
+       write error.
+
+2005-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpResponseStream.cs: prevent invalid cast exception if the first
+       thing written is a file.
+
+2005-09-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: fix invalid cast exception (bug #75926).
+
+2005-09-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplicationFactory.cs: only trigger the Application_Start event
+       once. It was being invoked more than once when several clients were
+       hitting the server at the same time on startup.
+
+2005-09-01 Eyal Alaluf <eyala@mainsoft.com>
+
+       * HttpContext.cs HttpResponse.cs HttpWorkerRequest.cs HttpRuntime.cs
+         HttpApplicationFactory.cs HttpApplication.cs: TARGET_J2EE/JVM fixes.
+         Mostly workaround limited AppModel in TARGET_J2EE.
+
+2005-08-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpResponse.cs: if the request method is HEAD, that's equivalent to
+       SuppressContent. Added an internal TransmitFile that allows setting the
+       final_flush flag.
+       * StaticFileHandler.cs: use the new internal TransmitFile and remove
+       generation of Content-Length header, as now it's computed correctly.
+       * HttpApplication.cs: remove debugging stuff.
+       * HttpResponseStream.cs: suppress_content is checked in HttpResponse.
+
+2005-08-31  Miguel de Icaza  <miguel@novell.com>
+
+       Removed debugging info.
+       
+       * HttpApplication.cs: Add support for async handlers. 
+
+       Add extra 2.x methods. 
+
+2005-08-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * BrowserCapabilities.cs: removed extra 'using'.
+
+       * HttpApplication.cs: use just the 'modcoll' to hold the collection of
+       modules instead of having a separate 'modules' one.
+
+2005-08-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: clone the module collection so that
+       it's not shared between HttpApplications. Call GetHandler() in the
+       right place.
+
+2005-08-30  Miguel de Icaza  <miguel@novell.com>
+
+       * HttpApplication.cs: Add the new 2.x method overloads that take a
+       data object.
+
+       (RunHooks): Pass the extra data instead of null.
+
+       * HttpCookie.cs (HttpOnly): Add 2.x cookie header.
+
+       * BrowserCapabilities.cs: Move the core of the capabilities into a
+       separate file.  Use partial classes to choose what version to
+       compile against.
+
+       * HttpBrowserCapabilities.cs: Update to move the code elsewhere.
+
+2005-08-30 Eyal Alaluf <eyala@mainsoft.com>
+
+       * HttpResponseStream.cs: Fix a bug introduced by last fix (thanks to
+       Ben)
+
+2005-08-30 Eyal Alaluf <eyala@mainsoft.com>
+
+       * HttpResponseStream.cs: Compilation fixes for TARGET_JVM. TARGET_JVM
+       does not support unsafe code. I localized all unsafe code within Chunk
+       & Block and created a managed version of Chunk.
+
+2005-08-30 Eyal Alaluf <eyala@mainsoft.com>
+       * HttpApplicationFactory.cs: Compilation fixes for TARGET_J2EE. Under
+       TARGET_J2EE static fields are shared by all app domains. We handle
+       this difference by explicitly getting/setting values from the app
+       domain.  Since HttpApplicationFactory has many static fields, I
+       refactored it to have one static instance and moved the static fields
+       into instance fields.
+
+2005-08-29 Eyal Alaluf <eyala@mainsoft.com>
+
+       * HttpRequest.cs: Disable use of IntPtrStream for TARGET_JVM
+
+2005-08-29 Eyal Alaluf <eyala@mainsoft.com>
+
+       * HttpContext.cs: Compilation fixes for TARGET_J2EE/JVM
+
+2005-08-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpResponse.cs: don't duplicate the 'charset=' and don't send a
+       charset for unknown MIME types.
+       * StaticFileHandler.cs: set the Content-Length header here.
+       * HttpRequest.cs: prevent nullrefs when we have no 'charset='.
+
+2005-08-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * StaticFileHandler.cs: use TransmitFile instead of WriteFile. This way
+       xsp will use sendfile().
+
+2005-08-28  Chris Toshok  <toshok@ximian.com>
+
+       * SiteMapNode.cs: fix IHierarchyData.GetParent.
+
+2005-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs:
+       * IntPtrStream.cs: now we only have a read-only MemoryStream or an
+       IntPtrStream. The copy is moved into HttpRequest.
+
+2005-08-26  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * WebCategoryAttribute.cs: New. Required internal attribute.
+       * WebSysDescriptionAttribute.cs: New. Required internal attribute.
+
+2005-08-26  Jackson Harper  <jackson@ximian.com>
+
+       * HttpResponseStream.cs: Use GetBuffer so the memory isn't
+       duplicated.
+
+2005-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: GetHandler might return null when, for example,
+       a web service fails, but that does not mean that returning a null
+       handler should throw another exception, as the web service code
+       serialized the error as a faultString. So if the handler is null, just
+       don't call ProcessRequest and keep going.
+
+2005-08-26  Jackson Harper  <jackson@ximian.com>
+
+       * HttpResponse.cs: Send the cached headers if this is a cached
+       response. Save the headers, date header, and page data. Fix a typo.
+       * HttpResponseStream.cs: Add new accesor to get a byte [] of the
+       page data.
+
+2005-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpWorkerRequest.cs: SetEndOfSendNotification is a noop. No matter
+       what callback you use that never gets called. In XSP I actually
+       implement something for this method.
+       * HttpServerUtility.cs: unused variable.
+
+2005-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpInputStream.cs: new ctor that takes a byte [].
+       * IntPtrStream.cs: make it work on a byte [] too.
+
+       * HttpRequest.cs:
+       (ContentLength): return 0 for negative numbers or error parsing, but
+       keep content_length negative in those cases.
+       (MakeInputStream): when there's no content-length (or it's negative),
+       we still read the request into a MemoryStream. Use
+       IsEntireEntityIsPreloaded() as a fast path.
+
+2005-08-25  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * HttpClientCertificate.cs: On 1.x the .ctor throws a 
+       ArgumentNullException (but 2.0 throws a NRE).
+
+2005-08-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs: HttpMethod deserves its own field. Fix IsLocal.
+
+2005-08-25  Chris Toshok  <toshok@ximian.com>
+
+       * HttpApplication.cs (IsReusable): return true.
+       (InitOnce): remove the initialization of handler_factory from
+       here.
+       (GetHandler) and move it here, so we make sure to load handlers
+       from all needed web.config files.
+
+2005-08-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpServerUtility.cs: use GetHandler().
+       * HttpApplication.cs: remove obsolete method. Now Transfe/Execute work.
+
+2005-08-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: no need for the local var. here.
+
+2005-08-25  Chris Toshok  <toshok@ximian.com>
+
+       * HttpApplication.cs (InitOnce): move the initialization of
+       modules above the call to HttpApplicationFactory.AttachEvents,
+       since that method accesses HttpApplication.Modules.  Fixes
+       nGallery.
+       (IsReusable): mark TODO.
+
+2005-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpResponseHeader.cs: removed obsolete class.
+       * HttpResponse.cs: no more 'obsolete' warnings.
+
+2005-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRuntime.cs: implemeted some missing properties.
+
+2005-08-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpResponse.cs: implemented RemoveOutputCacheItem().
+
+2005-08-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: implemented GetVaryByCustomString().
+
+2005-08-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs: implemented SetHeader (allows adding a header
+       circumventing the read-only protection of the collection) and SetForm,
+       which just assigns a value of the 'form' collection.
+       * HttpServerUtility.cs: NameValueCollection -> WebROCollection.
+
+2005-08-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpContext.cs:
+       * HttpRequest.cs: implemented RewritePath and supporting methods.
+
+2005-08-22  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * HttpRequest.cs: Avoid NRE if work_request if null in the ctor.
+       * HttpResponse.cs: Avoid NRE if work_request if null in the ctor.
+
+2005-08-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: if there's any exception thrown when getting the
+       handler, don't add an extra error to the context, as we already have
+       one.
+
+2005-08-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpWriter.cs:
+       * HttpResponse.cs:
+       * HttpWorkerRequest.cs:
+       * HttpApplication.cs: added mising attributes and enabled methods
+       present in 1.1 SP1.
+
+2005-08-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * WebROCollection.cs: a collection that allows setting IsReadOnly.
+       * HttpRequest.cs: implemented MapImageCoordinates(). Use WebROCollection
+       instead of a NameValueCollection in Form, Headers, Params, QueryString.
+
+2005-08-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpInputStream.cs: new copy ctor.
+       * IntPtrStream.cs: getters for base_address and size.
+       * HttpRequest.cs: implemented SaveAs(). Use a wrapper on top of
+       InputStream so that reading POST form or files does not modify the state
+       if InputStream. Don't use uri_builder.Query in QueryStringRaw, as it
+       returns the '?'.
+
+2005-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs: implemented UserLanguages and reuse code from
+       AcceptTypes.
+
+2005-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs: implemented AcceptTypes.
+
+2005-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs: implemented this[] in terms of Params. Don't add the
+       header collection in Params.
+
+2005-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs: fix Files property.
+       * HttpApplication.cs: invoke the default authentication event after all 
+       the other auth. modules.
+
+2005-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * ServerVariablesCollection.cs: mark the collection as read-only except
+       when we fill it. Add the HTTP_blah key/value pairs too.
+
+2005-08-18  Chris Toshok  <toshok@ximian.com>
+
+       * HttpRequest.cs (get_Params): implement.
+
+2005-08-17  Chris Toshok  <toshok@ximian.com>
+
+       * HttpResponse.cs: HttpResponse's Cookie's collection acts
+       differently than HttpRequests in that it never returns null from
+       the "this [string]" accessor.
+
+2005-08-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs: check length 0 case when reading a POST.
+
+2005-08-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpContext.cs: added security attributes for User and
+       SkipAuthorization properties.
+       * HttpApplicationFactory.cs: AttachEvents is now called form the
+       application .ctor. Recycle instead of dispose.
+       * HttpApplication.cs: attach events to the newly created application.
+
+2005-08-15  Jackson Harper  <jackson@ximian.com>
+
+       * ApplicationShutdownReason.cs: make build
+
+2005-08-15  Miguel de Icaza  <miguel@novell.com>
+
+       * HttpApplication.cs: Update comments
+
+       * HttpPostedFile.cs: Use a substream to read from the uploaded
+       multiparts. 
+
+       * HttpRequest.cs: use new code to read the uploaded files.
+
+2005-08-12  Miguel de Icaza  <miguel@novell.com>
+
+       2.x API fixage and small additions:
+       
+       * HttpResponse.cs: Make constructor internal.
+
+       * HttpRequest.cs (IsLocal): Expose if NET_2.x
+
+       * HttpContext.cs: Remove internal routine.
+
+       * HttpApplication.cs: Add 2.x events. 
+
+       * HttpRequest.cs: Another iFolder issue: I was not setting up the
+       uri_builder here.
+
+       Fixes to get iFolder to work:
+       
+       * HttpApplicationFactory.cs: Set the context when we are initting
+       the application.
+
+       * HttpApplication.cs (SetContext): helper routine. 
+
+       * HttpResponse.cs: Implement the various cache operations:n
+       Expires, ExpiresAbsolute, CacheControl.
+
+       Actually produce the Cache-Control header, the "Cache" property
+       takes precedence over the compatibility settings (Expires,
+       ExpiresAbsolutely and CacheControl). 
+
+       * HttpCachePolicy.cs: Fix style.
+
+       Fix the generation of the headers, use lower-case values, do not
+       add the max-value if the value is zero.  
+
+       Allow for all possible values in SetCacheability. 
+
+       * HttpRuntime.cs (ClrInstallDirectory): Implement.
+
+       * HttpResponseStream.cs: Remove debugging stuff. 
+
+2005-08-11  Miguel de Icaza  <miguel@novell.com>
+
+       Big chunked handling rewrite, and integration of Ben's unmanaged
+       output stream.
+
+       * HttpWriter.cs: Delegate chunked encoding writing to the
+       HttpResponse. 
+
+       * HttpResponse.cs: Rework the chunked encoding system, centralize
+       it all. 
+
+       * HttpResponseStream.cs: Deploy Ben's bucket-base unmanaged
+       buffers code. 
+
+       Changed the way that we handle chunked encoding, centralize it
+       all;  
+
+       Remove a lot of manual handling of buffering turned off, and
+       instead delegate it all to Flush, fixes several issues with the
+       new framework.
+
+       * HttpWorkerRequest.cs (SendResponseFromMemory (IntPtr, int)):
+       Provide a default implementation since currently XSP does not have
+       this method implemented. 
+
+2005-08-11  Sebastien Pouliot  <sebastien@ximian.com> 
+       * HttpClientCertificate.cs: Culture insensitive int parsing. Fixed
+       NET_2_0 build.
+
+2005-08-10  Miguel de Icaza  <miguel@novell.com>
+
+       * ServerVariablesCollection.cs: For Ben.  Implement the header
+       fetching here, do not implement it in HttpRequest.cs.
+
+2005-08-10  Sebastien Pouliot  <sebastien@ximian.com> 
+       * HttpClientCertificate.cs: Changed IsPresent logic so that new unit
+       tests will work as expected.
+
+2005-08-10  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * HttpClientCertificate.cs: Implemented, except for validation. Note 
+       that the HttpWorkerRequest derived classes must be updated to supply 
+       the required informations.
+       * HttpRequest.cs: Create an HttpClientCertificate on first call to
+       ClientCertificate.
+
+2005-08-09  Miguel de Icaza  <miguel@novell.com>
+
+       * HttpRuntime.cs (AspInstallDirectory): Implement.
+
+2005-08-09  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * HttpClientCertificate.cs: New. Stub. It won't be fun to test.
+
+2005-08-04  Ben Maurer  <bmaurer@ximian.com>
+
+       * HttpContext.cs: Kill a NIE.
+
+2005-08-04  Miguel de Icaza  <miguel@novell.com>
+
+       * HttpApplicationFactory.cs: Change "Start" event like the "End"
+       event, and only do this once, when we init the type.
+
+       Fire the "Application_Start" event after we create the type.
+
+2005-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: catch a ThreadAbort (coming from Response.End)
+       here too.
+
+2005-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpResponse.cs: setting the Status property resets the
+       StatusDescription (see the tests) and the default value for the
+       description is the one provided by GetStatusDescription() in
+       HttpWorkerRequest.
+
+2005-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs: s/boundry/boundary/ and fix typo in array creation.
+
+2005-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: add call to EndOfRequest when everything is said
+       and done.
+
+2005-08-02  Miguel de Icaza  <miguel@novell.com>
+
+       * HttpResponse.cs: Stub for TransmitFile.
+
+       * HttpRequest.cs (IsAuthenticated): Implement.
+
+2005-08-01  Miguel de Icaza  <miguel@novell.com>
+
+       * HttpRequest.cs: Cope with implementations of HttpWorkerRequest
+       (unpatched xsp) that do not send back the PreloadedEntityBody. 
+
+       * HttpApplication.cs: keep track of the factory. 
+       (Dispose): Only dispose once, clean up other variables, release
+       the ManualResetEvent.
+       Release the handler to the factory.
+
+       * HttpApplicationFactory.cs: Implement a stack to reuse the
+       applications. 
+
+       * HttpRequest.cs: On uploads, if the ContentLenght is zero, throw
+       a 411.
+
+       * HttpRuntime.cs: Recycle the application after using it.
+
+       * HttpPostedFile.cs: Implement SaveAs.
+
+       * HttpContext.cs: Return the "Server" property.
+
+2005-08-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpServerUtility.cs: implemented missing bits.
+
+2005-08-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs: query string was getting a '?' as the start of the
+       first variable name. This makes the asmx help page work again.
+
+2005-08-01  Miguel de Icaza  <miguel@novell.com>
+
+       * HttpRequest.cs (Cookies, Forms): Add validation.
+       (Forms): Add application/x-www-form-urlencoded parsing and
+       multipart/form-data parsing.
+       
+       (HttpMultiPart): Implement new class to load multi-part data from
+       a stream since there is no longer a byte [] that holds the data
+       (currently we have an unmanaged IntPtr buffer wrapped as a
+       stream).  Also the 2.x framework will add support for large
+       uploads which are sent directly to disk, which will require the
+       FileStream interface. 
+       
+       (Path, PathInfo): Fill a couple more methods to avoid crashes.
+
+       * HttpContext.cs: Fill another one to get web services summary
+       page painting.  The page does not work though.
+       
+       * HttpApplication.cs: Rework the pipeline to not depend on
+       `finally', as `finally' would not be invoked if we choose not to
+       call the pipeline again (which happens if the `stop' variable is
+       set). 
+
+       Instead force the pipeline to go to the shutdown, and yield from
+       there after all the release-state callbacks have been invoked. 
+
+2005-07-31  Miguel de Icaza  <miguel@novell.com>
+
+       * HttpApplication.cs: Remove debugging messages since the compiler
+       bug has been fixed.
+
+       You must use at least mcs from revision 47879 for the application
+       pipeline to work. 
+
+2005-07-30  Miguel de Icaza  <miguel@novell.com>
+
+       * HttpContext.cs: Error handling methods.
+
+       * HttpResponse.cs: Trigger the last event.
+
+       * HttpRuntime.cs: Add queueing of the next request. 
+
+       * HttpApplication.cs: Deploy the new yield-based application
+       pipeline, add error handling to the pipeline.
+       
+       * HttpApplication.cs (AsyncRequestState): Just use the done event
+       from the parent.
+
+2005-07-29  Miguel de Icaza  <miguel@novell.com>
+
+       * HttpResponseStream.cs, HttpRequest.cs: Fix bugs found by nunit.
+
+       * HttpApplication.cs: Fix a race condition. 
+
+       * HttpResponseStream.cs: Fix bug, send the size of the buffer that
+       we have so far instead of the internal size of the buffer.   This
+       will need work later to ensure we enforce the Content-Length
+       maximum output size if set.
+
+       * ServerVariablesCollection.cs: This class now inherits from
+       NameValueCollection, we should probably review what the middle
+       class did, there are no dependencies on it.
+
+       I need to write tests to investigate if something is missing or
+       has changed in this implementation. 
+
+2005-07-27  Miguel de Icaza  <miguel@novell.com>
+
+       * HttpRequest.cs: No happy replies here, send a 411.
+
+2005-07-27  Chris Toshok  <toshok@ximian.com>
+
+       * HttpResponseHeader.cs: remove spew.
+       
+2005-07-27  Chris Toshok  <toshok@ximian.com>
+
+       * HttpResponseHeader.cs (HttpResponseHandler..ctor): use
+       HttpWorkerRequest.GetKnownResponseHeaderName instead of
+       GetKnownRequestHeaderName.  Fixes Response.Redirect until miguel's
+       new HttpReponse is online.
+
+2005-07-26  Miguel de Icaza  <miguel@novell.com>
+
+       * HttpResponse.cs: use_chunked is now a byte-array, if not null,
+       we use it to hold the size of the chunked so we do not have to
+       allocate many of these. 
+       (SendSize): Helper routine to send the chunked headers.
+       (BinaryWrite): First user of the chunked writer.
+
+       * HttpApplication.cs: Do not crash if they request a Server
+       instance, but throw a NotImplementedException.
+
+       * HttpRequest.cs: fix a few problems exposed by the regression
+       test suite.
+
+       * HttpRequest.cs (Cookies): use Chris' new constructor to get the
+       cookies parsed.
+
+       : The big Uri rework: instead of using QueryString
+       as the population mechanism, populate an UriBuilder from the
+       various HttpWorkerRequest methods.
+
+       * HttpWorkerRequest.cs (GetProtocol): Implement in terms of
+       IsSecure().
+
+       * HttpResponse.cs: Pointed by Ben, Write (null) is a nop instead
+       of a crash.
+
+       * HttpContext.cs: Add a couple of properties to help the 2.x
+       build.
+       
+       * HttpResponse.cs: Make ContentLength a long, add back support for
+       session's app_path_mod.
+       (ApplyAppPathmodifier): put back.
+       (End): Pass a flag to abort so we can tell the exceptions appart
+       in HttpApplication.
+       (WriteHeaders): Send the HTTP status.
+       (Redirect): Implement.
+       (Write): Use the Output property to load writer when needed.
+       
+       * HttpRequest.cs (ctor): Temporary use of InitFromWR, will fix
+       later. 
+       (MakeInputStream): check content-length size, use routines to load
+       the preloaded data, handle incomplete transfers.
+       (Query): Do not insert null keys into the collection.
+       (Url): implement.
+       (UrlReferer): implement.
+
+       * HttpApplication.cs (RunHooks): Catch Thread.Abort, and call
+       Thread.ResetAbort after each step.
+
+       Ensure that ReleaseState is called if we ever succeed in acquiring
+       the state even if we have stopped the request pipeline.
+
+       Report file not found, directory not found.
+
+2005-07-25  Miguel de Icaza  <miguel@novell.com>
+
+       * HttpCookieCollection.cs: Add expiration of the cookie. 
+
+       * HttpRequest.cs: Add check for ContentLength, use
+       GetPreloadedEntityBody, correct number of bytes uploaded.
+
+2005-07-21  Miguel de Icaza  <miguel@novell.com>
+
+       * HttpResponseHeader.cs: Our implementation of HttpResponse only
+       uses the text headers, does not use any constants as XSP would go
+       through a slower code path anyways.
+
+2005-07-21  Chris Toshok  <toshok@ximian.com>
+
+       * HttpBrowserCapabilities.cs: enable support for the W3CDomVersion
+       and EcmaScriptVersion properties.
+
+2005-07-21  Chris Toshok  <toshok@ximian.com>
+
+       * HttpResponseHeader.cs: hi, i'm stupid and missed String.Replace.
+       
+2005-07-21  Chris Toshok  <toshok@ximian.com>
+
+       * HttpResponseHeader.cs: url encode just \r and \n if they're
+       present in the value.
+
+2005-07-20  Chris Toshok  <toshok@ximian.com>
+
+       * HttpPostedFile.cs: add missing ContentLength property.
+
+2005-07-20  Chris Toshok  <toshok@ximian.com>
+
+       * HttpCookieCollection.cs: add a new ctor that takes a string (the
+       contents of the Cookies: header).
+
+2005-07-20  Chris Toshok  <toshok@ximian.com>
+
+       * HttpCookieCollection.cs: add another ctor (internal, but not
+       obsolete, so we aren't passing a stupid HttpResponse in in order
+       to change the behavior of the collection.)
+
+       * HttpCookie.cs: init this.values in the internal ctor.
+
+2005-07-20  Chris Toshok  <toshok@ximian.com>
+
+       * HttpCookieCollection.cs: use "auto-fill mode" when we're dealing
+       with an HttpResponse's cookie collection.  That is, create the
+       cookie if the consumer looks it up.
+
+2005-07-20  Miguel de Icaza  <miguel@novell.com>
+
+       * HttpApplication.cs: Ongoing work on pipeline, I will need to
+       redo this later.
+
+2005-07-19  Miguel de Icaza  <miguel@novell.com>
+
+       * HttpContext.cs (GetService): Implement.  Return all of the
+       properties that we have access to.  Make HttpWorkerRequest the
+       first match as this is the only likely reason people need to use
+       this. 
+
+       * IntPtrStream.cs: Bring from corlib.
+
+       * MultiPartContentParser.cs: use a MemoryStream as HttpInputStream
+       will now be using IntPtrStream. 
+
+       * HttpRequest.cs (MakeInputStream): move code that loads the
+       request here
+       (CloseInputStream): Helper method that we will call later to
+       ensure that we dispose properly the malloced() block. 
+       (BinaryRead): Implemented.
+
+       * HttpInputStream.cs: Rewrite to be a descendant of
+       IntPtrStream.cs 
+
+2005-07-18  Miguel de Icaza  <miguel@novell.com>
+
+       * HttpApplication.cs (Modules): Add modules support and
+       AsyncResult.
+
+2005-07-18  Chris Toshok  <toshok@ximian.com>
+
+       * HttpResponseHeader.cs: initial implementation.
+
+2005-07-18  Chris Toshok  <toshok@ximian.com>
+
+       * HttpModuleCollection.cs (HttpModuleCollection.GetKey): add
+       missing method.
+
+       * HttpFileCollection.cs: initial implementation.
+
+2005-07-18  Chris Toshok  <toshok@ximian.com>
+
+       * HttpModuleCollection.cs (HttpModuleCollection.CopyTo): implement
+       missing method.
+
+2005-07-18  Chris Toshok  <toshok@ximian.com>
+
+       * HttpModuleCollection.cs: initial implementation.
+
+2005-07-18  Chris Toshok  <toshok@ximian.com>
+
+       * HttpCacheVaryByHeaders.cs: only add the header if it's not
+       already in the hash.
+
+       * HttpCacheVaryByParams.cs: only add the param if it's not already
+       in the hash.
+
+2005-07-18  Chris Toshok  <toshok@ximian.com>
+
+       * HttpCookie.cs (HttpCookie+CookieNVC.Set): new override to fix an
+       MS quirk.
+
+2005-07-17  Miguel de Icaza  <miguel@novell.com>
+
+       * HttpRequest.cs (Headers, InputStream): implemented two more
+       properties.
+
+       * HttpInputStream.cs: All we need is a MemoryStream with writable
+       set to false.
+
+       * HttpPostedFile.cs: Use a Stream.
+
+2005-07-16  Chris Toshok  <toshok@ximian.com>
+
+       * HttpCacheVaryByHeaders.cs: make sure we set vary_by_unspecified
+       = false in the custom setter.
+
+2005-07-16  Chris Toshok  <toshok@ximian.com>
+
+       * HttpCacheVaryByParams.cs: initial implementation.
+
+2005-07-16  Chris Toshok  <toshok@ximian.com>
+
+       * HttpCacheVaryByHeaders.cs: initial implementation.
+
+2005-07-15  Chris Toshok  <toshok@ximian.com>
+
+       * HttpCookie.cs: one more time.
+
+2005-07-15  Chris Toshok  <toshok@ximian.com>
+
+       * HttpCookie.cs (HttpCookie.GetCookieHeader): use
+       expires.ToString().
+       
+2005-07-15  Chris Toshok  <toshok@ximian.com>
+
+       * HttpCookie.cs (HttpCookie.GetCookieHeader): implement to fix
+       ben's bug.
+
+2005-07-15  Chris Toshok  <toshok@ximian.com>
+
+       * HttpCookieCollection.cs: initial implementation (with a couple
+       of labeled inefficiencies.)
+
+2005-07-15  Chris Toshok  <toshok@ximian.com>
+
+       * HttpCookie.cs (HttpCookie.get_HasKeys): use values.HasKeys()
+       instead of trying to be smart about it ourselves.
+
+2005-07-15  Chris Toshok  <toshok@ximian.com>
+
+       * HttpCookie.cs: initial implementation.  we fail one unit test,
+       but it might be due to a bug in NameValueCollection.
+
+2005-07-15  Miguel de Icaza  <miguel@novell.com>
+
+       * HttpRequest.cs: 
+
+2005-07-14  Miguel de Icaza  <miguel@novell.com>
+
+       * HttpRuntime.cs: Return a few of the values from the AppDomain
+       data. 
+
+       Put the application shutdown process.
+
+       * HttpApplicationFactory.cs (AddEvent): Fixed bug when more than
+       one method existed.
+       
+       (FireEvent): Do not ignore errors.
+
+       * HttpContext.cs (GetAppConfig, GetConfig): First success, use
+       ConfigurationSettings.GetConfig to get the value that QueueManager
+       needed.
+
+2005-07-14  Dick Porter  <dick@ximian.com>
+
+       * HttpPostedFile.cs: New basic implementation; needs someone to
+       figure out what a HttpRequestStream does
+
+2005-07-13  Miguel de Icaza  <miguel@novell.com>
+
+       * HttpRequest.cs: More work on this file
+
+       * HttpRequest.cs, HttpApplication.cs, HttpContext.cs,
+       HttpRuntime.cs: New from scratch implementation.
 
 2005-07-01  Lluis Sanchez Gual <lluis@novell.com>