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