+2005-08-29 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
+ characters. Patch by Kazuki Oikawa.
+
+2005-05-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpRuntime.cs: PlatformID.Unix.
+
+2005-05-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpResponse.cs: cleaned up the .ctors, fix IsClientConnected and just
+ Clear the _Headers array instead of creating a new ArrayList in
+ ClearHeaders().
+
+2005-05-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpResponse.cs: we had 2 variables to track client connection status.
+ Use only one. Increase the buffer size to 28KB when writing from a file.
+
+ * StaticFileHandler.cs: set the Content-Type before writing the file.
+ This allows flushing before all the content is written.
+
+ * HttpApplication.cs: use the variable instead of the property when
+ setting the Principal for the current process.
+
+2005-05-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * ReusableMemoryStream.cs:
+ * HttpWriter.cs: keep a pool of buffers to avoid allocations.
+
+2005-05-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpResponse.cs: no need to save/restore the thread culture when
+ getting the Date header. According to Ben's profiling, this is a big
+ deal in performance.
+
+ * HttpRuntime.cs: ignore exceptions that might be thrown when unloading
+ a domain.
+
+2005-05-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpApplicationFactory.cs: ignore any exception thrown when invoking
+ an application event.
+
+2005-04-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpBrowserCapabilities.cs: fix Win32 property.
+
+2005-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpResponse.cs: only add the charset when explicitly set or for
+ well-known content types.
+
+2005-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpCachePolicy.cs:
+ * HttpAsyncResult.cs:
+ * HttpClientCertificate.cs:
+ * HttpException.cs:
+ * HttpRuntime.cs:
+ * HttpCacheVaryByHeaders.cs:
+ * HttpBrowserCapabilities.cs:
+ * HttpUtility.cs:
+ * HttpCacheVaryByParams.cs: no more warnings.
+
+ * QueueManager.cs: check for local connections with minLocalFreeThreads.
+
+2005-04-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * ServerVariablesCollection.cs: shuffled variables, added missing ones
+ and call a method in HttpRequest to set the HTTP_ variables.
+
+ * HttpRequest.cs: new method to add HTTP_ variables to a collection.
+
+2005-04-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpRequest.cs: GetAllHeaders was returning the value twice instead
+ of 'name: value'. When HTTP_ is requested on the output, don't include
+ unknown headers.
+
+2005-03-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpCookieCollection.cs: when adding more than one cookie with the
+ same name, the last one is the winner.
+
+2005-03-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpRequest.cs: correctly store the value cookies in Params. Fixes
+ bug #73345.
+
+2005-02-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpRequest.cs: Path and FilePath also change when RewritePath is
+ called. Fixes bug #73055.
+
+2005-02-23 Sebastien Pouliot <sebastien@ximian.com>
+
+ * HttpRequest.cs: Make sure that any access after a ValidateInput
+ throws an exception if the data isn't safe.
+
+2005-02-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * CapabilitiesLoader.cs: fix the path, as machine.config is now in a
+ x.x/ directory below $PREFIX/etc/mono.
+
+2005-02-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpRequest.cs: fail on unicode full-width '<' and '>' too. Fixes
+ a security report (http://secunia.com/advisories/14325) that wan't
+ reported to us before public disclosure.
+
+2005-02-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpResponse.cs: send the calculated content length even when it's 0.
+ Fixes bug #72655.
+
+2005-02-04 Lluis Sanchez Gual <lluis@novell.com>
+
+ * HttpContext.cs: Added internal property to keep a reference to
+ the last accessed page. Page uses this to implement PreviousPage.
+
+2005-02-02 Lluis Sanchez Gual <lluis@novell.com>
+
+ * ProcessModelInfo.cs: Fixed warning.
+
+2005-02-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * TraceContext.cs: writing a message without any other argument is not
+ a warniing. Fixes bug #72017.
+
+2005-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpApplication.cs: if there are no more handlers, finish the
+ request and ensure we call Complete on it. Now FreeTextBox 3.0 works.
+
+2004-12-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpRequest.cs: honor the maxRequestSize limit from machine.config.
+
2004-12-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* HttpApplication.cs: reread application CultureInfo as web.config
* 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