New test.
[mono.git] / mcs / class / System / System.Net / ChangeLog
index 617cf6d53fbef61b89ea4569f0c3532ad5275bc8..a44f979e373d1d9bf09bdc5734aeee2d1ec6ed2e 100644 (file)
@@ -1,3 +1,489 @@
+2009-01-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * IPAddress.cs: handle sign extension for the high byte when using the
+       byte[] ctor for an IPv4 address.
+       Fixes bug #467472.
+
+2009-01-19  Marek Habersack  <mhabersack@novell.com>
+
+       * HttpWebRequest.cs: implemented the UseDefaultCredentials
+       property, patch from Florian Maetschke <f.maetschke@tu-bs.de>,
+       thanks!
+
+2009-01-16 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * FtpWebRequest.cs: adjust to the correct directory when listing too.
+       Fixes bug #466530.
+
+2009-01-15 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * HttpListenerRequest.cs: always initialize 'version'.
+       * HttpConnection.cs: the socket might already be disconnected when
+       shutting down.
+
+2009-01-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * WebConnectionStream.cs: if the buffer has been killed, return -1 for
+       its length. Fixes regression in System.Runtime.Remoting.
+
+2009-01-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * HttpWebRequest.cs: create a result from the response when
+       *GetResponse() has not been called yet and we have already received
+       all the data.
+       Fixes bug #464013.
+
+2009-01-13 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * HttpWebRequest.cs: keepAlive is of no use here.
+       Fixes bug #465613.
+
+2009-01-13 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * HttpConnection.cs: we were not writing the headers for 0-length
+       responses.
+       * WebConnectionStream.cs: for 204/304 responses with an explicit
+       content-length of 0, release the socket only once.
+       Fixes bug #465638.
+
+2009-01-12 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * FtpWebRequest.cs: now deleting a file works when we're not in the
+       root directory.
+
+2008-12-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * IPAddress.cs: avoid throwing when parsing a subnet.
+
+2008-11-18 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * HttpConnection.cs: remove CWL. When reusing, BeginReadRequest might
+       throw if the client closes.
+       * HttpListenerResponse.cs: close the connection for 1.0 clients.
+
+2008-11-13 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * FtpDataStream.cs: use the socket for reading until the end of a
+       stream that wasn't read entirely. Remove unused ManualResetEvent.
+       * FtpWebRequest.cs: set the file_name when downloading. Update the
+       response status after every SendCommand. Send a "OPTS utf8 on" as MS
+       does (the control cnc reader should do something with UTF8)
+
+2008-11-04 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * WebRequest.cs: if the cache level is NoCacheNoStore, don't throw
+       when setting the CachePolicy.
+
+2008-11-03 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * FtpWebRequest.cs: take the server current directory into account
+       when uploading files. Set the data connection type before every
+       transmission.
+       Bug 333985 fixed.
+
+2008-10-31 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * FtpWebRequest.cs: disable keep-alive connections as the current code 
+       does not deal with keep-alive connections.
+       Workaround for bug #380262.
+
+2008-10-30 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * WebConnectionStream.cs: when there's a NTLM authentication in
+       progress, don't let the connection be used by the next request if we
+       have the entire response in the input buffer.
+
+2008-10-30 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * HttpListenerResponse.cs: removed obsolete comment.
+       * ResponseStream.cs: don't read response.SendChunked until after
+       getting the response headers.
+
+2008-10-27 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * ServicePointManager.cs: set the default limit of connections from
+       the configuration file(s) on startup.
+       Bug #339422 fixed.
+
+2008-10-23 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * HttpWebRequest.cs: don't call ProxyRequest twice.
+       * WebConnectionData.cs: remove unused fields.
+
+       * WebConnection.cs:
+       * WebConnectionStream.cs: when setting the input buffer, check to see
+       if the entire response is already there and free up the request slot.
+       Fixes bug #423156.
+
+       * ResponseStream.cs:
+       * HttpListenerResponse.cs: buffer the headers so that they are sent
+       together with the data on the first Write (if any). The fix above
+       didn't work with our HttpListener without this.
+
+2008-10-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * WebConnection.cs:
+       * ServicePoint.cs:
+       * WebConnectionGroup.cs:
+       * HttpWebRequest.cs:
+       * WebConnectionStream.cs: reuse the same connection when doing NTLM
+       authentication. Fixes bug #323375.
+       Implemented support for UnsafeAuthenticatedConnectionSharing.
+
+2008-10-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * HttpConnection.cs:
+       * HttpListenerResponse.cs: fix typo that caused the "connection close"
+       header to be sent. Do not close the socket when the encoding is not
+       chunked and reuse is possible.
+       Fixes bug #433371.
+
+2008-10-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * HttpWebRequest.cs: if GetRequestStream has already been called,
+       return the same stream that we returned in the first call.
+       Fixes bug #429200.
+
+2008-10-07 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * ServicePointManager.cs: better handling of possible collisions of the
+       hash for schema/host/port. Fixes bug #417891.
+
+2008-10-06 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * ChunkStream.cs: (ReadTrailer) make sure the array access is not out
+       of bounds. Fixes bug #322715.
+
+2008-09-19 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
+
+       * WebConnectionStream.cs: when receiving a 0 content-length, free up
+       the slot for the next request immediately.
+       Fixes bug #427974.
+
+2008-09-16  Miguel de Icaza  <miguel@novell.com>
+
+       * IPv6Address.cs: On the 2.0 profile, avoid throwing/catching
+       exceptions inside TryParse.
+
+2008-09-12  Miguel de Icaza  <miguel@novell.com>
+
+       * HttpListenerPrefixCollection.cs, EndPointListener.cs,
+       HttpListener.cs, EndPointManager.cs, HttpConnection.cs: Remove
+       generics support where necessary to allow this code to be reused
+       in the 1.0 profile.
+
+2008-09-08  Miguel de Icaza  <miguel@novell.com>
+
+       * EndPointListener.cs (SearchListener): Cope with the raw_url not
+       being merely a path, but potentially a full URI (see the proxy
+       case). 
+
+       * HttpListenerRequest.cs: Cope with raw_url not being merely a
+       path, but potentially a full Uri.   Also uses TryCreate, hoping
+       that one day it will be faster.
+
+2008-08-23  Zoltan Varga  <vargaz@gmail.com>
+
+       * WebConnectionStream.cs (WriteRequest): Fix the copying in the
+       previous patch, when bytes.Length != length.
+
+2008-08-22  Zoltan Varga  <vargaz@gmail.com>
+
+       * WebConnectionStream.cs (WriteRequest): For small requests,
+       cluster together the header + body in a single write call, avoids
+       the latency problems observed in an TLS application that makes
+       many web service calls. 
+
+2008-08-22  Geoff Norton  <gnorton@novell.com>
+
+       * WebConnection.cs: Set NoDelay
+
+2008-08-21  Stephane Delcroix  <sdelcroix@novell.com>
+
+       * OpenReadCompletedEventArgs.cs: new Address property for 2.1
+
+2008-08-06  Miguel de Icaza  <miguel@novell.com>
+
+       * IPAddress.cs (ParseIPV6): Use an exception-less parser for ipv6
+       addresses.
+
+       * IPv6Address.cs: Rewrite most of the parsing code to not use that
+       incredibly fragile, hacky and hacky implementation.
+
+       (TryParse): Provide a exception-less parsing path.
+
+2008-07-25  Gert Driesen  <drieseng@users.sourceforge.net>µ
+
+2008-08-06  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * IPAddress.cs : several IPv4 parsing fix exposed by bug #411920.
+
+2008-08-05  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * WebClient.cs : it should not invoke delegate directly, but should
+         call overridable OnDownloadProgressChanged.
+
+2008-07-25  Gert Driesen  <drieseng@users.sourceforge.net>μ
+
+       * HttpWebResponse.cs: Initialize contentLength in ctor, as it must
+       remain accessible after the response is disposed (and the headers are
+       no longer available). Adding missing disposed checks in properties
+       (except for StatusCode) and GetResponseHeader. On the 2.0 profile,
+       headers must remain accessible after the HttpWebResponse is disposed.
+
+2008-06-10  Stephane Delcroix  <sdelcroix@novell.com>
+
+       * IPAddress.cs: allow usage on 2.1 as smcs knows nothing about
+       string.GetEnumerator : IEnumerable<char>
+
+2008-06-08  Miguel de Icaza  <miguel@novell.com>
+
+       * ResponseStream.cs: Do not Close the HttpResponse object here as
+       it is possible to issue multiple OutputStream.Close calls (they
+       actually happen implicitly through things like StreamWriter.Close,
+       and they are in various MSDN samples).
+
+2008-05-28 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
+
+       * CookieContainer.cs: apply slightly modified patch from rulatir@wp.pl
+       that fixes bug #356537.
+
+2008-04-30  Miguel de Icaza  <miguel@novell.com>
+
+       * WebPermission.cs (ToXml): To allow code that uses WebPermission
+       to be built. 
+
+2008-04-21 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
+
+       * HttpWebResponse.cs: do not check the disposed status for properties
+       and methods that return response data other than the stream itself.
+       Fixes bug #381223.
+
+2008-04-16  Marek Habersack  <mhabersack@novell.com>
+
+       * HttpWebRequest.cs: fix an off-by-one bug - the number of
+       redirects must not exceed the value of
+       MaximumAutomaticRedirections. Fixes bug #380131
+
+2008-04-13  Jb Evain  <jbevain@novell.com>
+
+       * *_2_1.cs: move the specific 2.1 System.Net code to the
+       assembly System.Net.
+
+2008-04-13  Jb Evain  <jbevain@novell.com>
+
+       * WebRequest_2_1.cs, WebResponse_2_1.cs: new files
+       * HttpWebRequest_2_1.cs, HttpWebResponse_2_1, WebHeaderCollection_2_1:
+       update to Silverlight 2.0b1 API.
+       Merged from the Moonlight 2 branch.
+
+2008-04-06  <gnorton@novell.com>
+
+       * ListenerAsyncContext.cs: Fix Basic authentication support.  Patch from 
+       Maciej Paszta <paszczi@go2.pl>
+
+2008-02-21  Zoltan Varga  <vargaz@gmail.com>
+
+       * HttpConnection.cs (Close): Close the socket even if Shutdown throws an exception.
+
+2008-02-17  Daniel Nauck  <dna@mono-project.de>
+
+       * HttpWebResponse.cs: refactored cookie expires parsing to
+       allow all common expires datetime formats.
+
+2008-02-09  Daniel Nauck  <dna@mono-project.de>
+
+       * HttpWebResponse.cs: convert UTC/GMT Expires DateTime from a cookie
+       into local time, also set the HttpOnly property if available.
+
+2008-02-09  Daniel Nauck  <dna@mono-project.de>
+
+       * Cookie.cs: implemented HttpOnly
+
+2008-01-27  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * IPAddress.cs (Parse): Changed argument name to match MS.
+       (TryParse): Changed argument name to match MS.
+       (ParseIPV4): Only treat zero-length or " " address as empty on 1.0
+       profile. On 2.0 profile, only ignore characters after blank if last
+       part is valid hex string.
+       * IPv6Address.cs: Removed extra spaces and tabs.
+
+2008-01-26  Daniel Nauck  <dna@mono-project.de>
+
+       * HttpWebRequest.cs: fixed typo. Use the actual uri for correct
+       cookie header informations and not the originally one.
+
+2008-01-26  Daniel Nauck  <dna@mono-project.de>
+
+       * Cookie.cs: set Version to '1' if Port is set,
+       don't include path and domain informations when version is 0,
+       match ToString () output with .NET 2.0,
+       fixes bug #316017
+
+2008-01-15  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * MonoHttpDate.cs : Parse() should return Local time. Fixed bug
+         #353495.
+
+2008-01-12  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * WebClient.cs: Do not add trailing CRLF in UploadValuesCore. Fixes
+       standalone test for bug #351049.
+
+2008-01-07  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * CredentialCache.cs: Gendarme's AvoidToStringOnStringsRule in
+       CredentialCacheKey constructor. UseStringEmptyRule on CredentialCache
+       static ctor (3 times).
+
+2007-12-27  Miguel de Icaza  <miguel@novell.com>
+
+       * WebClient.cs: We catch exceptions that happen on the helper
+       async threads toa void terminating the application on errors, and
+       also raise a variant of the OnXXXXCompleted methods that take an
+       Exception argument.
+
+       Note that this differs from the .NET implementation in that
+       we actually raise a signal on error, and set the exception, and in
+       their case no error is ever raised.
+
+       We now call CompleteAsync in the OnXXXCompleted handlers to ensure
+       that the WebClient can be reused immediately by the callback.
+
+       This fixes #350621.
+
+       This also should fix the bug report on IRC where someone
+       complained that they could not "chain" invocations to XXXAsync
+       methods from the OnXXXXCompleted handlers due to the WebClient
+       refusing to work if there was an ongoing operation
+
+2007-12-24  Miguel de Icaza  <miguel@novell.com>
+
+       * WebClient.cs: Do not validate method to be null, we do not do
+       that in OpenWrite, the detection is done later on.  
+
+       Fixes #350622
+
+2007-12-16  Miguel de Icaza  <miguel@novell.com>
+
+       * WebClient.cs: Got the arguments in the wrong order, fix
+
+2007-12-12  Marek Habersack  <mhabersack@novell.com>
+
+       * WebClient.cs: DownloadProgressChanged is available only in the
+       2.0+ profiles.
+
+2007-12-12  Miguel de Icaza  <miguel@novell.com>
+
+       * WebClient.cs (DownloadFileCore): use longs for the
+       ContentLength, although the other code (loading into a byte array,
+       or a string) still uses ints, the DownloadFileCore should not.
+
+2007-12-11  Miguel de Icaza  <miguel@novell.com>
+
+       * WebClient.cs: 
+
+       Lots of fixes to get the *Async methods to work.
+       
+       * WebClient.cs: async, new boolean flag, used to track whether we
+       are an async invocation, and if so, we need to invoke some
+       methods. 
+
+       Switch to using System.Threading.Thread instead of the ThreadPool
+       as there is no way with the ThreadPool to abort threads (to
+       implemente CancelAsync). 
+
+       (CompleteAsync): Helper method used to clear the state after an
+       async operation completes, otherwise the WebClient can only be
+       used once. 
+
+       (CancelAsync): Use Thread.Interrupt to signal the thread that we
+       are aborting it (it is a lot milder than Thread.Abort, and we are
+       in no rush to cancel this anyways); Also the documentation states
+       that we need to call the WebRequest.Abort method, so we do that in
+       every Download instance.
+
+       (DownloadDataAsync, DownloadFileAsync, DownloadStringAsync,
+       OpenReadAsync, OpenWriteAsync, UplaodDataAsync, UploadFileAsync,
+       UploadStringAsync): Make signature parameters match MS; use
+       threads instead of threadpool (so we can implement CancelAsync),
+       catch ThreadAbortException here so we can also raise the proper
+       DownloadDataCompleteEventArgs.
+
+       These routines will also call the WebRequest.Abort when
+       appropriate when ThreadInterrupted is used.
+       
+       (ReadAll): Raise DownloadProgressChanged events.
+       
+2007-12-03  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * WebClient.cs: Modified argument checks to match MS, and wrap
+       exceptions in a WebException. Fixes bug #343064.
+
+2007-12-03  Miguel de Icaza  <miguel@novell.com>
+
+       * FtpWebRequest.cs: Applied patch from Jerome Haltom that fixes
+       multi-line responses (after my fix).
+
+       Closes #333978
+
+2007-11-16  Marek Habersack  <mhabersack@novell.com>
+
+       * HttpWebRequest.cs: when folding a request into a GET one, set
+       content length to 0 and kill the buffers. Fixes bug #327314. Patch
+       from Geoff Norton <gnorton@novell.com>, thanks!
+
+2007-11-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * WebRequest.cs : added missing ImpersonationLevel (NIE).
+       * SecurityProtocolType.cs : not [Serializable] in 2.0.
+       * ServicePoint.cs : no GetHashCode() in 2.0.
+       * WebRequestMethods.cs : fixed wrong STOU.
+       * FileWebResponse.cs : no Dispose(true) in 2.0 API.
+
+2007-11-08  Jb Evain  <jbevain@novell.com>
+
+       * WebHeaderCollection_2_1.cs: add a custom WebHeaderCollection
+       for the 2.1 profile.
+
+2007-11-07  Geoff Norton  <gnorton@novell.com>
+
+       * ListenerAsyncResult.cs: Only send the 401 header if our authentication
+       type is Basic or Negotiate (which we default to basic) because that is
+       all we support.  Set the WWW-Authenticate header when we return a 401 
+       result.  Send the correct state object in the async result.
+
+2007-11-06  Geoff Norton  <gnorton@novell.com>
+
+       * ListenerAsyncResult.cs: If the HttpListener has an authentication
+       scheme, the user should be presented with a 401 without calling the 
+       callback.
+
+2007-11-04  Miguel de Icaza  <miguel@novell.com>
+
+       * FtpWebRequest.cs (GetResponseStatus): Fix this routine
+       propertly, refactor, and make it follow Mono coding conventions.
+
+2007-10-30  Jerome Haltom  (wasabi@larvalstage.net)
+
+       * FtpWebRequest.cs: adds support for ftp multiline results, fixes
+       #333978
+
+2007-10-27  Miguel de Icaza  <miguel@novell.com>
+
+       * HttpListener.cs: Remove more trigger-happy disposed=true from
+       the code;   We should only dispose when the Dispose method is
+       actually called.   Not before.  
+
+       Fixes #337371
+
+       *  HttpListener.cs (Close): Closing does not mean dispose the
+       object.   This allows Start/Stop/Start to be called as many times
+       as desired.
+
+       Fixes #337368
+
 2007-10-15  Gert Driesen  <drieseng@users.sourceforge.net>
 
        * FtpWebRequest.cs: Added support for DELETE.