1 2006-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3 * WebProxy.cs: (IsBypassed) 'loopback', 'localhost' and any address
4 that starts with 127 are special.
6 2006-05-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
8 * HttpListener.cs: Fixes race condition in BeginGetContext. Patch by
9 Pawel Sakowski that fixes bug #78365.
11 2006-05-09 Atsushi Enomoto <atsushi@ximian.com>
13 * ServicePointManager.cs : oops, CONFIGURATION_DEP.
15 2006-05-09 Atsushi Enomoto <atsushi@ximian.com>
17 * GlobalProxySelection.cs : if corresponding config section is
18 DefaultProxySection then use it.
20 2006-05-09 Atsushi Enomoto <atsushi@ximian.com>
22 * WebRequest.cs : if corresponding config section is
23 WebRequestModulesSection then use it.
25 2006-05-09 Atsushi Enomoto <atsushi@ximian.com>
27 * ServicePointManager.cs : if corresponding config section is
28 ConnectionManagementSection then use it.
30 2006-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
33 * HttpListenerResponse.cs: allow 0 length POST. Patch by Horst Reiterer.
36 2006-05-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
38 * CredentialCache.cs: added DefaultNetworkCredentials.
40 2006-05-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
42 * NetworkCredential.cs: implement ICredentialsByHost interface.
44 2006-04-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
46 * WebConnection.cs: reset the challenge and the status code when
47 creating the tunnel and sending the proxy auth. headers. Improve error
48 message when there's an error creating the tunnel.
49 * HttpWebRequest.cs: don't trigger an early throw for a POST that gets
50 a 401 or 407 response.
52 2006-04-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
54 * WebConnectionData.cs:
56 * HttpWebRequest.cs: when tunneling an ssl conneciton through a proxy,
57 we were not handling a proxy authentication request. Fixes bug #78150
60 2006-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
62 * WebProxy.cs: a .ctor was not forwarding the 'credentials' argument.
63 This fixes bug #78150. Also fix the bypass check for local requests.
65 2006-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
67 * WebProxy.cs: removed bogus ^M.
69 2006-04-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
71 * HttpWebResponse.cs: don't remove the Set-Cookie headers. Fixes bug
74 2006-04-04 Atsushi Enomoto <atsushi@ximian.com>
76 * WebClient.cs : added a bunch of async method support.
78 2006-04-03 Chris Toshok <toshok@ximian.com>
80 * HttpWebResponse.cs (ContentEncoding): return "" if the header
83 2006-03-30 Atsushi Enomoto <atsushi@ximian.com>
85 * DownloadStringCompletedEventHandler.cs : missing delegate.
87 2006-03-30 Atsushi Enomoto <atsushi@ximian.com>
89 * Dns.cs : minor argument renaming.
91 2006-03-28 Atsushi Enomoto <atsushi@ximian.com>
93 * DownloadDataCompletedEventArgs.cs
94 DownloadDataCompletedEventHandler.cs
95 DownloadProgressChangedEventArgs.cs
96 DownloadProgressChangedEventHandler.cs
97 DownloadStringCompletedEventArgs.cs
98 OpenReadCompletedEventArgs.cs
99 OpenReadCompletedEventHandler.cs
100 OpenWriteCompletedEventArgs.cs
101 OpenWriteCompletedEventHandler.cs
102 UploadDataCompletedEventArgs.cs
103 UploadDataCompletedEventHandler.cs
104 UploadFileCompletedEventArgs.cs
105 UploadFileCompletedEventHandler.cs
106 UploadProgressChangedEventArgs.cs
107 UploadProgressChangedEventHandler.cs
108 UploadStringCompletedEventArgs.cs
109 UploadStringCompletedEventHandler.cs
110 UploadValuesCompletedEventArgs.cs
111 UploadValuesCompletedEventHandler.cs : added 2.0 types.
113 2006-03-28 Atsushi Enomoto <atsushi@ximian.com>
115 * Dns.cs : filled missing NET_2_0 members.
117 2006-03-28 Atsushi Enomoto <atsushi@ximian.com>
119 * IPAddress.cs : ugh, I was testing with run-test-ondotnet, not
120 run-test. Those IPv6 properties needed to be reimplemented.
122 2006-03-27 Atsushi Enomoto <atsushi@ximian.com>
124 * IPAddress.cs : added NET_2_0 TryParse() and IPv6 related properties.
126 2006-03-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
128 * WebConnectionStream.cs: avoid Begin/EndWrite when the body length is
131 2006-03-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
133 * HttpWebRequest.cs: send the request if ContentLength is set for
134 POST/PUT, the request stream has that exact amount of bytes in it and
135 we're trying to get the response stream.
137 This way, closing the request stream is not needed in order to actually
138 send the request. Fixes bug #77753.
140 * WebConnectionStream.cs: throw if the number of bytes written is
141 greater than the specified request content length.
143 2006-03-11 Miguel de Icaza <miguel@novell.com>
145 * WebClient.cs: Only expose the right methods to avoid warnings.
147 * FtpDataStream.cs (Dispose): Fix signature.
149 * FtpWebResponse.cs: Comment out keepAlive field (unused, sounds
150 like we are missing features here).
152 * IPAddress.cs: Move m_HashCode property to the end, and set
153 pragmas to disable warnings.
155 2006-02-16 Dick Porter <dick@ximian.com>
157 * IPEndPoint.cs: The SocketAddress AddressFamily takes up the
158 first two bytes, not just one. Check the size of the
159 SocketAddress buffer for IPv6 as well.
161 * Dns.cs: Cope when GetHostByName_internal or
162 GetHostByAddr_internal returns fewer items in the array than it
163 intended to (maybe due to conversion errors.)
165 2006-02-09 Carlos Alberto Cortez <calberto.cortez@gmail.com>
167 * FtpWebResponse.cs: Add UpdateStatus method, to update both
168 statusCode and statusDescription at the same time.
170 2006-02-08 Carlos Alberto Cortez <calberto.cortez@gmail.com>
172 * FtpWebRequest.cs: Remove WebExceptionStatus argument
173 from CreateExceptionFromResponse, since exceptions gotten
174 from server response always have a WebExceptionStatus.ProtocolError
177 2006-02-08 Carlos Alberto Cortez <calberto.cortez@gmail.com>
179 * FtpWebRequest.cs: Add renaming support when using
180 WebRequestMethods.Ftp.Rename method.
182 2006-02-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
184 * ChunkedInputStream.cs:
185 * ChunkStream.cs: handle partial trailers and zero reads. Patch by Pawel
188 2006-02-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
190 * HttpWebRequest.cs: don't send the expect-100 if if there's no content.
192 * HttpListenerRequest.cs:
194 * RequestStream.cs: use the content length header to avoid reading past
195 the end of the stream.
197 Patch by Horst Reiterer.
199 2006-02-01 Carlos Alberto Cortez <calberto.cortez@gmail.com>
201 * FtpWebRequest.cs: Add supportedCommands array with the sorted
202 methods, to search using Array.BinarySearch. Remove CheckMethod.
204 2006-02-01 Carlos Alberto Cortez <calberto.cortez@gmail.com>
206 * FtpWebRequest.cs: Fixed some typos and small issues.
208 2006-02-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
210 * HttpWebRequest.cs: dummy implementation of UnsafeAuthenticationBlah
213 2006-02-01 Carlos Alberto Cortez <calberto.cortez@gmail.com>
215 * FtpRequestCreator.cs:
219 * FtpWebResponse.cs: Initial implementation of FtpWebRequest (2.0)
221 2006-02-01 Carlos Alberto Cortez <calberto.cortez@gmail.com>
223 * FtpStatusCode.cs: Fix a typo.
225 2006-01-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
227 * WebClient.cs: (2.0) UploadString() returns string, not void.
229 2006-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
231 * HttpWebResponse.cs: ignore non-integer values for max-age and version.
232 Fixes bug #77199. Thanks to Cyrille Colin.
234 2006-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
236 * HttpWebResponse.cs: cope with malformed cookies with '=' as value.
237 Patch by Cyrille Colin. Fixes bug #77179.
239 2005-12-25 Carlos Alberto Cortez <calberto.cortez@gmail.com>
241 * FtpStatusCode.cs: New 2.0 enum.
243 2005-12-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
245 * CookieContainer.cs: fix matching of subdomains. Patch by Cyrille
248 2005-12-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
250 * HttpWebResponse.cs: don't loop forever when no name or value between
251 semicolons. Fixes bug #76943.
253 2005-12-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
255 * HttpWebResponse.cs: don't fail if the cookie ends with a 'name'
256 without a value. Fixes bug #76922.
258 2005-11-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
260 * EndPointListener.cs:
261 * HttpListenerRequest.cs: don't require the Host header for 1.0. Just
262 map that to the '*' or '+' host.
264 2005-11-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
266 * IPAddress.cs: the byte[] ctor supports length 4 in .NET 2.0.
269 2005-11-21 Senganal T <tsenganal@novell.com>
271 * Dns.cs : corrected a mistake in GetHostEntry ()
273 2005-11-21 Senganal T <tsenganal@novell.com>
275 * Dns.cs : added GetHostEntry() method for 2.0 api conformance
277 2005-11-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
279 * HttpRequestHeader.cs: add missing values.
281 2005-11-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
283 * HttpListenerPrefixCollection.cs:
284 * HttpWebResponse.cs:
286 * HttpListenerRequest.cs:
288 * HttpListenerResponse.cs: a few signature fixes for 2.0.
290 2005-11-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
292 * HttpListenerPrefixCollection.cs:
293 * EndPointListener.cs:
294 * HttpStreamAsyncResult.cs:
295 * HttpListenerContext.cs:
296 * HttpListenerBasicIdentity.cs:
297 * AuthenticationSchemeSelector.cs:
299 * WebHeaderCollection.cs:
301 * HttpListenerException.cs:
302 * HttpResponseHeader.cs:
303 * EndPointManager.cs:
304 * HttpListenerRequest.cs:
305 * HttpRequestHeader.cs:
308 * ChunkedInputStream.cs:
310 * ListenerAsyncResult.cs:
314 * HttpListenerResponse.cs:
315 * RequestStream.cs: initial implementation of HttpListener. There are
316 a few TODOs left (cookies, HTTPS) but almost everything else is in.
318 2005-11-15 Sebastien Pouliot <sebastien@ximian.com>
320 * IPv6Address.cs: Added on overload to ToString to get a the full
321 length address returned (as required by System.Uri).
323 2005-11-15 Carlos Alberto Cortez <calberto.cortez@gmail.com>
325 * WebRequestMethods.cs: New 2.0 class.
327 2005-11-05 Atsushi Enomoto <atsushi@ximian.com>
329 * WebClient: use POST for DownloadData(). Fixed bug #76631.
331 2005-10-26 Atsushi Enomoto <atsushi@ximian.com>
333 * AuthenticationSchemes.cs : Fixed enum values and added [Flags].
335 2005-10-19 Atsushi Enomoto <atsushi@ximian.com>
337 * WebClient.cs : added net_2_0 DownloadString() and DownloadData()
338 with HTTP method as well.
340 2005-10-19 Atsushi Enomoto <atsushi@ximian.com>
342 * WebClient.cs : added UploadString() and Encoding (net_2_0). Added
343 some new overloaded stuff that takes Uri instead of string address.
345 2005-10-17 Sebastien Pouliot <sebastien@ximian.com>
347 * ICredentialPolicy.cs: New. Interface for 2.0.
349 2005-10-05 Atsushi Enomoto <atsushi@ximian.com>
351 * AuthenticationSchemes.cs : new 2.0 enum.
353 2005-08-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
355 * GlobalProxySelection.cs: remove double lock.
356 * HttpWebRequest.cs: remove double lock in GetServicePoint() and use
357 a private object when locking.
359 2005-07-15 Miguel de Icaza <miguel@novell.com>
361 * DigestClient.cs: Fix bug #75556, the qop argument must be
362 quoted, per http://www.faqs.org/rfcs/rfc2617.html section
365 2005-07-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
367 * WebConnectionStream.cs: initiate writing the body before trying to
368 read. This fixes the performance problems observed in web services.
371 2005-06-27 Lluis Sanchez Gual <lluis@novell.com>
373 * IPAddress.cs: Changed field names for the sake of serialization
374 interoperability with MS.NET.
376 2005-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
378 * WebConnection.cs: if cnc.EndRead throws, mark the asyncresult as done.
379 * WebConnectionStream.cs: if we're done with the body of a chunk, don't
380 require the next chunk header to be there, as some servers might close
381 the connection (while also sending 'Connection: close').
383 2005-06-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
385 * HttpWebRequest.cs: MS implementation follows redirects for POST. Seems
386 to me that this is against 10.3.3 in RFC 2616, but may be the user
387 'authorization' to do this is implicit in AllowAutoRedirect...
389 2005-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
391 * WebConnection.cs: SslClientStream.BeginRead might not be asynchronous
392 if there's no record available to read. This is a workaround that makes
393 the call to BeginRead itself asynchronous. Fixes bug #75342.
395 2005-06-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
399 * WebConnectionStream.cs: initiate the polling for input data after
400 sending the header so that we detect any response that the server sends
401 back even if we're still trying to write the request for a POST/PUT.
402 If we get the response (or an error) before any one calls GetResponse(),
403 keep it around instead of ignoring it.
405 2005-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
407 * HttpWebRequest.cs: send the right header/user/password in
408 PreAuthenticate in presence of a proxy.
410 2005-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
412 * IPv6Address.cs: fix IsLoopback. Closes bug #75128.
414 2005-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
416 * IPv6Address.cs: don't do extra check on ipv4 if this is a ipv6
417 address. Fixes bug #75125.
419 2005-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
421 * ServicePointManager.cs: when going through a proxy, use 2 different
422 service points depending on the scheme. Fixes bug #75135.
424 2005-05-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
426 * Dns.cs: don't parse the address when it comes from an IPAddress.
428 2005-05-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
430 * WebConnection.cs: prevent 2 nullrefs when the aborting during
431 Connect() and reset the status to Success before starting a new
434 2005-05-19 Sebastien Pouliot <sebastien@ximian.com>
436 * WebRequest.cs: Throw NotImplementedException (not NotSupported
437 Exception) for stuff that should have been abstract. No exception
438 is thrown by the serialization constructor.
440 2005-05-04 James Willcox <james@ximian.com>
442 * DigestClient.cs: convert to a hex string with "X8" consistently
445 2005-05-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
447 * WebConnection.cs: don't rethrow errors in Write, as the error will be
448 received by GetResponse*. The result is that the threadpool thread doing
449 this will not end up printing the exception. Fixes bug #74817.
451 2005-05-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
453 * ServicePoint.cs: HostEntry needs to be thread safe.
455 2005-05-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
457 * WebConnection.cs: removed a 'slightly' important line by mistake.
458 * WebConnectionStream.cs: if the transfer encoding is chunked, ignore
459 content-length header if present.
461 2005-05-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
463 * WebConnection.cs: no need to use an AutoResetEvent.
464 * WebConnectionStream.cs: don't start any more reads on the socket
465 after getting a 0 signalling the end. This fixes Ben's infamous foo.cs
468 2005-04-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
470 * BasicClient.cs: firefox/IE just send latin1, stripping the high byte
471 from unicode >= 256 characters.
473 2005-04-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
475 * BasicClient.cs: use latin1 when encoding the username/domain/password.
478 2005-04-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
480 * WebConnectionStream.cs: if the BeginRead/BeginWrite is completed
481 synchronously, no need to create the ManualResetEvent to wait on.
483 2005-04-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
485 * WebConnectionStream.cs: call SetComplete in EndWrite when we're not
486 buffering the request body. Fixes bug #74637.
488 * WebAsyncResult.cs: renamed field.
490 2005-04-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
492 * WebConnectionStream.cs:
493 * WebAsyncResult.cs: ensure we only call EndRead once per async. result.
494 Update total before invoking the callback when present.
496 2005-04-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
499 * WebConnectionStream.cs: don't start reading until we've sent at least
500 the headers. This way we ensure that a Write happens before any Read,
501 which is needed by the SSL code.
503 2005-04-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
505 * HttpWebRequest.cs: ensure we read everything before redirecting.
507 2005-04-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
509 * WebConnectionStream.cs: provide a default callback when doing async.
510 read/write and waiting for a timeout so that the callback sets the
511 event and we don't block forever. Fixes bug #74539 take 3.
513 2005-04-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
516 * HttpWebRequest.cs: now Abort() works properly. Fixes bug #74177.
518 2005-04-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
520 * WebConnection.cs: fix some breakage from my last patch.
521 * WebConnectionStream.cs: invoke the callback when done even in EndRead.
523 2005-04-10 Sebastien Pouliot <sebastien@ximian.com>
525 * WebConnection.cs: Added support for TrustFailure when throwing a
526 WebException. Fix bug #74286.
528 2005-04-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
531 * WebConnectionStream.cs: implemented support for ReadWriteTimeout.
533 2005-04-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
535 * WebConnection.cs: if we're reading chunked data and didn't use the
536 stream to read, we gotta set the async. result as complete and invoke
537 the callback. Don't call nstream.EndRead with the wrong IAsyncResult.
539 * WebConnectionStream.cs: in EndRead, pass the correct IAsyncResult to
540 cnc.EndRead. Lock on a field instead of 'this'.
542 2005-04-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
544 * HttpWebRequest.cs: throw the exception if we got an error, as now
545 it's catched in the redirection handling code.
547 2005-04-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
549 * HttpWebRequest.cs: moved redirection handling to a proper place.
551 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
553 * WebHeaderCollection.cs: added if-modified-since to the list of
556 * ServicePoint.cs: use a field object when locking.
558 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
560 * WebConnectionStream.cs: ForceCompletion actually calls NextRead. No
561 need to wait for a Close/ReadAll when we have no content.
563 2005-04-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
565 * NtlmClient.cs: fix typo in assembly name.
567 2005-03-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
569 * CookieContainer.cs: adding to a CookieCollection might not increment
570 the number of items if the cookie is replaced. Now Count works properly.
571 Fixed an array index exception (typo).
573 * CookieCollection.cs: also compare the version.
575 * HttpWebResponse.cs: when we have cookies, add them to the request
578 * HttpWebRequest.cs: changed last parameter of HttpWebResponse ctor.
580 2005-03-30 Miguel de Icaza <miguel@novell.com>
582 * Cookie.cs: Compare using the InvariantCulture, to match the
583 behavior of CookieContainer that already did this.
585 2005-03-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
587 * WebConnection.cs: we don't need to trigger the next queued request
588 until the response is closed.
590 2005-03-29 Miguel de Icaza <miguel@novell.com>
592 * HttpWebResponse.cs: Handle quotations in the cookies values, per
593 the spec http://www.faqs.org/rfcs/rfc2109.html, it is allowed to
596 2005-03-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
599 * DigestClient.cs: check that GetCredential() does not return null.
601 2005-03-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
603 * BasicClient.cs: ensure credentials are not null.
605 2005-03-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
607 * HttpWebResponse.cs: moved cookie parsing into its own class.
608 * WebHeaderCollection.cs: remove (probably bogus) GetMultipleValues
610 * HttpWebRequest.cs: don't let exception raised in the ctor of
611 HttpWebResponse vanish.
615 2005-03-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
617 * WebHeaderCollection.cs: handle commas inside quotes when splitting
618 a multi-value header. Fixes bug #73151.
620 2005-02-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
622 * DigestClient.cs: fix for digest auth. and URIs containing query. Patch
623 by James Wilcox. Fixes bug #72571.
625 2005-02-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
627 * HttpWebResponse.cs:
630 * WebConnectionStream.cs: don't read the entire response unless the
631 user requests it. Fixes bug #72443.
633 2005-02-08 Zoltan Varga <vargaz@freemail.hu>
635 * IPv6Address.cs: Fix endianess problems.
637 * IPAddress.cs: Fix misleading comments.
639 2005-02-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
641 * HttpWebRequest.cs: send the headers when we're supposed to write
642 a POST/PUT but call GetResponse before GetRequestStream.
644 * WebConnectionStream.cs: new RequestWritten property.
646 2005-01-20 Jonathan Pryor <jonpryor@vt.edu>
648 * EndpointPermission.cs: Fix IsSubsetof(hostname) so that the regression
649 tests work. In particular, IsSubsetOf ("12.13.*.*", "12.13.14.*") failed
650 because 14 wasn't a subset of * (which it is). Fix: if part1 is we
651 continue to the next portion.
653 2005-01-20 Jonathan Pryor <jonpryor@vt.edu>
655 * IPAddress.cs (ParseIPV4): Fix so that the regression tests work. In
656 particular, " foo" and ".1.1.6" weren't being caught (" foo" because it
657 started with a space, and ".1.1.6" because the split string accepted a
658 0-length portion, which would make 1...6 valid, but isn't valid based on
661 2005-01-20 Jonathan Pryor <jonpryor@vt.edu>
663 * WebHeaderCollection.cs: Fix GetValues(string) to split the values on
664 commas if the header is a Multi-Value header. This matches
665 MonoTests.System.Net.WebHeaderCollectionTest.
667 2005-01-19 Sebastien Pouliot <sebastien@ximian.com>
669 * WebPermissionAttribute.cs: Fixed NET_1_1 behaviour.
671 2004-12-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
673 * WebConnectionStream.cs: remove unneeded check. Write detects and
674 triggers the exception now.
676 2004-12-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
678 * AuthenticationManager.cs: don't lock on a public Type.
679 * HttpWebRequest.cs: read the error response for auth. errors.
681 2004-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
683 * HttpWebRequest.cs: set webResponse back to null when redirecting.
684 Fix the previous patch so that it reads the whole response even if
685 auto-redirect is not enabled. Closes bug #70484.
687 2004-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
689 * HttpWebResponse.cs: added ReadAll method.
691 * WebConnection.cs: in HandleError, set the response error after
692 closing the socket. Use an async. delegate to finish reading any prior
695 * HttpWebRequest.cs: for error responses that allow content, read the
696 stream immediately. Fixes bug #70483.
698 2004-12-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
700 * CookieContainer.cs: quote the port number.
702 2004-12-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
705 * WebConnectionStream.cs: removed TryReconnect. It's no longer needed.
707 2004-12-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
709 * WebConnection.cs: set the event in Close so that if the queue is
710 empty, we won't block forever on next request. The finalizer was
711 removed because we're not implementing IDisposable pattern here.
713 2004-12-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
715 * WebConnection.cs: handle errors on chunked streams. Fixes bug #66858.
716 * ChunkStream.cs: added error checking all over.
718 * HttpWebRequest.cs: throw the exception received in SetResponseError
719 if we already have a response.
720 (SetRequestData): Don't nest the exception if it's a WebException.
722 2004-12-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
724 * WebConnection.cs: remove prevStream and don't set busy to false in
725 HandleError. prevStream is not needed any more and setting 'busy' so
726 early might let a request skip the queue.
728 * WebConnectionGroup.cs: decrement the indexer when removing a dead
729 reference from the arraylist.
731 * WebConnectionStream.cs:
732 (ReadAll): call NextRead if it has not been called before even when
733 we have completed the request. Reuse the read buffer when reading a
734 response of unknown size. Increase the buffer to 8kB.
735 (BeginRead): increase pendingReads earlier and even when reading from
737 (EndRead): decrease pendingReads later and always.
739 2004-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
741 * CookieContainer.cs: style, fixed checks for properties, implemented
742 the MonoTODOs for the method that take an Uri. GetCookies and
743 GetCookieHeaders now really return only the cookies that are requested
744 filtering by the Uri parameter.
746 * Cookie.cs: style, added default values for Comment, Domain and Port.
748 2004-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
750 * CookieCollection.cs: reformatted, fixed Add by adding a new method to
751 search across the arraylist, as list.IndexOf is not what we want.
753 2004-11-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
755 * WebConnection.cs: check for FIN or RST on the socket before reusing.
758 2004-11-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
760 * ChunkStream.cs: simplified condition for WantMore property.
762 * WebConnection.cs: in Connect(), finish any pending reads we might
763 have for chunked data. Ignore possible blank lines at the very
764 beginning of the server response. Honor user set KeepAlive in
765 HttpWebRequest for HTTP/1.1 connections. Thanks to Eyal Alayuf for
766 his suggestions and code.
768 2004-11-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
770 * HttpWebResponse.cs: don't lock up when the cookie received ends with
771 a semicolon. Patch by Darryl VanDorp. Fixes bug #68956.
773 2004-10-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
775 * HttpWebRequest.cs: don't fail if the request has already been sent
776 when accessing ContentType setter. Fixes bug #68848.
778 2004-10-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
781 (WantMore): we're not done until we get a 0 chunk size and the trailer.
782 The 0 can be expressed as more than one character too (ie, 000000).
784 * HttpWebRequest.cs: new argument in SetResponseError.
785 * WebConnection.cs: added argument to HandleError as a hint for
787 (Connect): make the chunked stream be in the expected state when
790 * WebConnectionStream.cs: removed unused method (ResetWriteBuffer).
792 2004-10-10 David Sheldon <dave-mono@earth.li>
794 * HttpWebRequest.cs: Use RemoveAndAdd for AddRange. Fixes unittest.
796 2004-10-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
798 * HttpWebRequest.cs: use RemoveAndAdd for headers multivalue headers.
799 * WebHeaderCollection.cs: added RemoveAndAdd that behaves like the old
802 2004-10-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
804 * HttpWebRequest.cs: ProxyQuery returns true when we use a proxy without
805 tunneling a secure connection.
807 * ServicePoint.cs: added UseConnect property.
809 * ServicePointManager.cs: set the UseConnect property when we use a http
810 proxy for a https connection.
812 * WebConnection.cs: setup the tunnled connection when using a proxy and
815 2004-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
817 * HttpWebResponse.cs: remove unused SplitValue method.
819 2004-09-10 Sebastien Pouliot <sebastien@ximian.com>
821 * DnsPermission.cs: Updated to pass new unit tests.
822 * DnsPermissionAttribute.cs: Cleanup.
823 * SocketPermission.cs: Updated to pass new unit tests.
824 * SocketPermissionAttribute.cs: Updated to pass new unit tests.
825 * WebPermission.cs: Implemented some TODO - not complete yet.
826 * WebPermissionAttribute.cs: Updated to pass new unit tests.
828 2004-08-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
830 * Cookie.cs: don't fail when using default constructor. Fixes bug
833 2004-08-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
835 * HttpWebResponse.cs: set-cookie and set-cookie2 can be present more
836 than once and have multiple values. Don't rely on string.split when
837 parsing cookie values.
839 * WebHeaderCollection.cs: same thing for set-cookie and set-cookie2.
840 Fixed GetValues (it was splitting values that contained a comma) and
841 changed SetInternal to handle multi-value headers.
845 2004-07-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
847 * WebProxy.cs: fix scheme detection. Patch by Konstantin Triger
848 (kostat@mainsoft.com).
850 2004-07-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
852 * HttpWebRequest.cs: detect changes in scheme or port when redirecting.
853 Fixes las take on bug 61218.
855 2004-07-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
857 * WebConnection.cs: moved loading of the ssl stream Type to its own
858 method. Don't create a new ssl stream if we're reusing the connection.
860 * WebConnectionStream.cs: ensure the number of bytes copied in ReadAll
861 is the expected even if the dta from the server has extra bytes.
863 2004-07-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
866 * WebConnectionStream.cs: when the status code is 1xx, 204 or 304,
867 "responses MUST NOT include a message-body". We tried to read the
868 stream even when getting those codes and considered the 0 length
871 2004-07-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
873 * HttpWebRequest.cs: removed bogus Monitor.Exit.
874 * WebConnection.cs: use Address instead of RequestUri when checking for
875 the scheme in order to select the stream type. Fixes bug #61218.
877 2004-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
879 * ChunkStream.cs: added ChunkLeft property.
881 (EndRead): when using small byte arrays to read from a chunked stream,
882 ensure we've read the chunk size and try to fulfill the request
883 completely. fixes bug 59653.
885 2004-05-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
887 * WebConnectionStream.cs: fixed CanRead property. Closes bug #59273.
889 2004-05-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
891 * DigestClient.cs: cache the sessions based on address and
892 credentials, not only address. Added poor men's expiration to
893 the session cache. Fixes bug #59202.
895 2004-05-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
899 * IPv6Address.cs: no more warnings about IPAddress.Address.
901 2004-05-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
903 * WebException.cs: implemented serialization .ctor and
906 2004-05-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
908 * WebAsyncResult.cs: don't create the WaitHandle if not needed.
910 2004-05-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
912 * HttpWebRequest.cs: added 3 missing properties for 1.1. They are not
915 * NetConfig.cs: added MaxResponseHeadersLength field.
918 * ServicePointManager.cs: added missing properties for 1.1.
920 2004-05-03 Sebastien Pouliot <sebastien@ximian.com>
922 * WebConnection.cs: Use assembly name const to load Mono.Security.
924 2004-05-03 Lluis Sanchez Gual <lluis@ximian.com>
926 * NtlmClient.cs: Use assembly name const to load Mono.Security.
928 2004-04-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
930 * WebConnectionStream.cs: avoid the exception when getting the content
933 2004-03-29 Lluis Sanchez Gual <lluis@ximian.com>
935 * HttpWebRequest.cs: Use a lock block instead of Monitor.Enter/Exit, so
936 the lock is released in case of exception (for example, a
937 ThreadAbortException). This also "fixes" bug #52417.
938 Beware, this requires a runtime update (due to a bug in Monitor.Exit).
939 * ServicePoint.cs: Changed method from internal to private, since it
940 is not called from outside the class.
942 2004-03-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
944 * HttpWebRequest.cs: added the exception status to the error message.
945 * WebConnection.cs: add headers using SetInternal instead of Add to
946 bypass header name validation. Fixes bug #55994.
947 * WebHeaderCollection.cs: added SetInternal (string header).
949 2004-03-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
952 * WebConnectionGroup.cs: the requests queue is now shared for all the
953 connections belonging to the same connection group.
955 2004-02-26 Sebastien Pouliot <sebastien@ximian.com>
957 * DefaultCertificatePolicy.cs: New. Certificate validation
958 policy compatible with the documented one present in Fx. It
959 allows valid certificates and expired certificates to be used
961 * ServicePointManager.cs: Removed the DummyPolicy. Now creates
962 a DefaultCertificatePolicy to validate certificates.
964 2004-02-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
966 * ServicePoint.cs: SendContinue is always false for HTTP/1.0
968 * WebConnection.cs: get rid of WaitForContinue() (yes!) and prevent
969 calling more the ContinueDelegate more than once when we get the
970 headers in several packets.
972 * WebConnectionStream.cs: removed call to WaitForContinue.
974 2004-02-25 Sebastien Pouliot <sebastien@ximian.com>
976 * WebConnection.cs: Update previous patch to use HttpsClientStream
977 (internal in Mono.Security assembly) in place of SslClientStream.
978 This will reduce reflection and allow to use ICertificatePolicy.
980 2004-02-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
982 * DigestClient.cs: fix quote handling. Reordered attributes in response.
983 Fixed typo (QOP->CNonce). Now Digest works with apache2.
985 2004-02-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
987 * DigestClient.cs: removed Console.
988 * HttpWebRequest.cs: 401/407 were hanging for GET. Fixed.
990 2004-02-24 Sebastien Pouliot <sebastien@ximian.com>
992 * DigestClient.cs: Fixed issue with Apache server which do not use "
993 for specifying the digest algorithm (.e.g. algorithm=MD5 not ="MD5").
995 2004-02-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
997 * HttpWebRequest.cs: arghhh. I used the server response headers instead
998 of what the client is supposed to send. Thanks to Helge Hess.
1000 2004-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1002 * AuthenticationManager.cs: implemented PreAuthenticate().
1004 * HttpWebRequest.cs: once we know the version of the server, use it if
1005 below the requested one. Remove 'Expect', 'Content-Length' and /or
1006 'Transfer-Encoding' if appropiate due to changes in version. Fixed
1007 'Host' header for non-standard ports. Support preauthentication. Closes
1010 2004-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1012 * HttpWebRequest.cs: check for missing or wrong URI in Location header
1015 * WebConnection.cs: if the data read does not contain all the headers,
1016 keep it around and read the rest until we get to the response body.
1017 Allow response code with no description. Fixed bug #54543.
1019 2004-02-18 Sebastien Pouliot <sebastien@ximian.com>
1021 * SecurityProtocolType.cs: Added missing [Serializable] to enum. Added
1022 Default and Ssl2 to NET_2_0 profile. Enum is now internal for NET_1_0
1023 profile (as we need it for SslClientStream).
1024 * ServicePoint.cs: Added internal SetCertificates(client,server).
1025 * ServicePointManager.cs: Added CheckCertificateRevocationList and
1026 CheckCertificateRevocationList static properties (public in 1.1,
1028 * WebConnection.cs: Dynamically creates a SslClientStream (from
1029 Mono.Security assembly) in case of https. Changed NetworkStream to
1032 2004-02-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1034 * HttpWebRequest.cs: send the 'Connection: keep-alive' header when we
1035 don't know the server version or it's 1.0.
1037 * ServicePoint.cs: added SetVersion.
1039 * WebAsyncResult.cs: remove ChunkAsyncResult.
1041 * WebConnection.cs: set the ServicePoint version when getting a response
1044 * WebConnectionStream.cs: when posting chunked content, send the head,
1045 body and trailer of the chunk at once instead of doing 3 separate
1046 writes, which may cause troubles.
1048 2004-02-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1050 * WebConnection.cs: if we get a 100 when we're not waiting for it, set
1051 that information in the ServicePoint.
1053 * WebConnectionStream.cs: send headers in the right order for
1056 2004-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1058 * WebConnectionStream.cs: fixed nullrefs in BeginWrite/EndWrite.
1060 2004-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1062 * HttpWebRequest.cs: on second and sucesive tries when authenticating,
1063 don't use chunked encoding for POST, as we know the content length and
1064 have the body. Nullify bodyBuffer always in CheckFinalStatus.
1066 * WebAsyncResult.cs: added ChunkAsyncResult property. It holds the
1067 IAsyncResult when writing CRLF at the end of a chunk.
1069 * WebConnectionStream.cs: support sending chunked data.
1071 2004-01-24 Lluis Sanchez Gual <lluis@ximian.com>
1073 * HttpWebRequest.cs: When retrying a POST request after an
1074 authentication failure, resend the body. This fixes bug #51841.
1075 * WebConnectionStream.cs: Added properties for getting what's been
1078 2004-02-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1080 * HttpWebRequest.cs: don't send 'Expect: 100-continue' for 1.0 version.
1082 2004-02-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1084 * HttpWebRequest.cs: support proxy authentication.
1086 2004-02-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1089 * DigestClient.cs: use IndexOf instead of StartsWith to deal with
1090 servers that provide several authentication schemas.
1092 2004-02-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1094 * ChunkStream.cs: use an array of buffers instead of a MemoryStream for
1095 storing the chunks. This way, we won't miss traling data from the
1096 previous chunk when a new one is received before the other is fully
1099 2004-01-27 Nick Drochak <ndrochak@ieee.org>
1102 * HttpWebRequest.cs:
1106 * WebConnectionStream.cs: Remove unused variables thus eliminating some
1109 2004-01-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1111 * WebConnection.cs: patch by Yaacov Akiba Slama that fixes 100-continue
1112 handling for the case when the same packet also contains the actual
1115 2004-01-24 Lluis Sanchez Gual <lluis@ximian.com>
1117 * HttpWebRequest.cs: Added missing property.
1119 2004-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1121 * Dns.cs: don't block forever in EndResolve and EndGetHostByName. Fixes
1124 2004-01-16 Lluis Sanchez Gual <lluis@ximian.com>
1126 * ChunkStream.cs: The "size" parameter of Write is not the number of
1127 bytes to write, but the last offset to be written. Thus, in WriteAndRead
1128 Back, since "read" is not an offset but the number of bytes, it must be
1129 added to the offset. Maybe it would be a good idea to change the name of
1130 the parameter, since it is confusing. This should fix bug #52591.
1132 2004-01-12 Lluis Sanchez Gual <lluis@ximian.com>
1134 * WebConnection.cs: Yet another fix for WebConnection. This fixes
1137 2004-01-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1139 * WebConnection.cs: Data.Init is a bad boy. Lluis realized. He also
1140 tidied up the end of ReadDone. Disabled relaunching the request if 2
1141 InitRead are called, since now we don't throw everything into
1142 RegisterWaitForSingleObject but one request at a time.
1144 * WebConnectionGroup.cs: when checking available connections, allow them
1145 not to be Connected but allocated to honor the connection limit.
1147 * WebConnectionStream.cs: CheckComplete() now checks for nextReadCalled
1148 too. ReadAll don't mess contentLength if it's provided in the headers.
1150 BIG thanks to Lluis. Turns out that we were debugging the same stuff and
1151 his Data.Init discovery was THE thing I was missing.
1155 2004-01-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1157 * ServicePointManager.cs: use GetMaxConnections to get the appropiate
1158 number of connections limit.
1160 2004-01-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1162 * MonoHttpDate.cs: use the invariant culture, not en-US. Suspected
1163 guilty for bug 52629.
1165 2003-12-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1167 * CredentialCache.cs: return null instead of throwing NotImplemented.
1169 2003-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1171 * HttpWebRequest.cs: fixed checking if method allows a body. Patch by
1172 Benjamin Jemlich (pcgod@gmx.net).
1174 2003-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1176 * HttpWebRequest.cs: deal with authentication schemes that have more
1177 than 1 round trip (Ntlm).
1179 2003-12-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1181 * NtlmClient.cs: new class that actually uses one from Mono.Http to do
1184 2003-12-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1186 * HttpWebRequest.cs: when building the redirect URI, use the previous
1187 one as the base URI, which makes relative URIs work.
1189 2003-12-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1191 * DigestClient.cs: merged in code from Sebastien Pouliot and Greg
1192 Reinacker that Supports cnonce and preauthentication.
1194 2003-12-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1196 * DigestClient.cs: initial Digest authentication. Works with apache
1199 2003-11-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1201 * HttpWebRequest.cs: removed unneeded StringBuilder.
1202 * WebConnection.cs: default to keep the connection open for HTTP/1.1
1203 only or HTTP/1.0 + (Proxy-)Connection header. Fixes bug #51208.
1205 2003-11-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1207 * WebConnection.cs: turns out that socket.Connected is not useful until
1208 we actually try to send/receive data, even if the other end has already
1209 closed the socket. Added TryReconnect() and Connected.
1211 * WebConnectionData.cs: default value for StatusCode is 0 now.
1213 * WebConnectionGroup.cs: reuse the connection since the beginning,
1214 instead of opening up to ConnectionLimit and then reusing.
1216 * WebConnectionStream.cs: reopen the socket if we're trying to reuse
1217 one which fails on first write.
1219 2003-11-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1221 * WebConnectionStream.cs: when a callback is passed to BeginRead/Write,
1222 wrap it and do our job before calling it. Fixes bug #48497.
1224 2003-11-12 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1226 * WebExceptionStatus.cs: Restyled, Added .Net 1.1 members
1227 * SecurityProtocolType.cs: Added and implemented
1229 2003-11-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1231 * HttpWebRequest.cs: fixed redirects when they target another host.
1233 2003-11-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1235 * IPAddress.cs: prevent exceptions when trying to parse the static IPv6
1238 2003-10-17 Pedro MartÃnez Juliá <yoros@wanadoo.es>
1240 * WebClient.cs: use Path.DirectorySeparator instead of "/" for
1241 windows compatibility. Add some checks for file paths like
1242 "C:/xxx/yyy/..." and like "/home/xxx/...".
1244 2003-10-16 Pedro MartÃnez Juliá <yoros@wanadoo.es>
1246 * WebClient.cs: added a slash between directory and file names.
1248 2003-10-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1250 * HttpWebRequest.cs:
1251 * HttpWebResponse.cs: better abort handling and leave the stream in a
1252 stable status on abort.
1254 2003-10-12 Pedro MartÃnez Juliá <yoros@wanadoo.es>
1256 * WebClient.cs: refine reading of local files (like MS.NET).
1258 2003-10-10 Pedro MartÃnez Juliá <yoros@wanadoo.es>
1260 * WebClient.cs: MS.NET works right when we try OpenRead("file.txt")
1261 but we didn't. Now, when Uri fails with an exception, it adds
1262 "file://" before the URI and tries again.
1264 2003-10-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1266 * ServicePoint.cs: preparing for recycling. Not yet finished.
1267 * ServicePointManager.cs: this is the one that reads config.
1268 * WebConnectionGroup.cs: don't read config here.
1269 * WebConnection.cs: added the queue again. Launch queued requests on
1272 2003-10-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1274 * WebConnection.cs: the queue is now handled by the threadpool.
1275 Initialize the connection data in a place where it does not depend on
1276 the execution order of the requests in threadpool. More error handling.
1278 * WebConnectionGroup.cs: use the limits in the config file and reuse
1279 connections when the limit is reached.
1281 2003-10-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1283 * HttpWebRequest.cs: handle 304 Ã la MS.
1284 * WebConnection.cs: set the response data when reading 0 bytes.
1286 2003-09-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1288 * WebConnectionStream.cs: fix by Lluis to avoid the stream being in an
1291 2003-08-14 Nick Drochak <ndrochak@gol.com>
1293 * WebRequest.cs: Check lower case string since that is what we will add.
1295 2003-08-04 Jerome Laban <jlaban@wanadoo.fr>
1297 * IPHostEntry.cs: Default contructor must not initialize members.
1300 2003-07-27 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1302 * CredentialCache.cs: Removed undefined serializable attribute
1304 2003-07-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1307 (WantMore): true if we've not received the last chunk yet. Fixes
1308 bug #45463. Thanks to Miguel for tracking this down and providing a
1311 * WebConnection.cs: removed bogus ^M's.
1313 * WebHeaderCollection.cs: provide more info when the header or value is
1316 2003-07-15 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1318 * ChunkStream.cs: Removed unused members
1319 * IPAddress.cs: Removed unused exception variable, fixes compiler
1321 * WebConnection.cs: Removed unused exception variables, fixes compiler
1324 2003-07-14 Lluis Sanchez Gual <lluis@ximian.com>
1326 * NetConfig.cs: If Clone method is not public, then it must use
1327 explicit interface method implementation syntax.
1329 2003-07-14 Jerome Laban <jlaban@wanadoo.fr>
1331 * Dns.cs: Reworked indentation.
1333 Added literal address checking in GetHostByAddress.
1334 Changed Dns.Resolve behavior.
1336 * IPEndPoint.cs: Added IPv6 support.
1337 * IPv6Address.cs: Added address compression.
1338 * NetConfig.cs: Added configuration section.
1340 2003-07-14 Jerome Laban <jlaban@wanadoo.fr>
1342 * ServicePoint.cs: Removed Connect and GetEndPoint methods.
1343 Removed reverse resolution when uri is literal IP address.
1344 * WebConnection.cs: IPv6 compatibility update: Try to connect
1345 to all addresses returned by IPHostEntry.
1346 * WebConnectionGroup.cs: Removed unused parameter.
1348 2003-07-13 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1350 * WebProxy.cs: Add serialization/ deserialization support
1352 2003-07-10 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1355 * WebStatus.cs: Deleted (do not exist in this assembly)
1356 * IPv6Address.cs: Made internal
1358 2003-07-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1360 * HttpWebRequest.cs:
1361 * ServicePointManager.cs:
1362 * WebConnection.cs: added support for proxies.
1364 2003-07-05 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1366 * DnsPermissionAttribute.cs:
1367 * SocketPermissionAttribute.cs: Fixed wrong AttributeUsageAttribute
1369 2003-07-05 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1371 * WebPermission.cs: Added and partially implemented
1372 * WebPermissionAttribute.cs: Added and implemented
1374 2003-07-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1376 * WebClient.cs: fixed bug #45651.
1378 2003-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1380 * WebClient.cs: Small fix by Sebastian <scut@nb.in-berlin.de>.
1382 2003-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1384 * WebConnection.cs: fixed header writing the reusing a connection and
1385 the server does not send 100-continue response.
1387 2003-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1389 * WebConnection.cs: close the socket and connection when disposing.
1390 * WebRequest.cs: removed setter for RequestUri. Allow non-public ctors
1391 when creating instances.
1393 * HttpWebRequest.cs:
1394 * HttpWebResponse.cs:
1395 * FileWebRequest.cs: support serialization.
1397 * FileWebResponse.cs: support serialization and fixed dispose checks.
1399 * FileWebRequestCreator.cs:
1400 * HttpRequestCreator.cs: added internal .ctor.
1402 2003-06-24 Lluis Sanchez Gual <lluis@ximian.com>
1404 * HttpWebRequest.cs: SetWriteStream(): SendRequestHeaders should be
1405 called before asyncWrite.SetCompleted, to make sure that the waiting
1406 thread does not start to send more information before
1407 SendRequestHeaders has finished.
1409 2003-06-22 Lluis Sanchez Gual <lluis@ximian.com>
1411 * WebConnectionStream.cs: Only increment pendingReads if an asynchronous
1412 read is really needed.
1414 2003-06-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1416 * WebHeaderCollection.cs: prevent duplication headers used niternally.
1418 2003-06-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1420 * HttpWebRequest.cs: if CookieContainer has not been set, make
1421 HttpWebResponse ignore Set-Cookie* headers.
1423 * HttpWebResponse.cs: Set-Cookie and Set-Cookie headers removed if
1424 CookieContainer have been provided to the request.
1426 2003-06-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1428 * AuthenticationManager.cs: get the list of authentication modules from
1429 the configuration files. Added Clear and fixed Unregister.
1431 * BasicClient.cs: fully implemented.
1433 * HttpWebRequest.cs: added support for Basic authentication when
1434 credentials are set.
1436 * NetworkCredential.cs: fixed GetCredential.
1438 2003-06-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1440 * HttpWebRequest.cs: *really* take care of requestSent to prevent
1441 sending the same request twice.
1442 * WebAsyncResult.cs: don't close the handle. Just Reset.
1443 * WebConnectionStream.cs: removed unneeded line.
1445 2003-06-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1447 * HttpWebRequest.cs: use InternalClose when we are not going to send the
1448 rest of the request stream because of an error after sending the
1451 * WebConnection.cs: check for completion after setting the response.
1452 Enable reading in NextRead.
1454 * WebConnectionStream.cs: re-fixed the count for partially buffered
1455 reads. If the network stream returns 0 bytes, we're done.
1457 2003-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1459 * WebClient.cs: implemented UploadFile. Fixed SetupRequest to set the
1460 special headers *after* the others.
1462 2003-06-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1464 * WebConnectionStream.cs: when the read is partially filled from the
1465 initial buffer, add those bytes too. Thanks to Lluis for debugging this.
1467 2003-06-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1469 * HttpWebRequest.cs: added ExpectContinue property.
1470 * WebConnection.cs: allow 100 Continue to be delayed after waiting for
1473 2003-06-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1475 * HttpWebRequest.cs: don't send "Expect: 100-continue" is the server
1476 is known not to respond to that.
1478 * ServicePoint.cs: added SendContinue property.
1480 * WebConnection.cs: only wait 2 seconds for a continue reply. If it
1481 timeouts, set SendContinue to false and proceeed sending data.
1483 * WebConnectionStream.cs: if 100-continue is not received and instead we
1484 get a 417 or anything else, don't send the data.
1486 * WebClient.cs: implemented all missing properties and methods except
1489 2003-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1491 * FileWebRequestCreator.cs: splitted from WebRequest.
1492 * HttpRequestCreator.cs: splitted fromWebRequest.
1493 * WebRequest.cs: added methods that are used by the new configuration
1494 handler to set prefix/type name requests creators.
1496 2003-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1498 * AuthenticationManager.cs:
1500 * BasicClient.cs: new file.
1501 * ChunkStream.cs: new file.
1503 * CookieContainer.cs:
1504 * GlobalProxySelection.cs:
1505 * HttpWebRequest.cs:
1506 * HttpWebResponse.cs:
1507 * IAuthenticationModule.cs:
1509 * ServicePointManager.cs:
1510 * WebAsyncResult.cs: new file.
1511 * WebConnection.cs: new file.
1512 * WebConnectionData.cs: new file.
1513 * WebConnectionGroup.cs: new file.
1514 * WebConnectionStream.cs: new file.
1516 * WebHeaderCollection.cs:
1520 Reworked HttpWebRequest and related classes.
1522 2003-05-30 Miguel de Icaza <miguel@ximian.com>
1524 * HttpWebRequest.cs (EndGetResponse): Do not throw exceptions on
1525 InternalServerError (500)
1527 2003-05-29 Miguel de Icaza <miguel@ximian.com>
1529 * HttpWebRequest.cs (Close): Move the code that accumulates the
1530 output to Close from Flush. Flush could have been called in the
1531 middle of the processing, and would have generated invalid results
1534 2003-05-23 Zoltan Varga <vargaz@freemail.hu>
1536 * Dns.cs (GetHostByAddress): Return the local host when called with
1539 2003-04-29 Miguel de Icaza <miguel@ximian.com>
1541 * WebClient.cs (DownloadData): Close the underlyng stream.
1542 (DownloadFile): Use using, so the file gets closed.
1544 2003-04-24 Miguel de Icaza <miguel@ximian.com>
1546 * WebClient.cs (DownloadData): Instead of using a MemoryStream,
1547 keep track of all the small chunks in an ArrayList. The
1548 MemoryStream had the property of reallocating itself, and the
1549 problem was that MemoryStream.GetBuffer would return the buffer
1550 (correctly), but not something of the right size. So clients of
1551 DownloadData would get the extra unused bytes as part of the
1554 The solution would have been to make another copy at this point,
1555 instead, we only keep the small allocations around in the
1556 ArrayList, and we only do one large allocation at the end.
1558 * HttpWebResponse.cs: If there is a Content-Length header, pass
1559 this information to our HttpWebResponseStream, so it knows when to
1560 stop, instead of waiting for the stream to be shut down by the
1563 * HttpWebRequest.cs: Only set the `delay-header-writing' mode on
1564 the underlying stream if the method will do a content transfer and
1565 no Content-Length was provided. If not (HEAD and GET or
1566 Content-Length provided), keep going.
1568 2003-04-23 Miguel de Icaza <miguel@ximian.com>
1570 * HttpWebRequest.cs: .NET Allows the HttpWebRequest to not have
1571 the ContentLength specified on the request. If that happens, we
1572 have to accumulate all the data written, and once we accumulate
1573 the data, we send it off.
1575 Notice that the documentation in .NET is actually incorrect, they
1576 state that setting ContentLength is mandatory. It is not.
1578 2003-04-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1580 * HttpWebResponse.cs: fixes bug #41180.
1582 2003-03-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1584 * HttpWebRequest.cs: throw an exception is the response code is >= 300.
1586 2003-03-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1588 * HttpWebRequest.cs: implemented IDisposable, make the request stream
1589 read only. Changed the way of disposing the socket.
1591 * HttpWebResponse.cs: wrapped the socket in a write-only NetworkStream,
1592 handle chunked transfer encoding (no more hangs), added serialization
1593 stuff, call CheckDisposed at the beginning of methods/properties (not
1594 in a finally clause).
1596 2003-02-17 Nick Drochak <ndrochak@gol.com>
1598 * WebClient.cs : Implemented Credentials property.
1600 2003-02-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1602 * SocketAddress.cs: byte 1 of the data is the high byte of the family,
1605 2003-01-29 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1607 * WebClient.cs : hacked OpenRead, DownloadData and DownloadFile.
1609 2002-10-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1611 * HttpWebRequest.cs: applied patch from Tim Haynes
1612 (thaynes@openlinksw.com).
1614 Avoided double-sending of the request to the server when both
1615 GetRequestStream() and GetResponse() are called.
1616 System Header attributes survive the Headers attribute set.
1617 Added handling of Connection: KeepAlive/Close
1619 2002-10-03 Dick Porter <dick@ximian.com>
1621 * Dns.cs: Fixed GetHostName()
1623 2002-09-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1625 * HttpWebRequest.cs:
1626 * HttpWebResponse.cs: applied another patch from Shahms E. King
1627 (shahms@shahms.com).
1629 2002-09-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1631 * HttpWebRequest.cs:
1632 * HttpWebResponse.cs: applied patch from Shahms E. King
1633 (shahms@shahms.com).
1635 2002-05-29 Lawrence Pit <loz@cable.a2000.nl>
1637 * MonoHttpDate.cs: added
1638 * HttpWebRequest.cs: using MonoHttpDate
1639 * HttpWebResponse.cs: using MonoHttpDate
1640 * DnsPermission.cs: correct XML output
1641 * SocketPermission.cs: correct XML output
1643 2002-05-21 Lawrence Pit <loz@cable.a2000.nl>
1645 * WebClient.cs: stubbed
1646 * WebProxy.cs: fixed bug; had to change internal representation
1647 of bypasslist to ArrayList, different implementation of checking
1650 2002-05-20 Lawrence Pit <loz@cable.a2000.nl>
1652 * WebProxy.cs: added, implemented
1653 * ServicePoint.cs: implemented most
1654 * ServicePointManager.cs: implemented
1655 * HttpWebRequest.cs: started implementation
1656 * HttpWebResponse.cs: improved disposable routines
1657 * FileWebRequest.cs: slight improvement of Close method
1659 2002-05-19 Lawrence Pit <loz@cable.a2000.nl>
1661 * FileWebRequest.cs: finished implementation of async methods.
1662 * FileWebResponse.cs: improved disposable routines.
1663 * IPEndPoint.cs: fixed bug #24666 in Serialize and Create methods,
1664 byte ordering of address was backwards.
1666 2002-05-13 Lawrence Pit <loz@cable.a2000.nl>
1668 * Dns.cs: Reimplemented (simplified and fixed) asynchronous methods by
1669 relying on standard asynchronous delegate features. Added checks for
1671 * HttpWebResponse.cs: implemented properties
1672 * FileWebResponse.cs: improved the way resources are disposed.
1673 * FileWebRequest.cs: started implementation of asynchronous methods
1674 * ServicePointManager.cs: implemented properties
1676 2002-05-12 Lawrence Pit <loz@cable.a2000.nl>
1678 * HttpWebRequest.cs: properties implemented
1679 * HttpWebResponse.cs: added
1680 * GlobalProxySelection.cs: implemented
1681 * FileWebResponse.cs: added
1682 * FileWebRequest.cs: some methods implemented
1684 2002-05-11 Lawrence Pit <loz@cable.a2000.nl>
1686 * WebHeaderCollection.cs: implemented
1687 * WebRequest.cs: implemented
1688 * FileWebRequest.cs and HttpWebRequest.cs stubs added
1690 2002-05-09 Lawrence Pit <loz@cable.a2000.nl>
1692 * Rewrote IPAddress.Parse method, passing all unit tests
1694 2002-05-09 Lawrence Pit <loz@cable.a2000.nl>
1696 * fixed bug in IPEndPoint.Equals method
1697 * fixed bug in IPAddress.Parse method
1698 * fixed bug in IPAddress.SwapLong method
1699 * fixed several bugs in Cookie.cs
1701 2002-05-06 Lawrence Pit <loz@cable.a2000.nl>
1703 * WebRequest.cs: added
1704 * WebResponse.cs: implemented
1705 * WebException.cs: implemented
1706 * WebHeaderCollection.cs: added
1707 * HttpVersion.cs: implemented
1708 * HttpContinueDelegate.cs: added
1709 * IWebProxy.cs: added
1710 * IWebRequestCreate.cs: added
1711 * ICertificatePolicy.cs: added
1712 * ServicePoint.cs: stubbed
1713 * ServicePointManager.cs: stubbed
1714 * CookieContainer.cs: added
1715 * Authorization.cs: implemented
1717 2002-05-05 Lawrence Pit <loz@cable.a2000.nl>
1719 * CredentialCache.cs: implemented
1721 2002-05-05 Lawrence Pit <loz@cable.a2000.nl>
1723 * IPAddress.cs: fixed IsLoopback, address was already in host order
1725 2002-05-05 Lawrence Pit <loz@cable.a2000.nl>
1727 * IPv6Address.cs: added (note: not part of .net spec)
1729 2002-05-01 Lawrence Pit <loz@cable.a2000.nl>
1731 * DnsPermission.cs: implemented
1732 * DnsPermissionAttribute.cs: implemented
1734 2002-04-28 Lawrence Pit <loz@cable.a2000.nl>
1736 * EndpointPermission.cs: implemented
1737 * SocketPermission.cs: implemented
1738 * SocketPermissionAttribute.cs: implemented
1739 * ProtocolViolationException.cs: implemented
1740 * Dns.c: passing w32 error code when no host found
1742 2002-04-27 Lawrence Pit <loz@cable.a2000.nl>
1744 * Cookie.cs: implemented
1745 * CookieCollection.cs: implemented
1746 * CookieException.cs: implemented
1748 2002-04-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1750 * IPAddress.cs: initialize the read only fields with Parse().
1752 2002-04-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1754 * IPAddress.cs: little changes to behave as MS.
1756 2002-04-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1758 * Dns.cs (Resolve): behave as MS. Agreed with Mads.
1760 2002-04-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1762 * IPAddress.cs: the icalls for sockets are endianness-aware. So I
1763 changed a few things. Also included a workaround for bug #23547.
1765 2002-04-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1767 * IPAddress.cs: use System.BitConverter.IsLittleEndian (suggested
1768 by Paolo) instead of guessing the endianness.
1770 * SocketAddress.cs: implemented Equals() and GetHashcode().
1772 2002-04-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1774 * IPEndPoint.cs: modifications to constructors according to the
1775 specifications (suggested by Lawrence Pit).
1777 2002-04-15 Patrik Torstensson <patrik.torstensson@labs2.com>
1779 * IPEndPoint.cs: Fixed build breaker.
1781 2002-04-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1783 * IPEndPoint.cs: implemented Equals() and GetHashCode(). Now 100%
1786 2002-04-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1788 * IPAddress.cs: finished all MonoTODO's. Use network order to store
1789 the address. Check for max and min values in Address:set. IsLoopback()
1790 returns now true for all 127.x.y.z. Some more checks in Parse ().
1791 Some changes to behave as MS does.
1793 2002-02-24 Duncan Mak <duncan@ximian.com>
1795 * ICredentialLookup.cs: Added the GetCredential method to the
1796 interface. The interface is named "ICredentials", should this file
1799 * NetworkCredential.cs: Added to CVS. Need to investigate on how
1800 GetCredential() works
1802 2002-01-23 Dick Porter <dick@ximian.com>
1804 * SocketAddress.cs: Implemented.
1806 * IPEndPoint.cs: Turned 'Address' field into a real property.
1807 Implemented Create() and Serialize() methods.
1809 * IPAddress.cs: Fixed class constructor, turned 'Address' field
1810 into a real property. Removed undocumented "public
1811 IPAddress(string)" constructor.
1813 * EndPoint.cs: Implemented. All methods return
1814 NotSupportedException to enforce subclass overriding.
1816 * Dns.cs: Replaced fixed-layout Hostent struct and cygwin
1817 P/Invokes with portable internal calls.
1819 2002-01-17 Miguel de Icaza <miguel@ximian.com>
1821 * Dns.cs: Updated to API changes.
1823 * IPAddress.cs: Updated API. Much left to implement.
1825 * Dns.cs: Remove IPToString method
1827 2002-01-06 Ravi Pratap <ravi@ximian.com>
1829 * Dns.cs, AuthenticationManager.cs, SocketAddress.cs : MonoTODO
1830 attribute insertion.
1832 2001-11-22 Nick Drochak <ndrochak@gol.com>
1834 * IPAddress.cs: Fix constructor bug, properly name Address property,
1835 and use triple-slash for comments.
1837 2001-11-20 Miguel de Icaza <miguel@ximian.com>
1839 * IPAddress.cs: Updated to contain Any, Broadcast, Loopback and
1840 None as suggested by Phillip.
1842 2001-09-26 Mads Pultz <mpultz@get2net.dk>
1843 * Dns.cs: Initial work on BeginGetHostByName and EndGetHostByName implemented.
1845 2001-09-24 Mads Pultz <mpultz@get2net.dk>
1847 * Dns.cs: Minor changes (some print statements removed)
1849 2001-09-23 Mads Pultz <mpultz@get2net.dk>
1851 * Dns.cs: Initial work submitted to repository.
1852 * IPHostEntry.cs: Initial work submitted to repository.
1854 2001-07-12 Sean MacIsaac <macisaac@ximian.com>
1856 * Authorization.cs: Fixed compiler error.
1858 * IAuthenticationModule.cs: Changes for Beta2.
1860 * IPAddress.cs: Internal storage changed to be uint not int.
1862 * IPEndPoint.cs: Fixed compiler error.
1864 * EndPoint.cs: Fixed compiler error.
1866 * AuthenticationManager.cs: Fixed typo.