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