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