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