New test.
[mono.git] / mcs / class / System / System.Net / ChangeLog
1 2006-11-27  Miguel de Icaza  <miguel@novell.com>
2
3         * WebRequest.cs: Instead of throwing NotImplemented exceptions,
4         call GetMustImplement, that way we do not need the whitelist, and
5         we save a handful of opcodes.
6
7 2006-11-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
8
9         * HttpWebRequest.cs: add 2 more methods that are not supposed to have
10         a body. Fixes bug #80001.
11
12 2006-11-15  Andrew Skiba  <andrews@mainsoft.com>
13
14         * WebHeaderCollection.cs: add stubs for new 2.0 properties.
15
16 2006-11-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
17
18         * HttpWebResponse.cs: cookies are actually added to the request
19         container if any. Fixes bug #79821.
20
21 2006-11-02  Michael Hutchinson  <m.j.hutchinson@gmail.com>
22
23         * WebRequest.cs: more closely follow MS behaviour: use system settings 
24           unless told otherwise, and respect app.config.
25
26 2006-11-01  Michael Hutchinson  <m.j.hutchinson@gmail.com>
27
28         * GlobalProxySelection.cs: Obsolete GlobalProxySelection under 2.0 
29           profile, and move code to new property WebRequest.DefaultWebProxy.
30         * WebRequest.cs: Implement new 2.0 property DefaultWebProxy.
31           Add support for config option UseSystemDefault using simplistic
32           implementation of new 2.0 method GetSystemWebProxy ().
33
34 2006-10-30  Atsushi Enomoto  <atsushi@ximian.com>
35
36         * FtpWebRequest.cs : more build fixes.
37
38 2006-10-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
39
40         * EndPointListener.cs: update comment and avoid exception when the
41         program is exiting.
42
43 2006-10-30  Miguel de Icaza  <miguel@novell.com>
44
45         * WebRequestMethods.cs: Another typo fix.
46
47         * ServicePointManager.cs: Set the default properly.
48
49         * SecurityProtocolType.cs: Remove non-existant defines. 
50
51 2006-10-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
52
53         * HttpWebRequest.cs: internally allow buffer if it's not a known
54         GET-only method instead of enabling that only for POST/PUT. Fixes bug
55         #79595.
56
57 2006-09-28 Andrew Skiba <andrews@mainsoft.com>
58
59         * WebConnection.cs: TARGET_JVM
60
61 2006-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
62
63         * WebException.cs: patch by Andrew Skiba that fixes serialization
64         compatibility with .NET and the default value for status.
65
66 2006-09-28  Andrew Skiba <andrews@mainsoft.com>
67
68         * Dns.cs: TARGET_JVM
69
70 2006-09-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
71
72         * CookieContainer.cs: send the cookies from the collection we got for
73         the given URI, not the whole collection.
74         * HttpWebResponse.cs: only add the cookies to this instance, not to the
75         cookie container set in the request.
76
77 2006-09-11  Sebastien Pouliot  <sebastien@ximian.com>
78
79         * WebConnection.cs: Patch to remove the hack that was required for 
80         using the older versions of the SSL/TLS classes. This hack is no more
81         required :-). Patch by Gonzalo Paniagua Javier.
82
83 2006-08-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
84
85         * HttpConnection.cs: when the content length is available, keep it
86         updated after synchronous read. Renamed 'available' to 'remaining_body'.
87         * RequestStream.cs: when creating the stream, pass the remaining length
88         starting from the offset in the buffer.
89
90 2006-08-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
91
92         * RequestStream.cs: make sure we return 0 when no more bytes left.
93         Paticularly, when we have a content length and the whole response is
94         buffered.
95
96 2006-08-20  Miguel de Icaza  <miguel@novell.com>
97
98         * RequestStream.cs (Read): A bug fix for #79112 and what I
99         consider to be an important change.
100
101         The bug fix is that we update the "available" variable as soon as
102         we consume data from Read, this means that a second call into Read
103         wont block.   Available was only being updated on a secondary code
104         path, now we alwaysupdate it after using FillFromBuffer.
105
106         The second component is what I believe the right behavior should
107         be.  There was a check for "if count > available" that set count
108         to available in that case.   The idea was to limit the data read
109         from the buffer that belonged to this particular request, to allow
110         pipelining. 
111
112         But this test was done after FillFromBuffer, which assumed that
113         all the data held in the buffer (the one used by FillFromBuffer)
114         must belong to the this request, and only future data did not.
115
116         I think my change is correct, but it assumes that the initialized
117         RequestStream will be used for other pipelined HTTP requests,
118         which is not something am 100% sure of, so Gonzalo needs to check
119         this. 
120
121 2006-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
122
123         * Cookie.cs: avoid nullref in GetHashCode and Equals.
124
125 2006-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
126
127         * CookieCollection.cs:
128         * CookieContainer.cs: remove expired cookies.
129
130 2006-07-07  Atsushi Enomoto  <atsushi@ximian.com>
131
132         * Dns.cs : (GetHostEntry) when passed IP addresses, it does not issue
133           query to DNS. Patch by Petri Latvala.
134
135 2006-07-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
136
137         * CookieContainer.cs: don't send a secure cookie over an insecure
138         channel.
139
140 2006-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
141
142         * WebProxy.cs: (IsBypassed) 'loopback', 'localhost' and any address
143         that starts with 127 are special.
144
145 2006-05-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
146
147         * HttpListener.cs: Fixes race condition in BeginGetContext. Patch by
148         Pawel Sakowski that fixes bug #78365.
149
150 2006-05-09  Atsushi Enomoto  <atsushi@ximian.com>
151
152         * ServicePointManager.cs : oops, CONFIGURATION_DEP.
153
154 2006-05-09  Atsushi Enomoto  <atsushi@ximian.com>
155
156         * GlobalProxySelection.cs : if corresponding config section is
157           DefaultProxySection then use it.
158
159 2006-05-09  Atsushi Enomoto  <atsushi@ximian.com>
160
161         * WebRequest.cs : if corresponding config section is
162           WebRequestModulesSection then use it.
163
164 2006-05-09  Atsushi Enomoto  <atsushi@ximian.com>
165
166         * ServicePointManager.cs : if corresponding config section is
167           ConnectionManagementSection then use it.
168
169 2006-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
170
171         * ResponseStream.cs:
172         * HttpListenerResponse.cs: allow 0 length POST. Patch by Horst Reiterer.
173         Closes bug #78316.
174
175 2006-05-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
176
177         * CredentialCache.cs: added DefaultNetworkCredentials.
178
179 2006-05-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
180
181         * NetworkCredential.cs: implement ICredentialsByHost interface.
182
183 2006-04-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
184
185         * WebConnection.cs: reset the challenge and the status code when
186         creating the tunnel and sending the proxy auth. headers. Improve error
187         message when there's an error creating the tunnel.
188         * HttpWebRequest.cs: don't trigger an early throw for a POST that gets
189         a 401 or 407 response.
190
191 2006-04-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
192
193         * WebConnectionData.cs:
194         * WebConnection.cs:
195         * HttpWebRequest.cs: when tunneling an ssl conneciton through a proxy,
196         we were not handling a proxy authentication request. Fixes bug #78150
197         take 2.
198
199 2006-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
200
201         * WebProxy.cs: a .ctor was not forwarding the 'credentials' argument.
202         This fixes bug #78150. Also fix the bypass check for local requests.
203
204 2006-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
205
206         * WebProxy.cs: removed bogus ^M.
207
208 2006-04-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
209
210         * HttpWebResponse.cs: don't remove the Set-Cookie headers. Fixes bug
211         #78028.
212
213 2006-04-04  Atsushi Enomoto  <atsushi@ximian.com>
214
215         * WebClient.cs : added a bunch of async method support.
216
217 2006-04-03  Chris Toshok  <toshok@ximian.com>
218
219         * HttpWebResponse.cs (ContentEncoding): return "" if the header
220         isn't present.
221
222 2006-03-30  Atsushi Enomoto  <atsushi@ximian.com>
223
224         * DownloadStringCompletedEventHandler.cs : missing delegate.
225
226 2006-03-30  Atsushi Enomoto  <atsushi@ximian.com>
227
228         * Dns.cs : minor argument renaming.
229
230 2006-03-28  Atsushi Enomoto  <atsushi@ximian.com>
231
232         * DownloadDataCompletedEventArgs.cs
233           DownloadDataCompletedEventHandler.cs
234           DownloadProgressChangedEventArgs.cs
235           DownloadProgressChangedEventHandler.cs
236           DownloadStringCompletedEventArgs.cs
237           OpenReadCompletedEventArgs.cs
238           OpenReadCompletedEventHandler.cs
239           OpenWriteCompletedEventArgs.cs
240           OpenWriteCompletedEventHandler.cs
241           UploadDataCompletedEventArgs.cs
242           UploadDataCompletedEventHandler.cs
243           UploadFileCompletedEventArgs.cs
244           UploadFileCompletedEventHandler.cs
245           UploadProgressChangedEventArgs.cs
246           UploadProgressChangedEventHandler.cs
247           UploadStringCompletedEventArgs.cs
248           UploadStringCompletedEventHandler.cs
249           UploadValuesCompletedEventArgs.cs
250           UploadValuesCompletedEventHandler.cs : added 2.0 types.
251
252 2006-03-28  Atsushi Enomoto  <atsushi@ximian.com>
253
254         * Dns.cs : filled missing NET_2_0 members.
255
256 2006-03-28  Atsushi Enomoto  <atsushi@ximian.com>
257
258         * IPAddress.cs : ugh, I was testing with run-test-ondotnet, not
259           run-test. Those IPv6 properties needed to be reimplemented.
260
261 2006-03-27  Atsushi Enomoto  <atsushi@ximian.com>
262
263         * IPAddress.cs : added NET_2_0 TryParse() and IPv6 related properties.
264
265 2006-03-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
266
267         * WebConnectionStream.cs: avoid Begin/EndWrite when the body length is
268         zero.
269
270 2006-03-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
271
272         * HttpWebRequest.cs: send the request if ContentLength is set for
273         POST/PUT, the request stream has that exact amount of bytes in it and
274         we're trying to get the response stream.
275
276         This way, closing the request stream is not needed in order to actually
277         send the request. Fixes bug #77753.
278
279         * WebConnectionStream.cs: throw if the number of bytes written is
280         greater than the specified request content length.
281
282 2006-03-11  Miguel de Icaza  <miguel@novell.com>
283
284         * WebClient.cs: Only expose the right methods to avoid warnings. 
285
286         * FtpDataStream.cs (Dispose): Fix signature.
287
288         * FtpWebResponse.cs: Comment out keepAlive field (unused, sounds
289         like we are missing features here).
290
291         * IPAddress.cs: Move m_HashCode property to the end, and set
292         pragmas to disable warnings.
293
294 2006-02-16  Dick Porter  <dick@ximian.com>
295
296         * IPEndPoint.cs: The SocketAddress AddressFamily takes up the
297         first two bytes, not just one.  Check the size of the
298         SocketAddress buffer for IPv6 as well.
299
300         * Dns.cs: Cope when GetHostByName_internal or
301         GetHostByAddr_internal returns fewer items in the array than it
302         intended to (maybe due to conversion errors.)
303
304 2006-02-09  Carlos Alberto Cortez <calberto.cortez@gmail.com>
305
306         * FtpWebResponse.cs: Add UpdateStatus method, to update both
307         statusCode and statusDescription at the same time. 
308
309 2006-02-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
310
311         * FtpWebRequest.cs: Remove WebExceptionStatus argument
312         from CreateExceptionFromResponse, since exceptions gotten
313         from server response always have a WebExceptionStatus.ProtocolError
314         value.
315         
316 2006-02-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
317
318         * FtpWebRequest.cs: Add renaming support when using 
319         WebRequestMethods.Ftp.Rename method.
320         
321 2006-02-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
322
323         * ChunkedInputStream.cs:
324         * ChunkStream.cs: handle partial trailers and zero reads. Patch by Pawel
325         Sakowski.
326
327 2006-02-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
328
329         * HttpWebRequest.cs: don't send the expect-100 if if there's no content.
330
331         * HttpListenerRequest.cs:
332         * HttpConnection.cs:
333         * RequestStream.cs: use the content length header to avoid reading past
334         the end of the stream.
335
336         Patch by Horst Reiterer.
337
338 2006-02-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
339
340         * FtpWebRequest.cs: Add supportedCommands array with the sorted
341         methods, to search using Array.BinarySearch. Remove CheckMethod.
342
343 2006-02-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
344
345         * FtpWebRequest.cs: Fixed some typos and small issues.
346         
347 2006-02-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
348
349         * HttpWebRequest.cs: dummy implementation of UnsafeAuthenticationBlah
350         property.
351
352 2006-02-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
353
354         * FtpRequestCreator.cs: 
355         * FtpAsyncResult.cs:
356         * FtpDataStream.cs:
357         * FtpWebRequest.cs:
358         * FtpWebResponse.cs: Initial implementation of FtpWebRequest (2.0)
359         
360 2006-02-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
361
362         * FtpStatusCode.cs: Fix a typo.
363         
364 2006-01-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
365
366         * WebClient.cs: (2.0) UploadString() returns string, not void.
367
368 2006-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
369
370         * HttpWebResponse.cs: ignore non-integer values for max-age and version.
371         Fixes bug #77199. Thanks to Cyrille Colin.
372
373 2006-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
374
375         * HttpWebResponse.cs: cope with malformed cookies with '=' as value.
376         Patch by Cyrille Colin. Fixes bug #77179.
377
378 2005-12-25  Carlos Alberto Cortez <calberto.cortez@gmail.com>
379
380         * FtpStatusCode.cs: New 2.0 enum.
381
382 2005-12-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
383
384         * CookieContainer.cs: fix matching of subdomains. Patch by Cyrille
385         Colin.
386
387 2005-12-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
388
389         * HttpWebResponse.cs: don't loop forever when no name or value between
390         semicolons. Fixes bug #76943.
391
392 2005-12-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
393
394         * HttpWebResponse.cs: don't fail if the cookie ends with a 'name'
395         without a value. Fixes bug #76922.
396
397 2005-11-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
398
399         * EndPointListener.cs:
400         * HttpListenerRequest.cs: don't require the Host header for 1.0. Just
401         map that to the '*' or '+' host.
402
403 2005-11-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
404
405         * IPAddress.cs: the byte[] ctor supports length 4 in .NET 2.0.
406         Fixes bug #76792.
407
408 2005-11-21 Senganal T   <tsenganal@novell.com>
409
410         * Dns.cs : corrected a mistake in GetHostEntry ()
411
412 2005-11-21 Senganal T   <tsenganal@novell.com>
413
414         * Dns.cs : added GetHostEntry() method for 2.0 api conformance
415
416 2005-11-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
417
418         * HttpRequestHeader.cs: add missing values.
419
420 2005-11-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
421
422         * HttpListenerPrefixCollection.cs:
423         * HttpWebResponse.cs:
424         * Dns.cs:
425         * HttpListenerRequest.cs:
426         * HttpWebRequest.cs:
427         * HttpListenerResponse.cs: a few signature fixes for 2.0.
428
429 2005-11-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
430
431         * HttpListenerPrefixCollection.cs:
432         * EndPointListener.cs:
433         * HttpStreamAsyncResult.cs:
434         * HttpListenerContext.cs:
435         * HttpListenerBasicIdentity.cs:
436         * AuthenticationSchemeSelector.cs:
437         * HttpListener.cs:
438         * WebHeaderCollection.cs:
439         * ListenerPrefix.cs:
440         * HttpListenerException.cs:
441         * HttpResponseHeader.cs:
442         * EndPointManager.cs:
443         * HttpListenerRequest.cs:
444         * HttpRequestHeader.cs:
445         * BindIPEndPoint.cs:
446         * ResponseStream.cs:
447         * ChunkedInputStream.cs:
448         * HttpStatusCode.cs:
449         * ListenerAsyncResult.cs:
450         * ChunkStream.cs:
451         * HttpConnection.cs:
452         * HttpUtility.cs:
453         * HttpListenerResponse.cs:
454         * RequestStream.cs: initial implementation of HttpListener. There are
455         a few TODOs left (cookies, HTTPS) but almost everything else is in.
456
457 2005-11-15  Sebastien Pouliot  <sebastien@ximian.com>
458
459         * IPv6Address.cs: Added on overload to ToString to get a the full 
460         length address returned (as required by System.Uri).
461
462 2005-11-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
463
464         * WebRequestMethods.cs: New 2.0 class.
465         
466 2005-11-05  Atsushi Enomoto  <atsushi@ximian.com>
467
468         * WebClient: use POST for DownloadData(). Fixed bug #76631.
469
470 2005-10-26  Atsushi Enomoto  <atsushi@ximian.com>
471
472         * AuthenticationSchemes.cs : Fixed enum values and added [Flags].
473
474 2005-10-19  Atsushi Enomoto  <atsushi@ximian.com>
475
476         * WebClient.cs : added net_2_0 DownloadString() and DownloadData()
477           with HTTP method as well.
478
479 2005-10-19  Atsushi Enomoto  <atsushi@ximian.com>
480
481         * WebClient.cs : added UploadString() and Encoding (net_2_0). Added
482           some new overloaded stuff that takes Uri instead of string address.
483
484 2005-10-17  Sebastien Pouliot  <sebastien@ximian.com> 
485
486         * ICredentialPolicy.cs: New. Interface for 2.0.
487
488 2005-10-05  Atsushi Enomoto  <atsushi@ximian.com>
489
490         * AuthenticationSchemes.cs : new 2.0 enum.
491
492 2005-08-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
493
494         * GlobalProxySelection.cs: remove double lock.
495         * HttpWebRequest.cs: remove double lock in GetServicePoint() and use
496         a private object when locking.
497
498 2005-07-15  Miguel de Icaza  <miguel@novell.com>
499
500         * DigestClient.cs: Fix bug #75556, the qop argument must be
501         quoted, per http://www.faqs.org/rfcs/rfc2617.html section
502         `quo-options'.
503
504 2005-07-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
505
506         * WebConnectionStream.cs: initiate writing the body before trying to
507         read. This fixes the performance problems observed in web services.
508         Closes bug #75455.
509
510 2005-06-27  Lluis Sanchez Gual <lluis@novell.com>
511
512         * IPAddress.cs: Changed field names for the sake of serialization
513         interoperability with MS.NET.
514         
515 2005-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
516
517         * WebConnection.cs: if cnc.EndRead throws, mark the asyncresult as done.
518         * WebConnectionStream.cs: if we're done with the body of a chunk, don't
519         require the next chunk header to be there, as some servers might close
520         the connection (while also sending 'Connection: close').
521
522 2005-06-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
523
524         * HttpWebRequest.cs: MS implementation follows redirects for POST. Seems
525         to me that this is against 10.3.3 in RFC 2616, but may be the user
526         'authorization' to do this is implicit in AllowAutoRedirect...
527
528 2005-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
529
530         * WebConnection.cs: SslClientStream.BeginRead might not be asynchronous
531         if there's no record available to read. This is a workaround that makes
532         the call to BeginRead itself asynchronous. Fixes bug #75342.
533
534 2005-06-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
535
536         * WebConnection.cs:
537         * HttpWebRequest.cs:
538         * WebConnectionStream.cs: initiate the polling for input data after
539         sending the header so that we detect any response that the server sends
540         back even if we're still trying to write the request for a POST/PUT.
541         If we get the response (or an error) before any one calls GetResponse(),
542         keep it around instead of ignoring it.
543
544 2005-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
545
546         * HttpWebRequest.cs: send the right header/user/password in
547         PreAuthenticate in presence of a proxy.
548
549 2005-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
550
551         * IPv6Address.cs: fix IsLoopback. Closes bug #75128.
552
553 2005-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
554
555         * IPv6Address.cs: don't do extra check on ipv4 if this is a ipv6
556         address. Fixes bug #75125.
557
558 2005-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
559
560         * ServicePointManager.cs: when going through a proxy, use 2 different
561         service points depending on the scheme. Fixes bug #75135.
562
563 2005-05-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
564
565         * Dns.cs: don't parse the address when it comes from an IPAddress.
566
567 2005-05-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
568
569         * WebConnection.cs: prevent 2 nullrefs when the aborting during
570         Connect() and reset the status to Success before starting a new
571         request.
572
573 2005-05-19  Sebastien Pouliot  <sebastien@ximian.com>
574
575         * WebRequest.cs: Throw NotImplementedException (not NotSupported
576         Exception) for stuff that should have been abstract. No exception
577         is thrown by the serialization constructor.
578
579 2005-05-04 James Willcox  <james@ximian.com>
580
581         * DigestClient.cs: convert to a hex string with "X8" consistently
582         for nc-value
583
584 2005-05-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
585
586         * WebConnection.cs: don't rethrow errors in Write, as the error will be
587         received by GetResponse*. The result is that the threadpool thread doing
588         this will not end up printing the exception. Fixes bug #74817.
589
590 2005-05-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
591
592         * ServicePoint.cs: HostEntry needs to be thread safe.
593
594 2005-05-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
595
596         * WebConnection.cs: removed a 'slightly' important line by mistake.
597         * WebConnectionStream.cs: if the transfer encoding is chunked, ignore
598         content-length header if present.
599
600 2005-05-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
601
602         * WebConnection.cs: no need to use an AutoResetEvent.
603         * WebConnectionStream.cs: don't start any more reads on the socket
604         after getting a 0 signalling the end. This fixes Ben's infamous foo.cs
605         test.
606
607 2005-04-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
608
609         * BasicClient.cs: firefox/IE just send latin1, stripping the high byte
610         from unicode >= 256 characters.
611
612 2005-04-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
613
614         * BasicClient.cs: use latin1 when encoding the username/domain/password.
615         Fixes bug #74745.
616
617 2005-04-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
618
619         * WebConnectionStream.cs: if the BeginRead/BeginWrite is completed
620         synchronously, no need to create the ManualResetEvent to wait on.
621
622 2005-04-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
623
624         * WebConnectionStream.cs: call SetComplete in EndWrite when we're not
625         buffering the request body. Fixes bug #74637.
626
627         * WebAsyncResult.cs: renamed field.
628
629 2005-04-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
630
631         * WebConnectionStream.cs:
632         * WebAsyncResult.cs: ensure we only call EndRead once per async. result.
633         Update total before invoking the callback when present.
634
635 2005-04-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
636
637         * WebConnection.cs:
638         * WebConnectionStream.cs: don't start reading until we've sent at least
639         the headers. This way we ensure that a Write happens before any Read,
640         which is needed by the SSL code.
641
642 2005-04-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
643
644         * HttpWebRequest.cs: ensure we read everything before redirecting.
645
646 2005-04-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
647
648         * WebConnectionStream.cs: provide a default callback when doing async.
649         read/write and waiting for a timeout so that the callback sets the
650         event and we don't block forever. Fixes bug #74539 take 3.
651
652 2005-04-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
653
654         * WebConnection.cs:
655         * HttpWebRequest.cs: now Abort() works properly. Fixes bug #74177.
656
657 2005-04-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
658
659         * WebConnection.cs: fix some breakage from my last patch.
660         * WebConnectionStream.cs: invoke the callback when done even in EndRead.
661
662 2005-04-10  Sebastien Pouliot  <sebastien@ximian.com>
663
664         * WebConnection.cs: Added support for TrustFailure when throwing a
665         WebException. Fix bug #74286.
666
667 2005-04-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
668
669         * HttpWebRequest.cs: 
670         * WebConnectionStream.cs: implemented support for ReadWriteTimeout.
671
672 2005-04-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
673
674         * WebConnection.cs: if we're reading chunked data and didn't use the
675         stream to read, we gotta set the async. result as complete and invoke
676         the callback. Don't call nstream.EndRead with the wrong IAsyncResult.
677
678         * WebConnectionStream.cs: in EndRead, pass the correct IAsyncResult to
679         cnc.EndRead. Lock on a field instead of 'this'.
680
681 2005-04-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
682
683         * HttpWebRequest.cs: throw the exception if we got an error, as now
684         it's catched in the redirection handling code.
685
686 2005-04-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
687
688         * HttpWebRequest.cs: moved redirection handling to a proper place.
689
690 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
691
692         * WebHeaderCollection.cs: added if-modified-since to the list of
693         restricted headers.
694
695         * ServicePoint.cs: use a field object when locking.
696
697 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
698
699         * WebConnectionStream.cs: ForceCompletion actually calls NextRead. No
700         need to wait for a Close/ReadAll when we have no content.
701
702 2005-04-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
703
704         * NtlmClient.cs: fix typo in assembly name.
705
706 2005-03-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
707
708         * CookieContainer.cs: adding to a CookieCollection might not increment
709         the number of items if the cookie is replaced. Now Count works properly.
710         Fixed an array index exception (typo).
711
712         * CookieCollection.cs: also compare the version.
713
714         * HttpWebResponse.cs: when we have cookies, add them to the request
715         container.
716
717         * HttpWebRequest.cs: changed last parameter of HttpWebResponse ctor.
718
719 2005-03-30  Miguel de Icaza  <miguel@novell.com>
720
721         * Cookie.cs: Compare using the InvariantCulture, to match the
722         behavior of CookieContainer that already did this.
723
724 2005-03-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
725
726         * WebConnection.cs: we don't need to trigger the next queued request
727         until the response is closed.
728
729 2005-03-29  Miguel de Icaza  <miguel@novell.com>
730
731         * HttpWebResponse.cs: Handle quotations in the cookies values, per
732         the spec http://www.faqs.org/rfcs/rfc2109.html, it is allowed to
733         have quotations.
734
735 2005-03-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
736
737         * BasicClient.cs:
738         * DigestClient.cs: check that GetCredential() does not return null.
739
740 2005-03-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
741
742         * BasicClient.cs: ensure credentials are not null.
743
744 2005-03-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
745
746         * HttpWebResponse.cs: moved cookie parsing into its own class.
747         * WebHeaderCollection.cs: remove (probably bogus) GetMultipleValues
748         call.
749         * HttpWebRequest.cs: don't let exception raised in the ctor of
750         HttpWebResponse vanish.
751
752         Fixes bug #73275.
753
754 2005-03-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
755
756         * WebHeaderCollection.cs: handle commas inside quotes when splitting
757         a multi-value header. Fixes bug #73151.
758
759 2005-02-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
760
761         * DigestClient.cs: fix for digest auth. and URIs containing query. Patch
762         by James Wilcox. Fixes bug #72571.
763
764 2005-02-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
765
766         * HttpWebResponse.cs:
767         * WebConnection.cs:
768         * HttpWebRequest.cs:
769         * WebConnectionStream.cs: don't read the entire response unless the
770         user requests it. Fixes bug #72443.
771
772 2005-02-08  Zoltan Varga  <vargaz@freemail.hu>
773
774         * IPv6Address.cs: Fix endianess problems.
775
776         * IPAddress.cs: Fix misleading comments.
777
778 2005-02-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
779
780         * HttpWebRequest.cs: send the headers when we're supposed to write
781         a POST/PUT but call GetResponse before GetRequestStream.
782
783         * WebConnectionStream.cs: new RequestWritten property.
784
785 2005-01-20  Jonathan Pryor  <jonpryor@vt.edu>
786
787         * EndpointPermission.cs: Fix IsSubsetof(hostname) so that the regression 
788           tests work.  In particular, IsSubsetOf ("12.13.*.*", "12.13.14.*") failed
789           because 14 wasn't a subset of * (which it is).  Fix: if part1 is we 
790           continue to the next portion.
791
792 2005-01-20  Jonathan Pryor  <jonpryor@vt.edu>
793
794         * IPAddress.cs (ParseIPV4): Fix so that the regression tests work.  In
795           particular, " foo" and ".1.1.6" weren't being caught (" foo" because it
796           started with a space, and ".1.1.6" because the split string accepted a
797           0-length portion, which would make 1...6 valid, but isn't valid based on
798           similar test cases).
799
800 2005-01-20  Jonathan Pryor  <jonpryor@vt.edu>
801
802         * WebHeaderCollection.cs: Fix GetValues(string) to split the values on
803           commas if the header is a Multi-Value header.  This matches
804           MonoTests.System.Net.WebHeaderCollectionTest.
805
806 2005-01-19  Sebastien Pouliot  <sebastien@ximian.com>
807
808         * WebPermissionAttribute.cs: Fixed NET_1_1 behaviour.
809
810 2004-12-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
811
812         * WebConnectionStream.cs: remove unneeded check. Write detects and
813         triggers the exception now.
814
815 2004-12-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
816
817         * AuthenticationManager.cs: don't lock on a public Type.
818         * HttpWebRequest.cs: read the error response for auth. errors.
819
820 2004-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
821
822         * HttpWebRequest.cs: set webResponse back to null when redirecting.
823         Fix the previous patch so that it reads the whole response even if
824         auto-redirect is not enabled. Closes bug #70484.
825
826 2004-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
827
828         * HttpWebResponse.cs: added ReadAll method.
829
830         * WebConnection.cs: in HandleError, set the response error after
831         closing the socket. Use an async. delegate to finish reading any prior
832         WebConnectionStream.
833
834         * HttpWebRequest.cs: for error responses that allow content, read the
835         stream immediately. Fixes bug #70483.
836
837 2004-12-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
838
839         * CookieContainer.cs: quote the port number.
840
841 2004-12-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
842
843         * WebConnection.cs:
844         * WebConnectionStream.cs: removed TryReconnect. It's no longer needed.
845
846 2004-12-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
847
848         * WebConnection.cs: set the event in Close so that if the queue is
849         empty, we won't block forever on next request. The finalizer was
850         removed because we're not implementing IDisposable pattern here.
851
852 2004-12-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
853
854         * WebConnection.cs: handle errors on chunked streams. Fixes bug #66858.
855         * ChunkStream.cs: added error checking all over.
856
857         * HttpWebRequest.cs: throw the exception received in SetResponseError
858         if we already have a response.
859         (SetRequestData): Don't nest the exception if it's a WebException.
860
861 2004-12-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
862
863         * WebConnection.cs: remove prevStream and don't set busy to false in
864         HandleError. prevStream is not needed any more and setting 'busy' so
865         early might let a request skip the queue.
866         
867         * WebConnectionGroup.cs: decrement the indexer when removing a dead
868         reference from the arraylist.
869
870         * WebConnectionStream.cs:
871         (ReadAll): call NextRead if it has not been called before even when
872         we have completed the request. Reuse the read buffer when reading a
873         response of unknown size. Increase the buffer to 8kB.
874         (BeginRead): increase pendingReads earlier and even when reading from
875         the internal buffer.
876         (EndRead): decrease pendingReads later and always.
877
878 2004-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
879
880         * CookieContainer.cs: style, fixed checks for properties, implemented
881         the MonoTODOs for the method that take an Uri. GetCookies and
882         GetCookieHeaders now really return only the cookies that are requested
883         filtering by the Uri parameter.
884
885         * Cookie.cs: style, added default values for Comment, Domain and Port.
886
887 2004-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
888
889         * CookieCollection.cs: reformatted, fixed Add by adding a new method to
890         search across the arraylist, as list.IndexOf is not what we want.
891
892 2004-11-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
893
894         * WebConnection.cs: check for FIN or RST on the socket before reusing.
895         Fixes bug #69388.
896
897 2004-11-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
898
899         * ChunkStream.cs: simplified condition for WantMore property.
900
901         * WebConnection.cs: in Connect(), finish any pending reads we might
902         have for chunked data. Ignore possible blank lines at the very
903         beginning of the server response. Honor user set KeepAlive in
904         HttpWebRequest for HTTP/1.1 connections. Thanks to Eyal Alayuf for
905         his suggestions and code.
906
907 2004-11-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
908
909         * HttpWebResponse.cs: don't lock up when the cookie received ends with
910         a semicolon. Patch by Darryl VanDorp. Fixes bug #68956.
911
912 2004-10-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
913
914         * HttpWebRequest.cs: don't fail if the request has already been sent
915         when accessing ContentType setter. Fixes bug #68848.
916
917 2004-10-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
918
919         * ChunkStream.cs:
920         (WantMore): we're not done until we get a 0 chunk size and the trailer.
921         The 0 can be expressed as more than one character too (ie, 000000).
922
923         * HttpWebRequest.cs: new argument in SetResponseError.
924         * WebConnection.cs: added argument to HandleError as a hint for
925         debugging.
926         (Connect): make the chunked stream be in the expected state when
927         reusing.
928
929         * WebConnectionStream.cs: removed unused method (ResetWriteBuffer).
930
931 2004-10-10 David Sheldon <dave-mono@earth.li>
932
933         * HttpWebRequest.cs: Use RemoveAndAdd for AddRange. Fixes unittest.
934
935 2004-10-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
936
937         * HttpWebRequest.cs: use RemoveAndAdd for headers multivalue headers.
938         * WebHeaderCollection.cs: added RemoveAndAdd that behaves like the old
939         SetInternal.
940
941 2004-10-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
942
943         * HttpWebRequest.cs: ProxyQuery returns true when we use a proxy without
944         tunneling a secure connection.
945
946         * ServicePoint.cs: added UseConnect property.
947
948         * ServicePointManager.cs: set the UseConnect property when we use a http
949         proxy for a https connection.
950
951         * WebConnection.cs: setup the tunnled connection when using a proxy and
952         https.
953
954 2004-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
955
956         * HttpWebResponse.cs: remove unused SplitValue method.
957
958 2004-09-10  Sebastien Pouliot  <sebastien@ximian.com>
959
960         * DnsPermission.cs: Updated to pass new unit tests.
961         * DnsPermissionAttribute.cs: Cleanup.
962         * SocketPermission.cs: Updated to pass new unit tests.
963         * SocketPermissionAttribute.cs: Updated to pass new unit tests.
964         * WebPermission.cs: Implemented some TODO - not complete yet.
965         * WebPermissionAttribute.cs: Updated to pass new unit tests.
966
967 2004-08-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
968
969         * Cookie.cs: don't fail when using default constructor. Fixes bug
970         #62890.
971
972 2004-08-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
973
974         * HttpWebResponse.cs: set-cookie and set-cookie2 can be present more
975         than once and have multiple values. Don't rely on string.split when
976         parsing cookie values.
977
978         * WebHeaderCollection.cs: same thing for set-cookie and set-cookie2.
979         Fixed GetValues (it was splitting values that contained a comma) and
980         changed SetInternal to handle multi-value headers.
981
982         Fixes bug #62744.
983
984 2004-07-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
985
986         * WebProxy.cs: fix scheme detection. Patch by Konstantin Triger
987         (kostat@mainsoft.com).
988
989 2004-07-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
990
991         * HttpWebRequest.cs: detect changes in scheme or port when redirecting.
992         Fixes las take on bug 61218.
993
994 2004-07-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
995
996         * WebConnection.cs: moved loading of the ssl stream Type to its own
997         method. Don't create a new ssl stream if we're reusing the connection.
998
999         * WebConnectionStream.cs: ensure the number of bytes copied in ReadAll
1000         is the expected even if the dta from the server has extra bytes.
1001
1002 2004-07-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1003
1004         * WebConnection.cs:
1005         * WebConnectionStream.cs: when the status code is 1xx, 204 or 304,
1006         "responses MUST NOT include a message-body". We tried to read the
1007         stream even when getting those codes and considered the 0 length
1008         read as a failure.
1009
1010 2004-07-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1011
1012         * HttpWebRequest.cs: removed bogus Monitor.Exit.
1013         * WebConnection.cs: use Address instead of RequestUri when checking for
1014         the scheme in order to select the stream type. Fixes bug #61218.
1015
1016 2004-06-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1017
1018         * ChunkStream.cs: added ChunkLeft property.
1019         * WebConnection.cs:
1020         (EndRead): when using small byte arrays to read from a chunked stream,
1021         ensure we've read the chunk size and try to fulfill the request
1022         completely. fixes bug 59653.
1023
1024 2004-05-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1025
1026         * WebConnectionStream.cs: fixed CanRead property. Closes bug #59273.
1027
1028 2004-05-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1029
1030         * DigestClient.cs: cache the sessions based on address and
1031         credentials, not only address. Added poor men's expiration to
1032         the session cache. Fixes bug #59202.
1033
1034 2004-05-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1035
1036         * IPAddress.cs:
1037         * IPEndPoint.cs:
1038         * IPv6Address.cs: no more warnings about IPAddress.Address.
1039
1040 2004-05-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1041
1042         * WebException.cs: implemented serialization .ctor and
1043         GetObjectData().
1044
1045 2004-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1046
1047         * WebAsyncResult.cs: don't create the WaitHandle if not needed.
1048
1049 2004-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1050
1051         * HttpWebRequest.cs: added 3 missing properties for 1.1. They are not
1052         used yet.
1053
1054         * NetConfig.cs: added MaxResponseHeadersLength field.
1055
1056         * ServicePoint.cs:
1057         * ServicePointManager.cs: added missing properties for 1.1. 
1058
1059 2004-05-03  Sebastien Pouliot  <sebastien@ximian.com>
1060
1061         * WebConnection.cs: Use assembly name const to load Mono.Security.
1062
1063 2004-05-03  Lluis Sanchez Gual <lluis@ximian.com>
1064
1065         * NtlmClient.cs: Use assembly name const to load Mono.Security.
1066
1067 2004-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1068
1069         * WebConnectionStream.cs: avoid the exception when getting the content
1070         length if possible.
1071
1072 2004-03-29  Lluis Sanchez Gual <lluis@ximian.com>
1073
1074         * HttpWebRequest.cs: Use a lock block instead of Monitor.Enter/Exit, so
1075         the lock is released in case of exception (for example, a 
1076         ThreadAbortException). This also "fixes" bug #52417.
1077         Beware, this requires a runtime update (due to a bug in Monitor.Exit).
1078         * ServicePoint.cs: Changed method from internal to private, since it
1079         is not called from outside the class.
1080
1081 2004-03-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1082
1083         * HttpWebRequest.cs: added the exception status to the error message.
1084         * WebConnection.cs: add headers using SetInternal instead of Add to
1085         bypass header name validation. Fixes bug #55994.
1086         * WebHeaderCollection.cs: added SetInternal (string header).
1087
1088 2004-03-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1089
1090         * WebConnection.cs:
1091         * WebConnectionGroup.cs: the requests queue is now shared for all the
1092         connections belonging to the same connection group.
1093
1094 2004-02-26  Sebastien Pouliot  <sebastien@ximian.com>
1095
1096         * DefaultCertificatePolicy.cs: New. Certificate validation
1097         policy compatible with the documented one present in Fx. It
1098         allows valid certificates and expired certificates to be used
1099         for SSL connections.
1100         * ServicePointManager.cs: Removed the DummyPolicy. Now creates
1101         a DefaultCertificatePolicy to validate certificates. 
1102
1103 2004-02-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1104
1105         * ServicePoint.cs: SendContinue is always false for HTTP/1.0
1106
1107         * WebConnection.cs: get rid of WaitForContinue() (yes!) and prevent
1108         calling more the ContinueDelegate more than once when we get the
1109         headers in several packets.
1110
1111         * WebConnectionStream.cs: removed call to WaitForContinue.
1112
1113 2004-02-25  Sebastien Pouliot  <sebastien@ximian.com>
1114
1115         * WebConnection.cs: Update previous patch to use HttpsClientStream
1116         (internal in Mono.Security assembly) in place of SslClientStream.
1117         This will reduce reflection and allow to use ICertificatePolicy.
1118
1119 2004-02-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1120
1121         * DigestClient.cs: fix quote handling. Reordered attributes in response.
1122         Fixed typo (QOP->CNonce). Now Digest works with apache2.
1123
1124 2004-02-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1125
1126         * DigestClient.cs: removed Console.
1127         * HttpWebRequest.cs: 401/407 were hanging for GET. Fixed.
1128
1129 2004-02-24  Sebastien Pouliot  <sebastien@ximian.com>
1130
1131         * DigestClient.cs: Fixed issue with Apache server which do not use "
1132         for specifying the digest algorithm (.e.g. algorithm=MD5 not ="MD5").
1133
1134 2004-02-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1135
1136         * HttpWebRequest.cs: arghhh. I used the server response headers instead
1137         of what the client is supposed to send. Thanks to Helge Hess.
1138
1139 2004-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1140
1141         * AuthenticationManager.cs: implemented PreAuthenticate().
1142
1143         * HttpWebRequest.cs: once we know the version of the server, use it if
1144         below the requested one. Remove 'Expect', 'Content-Length' and /or 
1145         'Transfer-Encoding' if appropiate due to changes in version. Fixed 
1146         'Host' header for non-standard ports. Support preauthentication. Closes
1147         bug #50530.
1148
1149 2004-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1150
1151         * HttpWebRequest.cs: check for missing or wrong URI in Location header
1152         when redirecting.
1153
1154         * WebConnection.cs: if the data read does not contain all the headers,
1155         keep it around and read the rest until we get to the response body.
1156         Allow response code with no description. Fixed bug #54543.
1157
1158 2004-02-18  Sebastien Pouliot  <sebastien@ximian.com>
1159
1160         * SecurityProtocolType.cs: Added missing [Serializable] to enum. Added 
1161         Default and Ssl2 to NET_2_0 profile. Enum is now internal for NET_1_0
1162         profile (as we need it for SslClientStream).
1163         * ServicePoint.cs: Added internal SetCertificates(client,server).
1164         * ServicePointManager.cs: Added CheckCertificateRevocationList and
1165         CheckCertificateRevocationList static properties (public in 1.1, 
1166         internal for 1.0).
1167         * WebConnection.cs: Dynamically creates a SslClientStream (from 
1168         Mono.Security assembly) in case of https. Changed NetworkStream to 
1169         Stream everywhere.
1170
1171 2004-02-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1172
1173         * HttpWebRequest.cs: send the 'Connection: keep-alive' header when we
1174         don't know the server version or it's 1.0.
1175
1176         * ServicePoint.cs: added SetVersion.
1177
1178         * WebAsyncResult.cs: remove ChunkAsyncResult.
1179
1180         * WebConnection.cs: set the ServicePoint version when getting a response
1181         from the server.
1182
1183         * WebConnectionStream.cs: when posting chunked content, send the head,
1184         body and trailer of the chunk at once instead of doing 3 separate
1185         writes, which may cause troubles.
1186
1187 2004-02-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1188
1189         * WebConnection.cs: if we get a 100 when we're not waiting for it, set
1190         that information in the ServicePoint.
1191
1192         * WebConnectionStream.cs: send headers in the right order for
1193         non-chunked POST.
1194
1195 2004-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1196
1197         * WebConnectionStream.cs: fixed nullrefs in BeginWrite/EndWrite.
1198
1199 2004-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1200
1201         * HttpWebRequest.cs: on second and sucesive tries when authenticating,
1202         don't use chunked encoding for POST, as we know the content length and
1203         have the body. Nullify bodyBuffer always in CheckFinalStatus.
1204
1205         * WebAsyncResult.cs: added ChunkAsyncResult property. It holds the
1206         IAsyncResult when writing CRLF at the end of a chunk.
1207
1208         * WebConnectionStream.cs: support sending chunked data.
1209
1210 2004-01-24  Lluis Sanchez Gual <lluis@ximian.com>
1211
1212         * HttpWebRequest.cs: When retrying a POST request after an
1213         authentication failure, resend the body. This fixes bug #51841.
1214         * WebConnectionStream.cs: Added properties for getting what's been
1215         written.
1216
1217 2004-02-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1218
1219         * HttpWebRequest.cs: don't send 'Expect: 100-continue' for 1.0 version.
1220
1221 2004-02-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1222
1223         * HttpWebRequest.cs: support proxy authentication.
1224
1225 2004-02-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1226
1227         * BasicClient.cs:
1228         * DigestClient.cs: use IndexOf instead of StartsWith to deal with
1229         servers that provide several authentication schemas.
1230
1231 2004-02-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1232
1233         * ChunkStream.cs: use an array of buffers instead of a MemoryStream for
1234         storing the chunks. This way, we won't miss traling data from the
1235         previous chunk when a new one is received before the other is fully
1236         read.
1237
1238 2004-01-27  Nick Drochak <ndrochak@ieee.org>
1239
1240         * DigestClient.cs:
1241         * HttpWebRequest.cs:
1242         * IPv6Address.cs:
1243         * WebClient.cs:
1244         * WebConnection.cs:
1245         * WebConnectionStream.cs: Remove unused variables thus eliminating some
1246         build warnings.
1247
1248 2004-01-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1249
1250         * WebConnection.cs: patch by Yaacov Akiba Slama that fixes 100-continue
1251         handling for the case when the same packet also contains the actual
1252         [2-5]xx response.
1253
1254 2004-01-24  Lluis Sanchez Gual <lluis@ximian.com>
1255
1256         * HttpWebRequest.cs: Added missing property.
1257
1258 2004-01-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1259
1260         * Dns.cs: don't block forever in EndResolve and EndGetHostByName. Fixes
1261         bug #53222.
1262
1263 2004-01-16  Lluis Sanchez Gual <lluis@ximian.com>
1264
1265         * ChunkStream.cs: The "size" parameter of Write is not the number of
1266         bytes to write, but the last offset to be written. Thus, in WriteAndRead
1267         Back, since "read" is not an offset but the number of bytes, it must be 
1268         added to the offset. Maybe it would be a good idea to change the name of
1269         the parameter, since it is confusing. This should fix bug #52591.
1270
1271 2004-01-12  Lluis Sanchez Gual <lluis@ximian.com>
1272
1273         * WebConnection.cs: Yet another fix for WebConnection. This fixes 
1274         bug #52169.
1275
1276 2004-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1277
1278         * WebConnection.cs: Data.Init is a bad boy. Lluis realized. He also
1279         tidied up the end of ReadDone. Disabled relaunching the request if 2
1280         InitRead are called, since now we don't throw everything into
1281         RegisterWaitForSingleObject but one request at a time.
1282
1283         * WebConnectionGroup.cs: when checking available connections, allow them
1284         not to be Connected but allocated to honor the connection limit.
1285         
1286         * WebConnectionStream.cs: CheckComplete() now checks for nextReadCalled
1287         too. ReadAll don't mess contentLength if it's provided in the headers.
1288
1289         BIG thanks to Lluis. Turns out that we were debugging the same stuff and
1290         his Data.Init discovery was THE thing I was missing.
1291
1292         Fixes bug #51277.
1293
1294 2004-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1295
1296         * ServicePointManager.cs: use GetMaxConnections to get the appropiate
1297         number of connections limit.
1298
1299 2004-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1300
1301         * MonoHttpDate.cs: use the invariant culture, not en-US. Suspected
1302         guilty for bug 52629.
1303
1304 2003-12-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1305
1306         * CredentialCache.cs: return null instead of throwing NotImplemented.
1307
1308 2003-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1309
1310         * HttpWebRequest.cs: fixed checking if method allows a body. Patch by
1311         Benjamin Jemlich (pcgod@gmx.net).
1312
1313 2003-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1314
1315         * HttpWebRequest.cs: deal with authentication schemes that have more
1316         than 1 round trip (Ntlm).
1317
1318 2003-12-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1319
1320         * NtlmClient.cs: new class that actually uses one from Mono.Http to do
1321         the authentication.
1322
1323 2003-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1324
1325         * HttpWebRequest.cs: when building the redirect URI, use the previous
1326         one as the base URI, which makes relative URIs work.
1327
1328 2003-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1329
1330         * DigestClient.cs: merged in code from Sebastien Pouliot and Greg
1331         Reinacker that Supports cnonce and preauthentication.
1332
1333 2003-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1334
1335         * DigestClient.cs: initial Digest authentication. Works with apache
1336         mod_digest.
1337
1338 2003-11-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1339
1340         * HttpWebRequest.cs: removed unneeded StringBuilder.
1341         * WebConnection.cs: default to keep the connection open for HTTP/1.1
1342         only or HTTP/1.0 + (Proxy-)Connection header. Fixes bug #51208.
1343
1344 2003-11-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1345
1346         * WebConnection.cs: turns out that socket.Connected is not useful until
1347         we actually try to send/receive data, even if the other end has already
1348         closed the socket. Added TryReconnect() and Connected.
1349
1350         * WebConnectionData.cs: default value for StatusCode is 0 now.
1351
1352         * WebConnectionGroup.cs: reuse the connection since the beginning,
1353         instead of opening up to ConnectionLimit and then reusing.
1354
1355         * WebConnectionStream.cs: reopen the socket if we're trying to reuse
1356         one which fails on first write.
1357
1358 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1359
1360         * WebConnectionStream.cs: when a callback is passed to BeginRead/Write,
1361         wrap it and do our job before calling it. Fixes bug #48497.
1362
1363 2003-11-12  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1364
1365         * WebExceptionStatus.cs: Restyled, Added .Net 1.1 members
1366         * SecurityProtocolType.cs: Added and implemented
1367
1368 2003-11-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1369
1370         * HttpWebRequest.cs: fixed redirects when they target another host.
1371
1372 2003-11-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1373
1374         * IPAddress.cs: prevent exceptions when trying to parse the static IPv6
1375         addresses.
1376
1377 2003-10-17  Pedro Martínez Juliá  <yoros@wanadoo.es>
1378
1379         * WebClient.cs: use Path.DirectorySeparator instead of "/" for
1380         windows compatibility. Add some checks for file paths like
1381         "C:/xxx/yyy/..." and like "/home/xxx/...".
1382
1383 2003-10-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
1384
1385         * WebClient.cs: added a slash between directory and file names.
1386
1387 2003-10-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1388
1389         * HttpWebRequest.cs:
1390         * HttpWebResponse.cs: better abort handling and leave the stream in a
1391         stable status on abort.
1392
1393 2003-10-12  Pedro Martínez Juliá  <yoros@wanadoo.es>
1394
1395         * WebClient.cs: refine reading of local files (like MS.NET).
1396
1397 2003-10-10  Pedro Martínez Juliá  <yoros@wanadoo.es>
1398
1399         * WebClient.cs: MS.NET works right when we try OpenRead("file.txt")
1400         but we didn't. Now, when Uri fails with an exception, it adds
1401         "file://" before the URI and tries again.
1402
1403 2003-10-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1404
1405         * ServicePoint.cs: preparing for recycling. Not yet finished.
1406         * ServicePointManager.cs: this is the one that reads config.
1407         * WebConnectionGroup.cs: don't read config here.
1408         * WebConnection.cs: added the queue again. Launch queued requests on
1409         error.
1410
1411 2003-10-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1412
1413         * WebConnection.cs: the queue is now handled by the threadpool.
1414         Initialize the connection data in a place where it does not depend on
1415         the execution order of the requests in threadpool. More error handling.
1416
1417         * WebConnectionGroup.cs: use the limits in the config file and reuse
1418         connections when the limit is reached.
1419
1420 2003-10-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1421
1422         * HttpWebRequest.cs: handle 304 Ã  la MS.
1423         * WebConnection.cs: set the response data when reading 0 bytes.
1424
1425 2003-09-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1426
1427         * WebConnectionStream.cs: fix by Lluis to avoid the stream being in an
1428         invalid state.
1429
1430 2003-08-14  Nick Drochak <ndrochak@gol.com>
1431
1432         * WebRequest.cs: Check lower case string since that is what we will add.
1433
1434 2003-08-04  Jerome Laban <jlaban@wanadoo.fr>
1435
1436         * IPHostEntry.cs: Default contructor must not initialize members.
1437         (Fixes bug #45575).
1438
1439 2003-07-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1440
1441         * CredentialCache.cs: Removed undefined serializable attribute
1442
1443 2003-07-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1444
1445         * ChunkStream.cs:
1446         (WantMore): true if we've not received the last chunk yet. Fixes
1447         bug #45463. Thanks to Miguel for tracking this down and providing a
1448         test case.
1449         
1450         * WebConnection.cs: removed bogus ^M's.
1451         
1452         * WebHeaderCollection.cs: provide more info when the header or value is
1453         wrong.
1454
1455 2003-07-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1456
1457         * ChunkStream.cs: Removed unused members
1458         * IPAddress.cs: Removed unused exception variable, fixes compiler
1459         warning.
1460         * WebConnection.cs: Removed unused exception variables, fixes compiler
1461         warnings.
1462
1463 2003-07-14  Lluis Sanchez Gual <lluis@ximian.com>
1464
1465         * NetConfig.cs: If Clone method is not public, then it must use
1466           explicit interface method implementation syntax.
1467
1468 2003-07-14  Jerome Laban <jlaban@wanadoo.fr>
1469
1470         * Dns.cs: Reworked indentation.
1471         Added IPv6 support.
1472         Added literal address checking in GetHostByAddress.
1473         Changed Dns.Resolve behavior.
1474         * IPAddress.cs:
1475         * IPEndPoint.cs: Added IPv6 support.
1476         * IPv6Address.cs: Added address compression.
1477         * NetConfig.cs: Added configuration section.    
1478
1479 2003-07-14  Jerome Laban <jlaban@wanadoo.fr>
1480
1481         * ServicePoint.cs: Removed Connect and GetEndPoint methods.
1482         Removed reverse resolution when uri is literal IP address. 
1483         * WebConnection.cs: IPv6 compatibility update: Try to connect
1484         to all addresses returned by IPHostEntry.
1485         * WebConnectionGroup.cs: Removed unused parameter. 
1486
1487 2003-07-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1488
1489         * WebProxy.cs: Add serialization/ deserialization support
1490
1491 2003-07-10  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1492
1493         * ProxyUseType.cs:
1494         * WebStatus.cs: Deleted (do not exist in this assembly)
1495         * IPv6Address.cs: Made internal
1496
1497 2003-07-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1498
1499         * HttpWebRequest.cs:
1500         * ServicePointManager.cs:
1501         * WebConnection.cs: added support for proxies.
1502
1503 2003-07-05  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1504
1505         * DnsPermissionAttribute.cs:
1506         * SocketPermissionAttribute.cs: Fixed wrong AttributeUsageAttribute
1507
1508 2003-07-05  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1509
1510         * WebPermission.cs: Added and partially implemented
1511         * WebPermissionAttribute.cs: Added and implemented
1512
1513 2003-07-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1514
1515         * WebClient.cs: fixed bug #45651.
1516
1517 2003-06-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1518
1519         * WebClient.cs: Small fix by Sebastian <scut@nb.in-berlin.de>.
1520
1521 2003-06-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1522
1523         * WebConnection.cs: fixed header writing the reusing a connection and
1524         the server does not send 100-continue response.
1525
1526 2003-06-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1527
1528         * WebConnection.cs: close the socket and connection when disposing.
1529         * WebRequest.cs: removed setter for RequestUri. Allow non-public ctors
1530         when creating instances.
1531
1532         * HttpWebRequest.cs:
1533         * HttpWebResponse.cs:
1534         * FileWebRequest.cs: support serialization.
1535
1536         * FileWebResponse.cs: support serialization and fixed dispose checks.
1537
1538         * FileWebRequestCreator.cs:
1539         * HttpRequestCreator.cs: added internal .ctor.
1540
1541 2003-06-24  Lluis Sanchez Gual <lluis@ximian.com>
1542
1543         * HttpWebRequest.cs: SetWriteStream(): SendRequestHeaders should be
1544         called before asyncWrite.SetCompleted, to make sure that the waiting
1545         thread does not start to send more information before
1546         SendRequestHeaders has finished.
1547
1548 2003-06-22  Lluis Sanchez Gual <lluis@ximian.com>
1549
1550         * WebConnectionStream.cs: Only increment pendingReads if an asynchronous
1551         read is really needed.
1552
1553 2003-06-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1554
1555         * WebHeaderCollection.cs: prevent duplication headers used niternally.
1556
1557 2003-06-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1558
1559         * HttpWebRequest.cs: if CookieContainer has not been set, make
1560         HttpWebResponse ignore Set-Cookie* headers.
1561
1562         * HttpWebResponse.cs: Set-Cookie and Set-Cookie headers removed if
1563         CookieContainer have been provided to the request.
1564
1565 2003-06-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1566
1567         * AuthenticationManager.cs: get the list of authentication modules from
1568         the configuration files. Added Clear and fixed Unregister.
1569
1570         * BasicClient.cs: fully implemented.
1571
1572         * HttpWebRequest.cs: added support for Basic authentication when
1573         credentials are set.
1574
1575         * NetworkCredential.cs: fixed GetCredential.
1576
1577 2003-06-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1578
1579         * HttpWebRequest.cs: *really* take care of requestSent to prevent
1580         sending the same request twice.
1581         * WebAsyncResult.cs: don't close the handle. Just Reset.
1582         * WebConnectionStream.cs: removed unneeded line.
1583
1584 2003-06-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1585
1586         * HttpWebRequest.cs: use InternalClose when we are not going to send the
1587         rest of the request stream because of an error after sending the
1588         headers.
1589
1590         * WebConnection.cs: check for completion after setting the response.
1591         Enable reading in NextRead.
1592
1593         * WebConnectionStream.cs: re-fixed the count for partially buffered
1594         reads. If the network stream returns 0 bytes, we're done.
1595
1596 2003-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1597
1598         * WebClient.cs: implemented UploadFile. Fixed SetupRequest to set the
1599         special headers *after* the others.
1600
1601 2003-06-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1602
1603         * WebConnectionStream.cs: when the read is partially filled from the
1604         initial buffer, add those bytes too. Thanks to Lluis for debugging this.
1605
1606 2003-06-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1607
1608         * HttpWebRequest.cs: added ExpectContinue property.
1609         * WebConnection.cs: allow 100 Continue to be delayed after waiting for
1610         it.
1611
1612 2003-06-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1613
1614         * HttpWebRequest.cs: don't send "Expect: 100-continue" is the server
1615         is known not to respond to that.
1616
1617         * ServicePoint.cs: added SendContinue property.
1618
1619         * WebConnection.cs: only wait 2 seconds for a continue reply. If it
1620         timeouts, set SendContinue to false and proceeed sending data.
1621
1622         * WebConnectionStream.cs: if 100-continue is not received and instead we
1623         get a 417 or anything else, don't send the data.
1624
1625         * WebClient.cs: implemented all missing properties and methods except
1626         UploadFile.
1627
1628 2003-06-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1629
1630         * FileWebRequestCreator.cs: splitted from WebRequest.
1631         * HttpRequestCreator.cs: splitted fromWebRequest.
1632         * WebRequest.cs: added methods that are used by the new configuration
1633         handler to set prefix/type name requests creators.
1634
1635 2003-06-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1636
1637         * AuthenticationManager.cs:
1638         * Authorization.cs:
1639         * BasicClient.cs: new file.
1640         * ChunkStream.cs: new file.
1641         * Cookie.cs:
1642         * CookieContainer.cs:
1643         * GlobalProxySelection.cs:
1644         * HttpWebRequest.cs:
1645         * HttpWebResponse.cs:
1646         * IAuthenticationModule.cs:
1647         * ServicePoint.cs:
1648         * ServicePointManager.cs:
1649         * WebAsyncResult.cs: new file.
1650         * WebConnection.cs: new file.
1651         * WebConnectionData.cs: new file.
1652         * WebConnectionGroup.cs: new file.
1653         * WebConnectionStream.cs: new file.
1654         * WebException.cs:
1655         * WebHeaderCollection.cs:
1656         * WebProxy.cs:
1657         * WebResponse.cs:
1658
1659         Reworked HttpWebRequest and related classes.
1660
1661 2003-05-30  Miguel de Icaza  <miguel@ximian.com>
1662
1663         * HttpWebRequest.cs (EndGetResponse): Do not throw exceptions on
1664         InternalServerError (500)
1665
1666 2003-05-29  Miguel de Icaza  <miguel@ximian.com>
1667
1668         * HttpWebRequest.cs (Close): Move the code that accumulates the
1669         output to Close from Flush.  Flush could have been called in the
1670         middle of the processing, and would have generated invalid results
1671         (which it did).
1672
1673 2003-05-23  Zoltan Varga  <vargaz@freemail.hu>
1674
1675         * Dns.cs (GetHostByAddress): Return the local host when called with
1676         IF_ANY.
1677
1678 2003-04-29  Miguel de Icaza  <miguel@ximian.com>
1679
1680         * WebClient.cs (DownloadData): Close the underlyng stream.
1681         (DownloadFile): Use using, so the file gets closed.
1682
1683 2003-04-24  Miguel de Icaza  <miguel@ximian.com>
1684
1685         * WebClient.cs (DownloadData): Instead of using a MemoryStream,
1686         keep track of all the small chunks in an ArrayList.  The
1687         MemoryStream had the property of reallocating itself, and the
1688         problem was that MemoryStream.GetBuffer would return the buffer
1689         (correctly), but not something of the right size.  So clients of
1690         DownloadData would get the extra unused bytes as part of the
1691         result.
1692
1693         The solution would have been to make another copy at this point,
1694         instead, we only keep the small allocations around in the
1695         ArrayList, and we only do one large allocation at the end.
1696
1697         * HttpWebResponse.cs: If there is a Content-Length header, pass
1698         this information to our HttpWebResponseStream, so it knows when to
1699         stop, instead of waiting for the stream to be shut down by the
1700         other end.
1701
1702         * HttpWebRequest.cs: Only set the `delay-header-writing' mode on
1703         the underlying stream if the method will do a content transfer and
1704         no Content-Length was provided. If not (HEAD and GET or
1705         Content-Length provided), keep going.
1706         
1707 2003-04-23  Miguel de Icaza  <miguel@ximian.com>
1708
1709         * HttpWebRequest.cs: .NET Allows the HttpWebRequest to not have
1710         the ContentLength specified on the request.  If that happens, we
1711         have to accumulate all the data written, and once we accumulate
1712         the data, we send it off.  
1713
1714         Notice that the documentation in .NET is actually incorrect, they
1715         state that setting ContentLength is mandatory.  It is not.
1716
1717 2003-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1718
1719         * HttpWebResponse.cs: fixes bug #41180.
1720
1721 2003-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1722
1723         * HttpWebRequest.cs: throw an exception is the response code is >= 300.
1724
1725 2003-03-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1726
1727         * HttpWebRequest.cs: implemented IDisposable, make the request stream
1728         read only. Changed the way of disposing the socket.
1729
1730         * HttpWebResponse.cs: wrapped the socket in a write-only NetworkStream,
1731         handle chunked transfer encoding (no more hangs), added serialization
1732         stuff, call CheckDisposed at the beginning of methods/properties (not
1733         in a finally clause).
1734
1735 2003-02-17  Nick Drochak <ndrochak@gol.com>
1736
1737         * WebClient.cs : Implemented Credentials property.
1738
1739 2003-02-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1740
1741         * SocketAddress.cs: byte 1 of the data is the high byte of the family,
1742         not the size.
1743
1744 2003-01-29  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1745
1746         * WebClient.cs : hacked OpenRead, DownloadData and DownloadFile.
1747
1748 2002-10-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1749
1750         * HttpWebRequest.cs: applied patch from Tim Haynes
1751         (thaynes@openlinksw.com).
1752
1753         Avoided double-sending of the request to the server when both
1754         GetRequestStream() and GetResponse() are called.
1755         System Header attributes survive the Headers attribute set.
1756         Added handling of Connection: KeepAlive/Close
1757
1758 2002-10-03  Dick Porter  <dick@ximian.com>
1759
1760         * Dns.cs: Fixed GetHostName()
1761
1762 2002-09-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1763
1764         * HttpWebRequest.cs:
1765         * HttpWebResponse.cs: applied another patch from Shahms E. King
1766         (shahms@shahms.com).
1767
1768 2002-09-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1769
1770         * HttpWebRequest.cs:
1771         * HttpWebResponse.cs: applied patch from Shahms E. King
1772         (shahms@shahms.com).
1773
1774 2002-05-29  Lawrence Pit <loz@cable.a2000.nl>
1775
1776         * MonoHttpDate.cs: added
1777         * HttpWebRequest.cs: using MonoHttpDate
1778         * HttpWebResponse.cs: using MonoHttpDate
1779         * DnsPermission.cs: correct XML output
1780         * SocketPermission.cs: correct XML output
1781
1782 2002-05-21  Lawrence Pit <loz@cable.a2000.nl>
1783
1784         * WebClient.cs: stubbed
1785         * WebProxy.cs: fixed bug; had to change internal representation
1786         of bypasslist to ArrayList, different implementation of checking
1787         regex's.
1788
1789 2002-05-20  Lawrence Pit <loz@cable.a2000.nl>
1790
1791         * WebProxy.cs: added, implemented
1792         * ServicePoint.cs: implemented most
1793         * ServicePointManager.cs: implemented
1794         * HttpWebRequest.cs: started implementation
1795         * HttpWebResponse.cs: improved disposable routines
1796         * FileWebRequest.cs: slight improvement of Close method
1797         
1798 2002-05-19  Lawrence Pit <loz@cable.a2000.nl>
1799
1800         * FileWebRequest.cs: finished implementation of async methods.
1801         * FileWebResponse.cs: improved disposable routines.
1802         * IPEndPoint.cs: fixed bug #24666 in Serialize and Create methods, 
1803         byte ordering of address was backwards.
1804
1805 2002-05-13  Lawrence Pit <loz@cable.a2000.nl>
1806
1807         * Dns.cs: Reimplemented (simplified and fixed) asynchronous methods by
1808         relying on standard asynchronous delegate features. Added checks for
1809         null strings.
1810         * HttpWebResponse.cs: implemented properties
1811         * FileWebResponse.cs: improved the way resources are disposed.
1812         * FileWebRequest.cs: started implementation of asynchronous methods
1813         * ServicePointManager.cs: implemented properties
1814
1815 2002-05-12  Lawrence Pit <loz@cable.a2000.nl>
1816
1817         * HttpWebRequest.cs: properties implemented
1818         * HttpWebResponse.cs: added
1819         * GlobalProxySelection.cs: implemented
1820         * FileWebResponse.cs: added
1821         * FileWebRequest.cs: some methods implemented
1822
1823 2002-05-11  Lawrence Pit <loz@cable.a2000.nl>
1824
1825         * WebHeaderCollection.cs: implemented
1826         * WebRequest.cs: implemented
1827         * FileWebRequest.cs and HttpWebRequest.cs stubs added
1828
1829 2002-05-09  Lawrence Pit <loz@cable.a2000.nl>
1830
1831         * Rewrote IPAddress.Parse method, passing all unit tests
1832
1833 2002-05-09  Lawrence Pit <loz@cable.a2000.nl>
1834
1835         * fixed bug in IPEndPoint.Equals method
1836         * fixed bug in IPAddress.Parse method
1837         * fixed bug in IPAddress.SwapLong method
1838         * fixed several bugs in Cookie.cs
1839
1840 2002-05-06  Lawrence Pit <loz@cable.a2000.nl>
1841
1842         * WebRequest.cs: added
1843         * WebResponse.cs: implemented
1844         * WebException.cs: implemented
1845         * WebHeaderCollection.cs: added
1846         * HttpVersion.cs: implemented
1847         * HttpContinueDelegate.cs: added
1848         * IWebProxy.cs: added
1849         * IWebRequestCreate.cs: added
1850         * ICertificatePolicy.cs: added
1851         * ServicePoint.cs: stubbed
1852         * ServicePointManager.cs: stubbed
1853         * CookieContainer.cs: added
1854         * Authorization.cs: implemented
1855
1856 2002-05-05  Lawrence Pit <loz@cable.a2000.nl>
1857
1858         * CredentialCache.cs: implemented
1859
1860 2002-05-05  Lawrence Pit <loz@cable.a2000.nl>
1861
1862         * IPAddress.cs: fixed IsLoopback, address was already in host order
1863
1864 2002-05-05  Lawrence Pit <loz@cable.a2000.nl>
1865
1866         * IPv6Address.cs: added (note: not part of .net spec)
1867
1868 2002-05-01  Lawrence Pit <loz@cable.a2000.nl>
1869
1870         * DnsPermission.cs: implemented
1871         * DnsPermissionAttribute.cs: implemented
1872
1873 2002-04-28  Lawrence Pit <loz@cable.a2000.nl>
1874
1875         * EndpointPermission.cs: implemented
1876         * SocketPermission.cs: implemented
1877         * SocketPermissionAttribute.cs: implemented
1878         * ProtocolViolationException.cs: implemented
1879         * Dns.c: passing w32 error code when no host found
1880
1881 2002-04-27  Lawrence Pit <loz@cable.a2000.nl>
1882
1883         * Cookie.cs: implemented
1884         * CookieCollection.cs: implemented
1885         * CookieException.cs: implemented
1886
1887 2002-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1888
1889         * IPAddress.cs: initialize the read only fields with Parse().
1890
1891 2002-04-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1892
1893         * IPAddress.cs: little changes to behave as MS.
1894
1895 2002-04-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1896
1897         * Dns.cs (Resolve): behave as MS. Agreed with Mads.
1898
1899 2002-04-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1900
1901         * IPAddress.cs: the icalls for sockets are endianness-aware. So I
1902         changed a few things. Also included a workaround for bug #23547.
1903
1904 2002-04-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1905
1906         * IPAddress.cs: use System.BitConverter.IsLittleEndian (suggested
1907         by Paolo) instead of guessing the endianness.
1908
1909         * SocketAddress.cs: implemented Equals() and GetHashcode().
1910         
1911 2002-04-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1912
1913         * IPEndPoint.cs: modifications to constructors according to the
1914         specifications (suggested by Lawrence Pit).
1915
1916 2002-04-15  Patrik Torstensson <patrik.torstensson@labs2.com>
1917
1918         * IPEndPoint.cs: Fixed build breaker.
1919
1920 2002-04-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1921
1922         * IPEndPoint.cs: implemented Equals() and GetHashCode(). Now 100%
1923         complete.
1924
1925 2002-04-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1926
1927         * IPAddress.cs: finished all MonoTODO's. Use network order to store 
1928         the address. Check for max and min values in Address:set. IsLoopback()
1929         returns now true for all 127.x.y.z. Some more checks in Parse ().
1930         Some changes to behave as MS does.
1931
1932 2002-02-24  Duncan Mak  <duncan@ximian.com>
1933
1934         * ICredentialLookup.cs: Added the GetCredential method to the
1935         interface. The interface is named "ICredentials", should this file
1936         be renamed?     
1937
1938         * NetworkCredential.cs: Added to CVS. Need to investigate on how
1939         GetCredential() works
1940
1941 2002-01-23  Dick Porter  <dick@ximian.com>
1942
1943         * SocketAddress.cs: Implemented.
1944
1945         * IPEndPoint.cs: Turned 'Address' field into a real property.
1946         Implemented Create() and Serialize() methods.
1947
1948         * IPAddress.cs: Fixed class constructor, turned 'Address' field
1949         into a real property. Removed undocumented "public
1950         IPAddress(string)" constructor.
1951
1952         * EndPoint.cs: Implemented.  All methods return
1953         NotSupportedException to enforce subclass overriding.
1954
1955         * Dns.cs: Replaced fixed-layout Hostent struct and cygwin
1956         P/Invokes with portable internal calls.
1957
1958 2002-01-17  Miguel de Icaza  <miguel@ximian.com>
1959
1960         * Dns.cs: Updated to API changes.
1961
1962         * IPAddress.cs: Updated API.  Much left to implement.
1963
1964         * Dns.cs: Remove IPToString method
1965
1966 2002-01-06  Ravi Pratap  <ravi@ximian.com>
1967
1968         * Dns.cs, AuthenticationManager.cs, SocketAddress.cs : MonoTODO
1969         attribute insertion.
1970
1971 2001-11-22  Nick Drochak <ndrochak@gol.com>
1972
1973         * IPAddress.cs: Fix constructor bug, properly name Address property,
1974         and use triple-slash for comments.
1975
1976 2001-11-20  Miguel de Icaza  <miguel@ximian.com>
1977
1978         * IPAddress.cs: Updated to contain Any, Broadcast, Loopback and
1979         None as suggested by Phillip.
1980
1981 2001-09-26  Mads Pultz <mpultz@get2net.dk>
1982         * Dns.cs: Initial work on BeginGetHostByName and EndGetHostByName implemented.
1983
1984 2001-09-24  Mads Pultz <mpultz@get2net.dk>
1985
1986         * Dns.cs: Minor changes (some print statements removed)
1987
1988 2001-09-23  Mads Pultz <mpultz@get2net.dk>
1989
1990         * Dns.cs: Initial work submitted to repository.
1991         * IPHostEntry.cs: Initial work submitted to repository.
1992
1993 2001-07-12  Sean MacIsaac  <macisaac@ximian.com>
1994
1995         * Authorization.cs: Fixed compiler error.
1996
1997         * IAuthenticationModule.cs: Changes for Beta2.
1998
1999         * IPAddress.cs: Internal storage changed to be uint not int.
2000
2001         * IPEndPoint.cs: Fixed compiler error.
2002
2003         * EndPoint.cs: Fixed compiler error.
2004
2005         * AuthenticationManager.cs: Fixed typo.