+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>
+
+ * SiteMap.cs: Read provider info from the configuration files.
+
+2005-06-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpResponseHeader.cs: URL encode \r and \n in header values. Fixes
+ bug #75392.
+
+2005-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpUtility.cs: fix another stupid buglet in htmldecode.
+
+2005-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpContext.cs:
+ * HttpResponse.cs:
+ * HttpRequest.cs: use StrUtils (invariant culture).
+
+2005-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpRequest.cs: use StartsWith when looking for 'multipart/form-data'.
+ File uploading was broken since a few commits ago.
+
+2005-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpResponse.cs: ensure that the last chunk ('0\r\n\r\n') is sent
+ even if response.Close is called before a final flush. MS/IIS fails to
+ do this.
+
+2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpRequest.cs: don't print anything for unknown content types in
+ ParseFormData. Use lowercase compare.
+
+2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpResponse.cs: invariant love.
+
+2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpResponse.cs: avoid 1 string concat.
+ * HttpRequest.cs: fix BinaryRead. It was totally wrong.
+
+2005-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpUtility.cs: don't append an extra 0 when no digits seen. Fixes
+ bug #75370.
+
+2005-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpUtility.cs: the lower limit for using &#xx; encoding is 160, not
+ 128. Reset number back to 0 after use. Fixes bug #75365.
+
+2005-06-19 Svetlana Zholkovsky <svetlanaz-at-mainsoft.com>
+ * In following classes added TARGET_J2EE or/and TARGET_JVM
+ directives:
+ - HttpResponse.cs
+ - HttpRuntime.cs
+ - HttpUtility.cs
+ - CapabilitiesLoader.cs
+ - HttpApplication.cs
+ - HttpApplicationFactory.cs
+ - HttpContext.cs
+ - HttpException.cs
+ - HttpRequest.cs
+ * Added Mainsoft's specific files :
+ - GhHttpAsyncResult.jvm.cs
+
+2005-06-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpRequest.cs: avoid one intermediate buffer when reading the request
+ body and fail for over limit content length when the content type is
+ not handled as form or multipart data.
+
+2005-06-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpResponse.cs: fix the check in Close() so that CloseConnection is
+ called even if there has been no final Flush. Fixes bug #75176.
+
+2005-06-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpParseException.cs:
+ * HttpResponse.cs:
+ * HttpApplication.cs: updates for 1.1 service pack.
+
+2005-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpUtility.cs: fix InvalidCastException.
+
+2005-06-05 Kornél Pál <kornelpal@hotmail.com>
+
+ * HttpWriter.cs: Fixed: _OutputFilter.Close () was called twice.
+
+2005-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpUtility.cs: modified HtmlDecode so that it does not need to call
+ Int32.Parse and handles improper &# sequences. Fixes bug #74907.
+
+2005-05-26 Lluis Sanchez Gual <lluis@novell.com>
+
+ * SiteMapNodeCollection.cs: Implemented missing methods. The collection
+ does not inherit from CollectionBase any more.
+ * SiteMapNode.cs: Track api changes.
+ * SiteMapProvider.cs: Moved several methods to the new
+ StaticSiteMapProvider class. Other fixes.
+ * XmlSiteMapProvider.cs: Watch changes in the xml files. Other fixes.
+ * SiteMapProviderCollection.cs: Minor fixes.
+ * SiteMap.cs: Added missing event. Avoid double check lock.
+ * StaticSiteMapProvider.cs: New class that implements some of the
+ funtionality of SiteMapProvider.
+
+2005-05-25 Ben Maurer <bmaurer@ximian.com>
+
+ * MimeTypes.cs: Remove extra spaces, they were typos. Fixes 75049.
+
2005-05-13 Atsushi Enomoto <atsishi@ximian.com>
* HttpUtility.cs : UrlDecodeToBytes() incorrectly decoded escaped
* HttpContext.cs: reverting Pedro's patch and sending mail with test
to mono-devel.
-2004-06-09 Pedro Martínez Juliá <yoros@wanadoo.es>
+2004-06-09 Pedro Martnez Juli <yoros@wanadoo.es>
* HttpContext: User property returns its own "user" value because
the context can walk through different Threads. When "User" property
2004-06-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* HttpWorkerRequest.cs: the hashtables are now case-insensitive. Thanks
- to Markus Kräutner.
+ to Markus Krutner.
2004-05-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* HttpServerUtility.cs: Fix build breaker.
-2002-03-28 Wictor Wilén <wictor@iBizkit.se>
+2002-03-28 Wictor Wiln <wictor@iBizkit.se>
* HttpServerUtils.cs : Added some more functionality