1 2008-10-06 Gonzalo Paniagua Javier <gonzalo@novell.com>
3 * ChunkStream.cs: (ReadTrailer) make sure the array access is not out
4 of bounds. Fixes bug #322715.
6 2008-09-19 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
8 * WebConnectionStream.cs: when receiving a 0 content-length, free up
9 the slot for the next request immediately.
12 2008-09-16 Miguel de Icaza <miguel@novell.com>
14 * IPv6Address.cs: On the 2.0 profile, avoid throwing/catching
15 exceptions inside TryParse.
17 2008-09-12 Miguel de Icaza <miguel@novell.com>
19 * HttpListenerPrefixCollection.cs, EndPointListener.cs,
20 HttpListener.cs, EndPointManager.cs, HttpConnection.cs: Remove
21 generics support where necessary to allow this code to be reused
24 2008-09-08 Miguel de Icaza <miguel@novell.com>
26 * EndPointListener.cs (SearchListener): Cope with the raw_url not
27 being merely a path, but potentially a full URI (see the proxy
30 * HttpListenerRequest.cs: Cope with raw_url not being merely a
31 path, but potentially a full Uri. Also uses TryCreate, hoping
32 that one day it will be faster.
34 2008-08-23 Zoltan Varga <vargaz@gmail.com>
36 * WebConnectionStream.cs (WriteRequest): Fix the copying in the
37 previous patch, when bytes.Length != length.
39 2008-08-22 Zoltan Varga <vargaz@gmail.com>
41 * WebConnectionStream.cs (WriteRequest): For small requests,
42 cluster together the header + body in a single write call, avoids
43 the latency problems observed in an TLS application that makes
44 many web service calls.
46 2008-08-22 Geoff Norton <gnorton@novell.com>
48 * WebConnection.cs: Set NoDelay
50 2008-08-21 Stephane Delcroix <sdelcroix@novell.com>
52 * OpenReadCompletedEventArgs.cs: new Address property for 2.1
54 2008-08-06 Miguel de Icaza <miguel@novell.com>
56 * IPAddress.cs (ParseIPV6): Use an exception-less parser for ipv6
59 * IPv6Address.cs: Rewrite most of the parsing code to not use that
60 incredibly fragile, hacky and hacky implementation.
62 (TryParse): Provide a exception-less parsing path.
64 2008-07-25 Gert Driesen <drieseng@users.sourceforge.net>µ
66 2008-08-06 Atsushi Enomoto <atsushi@ximian.com>
68 * IPAddress.cs : several IPv4 parsing fix exposed by bug #411920.
70 2008-08-05 Atsushi Enomoto <atsushi@ximian.com>
72 * WebClient.cs : it should not invoke delegate directly, but should
73 call overridable OnDownloadProgressChanged.
75 2008-07-25 Gert Driesen <drieseng@users.sourceforge.net>μ
77 * HttpWebResponse.cs: Initialize contentLength in ctor, as it must
78 remain accessible after the response is disposed (and the headers are
79 no longer available). Adding missing disposed checks in properties
80 (except for StatusCode) and GetResponseHeader. On the 2.0 profile,
81 headers must remain accessible after the HttpWebResponse is disposed.
83 2008-06-10 Stephane Delcroix <sdelcroix@novell.com>
85 * IPAddress.cs: allow usage on 2.1 as smcs knows nothing about
86 string.GetEnumerator : IEnumerable<char>
88 2008-06-08 Miguel de Icaza <miguel@novell.com>
90 * ResponseStream.cs: Do not Close the HttpResponse object here as
91 it is possible to issue multiple OutputStream.Close calls (they
92 actually happen implicitly through things like StreamWriter.Close,
93 and they are in various MSDN samples).
95 2008-05-28 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
97 * CookieContainer.cs: apply slightly modified patch from rulatir@wp.pl
98 that fixes bug #356537.
100 2008-04-30 Miguel de Icaza <miguel@novell.com>
102 * WebPermission.cs (ToXml): To allow code that uses WebPermission
105 2008-04-21 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
107 * HttpWebResponse.cs: do not check the disposed status for properties
108 and methods that return response data other than the stream itself.
111 2008-04-16 Marek Habersack <mhabersack@novell.com>
113 * HttpWebRequest.cs: fix an off-by-one bug - the number of
114 redirects must not exceed the value of
115 MaximumAutomaticRedirections. Fixes bug #380131
117 2008-04-13 Jb Evain <jbevain@novell.com>
119 * *_2_1.cs: move the specific 2.1 System.Net code to the
122 2008-04-13 Jb Evain <jbevain@novell.com>
124 * WebRequest_2_1.cs, WebResponse_2_1.cs: new files
125 * HttpWebRequest_2_1.cs, HttpWebResponse_2_1, WebHeaderCollection_2_1:
126 update to Silverlight 2.0b1 API.
127 Merged from the Moonlight 2 branch.
129 2008-04-06 <gnorton@novell.com>
131 * ListenerAsyncContext.cs: Fix Basic authentication support. Patch from
132 Maciej Paszta <paszczi@go2.pl>
134 2008-02-21 Zoltan Varga <vargaz@gmail.com>
136 * HttpConnection.cs (Close): Close the socket even if Shutdown throws an exception.
138 2008-02-17 Daniel Nauck <dna@mono-project.de>
140 * HttpWebResponse.cs: refactored cookie expires parsing to
141 allow all common expires datetime formats.
143 2008-02-09 Daniel Nauck <dna@mono-project.de>
145 * HttpWebResponse.cs: convert UTC/GMT Expires DateTime from a cookie
146 into local time, also set the HttpOnly property if available.
148 2008-02-09 Daniel Nauck <dna@mono-project.de>
150 * Cookie.cs: implemented HttpOnly
152 2008-01-27 Gert Driesen <drieseng@users.sourceforge.net>
154 * IPAddress.cs (Parse): Changed argument name to match MS.
155 (TryParse): Changed argument name to match MS.
156 (ParseIPV4): Only treat zero-length or " " address as empty on 1.0
157 profile. On 2.0 profile, only ignore characters after blank if last
158 part is valid hex string.
159 * IPv6Address.cs: Removed extra spaces and tabs.
161 2008-01-26 Daniel Nauck <dna@mono-project.de>
163 * HttpWebRequest.cs: fixed typo. Use the actual uri for correct
164 cookie header informations and not the originally one.
166 2008-01-26 Daniel Nauck <dna@mono-project.de>
168 * Cookie.cs: set Version to '1' if Port is set,
169 don't include path and domain informations when version is 0,
170 match ToString () output with .NET 2.0,
173 2008-01-15 Atsushi Enomoto <atsushi@ximian.com>
175 * MonoHttpDate.cs : Parse() should return Local time. Fixed bug
178 2008-01-12 Gert Driesen <drieseng@users.sourceforge.net>
180 * WebClient.cs: Do not add trailing CRLF in UploadValuesCore. Fixes
181 standalone test for bug #351049.
183 2008-01-07 Sebastien Pouliot <sebastien@ximian.com>
185 * CredentialCache.cs: Gendarme's AvoidToStringOnStringsRule in
186 CredentialCacheKey constructor. UseStringEmptyRule on CredentialCache
187 static ctor (3 times).
189 2007-12-27 Miguel de Icaza <miguel@novell.com>
191 * WebClient.cs: We catch exceptions that happen on the helper
192 async threads toa void terminating the application on errors, and
193 also raise a variant of the OnXXXXCompleted methods that take an
196 Note that this differs from the .NET implementation in that
197 we actually raise a signal on error, and set the exception, and in
198 their case no error is ever raised.
200 We now call CompleteAsync in the OnXXXCompleted handlers to ensure
201 that the WebClient can be reused immediately by the callback.
205 This also should fix the bug report on IRC where someone
206 complained that they could not "chain" invocations to XXXAsync
207 methods from the OnXXXXCompleted handlers due to the WebClient
208 refusing to work if there was an ongoing operation
210 2007-12-24 Miguel de Icaza <miguel@novell.com>
212 * WebClient.cs: Do not validate method to be null, we do not do
213 that in OpenWrite, the detection is done later on.
217 2007-12-16 Miguel de Icaza <miguel@novell.com>
219 * WebClient.cs: Got the arguments in the wrong order, fix
221 2007-12-12 Marek Habersack <mhabersack@novell.com>
223 * WebClient.cs: DownloadProgressChanged is available only in the
226 2007-12-12 Miguel de Icaza <miguel@novell.com>
228 * WebClient.cs (DownloadFileCore): use longs for the
229 ContentLength, although the other code (loading into a byte array,
230 or a string) still uses ints, the DownloadFileCore should not.
232 2007-12-11 Miguel de Icaza <miguel@novell.com>
236 Lots of fixes to get the *Async methods to work.
238 * WebClient.cs: async, new boolean flag, used to track whether we
239 are an async invocation, and if so, we need to invoke some
242 Switch to using System.Threading.Thread instead of the ThreadPool
243 as there is no way with the ThreadPool to abort threads (to
244 implemente CancelAsync).
246 (CompleteAsync): Helper method used to clear the state after an
247 async operation completes, otherwise the WebClient can only be
250 (CancelAsync): Use Thread.Interrupt to signal the thread that we
251 are aborting it (it is a lot milder than Thread.Abort, and we are
252 in no rush to cancel this anyways); Also the documentation states
253 that we need to call the WebRequest.Abort method, so we do that in
254 every Download instance.
256 (DownloadDataAsync, DownloadFileAsync, DownloadStringAsync,
257 OpenReadAsync, OpenWriteAsync, UplaodDataAsync, UploadFileAsync,
258 UploadStringAsync): Make signature parameters match MS; use
259 threads instead of threadpool (so we can implement CancelAsync),
260 catch ThreadAbortException here so we can also raise the proper
261 DownloadDataCompleteEventArgs.
263 These routines will also call the WebRequest.Abort when
264 appropriate when ThreadInterrupted is used.
266 (ReadAll): Raise DownloadProgressChanged events.
268 2007-12-03 Gert Driesen <drieseng@users.sourceforge.net>
270 * WebClient.cs: Modified argument checks to match MS, and wrap
271 exceptions in a WebException. Fixes bug #343064.
273 2007-12-03 Miguel de Icaza <miguel@novell.com>
275 * FtpWebRequest.cs: Applied patch from Jerome Haltom that fixes
276 multi-line responses (after my fix).
280 2007-11-16 Marek Habersack <mhabersack@novell.com>
282 * HttpWebRequest.cs: when folding a request into a GET one, set
283 content length to 0 and kill the buffers. Fixes bug #327314. Patch
284 from Geoff Norton <gnorton@novell.com>, thanks!
286 2007-11-13 Atsushi Enomoto <atsushi@ximian.com>
288 * WebRequest.cs : added missing ImpersonationLevel (NIE).
289 * SecurityProtocolType.cs : not [Serializable] in 2.0.
290 * ServicePoint.cs : no GetHashCode() in 2.0.
291 * WebRequestMethods.cs : fixed wrong STOU.
292 * FileWebResponse.cs : no Dispose(true) in 2.0 API.
294 2007-11-08 Jb Evain <jbevain@novell.com>
296 * WebHeaderCollection_2_1.cs: add a custom WebHeaderCollection
299 2007-11-07 Geoff Norton <gnorton@novell.com>
301 * ListenerAsyncResult.cs: Only send the 401 header if our authentication
302 type is Basic or Negotiate (which we default to basic) because that is
303 all we support. Set the WWW-Authenticate header when we return a 401
304 result. Send the correct state object in the async result.
306 2007-11-06 Geoff Norton <gnorton@novell.com>
308 * ListenerAsyncResult.cs: If the HttpListener has an authentication
309 scheme, the user should be presented with a 401 without calling the
312 2007-11-04 Miguel de Icaza <miguel@novell.com>
314 * FtpWebRequest.cs (GetResponseStatus): Fix this routine
315 propertly, refactor, and make it follow Mono coding conventions.
317 2007-10-30 Jerome Haltom (wasabi@larvalstage.net)
319 * FtpWebRequest.cs: adds support for ftp multiline results, fixes
322 2007-10-27 Miguel de Icaza <miguel@novell.com>
324 * HttpListener.cs: Remove more trigger-happy disposed=true from
325 the code; We should only dispose when the Dispose method is
326 actually called. Not before.
330 * HttpListener.cs (Close): Closing does not mean dispose the
331 object. This allows Start/Stop/Start to be called as many times
336 2007-10-15 Gert Driesen <drieseng@users.sourceforge.net>
338 * FtpWebRequest.cs: Added support for DELETE.
340 2007-10-15 Gert Driesen <drieseng@users.sourceforge.net>
342 * WebRequest.cs: Changed serialization ctor to throw NIE on 1.0
343 profile. Cache default proxy, but still allow it to be explicitly set
344 to null. Removed commented code.
346 2007-10-14 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
348 * WebRequest.cs: DefaultWebProxy allows a null value. Fixes bug #323668.
350 2007-09-30 Gert Driesen <drieseng@users.sourceforge.net>
352 * HttpListenerRequest.cs: Do not store 'method' in upper case, but
353 instead use case-insensitive comparison.
355 2007-09-30 Gert Driesen <drieseng@users.sourceforge.net>
357 * HttpListenerRequest.cs: Removed dead code. USe String.Length to
358 check for zero-length string. Use instance field for is_chunked, and
359 also set it for GET/HEAD/DELETE. Fixed HasEntityBody to return true
360 when Content-Length > 0, or Transfer-Encoding is chunked.
362 2007-09-28 Marek Habersack <mhabersack@novell.com>
364 * HttpListenerRequest.cs: make sure 'method' is always stored in
366 The DELETE method must not error out on missing Content-Length
367 header (this is the behavior of the MS.NET version of the
368 class). Fixes bug #323215.
369 HasEntityBody should return false when method is GET/HEAD,
370 content_length is less than or equal to zero or the request is
371 chunked. Fixes bug #325296
373 2007-08-29 Atsushi Enomoto <atsushi@ximian.com>
375 * IPAddress.cs, IPv6Address.cs : (ToString) output ScopeId.
377 2007-08-09 Atsushi Enomoto <atsushi@ximian.com>
379 * HttpWebRequest_2_1.cs, HttpWebResponse_2_1.cs :
380 added new sources for those classes for 2.1 (in 2.1 they are
381 almost abstract, while in 2.0 they are concrete).
382 * HttpRequestCreator.cs, ServicePoint.cs :
383 #ifdef 2.0 dependencies out.
385 2007-06-28 Chris Howie <cdhowie@nerdshack.com>
387 * ServicePoint.cs: Implemented BindIPEndPointDelegate.
388 * FtpWebRequest.cs: Respect ServicePoint.BindIPEndPointDelegate.
389 * WebConnection.cs: Respect ServicePoint.BindIPEndPointDelegate.
391 2007-08-08 Jb Evain <jbevain@novell.com>
393 * HttpWebRequest.cs: .ctor(Uri) is public in 2.1.
395 2007-08-03 Jb Evain <jbevain@novell.com>
397 * Dns.cs: remove async methods for the 2.1 profile.
399 2007-07-17 Rodrigo Kumpera <rkumpera@novell.com>
401 * HttpListenerRequest.cs: Support for Cookie decoding.
402 * HttpListenerResponse.cs: Support for encoding cookies on the response sent to the client
403 * Cookie.cs: new internal method to encode the Cookie in a proper form to sent to clients
405 2007-07-14 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
407 * WebConnectionStream.cs: implement the CanTimeout for 2.0. Fixes
410 2007-07-12 Geoff Norton <gnorton@customerdna.com>
412 * HttpListenerContext.cs:
413 * HttpListener.cs: Handle HttpListener AuthenticationSchemes
414 Only Basic authentication is included for now.
416 2007-06-30 Gert Driesen <drieseng@users.sourceforge.net>
418 * NetworkAccess.cs: Only mark as flags enum on 2.0.
420 2007-06-21 Dick Porter <dick@ximian.com>
422 * AuthenticationManager.cs:
431 * ServicePointManager.cs:
432 * HttpWebResponse.cs: Throw NotImplementedException indirectly, to
433 reduce noise in Moma reports.
435 2007-06-20 Atsushi Enomoto <atsushi@ximian.com>
437 * ServicePointManager.cs : (bootstrap) build fix.
439 2007-06-19 Dick Porter <dick@ximian.com>
441 * AuthenticationManager.cs:
442 * IWebProxyScript.cs:
445 * CookieException.cs:
446 * CredentialCache.cs:
449 * FileWebResponse.cs:
453 * DecompressionMethods.cs:
454 * HttpWebResponse.cs:
455 * ProtocolViolationException.cs:
457 * ServicePointManager.cs:
460 * WebHeaderCollection.cs:
462 * WebExceptionStatus.cs: 2.0 profile updates
464 2007-05-18 Gert Driesen <drieseng@users.sourceforge.net>
466 * WebConnectionStream.cs: On read timeout, throw WebException with
467 status Timeout instead of IOException.
469 2007-05-16 Adar Wesley <adarw@mainsoft.com>
471 * CookieCollection.cs: added missing method strongly typed CopyTo.
473 * CredentialCache.cs: added missing methods Add, Remove, GetCredential
475 * HttpWebRequest.jvm.cs: added missing ClientCertificates getter.
477 * ServicePoint.cs: added missing method CloseConnectionGroup.
479 * WebClient.cs: added missing methods OnDownloadProgressChanged,
480 OnUploadProgressChanged, GetWebRequest, GetWebResponse
482 * WebHeaderCollection.cs: added missing methods IsRestricted, Add,
485 * WebProxy.cs: added missing method GetObjectData.
487 2007-05-15 Marek Habersack <mhabersack@novell.com>
489 * HttpWebRequest.cs: fold all methods into GET for
490 redirect/moves. Fixes bug #81624
492 2007-05-07 Miguel de Icaza <miguel@novell.com>
494 Missing second part of the patch.
496 * WebHeaderCollection.cs: To be compatible with older versions of
497 Mono that might have serialized this in a different format, catch
498 the potential exception, and try the old name.
500 This should become a practice whenever we fix serialization in the
505 2007-04-23 Marek Habersack <mhabersack@novell.com>
507 * EndPointListener.cs: relax prefix matching to succeed in cases
508 when the prefix ends with / and the request path does not. Fixes
511 * CookieCollection.cs: added a SortByPath method to sort the
512 collection on demand.
514 * Cookie.cs: do not return "/" for Path if it wasn't set
517 * CookieContainer.cs: set cookie path only if its version is
518 "Netscape" and is null or empty. Fixes #81420.
519 Sort the collection by the path relevance before returning from
520 the GetCookies method. Fixes bug #81421.
522 2007-04-17 Joel Reed <joelwreed@gmail.com>
524 * WebHeaderCollection.cs: www-authenticate should be multivalue.
525 This fixes a bug related to RFC 2608 which says in section
526 "15.2 Offering a Choice of Authentication Schemes"
528 An HTTP/1.1 server may return multiple challenges with a 401
529 (Authenticate) response, and each challenge may use a different
530 scheme. The order of the challenges returned to the user agent is in
531 the order that the server would prefer they be chosen. The server
532 should order its challenges with the "most secure" authentication
533 scheme first. A user agent should choose as the challenge to be made
534 to the user the first one that the user agent understands.
536 Before this change, mono was choosing whatever was sent last,
537 which was the most insecure authentication option.
539 2007-04-10 Marek Habersack <mhabersack@novell.com>
541 * HttpListenerRequest.cs: do not include the query start marker
542 ('?') in the first variable name stored in the QueryString
543 collection. There is no HTTP header 'Accept-Types' in the
544 standard, there's only the 'Accept' header that specifies the
545 accepted MIME types. Fixes bug #81317
547 2007-03-25 Alan McGovern <alan.mcgovern@gmail.com>
549 * IPAddress.cs : Further optimisation for the Swap*** methods.
551 2007-03-24 Alan McGovern <alan.mcgovern@gmail.com>
553 * IPAddress.cs : Optimised the SwapInt and SwapLong methods.
555 2007-03-09 Miguel de Icaza <miguel@novell.com>
557 * FtpDataStream.cs: Close must be called on the stream before we
558 attempt to read a status code from the remote server.
560 Fixes FTP transfers to complete.
562 2007-03-05 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
564 * HttpWebRequest.cs: properly handle OPTIONS, which may or may not
565 have a request body. Fixes bug #80686.
567 2007-03-02 Marek Habersack <mhabersack@novell.com>
569 * WebClient.cs: Overwrite existing files on download, as
570 documented and as tested on MS.NET. Fixes Bug#81005
572 2007-02-24 Gert Driesen <drieseng@users.sourceforge.net>
574 * HttpWebRequest.cs: Allow Proxy to be set to null on 2.0 profile.
576 2007-02-18 Geoff Norton <gnorton@customerdna.com>
578 * AuthenticationManager.cs: Register the modules in the 2.0 profile
579 when we create the ArrayList.
581 2007-02-01 Gert Driesen <drieseng@users.sourceforge.net>
583 * WebProxy.cs: In IsBypassed, move address check back to satify unit
586 2007-01-30 Ilya Kharmatsky <ilyak -at- mainsoft.com>
588 * Dns.cs : implemented proper exception handling under TARGET_JVM
589 when trying to resolve not existing host.
591 2007-01-28 Gert Driesen <drieseng@users.sourceforge.net>
593 * IPAddress.cs: Provide more meaningful exception message on 2.0
596 2007-01-28 Gert Driesen <drieseng@users.sourceforge.net>
598 * FileWebRequest.cs: Fixed PreAuthenticate and Proxy properties to
599 no longer throw NotSupportedException. No longer store ContentLength
600 in headers. Do not allow null or zero-length method. Allow timeout
601 to be set to -1 (infine). Only disallow GET, HEAD and CONNECT requests.
602 Removed workarounds for bug #24943. In (Begin)GetRequest overwrite
603 file if it already exists. Binary serialization compatibility fixes.
604 * FileWebResponse.cs: Return application/octet-stream as ContentType.
606 2007-01-28 Gert Driesen <drieseng@users.sourceforge.net>
608 * WebHeaderCollection.cs: Fixed binary serialization compatibility
611 2007-01-28 Gert Driesen <drieseng@users.sourceforge.net>
613 * WebProxy.cs: Lazy init bypassList. Fixes for binary serialization
614 compatibility. Added stub for UseDefaultCredentials (2.0). On 2.0
615 profile, throw ArgumentNullException in IsBypassed if host is null.
617 2007-01-22 Miguel de Icaza <miguel@novell.com>
619 * HttpWebRequest.cs: Remove unused variable.
621 * FtpWebRequest.cs: Remove unused variable.
623 * WebHeaderCollection.cs: Remove a handful of NotImplementedException's
625 2007-01-11 Miguel de Icaza <miguel@novell.com>
627 * HttpListenerRequest.cs (SetRequestLine): Add validation for the
630 Allow any verbs to go through, not only
631 the white list of verbs.
635 2007-01-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
637 * RequestStream.cs: initialize the stream in both ctors. Fixes a couple
640 2006-12-29 Gert Driesen <drieseng@users.sourceforge.net>
642 * HttpWebRequest.jvm.cs: Fixed line endings.
643 * HttpWebResponse.jvm.cs: Same.
644 * WebException.cs: Same.
645 * FtpWebRequest.cs: Same.
646 * VMWHttpProvider.jvm.cs: Same.
648 2006-12-29 Gert Driesen <drieseng@users.sourceforge.net>
650 * DnsPermissionAttribute.cs: Fixed line endings.
651 * HttpVersion.cs: Same.
652 * FtpWebResponse.cs: Same.
653 * HttpContinueDelegate.cs: Same.
654 * FtpAsyncResult.cs: Same.
655 * EndpointPermission.cs: Same.
656 * IPv6Address.cs: Same.
657 * FtpDataStream.cs: Same.
658 * SocketPermission.cs: Same.
659 * FileWebRequest.cs: Same.
660 * FileWebResponse.cs: Same.
661 * DnsPermission.cs: Same.
662 * ProtocolViolationException.cs: Same.
663 * MonoHttpDate.cs: Same.
664 * SocketPermissionAttribute.cs: Same.
665 * CookieException.cs: Same.
666 * WebResponse.cs: Same.
667 * DefaultCertificatePolicy.cs: Same.
669 2006-12-28 Gert Driesen <drieseng@users.sourceforge.net>
671 * IPAddress.cs: On 1.1, 4-byte addresses are not supported in the
672 ctor. Added null checks for the address passed in the ctors.
674 2006-12-28 Miguel de Icaza <miguel@novell.com>
676 * IPAddress.cs: The condition in 1.1 was broken, it only allowed
677 16-byte addresses, and never 4-byte addresses (only 2.0 had
680 Keep a single code path.
682 Also, remove all the NET_1_1 defines, we realistically only
683 distinguish between 1.1 and 2.0, we wont likely support 1.0, 1.1
684 and 2.0, so remove the 1.0 vs 1.1 conditionals.
688 〓2006-12-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
690 * WebConnectionStream.cs: fix error in my last patch. Thanks to Felipe
693 2006-12-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
697 * WebConnectionStream.cs: detect errors writing headers earlier and
698 avoid race that showed up with SSL. Fixes bug #80234.
700 2006-12-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
702 * EndPointListener.cs:
705 * ChunkedInputStream.cs:
707 * RequestStream.cs: add initial support for HTTPS.
709 2006-12-18 Atsushi Enomoto <atsushi@ximian.com>
711 * FtpStatus.cs : The build gets broken when only-2.0 classes/members
712 are not excluded in 1.x build.
714 2006-12-18 David Elkind <davide@mainsoft.com>
716 * FtpAsyncResult.cs : FTP request is now working and covers about 100% of .NET API
717 * FtpDataStream.cs: FTP request is now working and covers about 100% of .NET API
718 * FtpWebRequest.cs: FTP request is now working and covers about 100% of .NET API
719 * FtpWebResponse.cs: FTP request is now working and covers about 100% of .NET API
720 * FtpStatus.cs: added composite status (includes status code and status description)
722 2006-12-04 Konstantin Triger <kostat@mainsoft.com>
724 * WebRequest.cs, WebResponse.cs: TARGET_JVM limitation workaround.
726 2006-12-04 Konstantin Triger <kostat@mainsoft.com>
728 * ServicePointManager.cs: correct assignment typo.
729 * ServicePoint.cs: Remove unneeded locks for getters, add internal setter.
731 2006-11-27 Miguel de Icaza <miguel@novell.com>
733 * WebRequest.cs: Instead of throwing NotImplemented exceptions,
734 call GetMustImplement, that way we do not need the whitelist, and
735 we save a handful of opcodes.
737 2006-11-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
739 * HttpWebRequest.cs: add 2 more methods that are not supposed to have
740 a body. Fixes bug #80001.
742 2006-11-15 Andrew Skiba <andrews@mainsoft.com>
744 * WebHeaderCollection.cs: add stubs for new 2.0 properties.
746 2006-11-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
748 * HttpWebResponse.cs: cookies are actually added to the request
749 container if any. Fixes bug #79821.
751 2006-11-02 Michael Hutchinson <m.j.hutchinson@gmail.com>
753 * WebRequest.cs: more closely follow MS behaviour: use system settings
754 unless told otherwise, and respect app.config.
756 2006-11-01 Michael Hutchinson <m.j.hutchinson@gmail.com>
758 * GlobalProxySelection.cs: Obsolete GlobalProxySelection under 2.0
759 profile, and move code to new property WebRequest.DefaultWebProxy.
760 * WebRequest.cs: Implement new 2.0 property DefaultWebProxy.
761 Add support for config option UseSystemDefault using simplistic
762 implementation of new 2.0 method GetSystemWebProxy ().
764 2006-10-30 Atsushi Enomoto <atsushi@ximian.com>
766 * FtpWebRequest.cs : more build fixes.
768 2006-10-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
770 * EndPointListener.cs: update comment and avoid exception when the
773 2006-10-30 Miguel de Icaza <miguel@novell.com>
775 * WebRequestMethods.cs: Another typo fix.
777 * ServicePointManager.cs: Set the default properly.
779 * SecurityProtocolType.cs: Remove non-existant defines.
781 2006-10-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
783 * HttpWebRequest.cs: internally allow buffer if it's not a known
784 GET-only method instead of enabling that only for POST/PUT. Fixes bug
787 2006-09-28 Andrew Skiba <andrews@mainsoft.com>
789 * WebConnection.cs: TARGET_JVM
791 2006-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
793 * WebException.cs: patch by Andrew Skiba that fixes serialization
794 compatibility with .NET and the default value for status.
796 2006-09-28 Andrew Skiba <andrews@mainsoft.com>
800 2006-09-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
802 * CookieContainer.cs: send the cookies from the collection we got for
803 the given URI, not the whole collection.
804 * HttpWebResponse.cs: only add the cookies to this instance, not to the
805 cookie container set in the request.
807 2006-09-11 Sebastien Pouliot <sebastien@ximian.com>
809 * WebConnection.cs: Patch to remove the hack that was required for
810 using the older versions of the SSL/TLS classes. This hack is no more
811 required :-). Patch by Gonzalo Paniagua Javier.
813 2006-08-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
815 * HttpConnection.cs: when the content length is available, keep it
816 updated after synchronous read. Renamed 'available' to 'remaining_body'.
817 * RequestStream.cs: when creating the stream, pass the remaining length
818 starting from the offset in the buffer.
820 2006-08-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
822 * RequestStream.cs: make sure we return 0 when no more bytes left.
823 Paticularly, when we have a content length and the whole response is
826 2006-08-20 Miguel de Icaza <miguel@novell.com>
828 * RequestStream.cs (Read): A bug fix for #79112 and what I
829 consider to be an important change.
831 The bug fix is that we update the "available" variable as soon as
832 we consume data from Read, this means that a second call into Read
833 wont block. Available was only being updated on a secondary code
834 path, now we alwaysupdate it after using FillFromBuffer.
836 The second component is what I believe the right behavior should
837 be. There was a check for "if count > available" that set count
838 to available in that case. The idea was to limit the data read
839 from the buffer that belonged to this particular request, to allow
842 But this test was done after FillFromBuffer, which assumed that
843 all the data held in the buffer (the one used by FillFromBuffer)
844 must belong to the this request, and only future data did not.
846 I think my change is correct, but it assumes that the initialized
847 RequestStream will be used for other pipelined HTTP requests,
848 which is not something am 100% sure of, so Gonzalo needs to check
851 2006-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
853 * Cookie.cs: avoid nullref in GetHashCode and Equals.
855 2006-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
857 * CookieCollection.cs:
858 * CookieContainer.cs: remove expired cookies.
860 2006-07-07 Atsushi Enomoto <atsushi@ximian.com>
862 * Dns.cs : (GetHostEntry) when passed IP addresses, it does not issue
863 query to DNS. Patch by Petri Latvala.
865 2006-07-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
867 * CookieContainer.cs: don't send a secure cookie over an insecure
870 2006-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
872 * WebProxy.cs: (IsBypassed) 'loopback', 'localhost' and any address
873 that starts with 127 are special.
875 2006-05-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
877 * HttpListener.cs: Fixes race condition in BeginGetContext. Patch by
878 Pawel Sakowski that fixes bug #78365.
880 2006-05-09 Atsushi Enomoto <atsushi@ximian.com>
882 * ServicePointManager.cs : oops, CONFIGURATION_DEP.
884 2006-05-09 Atsushi Enomoto <atsushi@ximian.com>
886 * GlobalProxySelection.cs : if corresponding config section is
887 DefaultProxySection then use it.
889 2006-05-09 Atsushi Enomoto <atsushi@ximian.com>
891 * WebRequest.cs : if corresponding config section is
892 WebRequestModulesSection then use it.
894 2006-05-09 Atsushi Enomoto <atsushi@ximian.com>
896 * ServicePointManager.cs : if corresponding config section is
897 ConnectionManagementSection then use it.
899 2006-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
902 * HttpListenerResponse.cs: allow 0 length POST. Patch by Horst Reiterer.
905 2006-05-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
907 * CredentialCache.cs: added DefaultNetworkCredentials.
909 2006-05-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
911 * NetworkCredential.cs: implement ICredentialsByHost interface.
913 2006-04-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
915 * WebConnection.cs: reset the challenge and the status code when
916 creating the tunnel and sending the proxy auth. headers. Improve error
917 message when there's an error creating the tunnel.
918 * HttpWebRequest.cs: don't trigger an early throw for a POST that gets
919 a 401 or 407 response.
921 2006-04-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
923 * WebConnectionData.cs:
925 * HttpWebRequest.cs: when tunneling an ssl conneciton through a proxy,
926 we were not handling a proxy authentication request. Fixes bug #78150
929 2006-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
931 * WebProxy.cs: a .ctor was not forwarding the 'credentials' argument.
932 This fixes bug #78150. Also fix the bypass check for local requests.
934 2006-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
936 * WebProxy.cs: removed bogus ^M.
938 2006-04-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
940 * HttpWebResponse.cs: don't remove the Set-Cookie headers. Fixes bug
943 2006-04-04 Atsushi Enomoto <atsushi@ximian.com>
945 * WebClient.cs : added a bunch of async method support.
947 2006-04-03 Chris Toshok <toshok@ximian.com>
949 * HttpWebResponse.cs (ContentEncoding): return "" if the header
952 2006-03-30 Atsushi Enomoto <atsushi@ximian.com>
954 * DownloadStringCompletedEventHandler.cs : missing delegate.
956 2006-03-30 Atsushi Enomoto <atsushi@ximian.com>
958 * Dns.cs : minor argument renaming.
960 2006-03-28 Atsushi Enomoto <atsushi@ximian.com>
962 * DownloadDataCompletedEventArgs.cs
963 DownloadDataCompletedEventHandler.cs
964 DownloadProgressChangedEventArgs.cs
965 DownloadProgressChangedEventHandler.cs
966 DownloadStringCompletedEventArgs.cs
967 OpenReadCompletedEventArgs.cs
968 OpenReadCompletedEventHandler.cs
969 OpenWriteCompletedEventArgs.cs
970 OpenWriteCompletedEventHandler.cs
971 UploadDataCompletedEventArgs.cs
972 UploadDataCompletedEventHandler.cs
973 UploadFileCompletedEventArgs.cs
974 UploadFileCompletedEventHandler.cs
975 UploadProgressChangedEventArgs.cs
976 UploadProgressChangedEventHandler.cs
977 UploadStringCompletedEventArgs.cs
978 UploadStringCompletedEventHandler.cs
979 UploadValuesCompletedEventArgs.cs
980 UploadValuesCompletedEventHandler.cs : added 2.0 types.
982 2006-03-28 Atsushi Enomoto <atsushi@ximian.com>
984 * Dns.cs : filled missing NET_2_0 members.
986 2006-03-28 Atsushi Enomoto <atsushi@ximian.com>
988 * IPAddress.cs : ugh, I was testing with run-test-ondotnet, not
989 run-test. Those IPv6 properties needed to be reimplemented.
991 2006-03-27 Atsushi Enomoto <atsushi@ximian.com>
993 * IPAddress.cs : added NET_2_0 TryParse() and IPv6 related properties.
995 2006-03-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
997 * WebConnectionStream.cs: avoid Begin/EndWrite when the body length is
1000 2006-03-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1002 * HttpWebRequest.cs: send the request if ContentLength is set for
1003 POST/PUT, the request stream has that exact amount of bytes in it and
1004 we're trying to get the response stream.
1006 This way, closing the request stream is not needed in order to actually
1007 send the request. Fixes bug #77753.
1009 * WebConnectionStream.cs: throw if the number of bytes written is
1010 greater than the specified request content length.
1012 2006-03-11 Miguel de Icaza <miguel@novell.com>
1014 * WebClient.cs: Only expose the right methods to avoid warnings.
1016 * FtpDataStream.cs (Dispose): Fix signature.
1018 * FtpWebResponse.cs: Comment out keepAlive field (unused, sounds
1019 like we are missing features here).
1021 * IPAddress.cs: Move m_HashCode property to the end, and set
1022 pragmas to disable warnings.
1024 2006-02-16 Dick Porter <dick@ximian.com>
1026 * IPEndPoint.cs: The SocketAddress AddressFamily takes up the
1027 first two bytes, not just one. Check the size of the
1028 SocketAddress buffer for IPv6 as well.
1030 * Dns.cs: Cope when GetHostByName_internal or
1031 GetHostByAddr_internal returns fewer items in the array than it
1032 intended to (maybe due to conversion errors.)
1034 2006-02-09 Carlos Alberto Cortez <calberto.cortez@gmail.com>
1036 * FtpWebResponse.cs: Add UpdateStatus method, to update both
1037 statusCode and statusDescription at the same time.
1039 2006-02-08 Carlos Alberto Cortez <calberto.cortez@gmail.com>
1041 * FtpWebRequest.cs: Remove WebExceptionStatus argument
1042 from CreateExceptionFromResponse, since exceptions gotten
1043 from server response always have a WebExceptionStatus.ProtocolError
1046 2006-02-08 Carlos Alberto Cortez <calberto.cortez@gmail.com>
1048 * FtpWebRequest.cs: Add renaming support when using
1049 WebRequestMethods.Ftp.Rename method.
1051 2006-02-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1053 * ChunkedInputStream.cs:
1054 * ChunkStream.cs: handle partial trailers and zero reads. Patch by Pawel
1057 2006-02-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1059 * HttpWebRequest.cs: don't send the expect-100 if if there's no content.
1061 * HttpListenerRequest.cs:
1062 * HttpConnection.cs:
1063 * RequestStream.cs: use the content length header to avoid reading past
1064 the end of the stream.
1066 Patch by Horst Reiterer.
1068 2006-02-01 Carlos Alberto Cortez <calberto.cortez@gmail.com>
1070 * FtpWebRequest.cs: Add supportedCommands array with the sorted
1071 methods, to search using Array.BinarySearch. Remove CheckMethod.
1073 2006-02-01 Carlos Alberto Cortez <calberto.cortez@gmail.com>
1075 * FtpWebRequest.cs: Fixed some typos and small issues.
1077 2006-02-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1079 * HttpWebRequest.cs: dummy implementation of UnsafeAuthenticationBlah
1082 2006-02-01 Carlos Alberto Cortez <calberto.cortez@gmail.com>
1084 * FtpRequestCreator.cs:
1085 * FtpAsyncResult.cs:
1088 * FtpWebResponse.cs: Initial implementation of FtpWebRequest (2.0)
1090 2006-02-01 Carlos Alberto Cortez <calberto.cortez@gmail.com>
1092 * FtpStatusCode.cs: Fix a typo.
1094 2006-01-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1096 * WebClient.cs: (2.0) UploadString() returns string, not void.
1098 2006-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1100 * HttpWebResponse.cs: ignore non-integer values for max-age and version.
1101 Fixes bug #77199. Thanks to Cyrille Colin.
1103 2006-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1105 * HttpWebResponse.cs: cope with malformed cookies with '=' as value.
1106 Patch by Cyrille Colin. Fixes bug #77179.
1108 2005-12-25 Carlos Alberto Cortez <calberto.cortez@gmail.com>
1110 * FtpStatusCode.cs: New 2.0 enum.
1112 2005-12-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1114 * CookieContainer.cs: fix matching of subdomains. Patch by Cyrille
1117 2005-12-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1119 * HttpWebResponse.cs: don't loop forever when no name or value between
1120 semicolons. Fixes bug #76943.
1122 2005-12-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1124 * HttpWebResponse.cs: don't fail if the cookie ends with a 'name'
1125 without a value. Fixes bug #76922.
1127 2005-11-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1129 * EndPointListener.cs:
1130 * HttpListenerRequest.cs: don't require the Host header for 1.0. Just
1131 map that to the '*' or '+' host.
1133 2005-11-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1135 * IPAddress.cs: the byte[] ctor supports length 4 in .NET 2.0.
1138 2005-11-21 Senganal T <tsenganal@novell.com>
1140 * Dns.cs : corrected a mistake in GetHostEntry ()
1142 2005-11-21 Senganal T <tsenganal@novell.com>
1144 * Dns.cs : added GetHostEntry() method for 2.0 api conformance
1146 2005-11-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1148 * HttpRequestHeader.cs: add missing values.
1150 2005-11-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1152 * HttpListenerPrefixCollection.cs:
1153 * HttpWebResponse.cs:
1155 * HttpListenerRequest.cs:
1156 * HttpWebRequest.cs:
1157 * HttpListenerResponse.cs: a few signature fixes for 2.0.
1159 2005-11-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1161 * HttpListenerPrefixCollection.cs:
1162 * EndPointListener.cs:
1163 * HttpStreamAsyncResult.cs:
1164 * HttpListenerContext.cs:
1165 * HttpListenerBasicIdentity.cs:
1166 * AuthenticationSchemeSelector.cs:
1168 * WebHeaderCollection.cs:
1169 * ListenerPrefix.cs:
1170 * HttpListenerException.cs:
1171 * HttpResponseHeader.cs:
1172 * EndPointManager.cs:
1173 * HttpListenerRequest.cs:
1174 * HttpRequestHeader.cs:
1175 * BindIPEndPoint.cs:
1176 * ResponseStream.cs:
1177 * ChunkedInputStream.cs:
1178 * HttpStatusCode.cs:
1179 * ListenerAsyncResult.cs:
1181 * HttpConnection.cs:
1183 * HttpListenerResponse.cs:
1184 * RequestStream.cs: initial implementation of HttpListener. There are
1185 a few TODOs left (cookies, HTTPS) but almost everything else is in.
1187 2005-11-15 Sebastien Pouliot <sebastien@ximian.com>
1189 * IPv6Address.cs: Added on overload to ToString to get a the full
1190 length address returned (as required by System.Uri).
1192 2005-11-15 Carlos Alberto Cortez <calberto.cortez@gmail.com>
1194 * WebRequestMethods.cs: New 2.0 class.
1196 2005-11-05 Atsushi Enomoto <atsushi@ximian.com>
1198 * WebClient: use POST for DownloadData(). Fixed bug #76631.
1200 2005-10-26 Atsushi Enomoto <atsushi@ximian.com>
1202 * AuthenticationSchemes.cs : Fixed enum values and added [Flags].
1204 2005-10-19 Atsushi Enomoto <atsushi@ximian.com>
1206 * WebClient.cs : added net_2_0 DownloadString() and DownloadData()
1207 with HTTP method as well.
1209 2005-10-19 Atsushi Enomoto <atsushi@ximian.com>
1211 * WebClient.cs : added UploadString() and Encoding (net_2_0). Added
1212 some new overloaded stuff that takes Uri instead of string address.
1214 2005-10-17 Sebastien Pouliot <sebastien@ximian.com>
1216 * ICredentialPolicy.cs: New. Interface for 2.0.
1218 2005-10-05 Atsushi Enomoto <atsushi@ximian.com>
1220 * AuthenticationSchemes.cs : new 2.0 enum.
1222 2005-08-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1224 * GlobalProxySelection.cs: remove double lock.
1225 * HttpWebRequest.cs: remove double lock in GetServicePoint() and use
1226 a private object when locking.
1228 2005-07-15 Miguel de Icaza <miguel@novell.com>
1230 * DigestClient.cs: Fix bug #75556, the qop argument must be
1231 quoted, per http://www.faqs.org/rfcs/rfc2617.html section
1234 2005-07-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1236 * WebConnectionStream.cs: initiate writing the body before trying to
1237 read. This fixes the performance problems observed in web services.
1240 2005-06-27 Lluis Sanchez Gual <lluis@novell.com>
1242 * IPAddress.cs: Changed field names for the sake of serialization
1243 interoperability with MS.NET.
1245 2005-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1247 * WebConnection.cs: if cnc.EndRead throws, mark the asyncresult as done.
1248 * WebConnectionStream.cs: if we're done with the body of a chunk, don't
1249 require the next chunk header to be there, as some servers might close
1250 the connection (while also sending 'Connection: close').
1252 2005-06-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1254 * HttpWebRequest.cs: MS implementation follows redirects for POST. Seems
1255 to me that this is against 10.3.3 in RFC 2616, but may be the user
1256 'authorization' to do this is implicit in AllowAutoRedirect...
1258 2005-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1260 * WebConnection.cs: SslClientStream.BeginRead might not be asynchronous
1261 if there's no record available to read. This is a workaround that makes
1262 the call to BeginRead itself asynchronous. Fixes bug #75342.
1264 2005-06-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1267 * HttpWebRequest.cs:
1268 * WebConnectionStream.cs: initiate the polling for input data after
1269 sending the header so that we detect any response that the server sends
1270 back even if we're still trying to write the request for a POST/PUT.
1271 If we get the response (or an error) before any one calls GetResponse(),
1272 keep it around instead of ignoring it.
1274 2005-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1276 * HttpWebRequest.cs: send the right header/user/password in
1277 PreAuthenticate in presence of a proxy.
1279 2005-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1281 * IPv6Address.cs: fix IsLoopback. Closes bug #75128.
1283 2005-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1285 * IPv6Address.cs: don't do extra check on ipv4 if this is a ipv6
1286 address. Fixes bug #75125.
1288 2005-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1290 * ServicePointManager.cs: when going through a proxy, use 2 different
1291 service points depending on the scheme. Fixes bug #75135.
1293 2005-05-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1295 * Dns.cs: don't parse the address when it comes from an IPAddress.
1297 2005-05-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1299 * WebConnection.cs: prevent 2 nullrefs when the aborting during
1300 Connect() and reset the status to Success before starting a new
1303 2005-05-19 Sebastien Pouliot <sebastien@ximian.com>
1305 * WebRequest.cs: Throw NotImplementedException (not NotSupported
1306 Exception) for stuff that should have been abstract. No exception
1307 is thrown by the serialization constructor.
1309 2005-05-04 James Willcox <james@ximian.com>
1311 * DigestClient.cs: convert to a hex string with "X8" consistently
1314 2005-05-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1316 * WebConnection.cs: don't rethrow errors in Write, as the error will be
1317 received by GetResponse*. The result is that the threadpool thread doing
1318 this will not end up printing the exception. Fixes bug #74817.
1320 2005-05-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1322 * ServicePoint.cs: HostEntry needs to be thread safe.
1324 2005-05-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1326 * WebConnection.cs: removed a 'slightly' important line by mistake.
1327 * WebConnectionStream.cs: if the transfer encoding is chunked, ignore
1328 content-length header if present.
1330 2005-05-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1332 * WebConnection.cs: no need to use an AutoResetEvent.
1333 * WebConnectionStream.cs: don't start any more reads on the socket
1334 after getting a 0 signalling the end. This fixes Ben's infamous foo.cs
1337 2005-04-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1339 * BasicClient.cs: firefox/IE just send latin1, stripping the high byte
1340 from unicode >= 256 characters.
1342 2005-04-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1344 * BasicClient.cs: use latin1 when encoding the username/domain/password.
1347 2005-04-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1349 * WebConnectionStream.cs: if the BeginRead/BeginWrite is completed
1350 synchronously, no need to create the ManualResetEvent to wait on.
1352 2005-04-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1354 * WebConnectionStream.cs: call SetComplete in EndWrite when we're not
1355 buffering the request body. Fixes bug #74637.
1357 * WebAsyncResult.cs: renamed field.
1359 2005-04-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1361 * WebConnectionStream.cs:
1362 * WebAsyncResult.cs: ensure we only call EndRead once per async. result.
1363 Update total before invoking the callback when present.
1365 2005-04-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1368 * WebConnectionStream.cs: don't start reading until we've sent at least
1369 the headers. This way we ensure that a Write happens before any Read,
1370 which is needed by the SSL code.
1372 2005-04-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1374 * HttpWebRequest.cs: ensure we read everything before redirecting.
1376 2005-04-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1378 * WebConnectionStream.cs: provide a default callback when doing async.
1379 read/write and waiting for a timeout so that the callback sets the
1380 event and we don't block forever. Fixes bug #74539 take 3.
1382 2005-04-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1385 * HttpWebRequest.cs: now Abort() works properly. Fixes bug #74177.
1387 2005-04-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1389 * WebConnection.cs: fix some breakage from my last patch.
1390 * WebConnectionStream.cs: invoke the callback when done even in EndRead.
1392 2005-04-10 Sebastien Pouliot <sebastien@ximian.com>
1394 * WebConnection.cs: Added support for TrustFailure when throwing a
1395 WebException. Fix bug #74286.
1397 2005-04-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1399 * HttpWebRequest.cs:
1400 * WebConnectionStream.cs: implemented support for ReadWriteTimeout.
1402 2005-04-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1404 * WebConnection.cs: if we're reading chunked data and didn't use the
1405 stream to read, we gotta set the async. result as complete and invoke
1406 the callback. Don't call nstream.EndRead with the wrong IAsyncResult.
1408 * WebConnectionStream.cs: in EndRead, pass the correct IAsyncResult to
1409 cnc.EndRead. Lock on a field instead of 'this'.
1411 2005-04-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1413 * HttpWebRequest.cs: throw the exception if we got an error, as now
1414 it's catched in the redirection handling code.
1416 2005-04-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1418 * HttpWebRequest.cs: moved redirection handling to a proper place.
1420 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1422 * WebHeaderCollection.cs: added if-modified-since to the list of
1425 * ServicePoint.cs: use a field object when locking.
1427 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1429 * WebConnectionStream.cs: ForceCompletion actually calls NextRead. No
1430 need to wait for a Close/ReadAll when we have no content.
1432 2005-04-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1434 * NtlmClient.cs: fix typo in assembly name.
1436 2005-03-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1438 * CookieContainer.cs: adding to a CookieCollection might not increment
1439 the number of items if the cookie is replaced. Now Count works properly.
1440 Fixed an array index exception (typo).
1442 * CookieCollection.cs: also compare the version.
1444 * HttpWebResponse.cs: when we have cookies, add them to the request
1447 * HttpWebRequest.cs: changed last parameter of HttpWebResponse ctor.
1449 2005-03-30 Miguel de Icaza <miguel@novell.com>
1451 * Cookie.cs: Compare using the InvariantCulture, to match the
1452 behavior of CookieContainer that already did this.
1454 2005-03-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1456 * WebConnection.cs: we don't need to trigger the next queued request
1457 until the response is closed.
1459 2005-03-29 Miguel de Icaza <miguel@novell.com>
1461 * HttpWebResponse.cs: Handle quotations in the cookies values, per
1462 the spec http://www.faqs.org/rfcs/rfc2109.html, it is allowed to
1465 2005-03-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1468 * DigestClient.cs: check that GetCredential() does not return null.
1470 2005-03-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1472 * BasicClient.cs: ensure credentials are not null.
1474 2005-03-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1476 * HttpWebResponse.cs: moved cookie parsing into its own class.
1477 * WebHeaderCollection.cs: remove (probably bogus) GetMultipleValues
1479 * HttpWebRequest.cs: don't let exception raised in the ctor of
1480 HttpWebResponse vanish.
1484 2005-03-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1486 * WebHeaderCollection.cs: handle commas inside quotes when splitting
1487 a multi-value header. Fixes bug #73151.
1489 2005-02-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1491 * DigestClient.cs: fix for digest auth. and URIs containing query. Patch
1492 by James Wilcox. Fixes bug #72571.
1494 2005-02-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1496 * HttpWebResponse.cs:
1498 * HttpWebRequest.cs:
1499 * WebConnectionStream.cs: don't read the entire response unless the
1500 user requests it. Fixes bug #72443.
1502 2005-02-08 Zoltan Varga <vargaz@freemail.hu>
1504 * IPv6Address.cs: Fix endianess problems.
1506 * IPAddress.cs: Fix misleading comments.
1508 2005-02-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1510 * HttpWebRequest.cs: send the headers when we're supposed to write
1511 a POST/PUT but call GetResponse before GetRequestStream.
1513 * WebConnectionStream.cs: new RequestWritten property.
1515 2005-01-20 Jonathan Pryor <jonpryor@vt.edu>
1517 * EndpointPermission.cs: Fix IsSubsetof(hostname) so that the regression
1518 tests work. In particular, IsSubsetOf ("12.13.*.*", "12.13.14.*") failed
1519 because 14 wasn't a subset of * (which it is). Fix: if part1 is we
1520 continue to the next portion.
1522 2005-01-20 Jonathan Pryor <jonpryor@vt.edu>
1524 * IPAddress.cs (ParseIPV4): Fix so that the regression tests work. In
1525 particular, " foo" and ".1.1.6" weren't being caught (" foo" because it
1526 started with a space, and ".1.1.6" because the split string accepted a
1527 0-length portion, which would make 1...6 valid, but isn't valid based on
1528 similar test cases).
1530 2005-01-20 Jonathan Pryor <jonpryor@vt.edu>
1532 * WebHeaderCollection.cs: Fix GetValues(string) to split the values on
1533 commas if the header is a Multi-Value header. This matches
1534 MonoTests.System.Net.WebHeaderCollectionTest.
1536 2005-01-19 Sebastien Pouliot <sebastien@ximian.com>
1538 * WebPermissionAttribute.cs: Fixed NET_1_1 behaviour.
1540 2004-12-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1542 * WebConnectionStream.cs: remove unneeded check. Write detects and
1543 triggers the exception now.
1545 2004-12-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1547 * AuthenticationManager.cs: don't lock on a public Type.
1548 * HttpWebRequest.cs: read the error response for auth. errors.
1550 2004-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1552 * HttpWebRequest.cs: set webResponse back to null when redirecting.
1553 Fix the previous patch so that it reads the whole response even if
1554 auto-redirect is not enabled. Closes bug #70484.
1556 2004-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1558 * HttpWebResponse.cs: added ReadAll method.
1560 * WebConnection.cs: in HandleError, set the response error after
1561 closing the socket. Use an async. delegate to finish reading any prior
1562 WebConnectionStream.
1564 * HttpWebRequest.cs: for error responses that allow content, read the
1565 stream immediately. Fixes bug #70483.
1567 2004-12-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1569 * CookieContainer.cs: quote the port number.
1571 2004-12-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1574 * WebConnectionStream.cs: removed TryReconnect. It's no longer needed.
1576 2004-12-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1578 * WebConnection.cs: set the event in Close so that if the queue is
1579 empty, we won't block forever on next request. The finalizer was
1580 removed because we're not implementing IDisposable pattern here.
1582 2004-12-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1584 * WebConnection.cs: handle errors on chunked streams. Fixes bug #66858.
1585 * ChunkStream.cs: added error checking all over.
1587 * HttpWebRequest.cs: throw the exception received in SetResponseError
1588 if we already have a response.
1589 (SetRequestData): Don't nest the exception if it's a WebException.
1591 2004-12-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1593 * WebConnection.cs: remove prevStream and don't set busy to false in
1594 HandleError. prevStream is not needed any more and setting 'busy' so
1595 early might let a request skip the queue.
1597 * WebConnectionGroup.cs: decrement the indexer when removing a dead
1598 reference from the arraylist.
1600 * WebConnectionStream.cs:
1601 (ReadAll): call NextRead if it has not been called before even when
1602 we have completed the request. Reuse the read buffer when reading a
1603 response of unknown size. Increase the buffer to 8kB.
1604 (BeginRead): increase pendingReads earlier and even when reading from
1605 the internal buffer.
1606 (EndRead): decrease pendingReads later and always.
1608 2004-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1610 * CookieContainer.cs: style, fixed checks for properties, implemented
1611 the MonoTODOs for the method that take an Uri. GetCookies and
1612 GetCookieHeaders now really return only the cookies that are requested
1613 filtering by the Uri parameter.
1615 * Cookie.cs: style, added default values for Comment, Domain and Port.
1617 2004-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1619 * CookieCollection.cs: reformatted, fixed Add by adding a new method to
1620 search across the arraylist, as list.IndexOf is not what we want.
1622 2004-11-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1624 * WebConnection.cs: check for FIN or RST on the socket before reusing.
1627 2004-11-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1629 * ChunkStream.cs: simplified condition for WantMore property.
1631 * WebConnection.cs: in Connect(), finish any pending reads we might
1632 have for chunked data. Ignore possible blank lines at the very
1633 beginning of the server response. Honor user set KeepAlive in
1634 HttpWebRequest for HTTP/1.1 connections. Thanks to Eyal Alayuf for
1635 his suggestions and code.
1637 2004-11-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1639 * HttpWebResponse.cs: don't lock up when the cookie received ends with
1640 a semicolon. Patch by Darryl VanDorp. Fixes bug #68956.
1642 2004-10-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1644 * HttpWebRequest.cs: don't fail if the request has already been sent
1645 when accessing ContentType setter. Fixes bug #68848.
1647 2004-10-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1650 (WantMore): we're not done until we get a 0 chunk size and the trailer.
1651 The 0 can be expressed as more than one character too (ie, 000000).
1653 * HttpWebRequest.cs: new argument in SetResponseError.
1654 * WebConnection.cs: added argument to HandleError as a hint for
1656 (Connect): make the chunked stream be in the expected state when
1659 * WebConnectionStream.cs: removed unused method (ResetWriteBuffer).
1661 2004-10-10 David Sheldon <dave-mono@earth.li>
1663 * HttpWebRequest.cs: Use RemoveAndAdd for AddRange. Fixes unittest.
1665 2004-10-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1667 * HttpWebRequest.cs: use RemoveAndAdd for headers multivalue headers.
1668 * WebHeaderCollection.cs: added RemoveAndAdd that behaves like the old
1671 2004-10-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1673 * HttpWebRequest.cs: ProxyQuery returns true when we use a proxy without
1674 tunneling a secure connection.
1676 * ServicePoint.cs: added UseConnect property.
1678 * ServicePointManager.cs: set the UseConnect property when we use a http
1679 proxy for a https connection.
1681 * WebConnection.cs: setup the tunnled connection when using a proxy and
1684 2004-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1686 * HttpWebResponse.cs: remove unused SplitValue method.
1688 2004-09-10 Sebastien Pouliot <sebastien@ximian.com>
1690 * DnsPermission.cs: Updated to pass new unit tests.
1691 * DnsPermissionAttribute.cs: Cleanup.
1692 * SocketPermission.cs: Updated to pass new unit tests.
1693 * SocketPermissionAttribute.cs: Updated to pass new unit tests.
1694 * WebPermission.cs: Implemented some TODO - not complete yet.
1695 * WebPermissionAttribute.cs: Updated to pass new unit tests.
1697 2004-08-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1699 * Cookie.cs: don't fail when using default constructor. Fixes bug
1702 2004-08-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1704 * HttpWebResponse.cs: set-cookie and set-cookie2 can be present more
1705 than once and have multiple values. Don't rely on string.split when
1706 parsing cookie values.
1708 * WebHeaderCollection.cs: same thing for set-cookie and set-cookie2.
1709 Fixed GetValues (it was splitting values that contained a comma) and
1710 changed SetInternal to handle multi-value headers.
1714 2004-07-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1716 * WebProxy.cs: fix scheme detection. Patch by Konstantin Triger
1717 (kostat@mainsoft.com).
1719 2004-07-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1721 * HttpWebRequest.cs: detect changes in scheme or port when redirecting.
1722 Fixes las take on bug 61218.
1724 2004-07-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1726 * WebConnection.cs: moved loading of the ssl stream Type to its own
1727 method. Don't create a new ssl stream if we're reusing the connection.
1729 * WebConnectionStream.cs: ensure the number of bytes copied in ReadAll
1730 is the expected even if the dta from the server has extra bytes.
1732 2004-07-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1735 * WebConnectionStream.cs: when the status code is 1xx, 204 or 304,
1736 "responses MUST NOT include a message-body". We tried to read the
1737 stream even when getting those codes and considered the 0 length
1740 2004-07-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1742 * HttpWebRequest.cs: removed bogus Monitor.Exit.
1743 * WebConnection.cs: use Address instead of RequestUri when checking for
1744 the scheme in order to select the stream type. Fixes bug #61218.
1746 2004-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1748 * ChunkStream.cs: added ChunkLeft property.
1750 (EndRead): when using small byte arrays to read from a chunked stream,
1751 ensure we've read the chunk size and try to fulfill the request
1752 completely. fixes bug 59653.
1754 2004-05-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1756 * WebConnectionStream.cs: fixed CanRead property. Closes bug #59273.
1758 2004-05-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1760 * DigestClient.cs: cache the sessions based on address and
1761 credentials, not only address. Added poor men's expiration to
1762 the session cache. Fixes bug #59202.
1764 2004-05-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1768 * IPv6Address.cs: no more warnings about IPAddress.Address.
1770 2004-05-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1772 * WebException.cs: implemented serialization .ctor and
1775 2004-05-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1777 * WebAsyncResult.cs: don't create the WaitHandle if not needed.
1779 2004-05-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1781 * HttpWebRequest.cs: added 3 missing properties for 1.1. They are not
1784 * NetConfig.cs: added MaxResponseHeadersLength field.
1787 * ServicePointManager.cs: added missing properties for 1.1.
1789 2004-05-03 Sebastien Pouliot <sebastien@ximian.com>
1791 * WebConnection.cs: Use assembly name const to load Mono.Security.
1793 2004-05-03 Lluis Sanchez Gual <lluis@ximian.com>
1795 * NtlmClient.cs: Use assembly name const to load Mono.Security.
1797 2004-04-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1799 * WebConnectionStream.cs: avoid the exception when getting the content
1802 2004-03-29 Lluis Sanchez Gual <lluis@ximian.com>
1804 * HttpWebRequest.cs: Use a lock block instead of Monitor.Enter/Exit, so
1805 the lock is released in case of exception (for example, a
1806 ThreadAbortException). This also "fixes" bug #52417.
1807 Beware, this requires a runtime update (due to a bug in Monitor.Exit).
1808 * ServicePoint.cs: Changed method from internal to private, since it
1809 is not called from outside the class.
1811 2004-03-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1813 * HttpWebRequest.cs: added the exception status to the error message.
1814 * WebConnection.cs: add headers using SetInternal instead of Add to
1815 bypass header name validation. Fixes bug #55994.
1816 * WebHeaderCollection.cs: added SetInternal (string header).
1818 2004-03-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1821 * WebConnectionGroup.cs: the requests queue is now shared for all the
1822 connections belonging to the same connection group.
1824 2004-02-26 Sebastien Pouliot <sebastien@ximian.com>
1826 * DefaultCertificatePolicy.cs: New. Certificate validation
1827 policy compatible with the documented one present in Fx. It
1828 allows valid certificates and expired certificates to be used
1829 for SSL connections.
1830 * ServicePointManager.cs: Removed the DummyPolicy. Now creates
1831 a DefaultCertificatePolicy to validate certificates.
1833 2004-02-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1835 * ServicePoint.cs: SendContinue is always false for HTTP/1.0
1837 * WebConnection.cs: get rid of WaitForContinue() (yes!) and prevent
1838 calling more the ContinueDelegate more than once when we get the
1839 headers in several packets.
1841 * WebConnectionStream.cs: removed call to WaitForContinue.
1843 2004-02-25 Sebastien Pouliot <sebastien@ximian.com>
1845 * WebConnection.cs: Update previous patch to use HttpsClientStream
1846 (internal in Mono.Security assembly) in place of SslClientStream.
1847 This will reduce reflection and allow to use ICertificatePolicy.
1849 2004-02-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1851 * DigestClient.cs: fix quote handling. Reordered attributes in response.
1852 Fixed typo (QOP->CNonce). Now Digest works with apache2.
1854 2004-02-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1856 * DigestClient.cs: removed Console.
1857 * HttpWebRequest.cs: 401/407 were hanging for GET. Fixed.
1859 2004-02-24 Sebastien Pouliot <sebastien@ximian.com>
1861 * DigestClient.cs: Fixed issue with Apache server which do not use "
1862 for specifying the digest algorithm (.e.g. algorithm=MD5 not ="MD5").
1864 2004-02-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1866 * HttpWebRequest.cs: arghhh. I used the server response headers instead
1867 of what the client is supposed to send. Thanks to Helge Hess.
1869 2004-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1871 * AuthenticationManager.cs: implemented PreAuthenticate().
1873 * HttpWebRequest.cs: once we know the version of the server, use it if
1874 below the requested one. Remove 'Expect', 'Content-Length' and /or
1875 'Transfer-Encoding' if appropiate due to changes in version. Fixed
1876 'Host' header for non-standard ports. Support preauthentication. Closes
1879 2004-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1881 * HttpWebRequest.cs: check for missing or wrong URI in Location header
1884 * WebConnection.cs: if the data read does not contain all the headers,
1885 keep it around and read the rest until we get to the response body.
1886 Allow response code with no description. Fixed bug #54543.
1888 2004-02-18 Sebastien Pouliot <sebastien@ximian.com>
1890 * SecurityProtocolType.cs: Added missing [Serializable] to enum. Added
1891 Default and Ssl2 to NET_2_0 profile. Enum is now internal for NET_1_0
1892 profile (as we need it for SslClientStream).
1893 * ServicePoint.cs: Added internal SetCertificates(client,server).
1894 * ServicePointManager.cs: Added CheckCertificateRevocationList and
1895 CheckCertificateRevocationList static properties (public in 1.1,
1897 * WebConnection.cs: Dynamically creates a SslClientStream (from
1898 Mono.Security assembly) in case of https. Changed NetworkStream to
1901 2004-02-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1903 * HttpWebRequest.cs: send the 'Connection: keep-alive' header when we
1904 don't know the server version or it's 1.0.
1906 * ServicePoint.cs: added SetVersion.
1908 * WebAsyncResult.cs: remove ChunkAsyncResult.
1910 * WebConnection.cs: set the ServicePoint version when getting a response
1913 * WebConnectionStream.cs: when posting chunked content, send the head,
1914 body and trailer of the chunk at once instead of doing 3 separate
1915 writes, which may cause troubles.
1917 2004-02-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1919 * WebConnection.cs: if we get a 100 when we're not waiting for it, set
1920 that information in the ServicePoint.
1922 * WebConnectionStream.cs: send headers in the right order for
1925 2004-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1927 * WebConnectionStream.cs: fixed nullrefs in BeginWrite/EndWrite.
1929 2004-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1931 * HttpWebRequest.cs: on second and sucesive tries when authenticating,
1932 don't use chunked encoding for POST, as we know the content length and
1933 have the body. Nullify bodyBuffer always in CheckFinalStatus.
1935 * WebAsyncResult.cs: added ChunkAsyncResult property. It holds the
1936 IAsyncResult when writing CRLF at the end of a chunk.
1938 * WebConnectionStream.cs: support sending chunked data.
1940 2004-01-24 Lluis Sanchez Gual <lluis@ximian.com>
1942 * HttpWebRequest.cs: When retrying a POST request after an
1943 authentication failure, resend the body. This fixes bug #51841.
1944 * WebConnectionStream.cs: Added properties for getting what's been
1947 2004-02-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1949 * HttpWebRequest.cs: don't send 'Expect: 100-continue' for 1.0 version.
1951 2004-02-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1953 * HttpWebRequest.cs: support proxy authentication.
1955 2004-02-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1958 * DigestClient.cs: use IndexOf instead of StartsWith to deal with
1959 servers that provide several authentication schemas.
1961 2004-02-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1963 * ChunkStream.cs: use an array of buffers instead of a MemoryStream for
1964 storing the chunks. This way, we won't miss traling data from the
1965 previous chunk when a new one is received before the other is fully
1968 2004-01-27 Nick Drochak <ndrochak@ieee.org>
1971 * HttpWebRequest.cs:
1975 * WebConnectionStream.cs: Remove unused variables thus eliminating some
1978 2004-01-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1980 * WebConnection.cs: patch by Yaacov Akiba Slama that fixes 100-continue
1981 handling for the case when the same packet also contains the actual
1984 2004-01-24 Lluis Sanchez Gual <lluis@ximian.com>
1986 * HttpWebRequest.cs: Added missing property.
1988 2004-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1990 * Dns.cs: don't block forever in EndResolve and EndGetHostByName. Fixes
1993 2004-01-16 Lluis Sanchez Gual <lluis@ximian.com>
1995 * ChunkStream.cs: The "size" parameter of Write is not the number of
1996 bytes to write, but the last offset to be written. Thus, in WriteAndRead
1997 Back, since "read" is not an offset but the number of bytes, it must be
1998 added to the offset. Maybe it would be a good idea to change the name of
1999 the parameter, since it is confusing. This should fix bug #52591.
2001 2004-01-12 Lluis Sanchez Gual <lluis@ximian.com>
2003 * WebConnection.cs: Yet another fix for WebConnection. This fixes
2006 2004-01-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2008 * WebConnection.cs: Data.Init is a bad boy. Lluis realized. He also
2009 tidied up the end of ReadDone. Disabled relaunching the request if 2
2010 InitRead are called, since now we don't throw everything into
2011 RegisterWaitForSingleObject but one request at a time.
2013 * WebConnectionGroup.cs: when checking available connections, allow them
2014 not to be Connected but allocated to honor the connection limit.
2016 * WebConnectionStream.cs: CheckComplete() now checks for nextReadCalled
2017 too. ReadAll don't mess contentLength if it's provided in the headers.
2019 BIG thanks to Lluis. Turns out that we were debugging the same stuff and
2020 his Data.Init discovery was THE thing I was missing.
2024 2004-01-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2026 * ServicePointManager.cs: use GetMaxConnections to get the appropiate
2027 number of connections limit.
2029 2004-01-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2031 * MonoHttpDate.cs: use the invariant culture, not en-US. Suspected
2032 guilty for bug 52629.
2034 2003-12-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2036 * CredentialCache.cs: return null instead of throwing NotImplemented.
2038 2003-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2040 * HttpWebRequest.cs: fixed checking if method allows a body. Patch by
2041 Benjamin Jemlich (pcgod@gmx.net).
2043 2003-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2045 * HttpWebRequest.cs: deal with authentication schemes that have more
2046 than 1 round trip (Ntlm).
2048 2003-12-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2050 * NtlmClient.cs: new class that actually uses one from Mono.Http to do
2053 2003-12-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2055 * HttpWebRequest.cs: when building the redirect URI, use the previous
2056 one as the base URI, which makes relative URIs work.
2058 2003-12-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2060 * DigestClient.cs: merged in code from Sebastien Pouliot and Greg
2061 Reinacker that Supports cnonce and preauthentication.
2063 2003-12-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2065 * DigestClient.cs: initial Digest authentication. Works with apache
2068 2003-11-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2070 * HttpWebRequest.cs: removed unneeded StringBuilder.
2071 * WebConnection.cs: default to keep the connection open for HTTP/1.1
2072 only or HTTP/1.0 + (Proxy-)Connection header. Fixes bug #51208.
2074 2003-11-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2076 * WebConnection.cs: turns out that socket.Connected is not useful until
2077 we actually try to send/receive data, even if the other end has already
2078 closed the socket. Added TryReconnect() and Connected.
2080 * WebConnectionData.cs: default value for StatusCode is 0 now.
2082 * WebConnectionGroup.cs: reuse the connection since the beginning,
2083 instead of opening up to ConnectionLimit and then reusing.
2085 * WebConnectionStream.cs: reopen the socket if we're trying to reuse
2086 one which fails on first write.
2088 2003-11-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2090 * WebConnectionStream.cs: when a callback is passed to BeginRead/Write,
2091 wrap it and do our job before calling it. Fixes bug #48497.
2093 2003-11-12 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2095 * WebExceptionStatus.cs: Restyled, Added .Net 1.1 members
2096 * SecurityProtocolType.cs: Added and implemented
2098 2003-11-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2100 * HttpWebRequest.cs: fixed redirects when they target another host.
2102 2003-11-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2104 * IPAddress.cs: prevent exceptions when trying to parse the static IPv6
2107 2003-10-17 Pedro Martinez Julia <yoros@wanadoo.es>
2109 * WebClient.cs: use Path.DirectorySeparator instead of "/" for
2110 windows compatibility. Add some checks for file paths like
2111 "C:/xxx/yyy/..." and like "/home/xxx/...".
2113 2003-10-16 Pedro Martinez Julia <yoros@wanadoo.es>
2115 * WebClient.cs: added a slash between directory and file names.
2117 2003-10-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2119 * HttpWebRequest.cs:
2120 * HttpWebResponse.cs: better abort handling and leave the stream in a
2121 stable status on abort.
2123 2003-10-12 Pedro Martinez Julia <yoros@wanadoo.es>
2125 * WebClient.cs: refine reading of local files (like MS.NET).
2127 2003-10-10 Pedro Martinez Julia <yoros@wanadoo.es>
2129 * WebClient.cs: MS.NET works right when we try OpenRead("file.txt")
2130 but we didn't. Now, when Uri fails with an exception, it adds
2131 "file://" before the URI and tries again.
2133 2003-10-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2135 * ServicePoint.cs: preparing for recycling. Not yet finished.
2136 * ServicePointManager.cs: this is the one that reads config.
2137 * WebConnectionGroup.cs: don't read config here.
2138 * WebConnection.cs: added the queue again. Launch queued requests on
2141 2003-10-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2143 * WebConnection.cs: the queue is now handled by the threadpool.
2144 Initialize the connection data in a place where it does not depend on
2145 the execution order of the requests in threadpool. More error handling.
2147 * WebConnectionGroup.cs: use the limits in the config file and reuse
2148 connections when the limit is reached.
2150 2003-10-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2152 * HttpWebRequest.cs: handle 304 a la MS.
2153 * WebConnection.cs: set the response data when reading 0 bytes.
2155 2003-09-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2157 * WebConnectionStream.cs: fix by Lluis to avoid the stream being in an
2160 2003-08-14 Nick Drochak <ndrochak@gol.com>
2162 * WebRequest.cs: Check lower case string since that is what we will add.
2164 2003-08-04 Jerome Laban <jlaban@wanadoo.fr>
2166 * IPHostEntry.cs: Default contructor must not initialize members.
2169 2003-07-27 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2171 * CredentialCache.cs: Removed undefined serializable attribute
2173 2003-07-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2176 (WantMore): true if we've not received the last chunk yet. Fixes
2177 bug #45463. Thanks to Miguel for tracking this down and providing a
2180 * WebConnection.cs: removed bogus ^M's.
2182 * WebHeaderCollection.cs: provide more info when the header or value is
2185 2003-07-15 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2187 * ChunkStream.cs: Removed unused members
2188 * IPAddress.cs: Removed unused exception variable, fixes compiler
2190 * WebConnection.cs: Removed unused exception variables, fixes compiler
2193 2003-07-14 Lluis Sanchez Gual <lluis@ximian.com>
2195 * NetConfig.cs: If Clone method is not public, then it must use
2196 explicit interface method implementation syntax.
2198 2003-07-14 Jerome Laban <jlaban@wanadoo.fr>
2200 * Dns.cs: Reworked indentation.
2202 Added literal address checking in GetHostByAddress.
2203 Changed Dns.Resolve behavior.
2205 * IPEndPoint.cs: Added IPv6 support.
2206 * IPv6Address.cs: Added address compression.
2207 * NetConfig.cs: Added configuration section.
2209 2003-07-14 Jerome Laban <jlaban@wanadoo.fr>
2211 * ServicePoint.cs: Removed Connect and GetEndPoint methods.
2212 Removed reverse resolution when uri is literal IP address.
2213 * WebConnection.cs: IPv6 compatibility update: Try to connect
2214 to all addresses returned by IPHostEntry.
2215 * WebConnectionGroup.cs: Removed unused parameter.
2217 2003-07-13 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2219 * WebProxy.cs: Add serialization/ deserialization support
2221 2003-07-10 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2224 * WebStatus.cs: Deleted (do not exist in this assembly)
2225 * IPv6Address.cs: Made internal
2227 2003-07-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2229 * HttpWebRequest.cs:
2230 * ServicePointManager.cs:
2231 * WebConnection.cs: added support for proxies.
2233 2003-07-05 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2235 * DnsPermissionAttribute.cs:
2236 * SocketPermissionAttribute.cs: Fixed wrong AttributeUsageAttribute
2238 2003-07-05 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2240 * WebPermission.cs: Added and partially implemented
2241 * WebPermissionAttribute.cs: Added and implemented
2243 2003-07-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2245 * WebClient.cs: fixed bug #45651.
2247 2003-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2249 * WebClient.cs: Small fix by Sebastian <scut@nb.in-berlin.de>.
2251 2003-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2253 * WebConnection.cs: fixed header writing the reusing a connection and
2254 the server does not send 100-continue response.
2256 2003-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2258 * WebConnection.cs: close the socket and connection when disposing.
2259 * WebRequest.cs: removed setter for RequestUri. Allow non-public ctors
2260 when creating instances.
2262 * HttpWebRequest.cs:
2263 * HttpWebResponse.cs:
2264 * FileWebRequest.cs: support serialization.
2266 * FileWebResponse.cs: support serialization and fixed dispose checks.
2268 * FileWebRequestCreator.cs:
2269 * HttpRequestCreator.cs: added internal .ctor.
2271 2003-06-24 Lluis Sanchez Gual <lluis@ximian.com>
2273 * HttpWebRequest.cs: SetWriteStream(): SendRequestHeaders should be
2274 called before asyncWrite.SetCompleted, to make sure that the waiting
2275 thread does not start to send more information before
2276 SendRequestHeaders has finished.
2278 2003-06-22 Lluis Sanchez Gual <lluis@ximian.com>
2280 * WebConnectionStream.cs: Only increment pendingReads if an asynchronous
2281 read is really needed.
2283 2003-06-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2285 * WebHeaderCollection.cs: prevent duplication headers used niternally.
2287 2003-06-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2289 * HttpWebRequest.cs: if CookieContainer has not been set, make
2290 HttpWebResponse ignore Set-Cookie* headers.
2292 * HttpWebResponse.cs: Set-Cookie and Set-Cookie headers removed if
2293 CookieContainer have been provided to the request.
2295 2003-06-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2297 * AuthenticationManager.cs: get the list of authentication modules from
2298 the configuration files. Added Clear and fixed Unregister.
2300 * BasicClient.cs: fully implemented.
2302 * HttpWebRequest.cs: added support for Basic authentication when
2303 credentials are set.
2305 * NetworkCredential.cs: fixed GetCredential.
2307 2003-06-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2309 * HttpWebRequest.cs: *really* take care of requestSent to prevent
2310 sending the same request twice.
2311 * WebAsyncResult.cs: don't close the handle. Just Reset.
2312 * WebConnectionStream.cs: removed unneeded line.
2314 2003-06-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2316 * HttpWebRequest.cs: use InternalClose when we are not going to send the
2317 rest of the request stream because of an error after sending the
2320 * WebConnection.cs: check for completion after setting the response.
2321 Enable reading in NextRead.
2323 * WebConnectionStream.cs: re-fixed the count for partially buffered
2324 reads. If the network stream returns 0 bytes, we're done.
2326 2003-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2328 * WebClient.cs: implemented UploadFile. Fixed SetupRequest to set the
2329 special headers *after* the others.
2331 2003-06-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2333 * WebConnectionStream.cs: when the read is partially filled from the
2334 initial buffer, add those bytes too. Thanks to Lluis for debugging this.
2336 2003-06-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2338 * HttpWebRequest.cs: added ExpectContinue property.
2339 * WebConnection.cs: allow 100 Continue to be delayed after waiting for
2342 2003-06-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2344 * HttpWebRequest.cs: don't send "Expect: 100-continue" is the server
2345 is known not to respond to that.
2347 * ServicePoint.cs: added SendContinue property.
2349 * WebConnection.cs: only wait 2 seconds for a continue reply. If it
2350 timeouts, set SendContinue to false and proceeed sending data.
2352 * WebConnectionStream.cs: if 100-continue is not received and instead we
2353 get a 417 or anything else, don't send the data.
2355 * WebClient.cs: implemented all missing properties and methods except
2358 2003-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2360 * FileWebRequestCreator.cs: splitted from WebRequest.
2361 * HttpRequestCreator.cs: splitted fromWebRequest.
2362 * WebRequest.cs: added methods that are used by the new configuration
2363 handler to set prefix/type name requests creators.
2365 2003-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2367 * AuthenticationManager.cs:
2369 * BasicClient.cs: new file.
2370 * ChunkStream.cs: new file.
2372 * CookieContainer.cs:
2373 * GlobalProxySelection.cs:
2374 * HttpWebRequest.cs:
2375 * HttpWebResponse.cs:
2376 * IAuthenticationModule.cs:
2378 * ServicePointManager.cs:
2379 * WebAsyncResult.cs: new file.
2380 * WebConnection.cs: new file.
2381 * WebConnectionData.cs: new file.
2382 * WebConnectionGroup.cs: new file.
2383 * WebConnectionStream.cs: new file.
2385 * WebHeaderCollection.cs:
2389 Reworked HttpWebRequest and related classes.
2391 2003-05-30 Miguel de Icaza <miguel@ximian.com>
2393 * HttpWebRequest.cs (EndGetResponse): Do not throw exceptions on
2394 InternalServerError (500)
2396 2003-05-29 Miguel de Icaza <miguel@ximian.com>
2398 * HttpWebRequest.cs (Close): Move the code that accumulates the
2399 output to Close from Flush. Flush could have been called in the
2400 middle of the processing, and would have generated invalid results
2403 2003-05-23 Zoltan Varga <vargaz@freemail.hu>
2405 * Dns.cs (GetHostByAddress): Return the local host when called with
2408 2003-04-29 Miguel de Icaza <miguel@ximian.com>
2410 * WebClient.cs (DownloadData): Close the underlyng stream.
2411 (DownloadFile): Use using, so the file gets closed.
2413 2003-04-24 Miguel de Icaza <miguel@ximian.com>
2415 * WebClient.cs (DownloadData): Instead of using a MemoryStream,
2416 keep track of all the small chunks in an ArrayList. The
2417 MemoryStream had the property of reallocating itself, and the
2418 problem was that MemoryStream.GetBuffer would return the buffer
2419 (correctly), but not something of the right size. So clients of
2420 DownloadData would get the extra unused bytes as part of the
2423 The solution would have been to make another copy at this point,
2424 instead, we only keep the small allocations around in the
2425 ArrayList, and we only do one large allocation at the end.
2427 * HttpWebResponse.cs: If there is a Content-Length header, pass
2428 this information to our HttpWebResponseStream, so it knows when to
2429 stop, instead of waiting for the stream to be shut down by the
2432 * HttpWebRequest.cs: Only set the `delay-header-writing' mode on
2433 the underlying stream if the method will do a content transfer and
2434 no Content-Length was provided. If not (HEAD and GET or
2435 Content-Length provided), keep going.
2437 2003-04-23 Miguel de Icaza <miguel@ximian.com>
2439 * HttpWebRequest.cs: .NET Allows the HttpWebRequest to not have
2440 the ContentLength specified on the request. If that happens, we
2441 have to accumulate all the data written, and once we accumulate
2442 the data, we send it off.
2444 Notice that the documentation in .NET is actually incorrect, they
2445 state that setting ContentLength is mandatory. It is not.
2447 2003-04-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2449 * HttpWebResponse.cs: fixes bug #41180.
2451 2003-03-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2453 * HttpWebRequest.cs: throw an exception is the response code is >= 300.
2455 2003-03-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2457 * HttpWebRequest.cs: implemented IDisposable, make the request stream
2458 read only. Changed the way of disposing the socket.
2460 * HttpWebResponse.cs: wrapped the socket in a write-only NetworkStream,
2461 handle chunked transfer encoding (no more hangs), added serialization
2462 stuff, call CheckDisposed at the beginning of methods/properties (not
2463 in a finally clause).
2465 2003-02-17 Nick Drochak <ndrochak@gol.com>
2467 * WebClient.cs : Implemented Credentials property.
2469 2003-02-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2471 * SocketAddress.cs: byte 1 of the data is the high byte of the family,
2474 2003-01-29 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
2476 * WebClient.cs : hacked OpenRead, DownloadData and DownloadFile.
2478 2002-10-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2480 * HttpWebRequest.cs: applied patch from Tim Haynes
2481 (thaynes@openlinksw.com).
2483 Avoided double-sending of the request to the server when both
2484 GetRequestStream() and GetResponse() are called.
2485 System Header attributes survive the Headers attribute set.
2486 Added handling of Connection: KeepAlive/Close
2488 2002-10-03 Dick Porter <dick@ximian.com>
2490 * Dns.cs: Fixed GetHostName()
2492 2002-09-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2494 * HttpWebRequest.cs:
2495 * HttpWebResponse.cs: applied another patch from Shahms E. King
2496 (shahms@shahms.com).
2498 2002-09-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2500 * HttpWebRequest.cs:
2501 * HttpWebResponse.cs: applied patch from Shahms E. King
2502 (shahms@shahms.com).
2504 2002-05-29 Lawrence Pit <loz@cable.a2000.nl>
2506 * MonoHttpDate.cs: added
2507 * HttpWebRequest.cs: using MonoHttpDate
2508 * HttpWebResponse.cs: using MonoHttpDate
2509 * DnsPermission.cs: correct XML output
2510 * SocketPermission.cs: correct XML output
2512 2002-05-21 Lawrence Pit <loz@cable.a2000.nl>
2514 * WebClient.cs: stubbed
2515 * WebProxy.cs: fixed bug; had to change internal representation
2516 of bypasslist to ArrayList, different implementation of checking
2519 2002-05-20 Lawrence Pit <loz@cable.a2000.nl>
2521 * WebProxy.cs: added, implemented
2522 * ServicePoint.cs: implemented most
2523 * ServicePointManager.cs: implemented
2524 * HttpWebRequest.cs: started implementation
2525 * HttpWebResponse.cs: improved disposable routines
2526 * FileWebRequest.cs: slight improvement of Close method
2528 2002-05-19 Lawrence Pit <loz@cable.a2000.nl>
2530 * FileWebRequest.cs: finished implementation of async methods.
2531 * FileWebResponse.cs: improved disposable routines.
2532 * IPEndPoint.cs: fixed bug #24666 in Serialize and Create methods,
2533 byte ordering of address was backwards.
2535 2002-05-13 Lawrence Pit <loz@cable.a2000.nl>
2537 * Dns.cs: Reimplemented (simplified and fixed) asynchronous methods by
2538 relying on standard asynchronous delegate features. Added checks for
2540 * HttpWebResponse.cs: implemented properties
2541 * FileWebResponse.cs: improved the way resources are disposed.
2542 * FileWebRequest.cs: started implementation of asynchronous methods
2543 * ServicePointManager.cs: implemented properties
2545 2002-05-12 Lawrence Pit <loz@cable.a2000.nl>
2547 * HttpWebRequest.cs: properties implemented
2548 * HttpWebResponse.cs: added
2549 * GlobalProxySelection.cs: implemented
2550 * FileWebResponse.cs: added
2551 * FileWebRequest.cs: some methods implemented
2553 2002-05-11 Lawrence Pit <loz@cable.a2000.nl>
2555 * WebHeaderCollection.cs: implemented
2556 * WebRequest.cs: implemented
2557 * FileWebRequest.cs and HttpWebRequest.cs stubs added
2559 2002-05-09 Lawrence Pit <loz@cable.a2000.nl>
2561 * Rewrote IPAddress.Parse method, passing all unit tests
2563 2002-05-09 Lawrence Pit <loz@cable.a2000.nl>
2565 * fixed bug in IPEndPoint.Equals method
2566 * fixed bug in IPAddress.Parse method
2567 * fixed bug in IPAddress.SwapLong method
2568 * fixed several bugs in Cookie.cs
2570 2002-05-06 Lawrence Pit <loz@cable.a2000.nl>
2572 * WebRequest.cs: added
2573 * WebResponse.cs: implemented
2574 * WebException.cs: implemented
2575 * WebHeaderCollection.cs: added
2576 * HttpVersion.cs: implemented
2577 * HttpContinueDelegate.cs: added
2578 * IWebProxy.cs: added
2579 * IWebRequestCreate.cs: added
2580 * ICertificatePolicy.cs: added
2581 * ServicePoint.cs: stubbed
2582 * ServicePointManager.cs: stubbed
2583 * CookieContainer.cs: added
2584 * Authorization.cs: implemented
2586 2002-05-05 Lawrence Pit <loz@cable.a2000.nl>
2588 * CredentialCache.cs: implemented
2590 2002-05-05 Lawrence Pit <loz@cable.a2000.nl>
2592 * IPAddress.cs: fixed IsLoopback, address was already in host order
2594 2002-05-05 Lawrence Pit <loz@cable.a2000.nl>
2596 * IPv6Address.cs: added (note: not part of .net spec)
2598 2002-05-01 Lawrence Pit <loz@cable.a2000.nl>
2600 * DnsPermission.cs: implemented
2601 * DnsPermissionAttribute.cs: implemented
2603 2002-04-28 Lawrence Pit <loz@cable.a2000.nl>
2605 * EndpointPermission.cs: implemented
2606 * SocketPermission.cs: implemented
2607 * SocketPermissionAttribute.cs: implemented
2608 * ProtocolViolationException.cs: implemented
2609 * Dns.c: passing w32 error code when no host found
2611 2002-04-27 Lawrence Pit <loz@cable.a2000.nl>
2613 * Cookie.cs: implemented
2614 * CookieCollection.cs: implemented
2615 * CookieException.cs: implemented
2617 2002-04-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2619 * IPAddress.cs: initialize the read only fields with Parse().
2621 2002-04-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2623 * IPAddress.cs: little changes to behave as MS.
2625 2002-04-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2627 * Dns.cs (Resolve): behave as MS. Agreed with Mads.
2629 2002-04-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2631 * IPAddress.cs: the icalls for sockets are endianness-aware. So I
2632 changed a few things. Also included a workaround for bug #23547.
2634 2002-04-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2636 * IPAddress.cs: use System.BitConverter.IsLittleEndian (suggested
2637 by Paolo) instead of guessing the endianness.
2639 * SocketAddress.cs: implemented Equals() and GetHashcode().
2641 2002-04-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2643 * IPEndPoint.cs: modifications to constructors according to the
2644 specifications (suggested by Lawrence Pit).
2646 2002-04-15 Patrik Torstensson <patrik.torstensson@labs2.com>
2648 * IPEndPoint.cs: Fixed build breaker.
2650 2002-04-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2652 * IPEndPoint.cs: implemented Equals() and GetHashCode(). Now 100%
2655 2002-04-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2657 * IPAddress.cs: finished all MonoTODO's. Use network order to store
2658 the address. Check for max and min values in Address:set. IsLoopback()
2659 returns now true for all 127.x.y.z. Some more checks in Parse ().
2660 Some changes to behave as MS does.
2662 2002-02-24 Duncan Mak <duncan@ximian.com>
2664 * ICredentialLookup.cs: Added the GetCredential method to the
2665 interface. The interface is named "ICredentials", should this file
2668 * NetworkCredential.cs: Added to CVS. Need to investigate on how
2669 GetCredential() works
2671 2002-01-23 Dick Porter <dick@ximian.com>
2673 * SocketAddress.cs: Implemented.
2675 * IPEndPoint.cs: Turned 'Address' field into a real property.
2676 Implemented Create() and Serialize() methods.
2678 * IPAddress.cs: Fixed class constructor, turned 'Address' field
2679 into a real property. Removed undocumented "public
2680 IPAddress(string)" constructor.
2682 * EndPoint.cs: Implemented. All methods return
2683 NotSupportedException to enforce subclass overriding.
2685 * Dns.cs: Replaced fixed-layout Hostent struct and cygwin
2686 P/Invokes with portable internal calls.
2688 2002-01-17 Miguel de Icaza <miguel@ximian.com>
2690 * Dns.cs: Updated to API changes.
2692 * IPAddress.cs: Updated API. Much left to implement.
2694 * Dns.cs: Remove IPToString method
2696 2002-01-06 Ravi Pratap <ravi@ximian.com>
2698 * Dns.cs, AuthenticationManager.cs, SocketAddress.cs : MonoTODO
2699 attribute insertion.
2701 2001-11-22 Nick Drochak <ndrochak@gol.com>
2703 * IPAddress.cs: Fix constructor bug, properly name Address property,
2704 and use triple-slash for comments.
2706 2001-11-20 Miguel de Icaza <miguel@ximian.com>
2708 * IPAddress.cs: Updated to contain Any, Broadcast, Loopback and
2709 None as suggested by Phillip.
2711 2001-09-26 Mads Pultz <mpultz@get2net.dk>
2712 * Dns.cs: Initial work on BeginGetHostByName and EndGetHostByName implemented.
2714 2001-09-24 Mads Pultz <mpultz@get2net.dk>
2716 * Dns.cs: Minor changes (some print statements removed)
2718 2001-09-23 Mads Pultz <mpultz@get2net.dk>
2720 * Dns.cs: Initial work submitted to repository.
2721 * IPHostEntry.cs: Initial work submitted to repository.
2723 2001-07-12 Sean MacIsaac <macisaac@ximian.com>
2725 * Authorization.cs: Fixed compiler error.
2727 * IAuthenticationModule.cs: Changes for Beta2.
2729 * IPAddress.cs: Internal storage changed to be uint not int.
2731 * IPEndPoint.cs: Fixed compiler error.
2733 * EndPoint.cs: Fixed compiler error.
2735 * AuthenticationManager.cs: Fixed typo.