2010-04-15 Gonzalo Paniagua Javier <gonzalo@novell.com>
[mono.git] / mcs / class / System / System.Net / ChangeLog
1 2010-04-15 Gonzalo Paniagua Javier <gonzalo@novell.com>
2
3         * HttpWebRequest.cs: set content length to -1 on redirect. Reset
4         'FinishedReading' on redirects. Fixes bug #593596.
5
6 2010-04-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
7
8         * ServicePointManager.cs: obtain the SubjectAltName extension the
9         right way. Fixes bug #594110.
10
11 2010-03-27 Gonzalo Paniagua Javier <gonzalo@novell.com>
12
13         * HttpWebRequest.cs: when PreAuthenticate is true, don't remove the
14         existing authorization related headers until we know we have a
15         replacement. Fixes bug #591633.
16
17 2010-03-26 Gonzalo Paniagua Javier <gonzalo@novell.com>
18
19         * ServicePointManager.cs: errors parsing the certificate don't prevent
20         calling the callback now. Exceptions thrown parsing the certificate
21         are printed to stderr in case they are library errors.
22
23 2010-03-21 Gonzalo Paniagua Javier <gonzalo@novell.com>
24
25         * WebClient.cs: fix handling of query string, whether it comes from
26         the address used or is part of the QueryString.
27
28 2010-03-20  Miguel de Icaza  <miguel@novell.com>
29
30         * WebConnection.cs: Drop pre-2.0 and pre-1.1 support, and remove
31         warnings. 
32
33         * WebClient.cs: Drop the pre-2.0 support
34
35 2010-03-19  Sebastien Pouliot  <sebastien@ximian.com>
36
37         * AuthenticationManager.cs: Internal type for Moonlight.
38         Add BasicClient, DigestClient, NtlmClient for NET_2_1 since
39         this applies to both monotouch and moonlight (client stack).
40         Removed unneeded NET_2_0 defines
41         * CookieContainer.cs: For Moonlight it needs to be internal in 
42         System.dll and public in System.Net.dll. Removed unneeded NET_2_0
43         defines
44         * HttpContinueDelegate.cs: Internal type for Moonlight.
45         * HttpRequestCreator.cs: Remove a MOONLIGHT define
46         * HttpStatusCode.cs: For Moonlight it needs to be internal in 
47         System.dll and public in System.Net.dll
48         * HttpWebRequest.cs: Internal type for Moonlight. Change S.Config
49         to NET_2_1 defines (applies to both monotouch and moonlight).
50         Removed unneeded NET_2_0 and NET_1_1 defines
51         * HttpWebResponse.cs: Internal type for Moonlight. Removed 
52         unneeded NET_2_0 defines
53         * IAuthenticationModule.cs: Internal type for Moonlight.
54         * ICertificatePolicy.cs: Internal type for Moonlight.
55         * ICredentialPolicy.cs: Internal type for Moonlight. Removed 
56         unneeded NET_2_0 defines
57         * IWebRequestCreate.cs: For Moonlight it needs to be internal in 
58         System.dll and public in System.Net.dll
59         * ServicePoint.cs: Internal type for Moonlight. Change S.Config
60         to NET_2_1 defines (applies to both monotouch and moonlight)
61         * ServicePointManager.cs: Remove a MOONLIGHT define
62         * WebException.cs: For Moonlight it needs to be internal in 
63         System.dll and public in System.Net.dll. Removed unneeded NET_2_0
64         defines
65         * WebHeaderCollection.cs: Internal type for Moonlight. Removed 
66         unneeded NET_2_0 defines
67         * WebRequest.cs: Internal type for Moonlight. Change S.Config
68         to NET_2_1 defines (applies to both monotouch and moonlight)
69         * WebResponse.cs: Internal type for Moonlight. Removed unneeded
70         NET_2_0 defines
71
72 2010-03-18 Gonzalo Paniagua Javier <gonzalo@novell.com>
73
74         * FtpWebResponse.cs:
75         * FtpWebRequest.cs: for non-data operations, make sure we send the
76         QUIT command upon completion when KeepAlive is false.
77         Fixes bug #589305.
78
79 2010-03-16  Jb Evain  <jbevain@novell.com>
80
81         * Dns.cs, HttpRequestCreator.cs, ServicePoint.cs: use MOONLIGHT
82         symbol to disambiguate MonoTouch and Moonlight code.
83
84 2010-03-11 Gonzalo Paniagua Javier <gonzalo@novell.com>
85
86         * ServicePointManager.cs: perform the entire chain validation here.
87
88 2010-03-09 Gonzalo Paniagua Javier <gonzalo@novell.com>
89
90         * HttpConnection.cs: set the right position when a CR is found.
91         Fixes bug #577891.
92
93 2010-03-09 Gonzalo Paniagua Javier <gonzalo@novell.com>
94
95         * HttpListener.cs:
96         * HttpListenerRequest.cs:
97         * ListenerAsyncResult.cs:
98         * HttpConnection.cs: make sure there is no pending input when reusing
99         the connection.
100
101 2010-03-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
102
103         * HttpListenerContext.cs: split the auth header in 2 parts.
104         * HttpListener.cs: backported SelectAuthenticationScheme and
105         added new InternalEndGetContext used for connections that require
106         authentication.
107         * ListenerAsyncResult.cs: allow this object to be just a forwarder
108         when nesting connections for authentication purposes.
109         Fixes bug #585455.
110
111 2010-03-06 Gonzalo Paniagua Javier <gonzalo@novell.com>
112
113         * WebClient.cs: fix for UploadStringAsync(). Closes bug #577818.
114         Patch by Atsushi.
115
116 2010-03-04  Atsushi Enomoto  <atsushi@ximian.com>
117
118         * HttpListenerContext.cs : WWW-Authenticate header should not be
119           limited to Basic.
120
121 2010-03-04  Atsushi Enomoto  <atsushi@ximian.com>
122
123         * HttpListenerContext.cs : The header line here is already trimmed
124           "Authorization:" , so do not try to remove it.
125
126 2010-03-04  Atsushi Enomoto  <atsushi@ximian.com>
127
128         * HttpListener.cs, ListenerAsyncResult.cs : fix authentication
129           scheme selection mismatch.
130
131 2010-03-03  Atsushi Enomoto  <atsushi@ximian.com>
132
133         * HttpListenerContext.cs, HttpListener.cs :
134           support AuthenticationSchemeSelectorDelegate.
135
136 2010-03-01  Miguel de Icaza  <miguel@novell.com>
137
138         * WebHeaderCollection.cs: Apply 2 year old patch from Yves Bastide
139         that fixes the keys casing in the collection; Fixes 325491
140
141 2010-03-01 Gonzalo Paniagua Javier <gonzalo@novell.com>
142
143         * WebConnection.cs: attach a validation callback to the new
144         event in Mono.Security.
145         * ServicePointManager.cs: added a new ValidationHelper
146         class that takes care of building the certificate chain and perform
147         all the check that were done in Mono.Security before. This way the 2.0
148         server certificate validation callback can get all the data it needs.
149
150         Fixes bug #584050.
151
152 2010-01-29  Mike Kestner <mkestner@novell.com>
153
154         * HttpUtility.cs: port more of the methods from System.Web file.
155         * WebUtility.cs: new 4.0 class.
156
157 2010-01-21  Carlos Alberto Cortez <calberto.cortez@gmail.com>
158
159         * IPEndPoint.cs: When throwing an ArgumentException in Create()
160         because of a mismatch in the address family, use a more informative
161         message. Patch by Juho Vaha-Herttu<juhovh@iki.fi>.
162         Fixes #505105.
163
164 2010-01-21  Sebastien Pouliot  <sebastien@ximian.com>
165
166         * CookieContainer.cs: Fix to cloning and expiration. Patch
167         by Tom Philpot <tom.philpot@logos.com>
168
169 2010-01-13 Gonzalo Paniagua Javier <gonzalo@novell.com>
170
171         * HttpWebRequest.cs: when the server returns several different
172         authentication methods, pick the one that works.
173         Fixes bug #562043.
174
175 2010-01-12  Sebastien Pouliot  <sebastien@ximian.com>
176
177         * NetworkCredential.cs: Fix properties to never return null.
178
179 2009-12-24  Sebastien Pouliot  <sebastien@ximian.com>
180
181         * Cookie.cs: Re-work ToString to be useable in more cases. Fix
182         some issues found by Gendarme.
183         * CookieContainer.cs: Fix all NonWorking (and new) unit tests.
184         Implement removing oldest cookies when limits are reached.
185         * CookieCollection.cs: Move to generics internally. Fix sort to 
186         be closer to MS implementation (but still not 100% identical).
187         Fix some issues found by Gendarme.
188
189 2009-12-21 Gonzalo Paniagua Javier <gonzalo@novell.com>
190
191         * WebConnectionGroup.cs:
192         * ServicePoint.cs: implemented CloseConnectionGroup().
193
194 2009-12-04  Sebastien Pouliot  <sebastien@ximian.com>
195
196         * System.Net/DnsEndPoint.cs: Moved from System.Net (where the
197         type resides in Moonlight) so it's available for 4.0
198
199 2009-11-30  Sebastien Pouliot  <sebastien@ximian.com>
200
201         * CookieCollection.cs: Seal inner CookieCollectionPathComparer
202         * IPAddress.cs: Avoid multiple casts in Equals
203         * SocketAddress.cs: Avoid multiple casts in Equals
204         [Found using Gendarme]
205
206 2009-10-23  Alexandre Gomes  <alexmipego@gmail.com>
207
208         * WebClient.cs: Fixed GetWebRequest overriding problems, bug: 
209           https://bugzilla.novell.com/show_bug.cgi?id=549580
210           
211 2009-10-17 Gonzalo Paniagua Javier <gonzalo@novell.com>
212
213         * WebConnectionStream.cs: add 3 missing DoCallback() calls in
214         EndRead/EndWrite.
215
216 2009-09-29 Gonzalo Paniagua Javier <gonzalo@novell.com>
217
218         * EndPointListener.cs: fix matching a listener in presence of a query
219         string or anchor.
220
221 2009-09-15 Gonzalo Paniagua Javier <gonzalo@novell.com>
222
223         * HttpListenerRequest.cs: add the right status code.
224         * HttpConnection.cs: exception might come from more places when
225         reading the input. Catch all of them.
226
227 2009-09-15 Gonzalo Paniagua Javier <gonzalo@novell.com>
228
229         * WebRequest.cs: handle upper and lowercase HTTP_PROXY and the Any
230         address. Fixes bug #537283.
231
232 2009-09-04 Gonzalo Paniagua Javier <gonzalo@novell.com>
233
234         * WebConnection.cs: if the request has already finished reading, don't
235         throw ObjectDisposedException here, just return as if nothing
236         happened. Fixes bug #312968.
237
238 2009-08-29 Gonzalo Paniagua Javier <gonzalo@novell.com>
239
240         * WebConnection.cs: HEAD response does not have a body even if the
241         response is an error. Fixes buf #535102.
242
243 2009-08-17  Geoff Norton  <gnorton@novell.com>
244
245         * NtlmClient.cs: Mono.Http does not exist on monotouch
246
247 2009-08-17  Sebastien Pouliot  <sebastien@ximian.com>
248
249         * CookieCollection.cs: Seal class for NET_2_1 (SL3)
250         * CookieContainer.cs: Seal class for NET_2_1 (SL3)
251         * NetworkCredential.cs: Use in NET_2_1 (SL3) but without implementing
252         ICredentialsByHost
253
254 2009-08-13 Gonzalo Paniagua Javier <gonzalo@novell.com>
255
256         * HttpWebRequest.cs:
257         * WebConnectionStream.cs: if there's an error writing the headers from
258         a buffered request, propagate the error instead of hiding it and
259         causing a different one later (ie, ObjectDisposedException instead of
260         the original WebException). This happened when posting without
261         Content-Length set to an HTTPS url without validating the server
262         certificate.
263
264 2009-07-28 Gonzalo Paniagua Javier <gonzalo@novell.com>
265
266         * WebClient.cs: rethrow WebExceptions instead of creating a new one
267         with less information on the actual error.
268         Fixes bug #526069.
269
270 2009-07-22 Gonzalo Paniagua Javier <gonzalo@novell.com>
271
272         * WebHeaderCollection.cs: check the validity of the characters in the
273         header names.
274
275 2009-07-22 Gonzalo Paniagua Javier <gonzalo@novell.com>
276
277         * WebHeaderCollection.cs: implemente the 2.0 IsRestricted().
278
279 2009-07-22 Gonzalo Paniagua Javier <gonzalo@novell.com>
280
281         * WebConnectionStream.cs: when sending a 0-length POST, ignore further
282         writes instead of throwing.
283         Fixes bug #524049.
284
285 2009-07-10 Gonzalo Paniagua Javier <gonzalo@novell.com>
286
287         * WebClient.cs: implement GetWebRequest and GetWebResponse. Use them
288         instead of SetupRequest and ProcessResponse.
289
290 2009-07-07 Gonzalo Paniagua Javier <gonzalo@novell.com>
291
292         * WebClient.cs: set the content length when uploading values. This
293         allows reusing the connection.
294         * WebConnectionStream.cs: SetHeaders() takes ownership of the buffer
295         and does not need to copy it any more. WriteRequest() wasn't always
296         setting 'requestWritten' to true.
297         * HttpWebRequest.cs: change in SetHeaders call.
298
299 2009-07-06  Gert Driesen  <drieseng@users.sourceforge.net>
300
301         * WebConnectionStream.cs: Move and improve argument checks to match MS.
302         Modified CanRead and CanWrite to return false when instance is disposed.
303
304 2009-07-02 Gonzalo Paniagua Javier <gonzalo@novell.com>
305
306         * WebConnection.cs: provide better error message when there's an error
307         writing.
308         * WebConnectionStream.cs: don't nullify the buffer until
309         CheckFinalStatus() decides that there are no more authentication
310         retries or redirects.
311
312 2009-07-02 Gonzalo Paniagua Javier <gonzalo@novell.com>
313
314         * ServicePointManager.cs: implement ServerCertificateValidationCallback.
315         * DefaultCertificatePolicy.cs: if there's a SCVC registered, don't do
316         normal error checking.a
317
318 2009-07-02 Gonzalo Paniagua Javier <gonzalo@novell.com>
319
320         * HttpWebRequest.cs: avoid duplicating Accept-Encoding if GetHeaders()
321         is called twice.
322         * WebConnectionStream.cs: don't send a 0 content length for non-write
323         requests.
324
325 2009-07-02 Gonzalo Paniagua Javier <gonzalo@novell.com>
326
327         * WebConnection.cs: must use the 'int' version in 1.1.
328
329 2009-07-01 Gonzalo Paniagua Javier <gonzalo@novell.com>
330
331         * WebConnection.cs:
332         * ServicePoint.cs: UseNagleAlgorithm determines NoDelay value.
333
334 2009-06-28 Gonzalo Paniagua Javier <gonzalo@novell.com>
335
336         * HttpWebRequest.cs: fix 1.1 only test.
337
338 2009-06-28 Gonzalo Paniagua Javier <gonzalo@novell.com>
339
340         * WebConnectionStream.cs: when buffering the response, we have to set
341         the internal length and regenerate the headers.
342
343 2009-06-26 Gonzalo Paniagua Javier <gonzalo@novell.com>
344
345         * HttpWebRequest.cs: don't send Content-Length header when SendChunked
346         is enabled.
347         * WebConnectionStream.cs: send the headers immediately when possible.
348         When writing the request before a Close(), if there was an exception
349         it was lost.
350
351 2009-06-26 Gonzalo Paniagua Javier <gonzalo@novell.com>
352
353         * HttpConnection.cs:
354         * HttpListenerResponse.cs: force closing the socket when the response
355         is aborted.
356
357 2009-06-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
358
359         * WebAsyncResult.cs: new field that tells us if the request is being
360         written automatically because we reached the content length.
361         * WebConnection.cs:
362         * WebConnectionStream.cs: make sure we only access the NetworkStream
363         while we own it. Automatically write the request when we reach
364         ContentLength number of bytes. Kill the write buffer as soon as
365         possible. Don't use the buffer at all when chunked encoding is
366         enabled.
367
368         Fixes bugs #515931 and #510642.
369
370 2009-06-24 Gonzalo Paniagua Javier <gonzalo@novell.com>
371
372         * WebConnection.cs: 'socket' and 'Data' where being changed by 2
373         threads at the same time when there were queued requests and the
374         current one was aborted in Connect().
375         * HttpWebRequest.cs: 'aborted' is now an int and we use Interlocked to
376         access it. Added WebConnection field used when aborting the request.
377
378         Fixes bug #514591 for good.
379
380 2009-06-21 Gonzalo Paniagua Javier <gonzalo@novell.com>
381
382         * HttpWebRequest.cs: check for an aborted request in Begin* before
383         proceeding. Fixes bug #511851.
384
385 2009-06-21 Gonzalo Paniagua Javier <gonzalo@novell.com>
386
387         * WebConnectionStream.cs: close the underlying socket if there's an
388         exception when closing the stream. Fixes bug #514996.
389
390 2009-06-20  Gert Driesen  <drieseng@users.sourceforge.net>
391
392         * WebConnectionStream.cs: Keep count of all bytes written, and perform
393         write overflow check in both buffered and non-buffered writing (if
394         not using chunked transfer encoding). Fixes bug #510642.
395
396 2009-06-20  Gert Driesen  <drieseng@users.sourceforge.net>
397
398         * WebClient.cs: Use lowercase hex bytes to match MS. Avoid using
399         zero-length string literal. Fixed exception argument name to match
400         MS. 
401         * WebConnectionStream.cs: Throw a WebException that wraps an
402         IOException when closing the stream before all bytes are written.
403
404 2009-06-19 Gonzalo Paniagua Javier <gonzalo@novell.com>
405
406         * WebConnection.cs: make sure we don't open a new socket if the
407         request is aborted before we establish the connection. Fixes bug
408         #514591.
409
410         * HttpWebRequest.cs: new property to return abort status. Invoke the
411         abort handler before doing anything else when Abort() is called for
412         the first time.
413
414 2009-06-17 Gonzalo Paniagua Javier <gonzalo@novell.com>
415
416         * EndPointListener.cs: call CheckIfRemove() after removing a regular
417         prefix. Fixes bug #513849.
418         * EndPointManager.cs: make sure we use the right lock when one prefix
419         of a collection fails to be added and we need to remove all of the
420         prefixes.
421         Clear the ip_to_endpoints hashtable if there are no more prefixes
422         listening on that address.
423
424 2009-06-16 Andres G. Aragoneses <aaragoneses@novell.com>
425
426         * WebConnection.cs: propagate the exception to the request.
427         * WebException.cs: new internal ctor.
428         * HttpWebRequest.cs: use new ctor to encapsulate the innerException.
429         Fixes #323452.
430
431 2009-06-15 Gonzalo Paniagua Javier <gonzalo@novell.com>
432
433         * HttpWebRequest.cs: for unknown methods, always send the request once
434         we are connected even if there's no writeStream. Fixes bug #513087.
435
436 2009-06-09 Gonzalo Paniagua Javier <gonzalo@novell.com>
437
438         * HttpWebRequest.cs: ProtocolViolationException is not thrown in
439         certain cases since 2.0. Fixes bug #508027.
440
441 2009-06-09 Gonzalo Paniagua Javier <gonzalo@novell.com>
442
443         * HttpWebRequest.cs: follow MS docs when throwing
444         ProtocolViolationException at the beginning of an asynchronous
445         operation. Fixes bug #465613.
446
447 2009-06-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
448
449         * WebConnectionStream.cs: throw a WebException instead of an IOException.
450
451 2009-06-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
452
453         * FtpWebRequest.cs: avoid exception when the reply from the server
454         contains just response code. Fixes bug #510852.
455
456 2009-06-05  Sebastien Pouliot  <sebastien@ximian.com> 
457
458         * DownloadStringCompletedEventArgs.cs: Call RaiseExceptionIfNecessary
459         * OpenReadCompletedEventArgs.cs: Remove Address property since it's 
460         not part of SL2. Call RaiseExceptionIfNecessary
461         * OpenWriteCompletedEventArgs.cs: Call RaiseExceptionIfNecessary
462         * UploadStringCompletedEventArgs.cs: Call RaiseExceptionIfNecessary
463
464 2009-06-05  Robert Jordan  <robertj@gmx.net>
465
466         * WebClient.cs (UploadValuesCore): Encode POST arguments with UTF-8.
467         Fixes bug #484795.
468
469 2009-06-02 Gonzalo Paniagua Javier <gonzalo@novell.com>
470
471         * HttpWebRequest.cs: KeepAlive check not needed.
472         Fixes bug #465613.
473
474 2009-06-02 Gonzalo Paniagua Javier <gonzalo@novell.com>
475
476         * HttpConnection.cs: unbind the context after every read for keep-alive
477         connections.
478         Bug #502274 fixed.
479
480 2009-05-17  Gert Driesen  <drieseng@users.sourceforge.net>
481
482         * CookieContainer.cs: Provide meaningful information in exception
483         messages, and improve compatibility with MS. Modified set_Capacity to
484         no longer change MaxCookieSize when new value is less than
485         MaxCookieSize.
486
487 2009-05-16 Gonzalo Paniagua Javier <gonzalo@novell.com>
488
489         * HttpWebResponse.cs:
490         * HttpWebRequest.cs: support automatic decompression of the response.
491         Fixes bug #504391.
492
493
494 2009-05-11 Gonzalo Paniagua Javier <gonzalo@novell.com>
495
496         * Dns.cs: made GetHostAddresses and friends internal for 1.x
497         * EndpointPermission.cs: use GetHostAddresses.
498
499 2009-05-10 Gonzalo Paniagua Javier <gonzalo@novell.com>
500
501         * CookieContainer.cs: matching hosts to domain names like MS does.
502         Bug #421827 fixed.
503
504 2009-05-02  Atsushi Enomoto  <atsushi@ximian.com>
505
506         * CredentialCache.cs : implement all not-implemented methods.
507           Patch by Mineda Nozomi. Close bug #499556.
508
509 2009-04-21  Sebastien Pouliot  <sebastien@ximian.com>
510
511         * EndPoint.cs: Throw NotImplementedException instead of 
512         NotSupportedException
513         * IPEndPoint.cs: Fix some validations.
514
515 2009-04-21 Gonzalo Paniagua Javier <gonzalo@novell.com>
516
517         * WebConnection.cs:
518         * HttpWebRequest.cs: provide more information on why the connection
519         could not be established.
520
521 2009-04-06 Gonzalo Paniagua Javier <gonzalo@novell.com>
522
523         * FtpWebRequest.cs: send REST after PASV to avoid some servers
524         forgetting aboout it.
525         Bug #491590 fixed.
526
527 2009-03-24 Gonzalo Paniagua Javier <gonzalo@novell.com>
528
529         * FtpWebRequest.cs: we were sending CWD instead of PWD.
530         Bug #486703 fixed.
531
532 2009-03-03 Gonzalo Paniagua Javier <gonzalo@novell.com>
533
534         * IPAddress.cs: don't allocate the IPv6 array for IPv4 addresses.
535
536 2009-02-23 Gonzalo Paniagua Javier <gonzalo@novell.com>
537
538         * WebClient.cs: append the QueryString in DownloadData.
539         Fixes bug #323788.
540
541 2009-02-21 Gonzalo Paniagua Javier <gonzalo@novell.com>
542
543         * FtpWebResponse.cs: return a Null stream when there's no response to
544         be read.
545         * FtpWebRequest.cs: provide the error returned by the server in the
546         exception.
547         * WebClient.cs: set the correct method when doing a FTP upload.
548         Fixes bug #478451.
549
550 2009-02-19 Gonzalo Paniagua Javier <gonzalo@novell.com>
551
552         * FtpWebRequest.cs: avoid errors when creating a temporary Uri to get
553         the local path.
554         * WebClient.cs: when setting up the request for downloading, use the
555         default method. Fixes bug #477611.
556
557 2009-02-16  Atsushi Enomoto  <atsushi@ximian.com>
558
559         * WebConnectionStream.cs : use request only after it is set.
560
561 2009-02-13 Gonzalo Paniagua Javier <gonzalo@novell.com>
562
563         * WebConnectionStream.cs: implemente (Read|Write)Timeout.
564         Fixes bug #348159.
565
566 2009-02-10 Gonzalo Paniagua Javier <gonzalo@novell.com>
567
568         * CookieContainer.cs: separate cookies with "; " instead of just ';'.
569         Fixes bug #386727.
570
571 2009-02-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
572
573         * HttpWebRequest.cs: lock SetResponseError.
574
575 2009-02-08  Gert Driesen  <drieseng@users.sourceforge.net>
576
577         * Dns.cs: BeginGetHostAddresses - renamed argument to match MS,
578         reject "any" IP addresses. BeginGetHostEntry - renamed argument
579         to match MS, reject "any" IP addresses. GetHostEntry - reject
580         "any" IP addresses. GetHostAddresses - reject "any" IP addresses.
581         GetHostByName - use "hostName" as paramname in ANE.
582
583 2009-02-07 Gonzalo Paniagua Javier <gonzalo@novell.com>
584
585         * Dns.cs: empty string for host (also 0.0.0.0) is just passed to the
586         runtime, which will then retrieve the local IP addresses. Fixes bug
587         #386637 part 2/2.
588
589 2009-02-06 Gonzalo Paniagua Javier <gonzalo@novell.com>
590
591         * FtpWebRequest.cs: some servers have a comment after the directory
592         name. Fixes bugs #471149 and #471216.
593
594 2009-02-06 Gonzalo Paniagua Javier <gonzalo@novell.com>
595
596         * WebConnectionStream.cs: set the content length to 0 when the
597         response is not supposed to have any content.
598
599 2009-02-05  Miguel de Icaza  <miguel@novell.com>
600
601         * WebConnectionStream.cs: Prevent a nullref here.   This might
602         have to be backported to 2.2 and 2.4
603
604 2009-02-03 Gonzalo Paniagua Javier <gonzalo@novell.com>
605
606         * WebConnection.cs:
607         * HttpWebRequest.cs: calling Abort is safe now if the request has been
608         read entirely.
609
610 2009-02-03 Gonzalo Paniagua Javier <gonzalo@novell.com>
611
612         * WebProxy.cs: use TryParse when checking for a localhost IP.
613
614 2009-01-26 Gonzalo Paniagua Javier <gonzalo@novell.com>
615
616         * HttpWebResponse.cs: avoid throwing an exception when
617         Content-Length is not present.
618
619 2009-01-26 Gonzalo Paniagua Javier <gonzalo@novell.com>
620
621         * HttpWebRequest.cs: added locking in SetResponseData for the case
622         when we get an error response before BeginGetResponse has been
623         called.
624
625 2009-01-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
626
627         * IPAddress.cs: handle sign extension for the high byte when using the
628         byte[] ctor for an IPv4 address.
629         Fixes bug #467472.
630
631 2009-01-19  Marek Habersack  <mhabersack@novell.com>
632
633         * HttpWebRequest.cs: implemented the UseDefaultCredentials
634         property, patch from Florian Maetschke <f.maetschke@tu-bs.de>,
635         thanks!
636
637 2009-01-16 Gonzalo Paniagua Javier <gonzalo@novell.com>
638
639         * FtpWebRequest.cs: adjust to the correct directory when listing too.
640         Fixes bug #466530.
641
642 2009-01-15 Gonzalo Paniagua Javier <gonzalo@novell.com>
643
644         * HttpListenerRequest.cs: always initialize 'version'.
645         * HttpConnection.cs: the socket might already be disconnected when
646         shutting down.
647
648 2009-01-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
649
650         * WebConnectionStream.cs: if the buffer has been killed, return -1 for
651         its length. Fixes regression in System.Runtime.Remoting.
652
653 2009-01-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
654
655         * HttpWebRequest.cs: create a result from the response when
656         *GetResponse() has not been called yet and we have already received
657         all the data.
658         Fixes bug #464013.
659
660 2009-01-13 Gonzalo Paniagua Javier <gonzalo@novell.com>
661
662         * HttpWebRequest.cs: keepAlive is of no use here.
663         Fixes bug #465613.
664
665 2009-01-13 Gonzalo Paniagua Javier <gonzalo@novell.com>
666
667         * HttpConnection.cs: we were not writing the headers for 0-length
668         responses.
669         * WebConnectionStream.cs: for 204/304 responses with an explicit
670         content-length of 0, release the socket only once.
671         Fixes bug #465638.
672
673 2009-01-12 Gonzalo Paniagua Javier <gonzalo@novell.com>
674
675         * FtpWebRequest.cs: now deleting a file works when we're not in the
676         root directory.
677
678 2008-12-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
679
680         * IPAddress.cs: avoid throwing when parsing a subnet.
681
682 2008-11-18 Gonzalo Paniagua Javier <gonzalo@novell.com>
683
684         * HttpConnection.cs: remove CWL. When reusing, BeginReadRequest might
685         throw if the client closes.
686         * HttpListenerResponse.cs: close the connection for 1.0 clients.
687
688 2008-11-13 Gonzalo Paniagua Javier <gonzalo@novell.com>
689
690         * FtpDataStream.cs: use the socket for reading until the end of a
691         stream that wasn't read entirely. Remove unused ManualResetEvent.
692         * FtpWebRequest.cs: set the file_name when downloading. Update the
693         response status after every SendCommand. Send a "OPTS utf8 on" as MS
694         does (the control cnc reader should do something with UTF8)
695
696 2008-11-04 Gonzalo Paniagua Javier <gonzalo@novell.com>
697
698         * WebRequest.cs: if the cache level is NoCacheNoStore, don't throw
699         when setting the CachePolicy.
700
701 2008-11-03 Gonzalo Paniagua Javier <gonzalo@novell.com>
702
703         * FtpWebRequest.cs: take the server current directory into account
704         when uploading files. Set the data connection type before every
705         transmission.
706         Bug 333985 fixed.
707
708 2008-10-31 Gonzalo Paniagua Javier <gonzalo@novell.com>
709
710         * FtpWebRequest.cs: disable keep-alive connections as the current code 
711         does not deal with keep-alive connections.
712         Workaround for bug #380262.
713
714 2008-10-30 Gonzalo Paniagua Javier <gonzalo@novell.com>
715
716         * WebConnectionStream.cs: when there's a NTLM authentication in
717         progress, don't let the connection be used by the next request if we
718         have the entire response in the input buffer.
719
720 2008-10-30 Gonzalo Paniagua Javier <gonzalo@novell.com>
721
722         * HttpListenerResponse.cs: removed obsolete comment.
723         * ResponseStream.cs: don't read response.SendChunked until after
724         getting the response headers.
725
726 2008-10-27 Gonzalo Paniagua Javier <gonzalo@novell.com>
727
728         * ServicePointManager.cs: set the default limit of connections from
729         the configuration file(s) on startup.
730         Bug #339422 fixed.
731
732 2008-10-23 Gonzalo Paniagua Javier <gonzalo@novell.com>
733
734         * HttpWebRequest.cs: don't call ProxyRequest twice.
735         * WebConnectionData.cs: remove unused fields.
736
737         * WebConnection.cs:
738         * WebConnectionStream.cs: when setting the input buffer, check to see
739         if the entire response is already there and free up the request slot.
740         Fixes bug #423156.
741
742         * ResponseStream.cs:
743         * HttpListenerResponse.cs: buffer the headers so that they are sent
744         together with the data on the first Write (if any). The fix above
745         didn't work with our HttpListener without this.
746
747 2008-10-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
748
749         * WebConnection.cs:
750         * ServicePoint.cs:
751         * WebConnectionGroup.cs:
752         * HttpWebRequest.cs:
753         * WebConnectionStream.cs: reuse the same connection when doing NTLM
754         authentication. Fixes bug #323375.
755         Implemented support for UnsafeAuthenticatedConnectionSharing.
756
757 2008-10-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
758
759         * HttpConnection.cs:
760         * HttpListenerResponse.cs: fix typo that caused the "connection close"
761         header to be sent. Do not close the socket when the encoding is not
762         chunked and reuse is possible.
763         Fixes bug #433371.
764
765 2008-10-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
766
767         * HttpWebRequest.cs: if GetRequestStream has already been called,
768         return the same stream that we returned in the first call.
769         Fixes bug #429200.
770
771 2008-10-07 Gonzalo Paniagua Javier <gonzalo@novell.com>
772
773         * ServicePointManager.cs: better handling of possible collisions of the
774         hash for schema/host/port. Fixes bug #417891.
775
776 2008-10-06 Gonzalo Paniagua Javier <gonzalo@novell.com>
777
778         * ChunkStream.cs: (ReadTrailer) make sure the array access is not out
779         of bounds. Fixes bug #322715.
780
781 2008-09-19 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
782
783         * WebConnectionStream.cs: when receiving a 0 content-length, free up
784         the slot for the next request immediately.
785         Fixes bug #427974.
786
787 2008-09-16  Miguel de Icaza  <miguel@novell.com>
788
789         * IPv6Address.cs: On the 2.0 profile, avoid throwing/catching
790         exceptions inside TryParse.
791
792 2008-09-12  Miguel de Icaza  <miguel@novell.com>
793
794         * HttpListenerPrefixCollection.cs, EndPointListener.cs,
795         HttpListener.cs, EndPointManager.cs, HttpConnection.cs: Remove
796         generics support where necessary to allow this code to be reused
797         in the 1.0 profile.
798
799 2008-09-08  Miguel de Icaza  <miguel@novell.com>
800
801         * EndPointListener.cs (SearchListener): Cope with the raw_url not
802         being merely a path, but potentially a full URI (see the proxy
803         case). 
804
805         * HttpListenerRequest.cs: Cope with raw_url not being merely a
806         path, but potentially a full Uri.   Also uses TryCreate, hoping
807         that one day it will be faster.
808
809 2008-08-23  Zoltan Varga  <vargaz@gmail.com>
810
811         * WebConnectionStream.cs (WriteRequest): Fix the copying in the
812         previous patch, when bytes.Length != length.
813
814 2008-08-22  Zoltan Varga  <vargaz@gmail.com>
815
816         * WebConnectionStream.cs (WriteRequest): For small requests,
817         cluster together the header + body in a single write call, avoids
818         the latency problems observed in an TLS application that makes
819         many web service calls. 
820
821 2008-08-22  Geoff Norton  <gnorton@novell.com>
822
823         * WebConnection.cs: Set NoDelay
824
825 2008-08-21  Stephane Delcroix  <sdelcroix@novell.com>
826
827         * OpenReadCompletedEventArgs.cs: new Address property for 2.1
828
829 2008-08-06  Miguel de Icaza  <miguel@novell.com>
830
831         * IPAddress.cs (ParseIPV6): Use an exception-less parser for ipv6
832         addresses.
833
834         * IPv6Address.cs: Rewrite most of the parsing code to not use that
835         incredibly fragile, hacky and hacky implementation.
836
837         (TryParse): Provide a exception-less parsing path.
838
839 2008-07-25  Gert Driesen  <drieseng@users.sourceforge.net>μ
840
841 2008-08-06  Atsushi Enomoto  <atsushi@ximian.com>
842
843         * IPAddress.cs : several IPv4 parsing fix exposed by bug #411920.
844
845 2008-08-05  Atsushi Enomoto  <atsushi@ximian.com>
846
847         * WebClient.cs : it should not invoke delegate directly, but should
848           call overridable OnDownloadProgressChanged.
849
850 2008-07-25  Gert Driesen  <drieseng@users.sourceforge.net>μ
851
852         * HttpWebResponse.cs: Initialize contentLength in ctor, as it must
853         remain accessible after the response is disposed (and the headers are
854         no longer available). Adding missing disposed checks in properties
855         (except for StatusCode) and GetResponseHeader. On the 2.0 profile,
856         headers must remain accessible after the HttpWebResponse is disposed.
857
858 2008-06-10  Stephane Delcroix  <sdelcroix@novell.com>
859
860         * IPAddress.cs: allow usage on 2.1 as smcs knows nothing about
861         string.GetEnumerator : IEnumerable<char>
862
863 2008-06-08  Miguel de Icaza  <miguel@novell.com>
864
865         * ResponseStream.cs: Do not Close the HttpResponse object here as
866         it is possible to issue multiple OutputStream.Close calls (they
867         actually happen implicitly through things like StreamWriter.Close,
868         and they are in various MSDN samples).
869
870 2008-05-28 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
871
872         * CookieContainer.cs: apply slightly modified patch from rulatir@wp.pl
873         that fixes bug #356537.
874
875 2008-04-30  Miguel de Icaza  <miguel@novell.com>
876
877         * WebPermission.cs (ToXml): To allow code that uses WebPermission
878         to be built. 
879
880 2008-04-21 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
881
882         * HttpWebResponse.cs: do not check the disposed status for properties
883         and methods that return response data other than the stream itself.
884         Fixes bug #381223.
885
886 2008-04-16  Marek Habersack  <mhabersack@novell.com>
887
888         * HttpWebRequest.cs: fix an off-by-one bug - the number of
889         redirects must not exceed the value of
890         MaximumAutomaticRedirections. Fixes bug #380131
891
892 2008-04-13  Jb Evain  <jbevain@novell.com>
893
894         * *_2_1.cs: move the specific 2.1 System.Net code to the
895         assembly System.Net.
896
897 2008-04-13  Jb Evain  <jbevain@novell.com>
898
899         * WebRequest_2_1.cs, WebResponse_2_1.cs: new files
900         * HttpWebRequest_2_1.cs, HttpWebResponse_2_1, WebHeaderCollection_2_1:
901         update to Silverlight 2.0b1 API.
902         Merged from the Moonlight 2 branch.
903
904 2008-04-06  <gnorton@novell.com>
905
906         * ListenerAsyncContext.cs: Fix Basic authentication support.  Patch from 
907         Maciej Paszta <paszczi@go2.pl>
908
909 2008-02-21  Zoltan Varga  <vargaz@gmail.com>
910
911         * HttpConnection.cs (Close): Close the socket even if Shutdown throws an exception.
912
913 2008-02-17  Daniel Nauck  <dna@mono-project.de>
914
915         * HttpWebResponse.cs: refactored cookie expires parsing to
916         allow all common expires datetime formats.
917
918 2008-02-09  Daniel Nauck  <dna@mono-project.de>
919
920         * HttpWebResponse.cs: convert UTC/GMT Expires DateTime from a cookie
921         into local time, also set the HttpOnly property if available.
922
923 2008-02-09  Daniel Nauck  <dna@mono-project.de>
924
925         * Cookie.cs: implemented HttpOnly
926
927 2008-01-27  Gert Driesen  <drieseng@users.sourceforge.net>
928
929         * IPAddress.cs (Parse): Changed argument name to match MS.
930         (TryParse): Changed argument name to match MS.
931         (ParseIPV4): Only treat zero-length or " " address as empty on 1.0
932         profile. On 2.0 profile, only ignore characters after blank if last
933         part is valid hex string.
934         * IPv6Address.cs: Removed extra spaces and tabs.
935
936 2008-01-26  Daniel Nauck  <dna@mono-project.de>
937
938         * HttpWebRequest.cs: fixed typo. Use the actual uri for correct
939         cookie header informations and not the originally one.
940
941 2008-01-26  Daniel Nauck  <dna@mono-project.de>
942
943         * Cookie.cs: set Version to '1' if Port is set,
944         don't include path and domain informations when version is 0,
945         match ToString () output with .NET 2.0,
946         fixes bug #316017
947
948 2008-01-15  Atsushi Enomoto  <atsushi@ximian.com>
949
950         * MonoHttpDate.cs : Parse() should return Local time. Fixed bug
951           #353495.
952
953 2008-01-12  Gert Driesen  <drieseng@users.sourceforge.net>
954
955         * WebClient.cs: Do not add trailing CRLF in UploadValuesCore. Fixes
956         standalone test for bug #351049.
957
958 2008-01-07  Sebastien Pouliot  <sebastien@ximian.com>
959
960         * CredentialCache.cs: Gendarme's AvoidToStringOnStringsRule in
961         CredentialCacheKey constructor. UseStringEmptyRule on CredentialCache
962         static ctor (3 times).
963
964 2007-12-27  Miguel de Icaza  <miguel@novell.com>
965
966         * WebClient.cs: We catch exceptions that happen on the helper
967         async threads toa void terminating the application on errors, and
968         also raise a variant of the OnXXXXCompleted methods that take an
969         Exception argument.
970
971         Note that this differs from the .NET implementation in that
972         we actually raise a signal on error, and set the exception, and in
973         their case no error is ever raised.
974
975         We now call CompleteAsync in the OnXXXCompleted handlers to ensure
976         that the WebClient can be reused immediately by the callback.
977
978         This fixes #350621.
979
980         This also should fix the bug report on IRC where someone
981         complained that they could not "chain" invocations to XXXAsync
982         methods from the OnXXXXCompleted handlers due to the WebClient
983         refusing to work if there was an ongoing operation
984
985 2007-12-24  Miguel de Icaza  <miguel@novell.com>
986
987         * WebClient.cs: Do not validate method to be null, we do not do
988         that in OpenWrite, the detection is done later on.  
989
990         Fixes #350622
991
992 2007-12-16  Miguel de Icaza  <miguel@novell.com>
993
994         * WebClient.cs: Got the arguments in the wrong order, fix
995
996 2007-12-12  Marek Habersack  <mhabersack@novell.com>
997
998         * WebClient.cs: DownloadProgressChanged is available only in the
999         2.0+ profiles.
1000
1001 2007-12-12  Miguel de Icaza  <miguel@novell.com>
1002
1003         * WebClient.cs (DownloadFileCore): use longs for the
1004         ContentLength, although the other code (loading into a byte array,
1005         or a string) still uses ints, the DownloadFileCore should not.
1006
1007 2007-12-11  Miguel de Icaza  <miguel@novell.com>
1008
1009         * WebClient.cs: 
1010
1011         Lots of fixes to get the *Async methods to work.
1012         
1013         * WebClient.cs: async, new boolean flag, used to track whether we
1014         are an async invocation, and if so, we need to invoke some
1015         methods. 
1016
1017         Switch to using System.Threading.Thread instead of the ThreadPool
1018         as there is no way with the ThreadPool to abort threads (to
1019         implemente CancelAsync). 
1020
1021         (CompleteAsync): Helper method used to clear the state after an
1022         async operation completes, otherwise the WebClient can only be
1023         used once. 
1024
1025         (CancelAsync): Use Thread.Interrupt to signal the thread that we
1026         are aborting it (it is a lot milder than Thread.Abort, and we are
1027         in no rush to cancel this anyways); Also the documentation states
1028         that we need to call the WebRequest.Abort method, so we do that in
1029         every Download instance.
1030
1031         (DownloadDataAsync, DownloadFileAsync, DownloadStringAsync,
1032         OpenReadAsync, OpenWriteAsync, UplaodDataAsync, UploadFileAsync,
1033         UploadStringAsync): Make signature parameters match MS; use
1034         threads instead of threadpool (so we can implement CancelAsync),
1035         catch ThreadAbortException here so we can also raise the proper
1036         DownloadDataCompleteEventArgs.
1037
1038         These routines will also call the WebRequest.Abort when
1039         appropriate when ThreadInterrupted is used.
1040         
1041         (ReadAll): Raise DownloadProgressChanged events.
1042         
1043 2007-12-03  Gert Driesen  <drieseng@users.sourceforge.net>
1044
1045         * WebClient.cs: Modified argument checks to match MS, and wrap
1046         exceptions in a WebException. Fixes bug #343064.
1047
1048 2007-12-03  Miguel de Icaza  <miguel@novell.com>
1049
1050         * FtpWebRequest.cs: Applied patch from Jerome Haltom that fixes
1051         multi-line responses (after my fix).
1052
1053         Closes #333978
1054
1055 2007-11-16  Marek Habersack  <mhabersack@novell.com>
1056
1057         * HttpWebRequest.cs: when folding a request into a GET one, set
1058         content length to 0 and kill the buffers. Fixes bug #327314. Patch
1059         from Geoff Norton <gnorton@novell.com>, thanks!
1060
1061 2007-11-13  Atsushi Enomoto  <atsushi@ximian.com>
1062
1063         * WebRequest.cs : added missing ImpersonationLevel (NIE).
1064         * SecurityProtocolType.cs : not [Serializable] in 2.0.
1065         * ServicePoint.cs : no GetHashCode() in 2.0.
1066         * WebRequestMethods.cs : fixed wrong STOU.
1067         * FileWebResponse.cs : no Dispose(true) in 2.0 API.
1068
1069 2007-11-08  Jb Evain  <jbevain@novell.com>
1070
1071         * WebHeaderCollection_2_1.cs: add a custom WebHeaderCollection
1072         for the 2.1 profile.
1073
1074 2007-11-07  Geoff Norton  <gnorton@novell.com>
1075
1076         * ListenerAsyncResult.cs: Only send the 401 header if our authentication
1077         type is Basic or Negotiate (which we default to basic) because that is
1078         all we support.  Set the WWW-Authenticate header when we return a 401 
1079         result.  Send the correct state object in the async result.
1080
1081 2007-11-06  Geoff Norton  <gnorton@novell.com>
1082
1083         * ListenerAsyncResult.cs: If the HttpListener has an authentication
1084         scheme, the user should be presented with a 401 without calling the 
1085         callback.
1086
1087 2007-11-04  Miguel de Icaza  <miguel@novell.com>
1088
1089         * FtpWebRequest.cs (GetResponseStatus): Fix this routine
1090         propertly, refactor, and make it follow Mono coding conventions.
1091
1092 2007-10-30  Jerome Haltom  (wasabi@larvalstage.net)
1093
1094         * FtpWebRequest.cs: adds support for ftp multiline results, fixes
1095         #333978
1096
1097 2007-10-27  Miguel de Icaza  <miguel@novell.com>
1098
1099         * HttpListener.cs: Remove more trigger-happy disposed=true from
1100         the code;   We should only dispose when the Dispose method is
1101         actually called.   Not before.  
1102
1103         Fixes #337371
1104
1105         *  HttpListener.cs (Close): Closing does not mean dispose the
1106         object.   This allows Start/Stop/Start to be called as many times
1107         as desired.
1108
1109         Fixes #337368
1110
1111 2007-10-15  Gert Driesen  <drieseng@users.sourceforge.net>
1112
1113         * FtpWebRequest.cs: Added support for DELETE.
1114
1115 2007-10-15  Gert Driesen  <drieseng@users.sourceforge.net>
1116
1117         * WebRequest.cs: Changed serialization ctor to throw NIE on 1.0
1118         profile. Cache default proxy, but still allow it to be explicitly set
1119         to null. Removed commented code.
1120
1121 2007-10-14 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
1122
1123         * WebRequest.cs: DefaultWebProxy allows a null value. Fixes bug #323668.
1124
1125 2007-09-30  Gert Driesen  <drieseng@users.sourceforge.net>
1126
1127         * HttpListenerRequest.cs: Do not store 'method' in upper case, but
1128         instead use case-insensitive comparison.
1129
1130 2007-09-30  Gert Driesen  <drieseng@users.sourceforge.net>
1131
1132         * HttpListenerRequest.cs: Removed dead code. USe String.Length to
1133         check for zero-length string. Use instance field for is_chunked, and
1134         also set it for GET/HEAD/DELETE. Fixed HasEntityBody to return true
1135         when Content-Length > 0, or Transfer-Encoding is chunked.
1136
1137 2007-09-28  Marek Habersack  <mhabersack@novell.com>
1138
1139         * HttpListenerRequest.cs: make sure 'method' is always stored in
1140         upper case.
1141         The DELETE method must not error out on missing Content-Length
1142         header (this is the behavior of the MS.NET version of the
1143         class). Fixes bug #323215.
1144         HasEntityBody should return false when method is GET/HEAD,
1145         content_length is less than or equal to zero or the request is
1146         chunked. Fixes bug #325296
1147
1148 2007-08-29  Atsushi Enomoto  <atsushi@ximian.com>
1149
1150         * IPAddress.cs, IPv6Address.cs : (ToString) output ScopeId.
1151
1152 2007-08-09  Atsushi Enomoto  <atsushi@ximian.com>
1153
1154         * HttpWebRequest_2_1.cs, HttpWebResponse_2_1.cs :
1155           added new sources for those classes for 2.1 (in 2.1 they are
1156           almost abstract, while in 2.0 they are concrete).
1157         * HttpRequestCreator.cs, ServicePoint.cs :
1158           #ifdef 2.0 dependencies out.
1159
1160 2007-06-28  Chris Howie  <cdhowie@nerdshack.com>
1161
1162         * ServicePoint.cs: Implemented BindIPEndPointDelegate.
1163         * FtpWebRequest.cs: Respect ServicePoint.BindIPEndPointDelegate.
1164         * WebConnection.cs: Respect ServicePoint.BindIPEndPointDelegate.
1165
1166 2007-08-08  Jb Evain  <jbevain@novell.com>
1167
1168         * HttpWebRequest.cs: .ctor(Uri) is public in 2.1.
1169
1170 2007-08-03  Jb Evain  <jbevain@novell.com>
1171
1172         * Dns.cs: remove async methods for the 2.1 profile.
1173
1174 2007-07-17  Rodrigo Kumpera  <rkumpera@novell.com>
1175
1176         * HttpListenerRequest.cs: Support for Cookie decoding.
1177         * HttpListenerResponse.cs: Support for encoding cookies on the response sent to the client
1178         * Cookie.cs: new internal method to encode the Cookie in a proper form to sent to clients
1179
1180 2007-07-14 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
1181
1182         * WebConnectionStream.cs: implement the CanTimeout for 2.0. Fixes
1183         bug #81504.
1184
1185 2007-07-12  Geoff Norton  <gnorton@customerdna.com>
1186
1187         * HttpListenerContext.cs: 
1188         * HttpListener.cs: Handle HttpListener AuthenticationSchemes
1189         Only Basic authentication is included for now.
1190
1191 2007-06-30  Gert Driesen  <drieseng@users.sourceforge.net>
1192
1193         * NetworkAccess.cs: Only mark as flags enum on 2.0.
1194
1195 2007-06-21  Dick Porter  <dick@ximian.com>
1196
1197         * AuthenticationManager.cs: 
1198         * FtpWebRequest.cs: 
1199         * Cookie.cs: 
1200         * ServicePoint.cs: 
1201         * WebClient.cs: 
1202         * Authorization.cs: 
1203         * FileWebRequest.cs: 
1204         * HttpWebRequest.cs: 
1205         * WebResponse.cs: 
1206         * ServicePointManager.cs: 
1207         * HttpWebResponse.cs: Throw NotImplementedException indirectly, to
1208         reduce noise in Moma reports.
1209
1210 2007-06-20  Atsushi Enomoto  <atsushi@ximian.com>
1211
1212         * ServicePointManager.cs : (bootstrap) build fix.
1213
1214 2007-06-19  Dick Porter  <dick@ximian.com>
1215
1216         * AuthenticationManager.cs: 
1217         * IWebProxyScript.cs: 
1218         * Authorization.cs: 
1219         * Cookie.cs: 
1220         * CookieException.cs: 
1221         * CredentialCache.cs: 
1222         * FileWebRequest.cs: 
1223         * WebRequest.cs: 
1224         * FileWebResponse.cs: 
1225         * WebResponse.cs: 
1226         * FtpWebRequest.cs: 
1227         * HttpWebRequest.cs: 
1228         * DecompressionMethods.cs: 
1229         * HttpWebResponse.cs: 
1230         * ProtocolViolationException.cs: 
1231         * ServicePoint.cs: 
1232         * ServicePointManager.cs: 
1233         * WebClient.cs: 
1234         * WebException.cs: 
1235         * WebHeaderCollection.cs: 
1236         * WebProxy.cs: 
1237         * WebExceptionStatus.cs: 2.0 profile updates
1238
1239 2007-05-18  Gert Driesen  <drieseng@users.sourceforge.net>
1240
1241         * WebConnectionStream.cs: On read timeout, throw WebException with
1242         status Timeout instead of IOException.
1243
1244 2007-05-16  Adar Wesley <adarw@mainsoft.com>
1245
1246         * CookieCollection.cs: added missing method strongly typed CopyTo.
1247
1248         * CredentialCache.cs: added missing methods Add, Remove, GetCredential
1249
1250         * HttpWebRequest.jvm.cs: added missing ClientCertificates getter.
1251
1252         * ServicePoint.cs: added missing method CloseConnectionGroup.
1253
1254         * WebClient.cs: added missing methods OnDownloadProgressChanged,
1255         OnUploadProgressChanged, GetWebRequest, GetWebResponse
1256
1257         * WebHeaderCollection.cs: added missing methods IsRestricted, Add,
1258         Remove, Set.
1259
1260         * WebProxy.cs: added missing method GetObjectData.
1261
1262 2007-05-15  Marek Habersack  <mhabersack@novell.com>
1263
1264         * HttpWebRequest.cs: fold all methods into GET for
1265         redirect/moves. Fixes bug #81624
1266
1267 2007-05-07  Miguel de Icaza  <miguel@novell.com>
1268
1269         Missing second part of the patch.
1270         
1271         * WebHeaderCollection.cs: To be compatible with older versions of
1272         Mono that might have serialized this in a different format, catch
1273         the potential exception, and try the old name.
1274
1275         This should become a practice whenever we fix serialization in the
1276         future. 
1277
1278         This is for #81467
1279
1280 2007-04-23  Marek Habersack  <mhabersack@novell.com>
1281
1282         * EndPointListener.cs: relax prefix matching to succeed in cases
1283         when the prefix ends with / and the request path does not. Fixes
1284         bug #80091.
1285
1286         * CookieCollection.cs: added a SortByPath method to sort the
1287         collection on demand.
1288
1289         * Cookie.cs: do not return "/" for Path if it wasn't set
1290         explicitly.
1291
1292         * CookieContainer.cs: set cookie path only if its version is
1293         "Netscape" and is null or empty. Fixes #81420.
1294         Sort the collection by the path relevance before returning from
1295         the GetCookies method. Fixes bug #81421.
1296
1297 2007-04-17  Joel Reed  <joelwreed@gmail.com>
1298
1299         * WebHeaderCollection.cs: www-authenticate should be multivalue.
1300         This fixes a bug related to RFC 2608 which says in section
1301         "15.2 Offering a Choice of Authentication Schemes"
1302
1303         An HTTP/1.1 server may return multiple challenges with a 401
1304  (Authenticate) response, and each challenge may use a different
1305         scheme.  The order of the challenges returned to the user agent is in
1306         the order that the server would prefer they be chosen. The server
1307         should order its challenges with the "most secure" authentication
1308         scheme first. A user agent should choose as the challenge to be made
1309         to the user the first one that the user agent understands.
1310
1311         Before this change, mono was choosing whatever was sent last,
1312         which was the most insecure authentication option.
1313         
1314 2007-04-10  Marek Habersack  <mhabersack@novell.com>
1315
1316         * HttpListenerRequest.cs: do not include the query start marker
1317         ('?') in the first variable name stored in the QueryString
1318         collection. There is no HTTP header 'Accept-Types' in the
1319         standard, there's only the 'Accept' header that specifies the
1320         accepted MIME types. Fixes bug #81317
1321
1322 2007-03-25 Alan McGovern <alan.mcgovern@gmail.com>
1323
1324         * IPAddress.cs : Further optimisation for the Swap*** methods.
1325
1326 2007-03-24 Alan McGovern <alan.mcgovern@gmail.com>
1327
1328         * IPAddress.cs : Optimised the SwapInt and SwapLong methods.
1329
1330 2007-03-09  Miguel de Icaza  <miguel@novell.com>
1331
1332         * FtpDataStream.cs: Close must be called on the stream before we
1333         attempt to read a status code from the remote server.
1334
1335         Fixes FTP transfers to complete. 
1336
1337 2007-03-05 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
1338
1339         * HttpWebRequest.cs: properly handle OPTIONS, which may or may not
1340         have a request body. Fixes bug #80686.
1341
1342 2007-03-02  Marek Habersack  <mhabersack@novell.com>
1343
1344         * WebClient.cs: Overwrite existing files on download, as
1345         documented and as tested on MS.NET. Fixes Bug#81005
1346
1347 2007-02-24  Gert Driesen  <drieseng@users.sourceforge.net>
1348
1349         * HttpWebRequest.cs: Allow Proxy to be set to null on 2.0 profile.
1350
1351 2007-02-18  Geoff Norton  <gnorton@customerdna.com>
1352
1353         * AuthenticationManager.cs: Register the modules in the 2.0 profile
1354         when we create the ArrayList.
1355
1356 2007-02-01  Gert Driesen  <drieseng@users.sourceforge.net>
1357
1358         * WebProxy.cs: In IsBypassed, move address check back to satify unit
1359         tests.
1360
1361 2007-01-30  Ilya Kharmatsky <ilyak -at- mainsoft.com>
1362
1363         * Dns.cs : implemented proper exception handling under TARGET_JVM
1364         when trying to resolve not existing host.
1365
1366 2007-01-28  Gert Driesen  <drieseng@users.sourceforge.net>
1367
1368         * IPAddress.cs: Provide more meaningful exception message on 2.0
1369         profile.
1370
1371 2007-01-28  Gert Driesen  <drieseng@users.sourceforge.net>
1372
1373         * FileWebRequest.cs: Fixed PreAuthenticate and Proxy properties to
1374         no longer throw NotSupportedException. No longer store ContentLength
1375         in headers. Do not allow null or zero-length method. Allow timeout
1376         to be set to -1 (infine). Only disallow GET, HEAD and CONNECT requests.
1377         Removed workarounds for bug #24943. In (Begin)GetRequest overwrite
1378         file if it already exists. Binary serialization compatibility fixes.
1379         * FileWebResponse.cs: Return application/octet-stream as ContentType.
1380
1381 2007-01-28  Gert Driesen  <drieseng@users.sourceforge.net>
1382
1383         * WebHeaderCollection.cs: Fixed binary serialization compatibility 
1384         with MS.
1385
1386 2007-01-28  Gert Driesen  <drieseng@users.sourceforge.net>
1387
1388         * WebProxy.cs: Lazy init bypassList. Fixes for binary serialization
1389         compatibility. Added stub for UseDefaultCredentials (2.0). On 2.0
1390         profile, throw ArgumentNullException in IsBypassed if host is null.
1391
1392 2007-01-22  Miguel de Icaza  <miguel@novell.com>
1393
1394         * HttpWebRequest.cs: Remove unused variable.
1395
1396         * FtpWebRequest.cs: Remove unused variable.
1397
1398         * WebHeaderCollection.cs: Remove a handful of NotImplementedException's
1399
1400 2007-01-11  Miguel de Icaza  <miguel@novell.com>
1401
1402         * HttpListenerRequest.cs (SetRequestLine): Add validation for the
1403         verbs. 
1404
1405         Allow any verbs to go through, not only
1406         the white list of verbs.
1407
1408         Fixes: 80504
1409
1410 2007-01-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1411
1412         * RequestStream.cs: initialize the stream in both ctors. Fixes a couple
1413         of unit tests.
1414
1415 2006-12-29  Gert Driesen  <drieseng@users.sourceforge.net>
1416
1417         * HttpWebRequest.jvm.cs: Fixed line endings.
1418         * HttpWebResponse.jvm.cs: Same.
1419         * WebException.cs: Same.
1420         * FtpWebRequest.cs: Same.
1421         * VMWHttpProvider.jvm.cs: Same.
1422
1423 2006-12-29  Gert Driesen  <drieseng@users.sourceforge.net>
1424
1425         * DnsPermissionAttribute.cs: Fixed line endings.
1426         * HttpVersion.cs: Same.
1427         * FtpWebResponse.cs: Same.
1428         * HttpContinueDelegate.cs: Same.
1429         * FtpAsyncResult.cs: Same.
1430         * EndpointPermission.cs: Same.
1431         * IPv6Address.cs: Same.
1432         * FtpDataStream.cs: Same.
1433         * SocketPermission.cs: Same.
1434         * FileWebRequest.cs: Same.
1435         * FileWebResponse.cs: Same.
1436         * DnsPermission.cs: Same.
1437         * ProtocolViolationException.cs: Same.
1438         * MonoHttpDate.cs: Same.
1439         * SocketPermissionAttribute.cs: Same.
1440         * CookieException.cs: Same.
1441         * WebResponse.cs: Same.
1442         * DefaultCertificatePolicy.cs: Same.
1443
1444 2006-12-28  Gert Driesen  <drieseng@users.sourceforge.net>
1445
1446         * IPAddress.cs: On 1.1, 4-byte addresses are not supported in the 
1447         ctor. Added null checks for the address passed in the ctors.
1448
1449 2006-12-28  Miguel de Icaza  <miguel@novell.com>
1450
1451         * IPAddress.cs: The condition in 1.1 was broken, it only allowed
1452         16-byte addresses, and never 4-byte addresses (only 2.0 had
1453         them).  
1454
1455         Keep a single code path.
1456
1457         Also, remove all the NET_1_1 defines, we realistically only
1458         distinguish between 1.1 and 2.0, we wont likely support 1.0, 1.1
1459         and 2.0, so remove the 1.0 vs 1.1 conditionals.
1460
1461         Fixes 76792
1462         
1463 〓2006-12-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1464
1465         * WebConnectionStream.cs: fix error in my last patch. Thanks to Felipe
1466         Almeida.
1467
1468 2006-12-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1469
1470         * WebConnection.cs:
1471         * HttpWebRequest.cs:
1472         * WebConnectionStream.cs: detect errors writing headers earlier and
1473         avoid race that showed up with SSL. Fixes bug #80234.
1474
1475 2006-12-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1476
1477         * EndPointListener.cs:
1478         * ListenerPrefix.cs:
1479         * ResponseStream.cs:
1480         * ChunkedInputStream.cs:
1481         * HttpConnection.cs:
1482         * RequestStream.cs: add initial support for HTTPS.
1483
1484 2006-12-18  Atsushi Enomoto  <atsushi@ximian.com>
1485
1486         * FtpStatus.cs : The build gets broken when only-2.0 classes/members
1487           are not excluded in 1.x build.
1488
1489 2006-12-18  David Elkind  <davide@mainsoft.com>
1490
1491         * FtpAsyncResult.cs : FTP request is now working and covers about 100% of .NET API
1492         * FtpDataStream.cs: FTP request is now working and covers about 100% of .NET API
1493         * FtpWebRequest.cs: FTP request is now working and covers about 100% of .NET API
1494         * FtpWebResponse.cs: FTP request is now working and covers about 100% of .NET API
1495         * FtpStatus.cs: added composite status (includes status code and status description)
1496
1497 2006-12-04  Konstantin Triger  <kostat@mainsoft.com>
1498
1499         * WebRequest.cs, WebResponse.cs: TARGET_JVM limitation workaround.
1500
1501 2006-12-04  Konstantin Triger  <kostat@mainsoft.com>
1502
1503         * ServicePointManager.cs: correct assignment typo.
1504         * ServicePoint.cs: Remove unneeded locks for getters, add internal setter.
1505
1506 2006-11-27  Miguel de Icaza  <miguel@novell.com>
1507
1508         * WebRequest.cs: Instead of throwing NotImplemented exceptions,
1509         call GetMustImplement, that way we do not need the whitelist, and
1510         we save a handful of opcodes.
1511
1512 2006-11-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1513
1514         * HttpWebRequest.cs: add 2 more methods that are not supposed to have
1515         a body. Fixes bug #80001.
1516
1517 2006-11-15  Andrew Skiba  <andrews@mainsoft.com>
1518
1519         * WebHeaderCollection.cs: add stubs for new 2.0 properties.
1520
1521 2006-11-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1522
1523         * HttpWebResponse.cs: cookies are actually added to the request
1524         container if any. Fixes bug #79821.
1525
1526 2006-11-02  Michael Hutchinson  <m.j.hutchinson@gmail.com>
1527
1528         * WebRequest.cs: more closely follow MS behaviour: use system settings 
1529           unless told otherwise, and respect app.config.
1530
1531 2006-11-01  Michael Hutchinson  <m.j.hutchinson@gmail.com>
1532
1533         * GlobalProxySelection.cs: Obsolete GlobalProxySelection under 2.0 
1534           profile, and move code to new property WebRequest.DefaultWebProxy.
1535         * WebRequest.cs: Implement new 2.0 property DefaultWebProxy.
1536           Add support for config option UseSystemDefault using simplistic
1537           implementation of new 2.0 method GetSystemWebProxy ().
1538
1539 2006-10-30  Atsushi Enomoto  <atsushi@ximian.com>
1540
1541         * FtpWebRequest.cs : more build fixes.
1542
1543 2006-10-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1544
1545         * EndPointListener.cs: update comment and avoid exception when the
1546         program is exiting.
1547
1548 2006-10-30  Miguel de Icaza  <miguel@novell.com>
1549
1550         * WebRequestMethods.cs: Another typo fix.
1551
1552         * ServicePointManager.cs: Set the default properly.
1553
1554         * SecurityProtocolType.cs: Remove non-existant defines. 
1555
1556 2006-10-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1557
1558         * HttpWebRequest.cs: internally allow buffer if it's not a known
1559         GET-only method instead of enabling that only for POST/PUT. Fixes bug
1560         #79595.
1561
1562 2006-09-28 Andrew Skiba <andrews@mainsoft.com>
1563
1564         * WebConnection.cs: TARGET_JVM
1565
1566 2006-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1567
1568         * WebException.cs: patch by Andrew Skiba that fixes serialization
1569         compatibility with .NET and the default value for status.
1570
1571 2006-09-28  Andrew Skiba <andrews@mainsoft.com>
1572
1573         * Dns.cs: TARGET_JVM
1574
1575 2006-09-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1576
1577         * CookieContainer.cs: send the cookies from the collection we got for
1578         the given URI, not the whole collection.
1579         * HttpWebResponse.cs: only add the cookies to this instance, not to the
1580         cookie container set in the request.
1581
1582 2006-09-11  Sebastien Pouliot  <sebastien@ximian.com>
1583
1584         * WebConnection.cs: Patch to remove the hack that was required for 
1585         using the older versions of the SSL/TLS classes. This hack is no more
1586         required :-). Patch by Gonzalo Paniagua Javier.
1587
1588 2006-08-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1589
1590         * HttpConnection.cs: when the content length is available, keep it
1591         updated after synchronous read. Renamed 'available' to 'remaining_body'.
1592         * RequestStream.cs: when creating the stream, pass the remaining length
1593         starting from the offset in the buffer.
1594
1595 2006-08-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1596
1597         * RequestStream.cs: make sure we return 0 when no more bytes left.
1598         Paticularly, when we have a content length and the whole response is
1599         buffered.
1600
1601 2006-08-20  Miguel de Icaza  <miguel@novell.com>
1602
1603         * RequestStream.cs (Read): A bug fix for #79112 and what I
1604         consider to be an important change.
1605
1606         The bug fix is that we update the "available" variable as soon as
1607         we consume data from Read, this means that a second call into Read
1608         wont block.   Available was only being updated on a secondary code
1609         path, now we alwaysupdate it after using FillFromBuffer.
1610
1611         The second component is what I believe the right behavior should
1612         be.  There was a check for "if count > available" that set count
1613         to available in that case.   The idea was to limit the data read
1614         from the buffer that belonged to this particular request, to allow
1615         pipelining. 
1616
1617         But this test was done after FillFromBuffer, which assumed that
1618         all the data held in the buffer (the one used by FillFromBuffer)
1619         must belong to the this request, and only future data did not.
1620
1621         I think my change is correct, but it assumes that the initialized
1622         RequestStream will be used for other pipelined HTTP requests,
1623         which is not something am 100% sure of, so Gonzalo needs to check
1624         this. 
1625
1626 2006-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1627
1628         * Cookie.cs: avoid nullref in GetHashCode and Equals.
1629
1630 2006-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1631
1632         * CookieCollection.cs:
1633         * CookieContainer.cs: remove expired cookies.
1634
1635 2006-07-07  Atsushi Enomoto  <atsushi@ximian.com>
1636
1637         * Dns.cs : (GetHostEntry) when passed IP addresses, it does not issue
1638           query to DNS. Patch by Petri Latvala.
1639
1640 2006-07-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1641
1642         * CookieContainer.cs: don't send a secure cookie over an insecure
1643         channel.
1644
1645 2006-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1646
1647         * WebProxy.cs: (IsBypassed) 'loopback', 'localhost' and any address
1648         that starts with 127 are special.
1649
1650 2006-05-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1651
1652         * HttpListener.cs: Fixes race condition in BeginGetContext. Patch by
1653         Pawel Sakowski that fixes bug #78365.
1654
1655 2006-05-09  Atsushi Enomoto  <atsushi@ximian.com>
1656
1657         * ServicePointManager.cs : oops, CONFIGURATION_DEP.
1658
1659 2006-05-09  Atsushi Enomoto  <atsushi@ximian.com>
1660
1661         * GlobalProxySelection.cs : if corresponding config section is
1662           DefaultProxySection then use it.
1663
1664 2006-05-09  Atsushi Enomoto  <atsushi@ximian.com>
1665
1666         * WebRequest.cs : if corresponding config section is
1667           WebRequestModulesSection then use it.
1668
1669 2006-05-09  Atsushi Enomoto  <atsushi@ximian.com>
1670
1671         * ServicePointManager.cs : if corresponding config section is
1672           ConnectionManagementSection then use it.
1673
1674 2006-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1675
1676         * ResponseStream.cs:
1677         * HttpListenerResponse.cs: allow 0 length POST. Patch by Horst Reiterer.
1678         Closes bug #78316.
1679
1680 2006-05-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1681
1682         * CredentialCache.cs: added DefaultNetworkCredentials.
1683
1684 2006-05-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1685
1686         * NetworkCredential.cs: implement ICredentialsByHost interface.
1687
1688 2006-04-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1689
1690         * WebConnection.cs: reset the challenge and the status code when
1691         creating the tunnel and sending the proxy auth. headers. Improve error
1692         message when there's an error creating the tunnel.
1693         * HttpWebRequest.cs: don't trigger an early throw for a POST that gets
1694         a 401 or 407 response.
1695
1696 2006-04-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1697
1698         * WebConnectionData.cs:
1699         * WebConnection.cs:
1700         * HttpWebRequest.cs: when tunneling an ssl conneciton through a proxy,
1701         we were not handling a proxy authentication request. Fixes bug #78150
1702         take 2.
1703
1704 2006-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1705
1706         * WebProxy.cs: a .ctor was not forwarding the 'credentials' argument.
1707         This fixes bug #78150. Also fix the bypass check for local requests.
1708
1709 2006-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1710
1711         * WebProxy.cs: removed bogus ^M.
1712
1713 2006-04-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1714
1715         * HttpWebResponse.cs: don't remove the Set-Cookie headers. Fixes bug
1716         #78028.
1717
1718 2006-04-04  Atsushi Enomoto  <atsushi@ximian.com>
1719
1720         * WebClient.cs : added a bunch of async method support.
1721
1722 2006-04-03  Chris Toshok  <toshok@ximian.com>
1723
1724         * HttpWebResponse.cs (ContentEncoding): return "" if the header
1725         isn't present.
1726
1727 2006-03-30  Atsushi Enomoto  <atsushi@ximian.com>
1728
1729         * DownloadStringCompletedEventHandler.cs : missing delegate.
1730
1731 2006-03-30  Atsushi Enomoto  <atsushi@ximian.com>
1732
1733         * Dns.cs : minor argument renaming.
1734
1735 2006-03-28  Atsushi Enomoto  <atsushi@ximian.com>
1736
1737         * DownloadDataCompletedEventArgs.cs
1738           DownloadDataCompletedEventHandler.cs
1739           DownloadProgressChangedEventArgs.cs
1740           DownloadProgressChangedEventHandler.cs
1741           DownloadStringCompletedEventArgs.cs
1742           OpenReadCompletedEventArgs.cs
1743           OpenReadCompletedEventHandler.cs
1744           OpenWriteCompletedEventArgs.cs
1745           OpenWriteCompletedEventHandler.cs
1746           UploadDataCompletedEventArgs.cs
1747           UploadDataCompletedEventHandler.cs
1748           UploadFileCompletedEventArgs.cs
1749           UploadFileCompletedEventHandler.cs
1750           UploadProgressChangedEventArgs.cs
1751           UploadProgressChangedEventHandler.cs
1752           UploadStringCompletedEventArgs.cs
1753           UploadStringCompletedEventHandler.cs
1754           UploadValuesCompletedEventArgs.cs
1755           UploadValuesCompletedEventHandler.cs : added 2.0 types.
1756
1757 2006-03-28  Atsushi Enomoto  <atsushi@ximian.com>
1758
1759         * Dns.cs : filled missing NET_2_0 members.
1760
1761 2006-03-28  Atsushi Enomoto  <atsushi@ximian.com>
1762
1763         * IPAddress.cs : ugh, I was testing with run-test-ondotnet, not
1764           run-test. Those IPv6 properties needed to be reimplemented.
1765
1766 2006-03-27  Atsushi Enomoto  <atsushi@ximian.com>
1767
1768         * IPAddress.cs : added NET_2_0 TryParse() and IPv6 related properties.
1769
1770 2006-03-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1771
1772         * WebConnectionStream.cs: avoid Begin/EndWrite when the body length is
1773         zero.
1774
1775 2006-03-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1776
1777         * HttpWebRequest.cs: send the request if ContentLength is set for
1778         POST/PUT, the request stream has that exact amount of bytes in it and
1779         we're trying to get the response stream.
1780
1781         This way, closing the request stream is not needed in order to actually
1782         send the request. Fixes bug #77753.
1783
1784         * WebConnectionStream.cs: throw if the number of bytes written is
1785         greater than the specified request content length.
1786
1787 2006-03-11  Miguel de Icaza  <miguel@novell.com>
1788
1789         * WebClient.cs: Only expose the right methods to avoid warnings. 
1790
1791         * FtpDataStream.cs (Dispose): Fix signature.
1792
1793         * FtpWebResponse.cs: Comment out keepAlive field (unused, sounds
1794         like we are missing features here).
1795
1796         * IPAddress.cs: Move m_HashCode property to the end, and set
1797         pragmas to disable warnings.
1798
1799 2006-02-16  Dick Porter  <dick@ximian.com>
1800
1801         * IPEndPoint.cs: The SocketAddress AddressFamily takes up the
1802         first two bytes, not just one.  Check the size of the
1803         SocketAddress buffer for IPv6 as well.
1804
1805         * Dns.cs: Cope when GetHostByName_internal or
1806         GetHostByAddr_internal returns fewer items in the array than it
1807         intended to (maybe due to conversion errors.)
1808
1809 2006-02-09  Carlos Alberto Cortez <calberto.cortez@gmail.com>
1810
1811         * FtpWebResponse.cs: Add UpdateStatus method, to update both
1812         statusCode and statusDescription at the same time. 
1813
1814 2006-02-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
1815
1816         * FtpWebRequest.cs: Remove WebExceptionStatus argument
1817         from CreateExceptionFromResponse, since exceptions gotten
1818         from server response always have a WebExceptionStatus.ProtocolError
1819         value.
1820         
1821 2006-02-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
1822
1823         * FtpWebRequest.cs: Add renaming support when using 
1824         WebRequestMethods.Ftp.Rename method.
1825         
1826 2006-02-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1827
1828         * ChunkedInputStream.cs:
1829         * ChunkStream.cs: handle partial trailers and zero reads. Patch by Pawel
1830         Sakowski.
1831
1832 2006-02-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1833
1834         * HttpWebRequest.cs: don't send the expect-100 if if there's no content.
1835
1836         * HttpListenerRequest.cs:
1837         * HttpConnection.cs:
1838         * RequestStream.cs: use the content length header to avoid reading past
1839         the end of the stream.
1840
1841         Patch by Horst Reiterer.
1842
1843 2006-02-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
1844
1845         * FtpWebRequest.cs: Add supportedCommands array with the sorted
1846         methods, to search using Array.BinarySearch. Remove CheckMethod.
1847
1848 2006-02-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
1849
1850         * FtpWebRequest.cs: Fixed some typos and small issues.
1851         
1852 2006-02-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1853
1854         * HttpWebRequest.cs: dummy implementation of UnsafeAuthenticationBlah
1855         property.
1856
1857 2006-02-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
1858
1859         * FtpRequestCreator.cs: 
1860         * FtpAsyncResult.cs:
1861         * FtpDataStream.cs:
1862         * FtpWebRequest.cs:
1863         * FtpWebResponse.cs: Initial implementation of FtpWebRequest (2.0)
1864         
1865 2006-02-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
1866
1867         * FtpStatusCode.cs: Fix a typo.
1868         
1869 2006-01-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1870
1871         * WebClient.cs: (2.0) UploadString() returns string, not void.
1872
1873 2006-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1874
1875         * HttpWebResponse.cs: ignore non-integer values for max-age and version.
1876         Fixes bug #77199. Thanks to Cyrille Colin.
1877
1878 2006-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1879
1880         * HttpWebResponse.cs: cope with malformed cookies with '=' as value.
1881         Patch by Cyrille Colin. Fixes bug #77179.
1882
1883 2005-12-25  Carlos Alberto Cortez <calberto.cortez@gmail.com>
1884
1885         * FtpStatusCode.cs: New 2.0 enum.
1886
1887 2005-12-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1888
1889         * CookieContainer.cs: fix matching of subdomains. Patch by Cyrille
1890         Colin.
1891
1892 2005-12-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1893
1894         * HttpWebResponse.cs: don't loop forever when no name or value between
1895         semicolons. Fixes bug #76943.
1896
1897 2005-12-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1898
1899         * HttpWebResponse.cs: don't fail if the cookie ends with a 'name'
1900         without a value. Fixes bug #76922.
1901
1902 2005-11-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1903
1904         * EndPointListener.cs:
1905         * HttpListenerRequest.cs: don't require the Host header for 1.0. Just
1906         map that to the '*' or '+' host.
1907
1908 2005-11-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1909
1910         * IPAddress.cs: the byte[] ctor supports length 4 in .NET 2.0.
1911         Fixes bug #76792.
1912
1913 2005-11-21 Senganal T   <tsenganal@novell.com>
1914
1915         * Dns.cs : corrected a mistake in GetHostEntry ()
1916
1917 2005-11-21 Senganal T   <tsenganal@novell.com>
1918
1919         * Dns.cs : added GetHostEntry() method for 2.0 api conformance
1920
1921 2005-11-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1922
1923         * HttpRequestHeader.cs: add missing values.
1924
1925 2005-11-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1926
1927         * HttpListenerPrefixCollection.cs:
1928         * HttpWebResponse.cs:
1929         * Dns.cs:
1930         * HttpListenerRequest.cs:
1931         * HttpWebRequest.cs:
1932         * HttpListenerResponse.cs: a few signature fixes for 2.0.
1933
1934 2005-11-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1935
1936         * HttpListenerPrefixCollection.cs:
1937         * EndPointListener.cs:
1938         * HttpStreamAsyncResult.cs:
1939         * HttpListenerContext.cs:
1940         * HttpListenerBasicIdentity.cs:
1941         * AuthenticationSchemeSelector.cs:
1942         * HttpListener.cs:
1943         * WebHeaderCollection.cs:
1944         * ListenerPrefix.cs:
1945         * HttpListenerException.cs:
1946         * HttpResponseHeader.cs:
1947         * EndPointManager.cs:
1948         * HttpListenerRequest.cs:
1949         * HttpRequestHeader.cs:
1950         * BindIPEndPoint.cs:
1951         * ResponseStream.cs:
1952         * ChunkedInputStream.cs:
1953         * HttpStatusCode.cs:
1954         * ListenerAsyncResult.cs:
1955         * ChunkStream.cs:
1956         * HttpConnection.cs:
1957         * HttpUtility.cs:
1958         * HttpListenerResponse.cs:
1959         * RequestStream.cs: initial implementation of HttpListener. There are
1960         a few TODOs left (cookies, HTTPS) but almost everything else is in.
1961
1962 2005-11-15  Sebastien Pouliot  <sebastien@ximian.com>
1963
1964         * IPv6Address.cs: Added on overload to ToString to get a the full 
1965         length address returned (as required by System.Uri).
1966
1967 2005-11-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
1968
1969         * WebRequestMethods.cs: New 2.0 class.
1970         
1971 2005-11-05  Atsushi Enomoto  <atsushi@ximian.com>
1972
1973         * WebClient: use POST for DownloadData(). Fixed bug #76631.
1974
1975 2005-10-26  Atsushi Enomoto  <atsushi@ximian.com>
1976
1977         * AuthenticationSchemes.cs : Fixed enum values and added [Flags].
1978
1979 2005-10-19  Atsushi Enomoto  <atsushi@ximian.com>
1980
1981         * WebClient.cs : added net_2_0 DownloadString() and DownloadData()
1982           with HTTP method as well.
1983
1984 2005-10-19  Atsushi Enomoto  <atsushi@ximian.com>
1985
1986         * WebClient.cs : added UploadString() and Encoding (net_2_0). Added
1987           some new overloaded stuff that takes Uri instead of string address.
1988
1989 2005-10-17  Sebastien Pouliot  <sebastien@ximian.com> 
1990
1991         * ICredentialPolicy.cs: New. Interface for 2.0.
1992
1993 2005-10-05  Atsushi Enomoto  <atsushi@ximian.com>
1994
1995         * AuthenticationSchemes.cs : new 2.0 enum.
1996
1997 2005-08-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1998
1999         * GlobalProxySelection.cs: remove double lock.
2000         * HttpWebRequest.cs: remove double lock in GetServicePoint() and use
2001         a private object when locking.
2002
2003 2005-07-15  Miguel de Icaza  <miguel@novell.com>
2004
2005         * DigestClient.cs: Fix bug #75556, the qop argument must be
2006         quoted, per http://www.faqs.org/rfcs/rfc2617.html section
2007         `quo-options'.
2008
2009 2005-07-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2010
2011         * WebConnectionStream.cs: initiate writing the body before trying to
2012         read. This fixes the performance problems observed in web services.
2013         Closes bug #75455.
2014
2015 2005-06-27  Lluis Sanchez Gual <lluis@novell.com>
2016
2017         * IPAddress.cs: Changed field names for the sake of serialization
2018         interoperability with MS.NET.
2019         
2020 2005-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2021
2022         * WebConnection.cs: if cnc.EndRead throws, mark the asyncresult as done.
2023         * WebConnectionStream.cs: if we're done with the body of a chunk, don't
2024         require the next chunk header to be there, as some servers might close
2025         the connection (while also sending 'Connection: close').
2026
2027 2005-06-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2028
2029         * HttpWebRequest.cs: MS implementation follows redirects for POST. Seems
2030         to me that this is against 10.3.3 in RFC 2616, but may be the user
2031         'authorization' to do this is implicit in AllowAutoRedirect...
2032
2033 2005-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2034
2035         * WebConnection.cs: SslClientStream.BeginRead might not be asynchronous
2036         if there's no record available to read. This is a workaround that makes
2037         the call to BeginRead itself asynchronous. Fixes bug #75342.
2038
2039 2005-06-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2040
2041         * WebConnection.cs:
2042         * HttpWebRequest.cs:
2043         * WebConnectionStream.cs: initiate the polling for input data after
2044         sending the header so that we detect any response that the server sends
2045         back even if we're still trying to write the request for a POST/PUT.
2046         If we get the response (or an error) before any one calls GetResponse(),
2047         keep it around instead of ignoring it.
2048
2049 2005-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2050
2051         * HttpWebRequest.cs: send the right header/user/password in
2052         PreAuthenticate in presence of a proxy.
2053
2054 2005-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2055
2056         * IPv6Address.cs: fix IsLoopback. Closes bug #75128.
2057
2058 2005-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2059
2060         * IPv6Address.cs: don't do extra check on ipv4 if this is a ipv6
2061         address. Fixes bug #75125.
2062
2063 2005-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2064
2065         * ServicePointManager.cs: when going through a proxy, use 2 different
2066         service points depending on the scheme. Fixes bug #75135.
2067
2068 2005-05-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2069
2070         * Dns.cs: don't parse the address when it comes from an IPAddress.
2071
2072 2005-05-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2073
2074         * WebConnection.cs: prevent 2 nullrefs when the aborting during
2075         Connect() and reset the status to Success before starting a new
2076         request.
2077
2078 2005-05-19  Sebastien Pouliot  <sebastien@ximian.com>
2079
2080         * WebRequest.cs: Throw NotImplementedException (not NotSupported
2081         Exception) for stuff that should have been abstract. No exception
2082         is thrown by the serialization constructor.
2083
2084 2005-05-04 James Willcox  <james@ximian.com>
2085
2086         * DigestClient.cs: convert to a hex string with "X8" consistently
2087         for nc-value
2088
2089 2005-05-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2090
2091         * WebConnection.cs: don't rethrow errors in Write, as the error will be
2092         received by GetResponse*. The result is that the threadpool thread doing
2093         this will not end up printing the exception. Fixes bug #74817.
2094
2095 2005-05-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2096
2097         * ServicePoint.cs: HostEntry needs to be thread safe.
2098
2099 2005-05-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2100
2101         * WebConnection.cs: removed a 'slightly' important line by mistake.
2102         * WebConnectionStream.cs: if the transfer encoding is chunked, ignore
2103         content-length header if present.
2104
2105 2005-05-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2106
2107         * WebConnection.cs: no need to use an AutoResetEvent.
2108         * WebConnectionStream.cs: don't start any more reads on the socket
2109         after getting a 0 signalling the end. This fixes Ben's infamous foo.cs
2110         test.
2111
2112 2005-04-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2113
2114         * BasicClient.cs: firefox/IE just send latin1, stripping the high byte
2115         from unicode >= 256 characters.
2116
2117 2005-04-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2118
2119         * BasicClient.cs: use latin1 when encoding the username/domain/password.
2120         Fixes bug #74745.
2121
2122 2005-04-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2123
2124         * WebConnectionStream.cs: if the BeginRead/BeginWrite is completed
2125         synchronously, no need to create the ManualResetEvent to wait on.
2126
2127 2005-04-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2128
2129         * WebConnectionStream.cs: call SetComplete in EndWrite when we're not
2130         buffering the request body. Fixes bug #74637.
2131
2132         * WebAsyncResult.cs: renamed field.
2133
2134 2005-04-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2135
2136         * WebConnectionStream.cs:
2137         * WebAsyncResult.cs: ensure we only call EndRead once per async. result.
2138         Update total before invoking the callback when present.
2139
2140 2005-04-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2141
2142         * WebConnection.cs:
2143         * WebConnectionStream.cs: don't start reading until we've sent at least
2144         the headers. This way we ensure that a Write happens before any Read,
2145         which is needed by the SSL code.
2146
2147 2005-04-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2148
2149         * HttpWebRequest.cs: ensure we read everything before redirecting.
2150
2151 2005-04-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2152
2153         * WebConnectionStream.cs: provide a default callback when doing async.
2154         read/write and waiting for a timeout so that the callback sets the
2155         event and we don't block forever. Fixes bug #74539 take 3.
2156
2157 2005-04-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2158
2159         * WebConnection.cs:
2160         * HttpWebRequest.cs: now Abort() works properly. Fixes bug #74177.
2161
2162 2005-04-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2163
2164         * WebConnection.cs: fix some breakage from my last patch.
2165         * WebConnectionStream.cs: invoke the callback when done even in EndRead.
2166
2167 2005-04-10  Sebastien Pouliot  <sebastien@ximian.com>
2168
2169         * WebConnection.cs: Added support for TrustFailure when throwing a
2170         WebException. Fix bug #74286.
2171
2172 2005-04-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2173
2174         * HttpWebRequest.cs: 
2175         * WebConnectionStream.cs: implemented support for ReadWriteTimeout.
2176
2177 2005-04-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2178
2179         * WebConnection.cs: if we're reading chunked data and didn't use the
2180         stream to read, we gotta set the async. result as complete and invoke
2181         the callback. Don't call nstream.EndRead with the wrong IAsyncResult.
2182
2183         * WebConnectionStream.cs: in EndRead, pass the correct IAsyncResult to
2184         cnc.EndRead. Lock on a field instead of 'this'.
2185
2186 2005-04-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2187
2188         * HttpWebRequest.cs: throw the exception if we got an error, as now
2189         it's catched in the redirection handling code.
2190
2191 2005-04-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2192
2193         * HttpWebRequest.cs: moved redirection handling to a proper place.
2194
2195 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2196
2197         * WebHeaderCollection.cs: added if-modified-since to the list of
2198         restricted headers.
2199
2200         * ServicePoint.cs: use a field object when locking.
2201
2202 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2203
2204         * WebConnectionStream.cs: ForceCompletion actually calls NextRead. No
2205         need to wait for a Close/ReadAll when we have no content.
2206
2207 2005-04-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2208
2209         * NtlmClient.cs: fix typo in assembly name.
2210
2211 2005-03-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2212
2213         * CookieContainer.cs: adding to a CookieCollection might not increment
2214         the number of items if the cookie is replaced. Now Count works properly.
2215         Fixed an array index exception (typo).
2216
2217         * CookieCollection.cs: also compare the version.
2218
2219         * HttpWebResponse.cs: when we have cookies, add them to the request
2220         container.
2221
2222         * HttpWebRequest.cs: changed last parameter of HttpWebResponse ctor.
2223
2224 2005-03-30  Miguel de Icaza  <miguel@novell.com>
2225
2226         * Cookie.cs: Compare using the InvariantCulture, to match the
2227         behavior of CookieContainer that already did this.
2228
2229 2005-03-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2230
2231         * WebConnection.cs: we don't need to trigger the next queued request
2232         until the response is closed.
2233
2234 2005-03-29  Miguel de Icaza  <miguel@novell.com>
2235
2236         * HttpWebResponse.cs: Handle quotations in the cookies values, per
2237         the spec http://www.faqs.org/rfcs/rfc2109.html, it is allowed to
2238         have quotations.
2239
2240 2005-03-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2241
2242         * BasicClient.cs:
2243         * DigestClient.cs: check that GetCredential() does not return null.
2244
2245 2005-03-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2246
2247         * BasicClient.cs: ensure credentials are not null.
2248
2249 2005-03-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2250
2251         * HttpWebResponse.cs: moved cookie parsing into its own class.
2252         * WebHeaderCollection.cs: remove (probably bogus) GetMultipleValues
2253         call.
2254         * HttpWebRequest.cs: don't let exception raised in the ctor of
2255         HttpWebResponse vanish.
2256
2257         Fixes bug #73275.
2258
2259 2005-03-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2260
2261         * WebHeaderCollection.cs: handle commas inside quotes when splitting
2262         a multi-value header. Fixes bug #73151.
2263
2264 2005-02-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2265
2266         * DigestClient.cs: fix for digest auth. and URIs containing query. Patch
2267         by James Wilcox. Fixes bug #72571.
2268
2269 2005-02-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2270
2271         * HttpWebResponse.cs:
2272         * WebConnection.cs:
2273         * HttpWebRequest.cs:
2274         * WebConnectionStream.cs: don't read the entire response unless the
2275         user requests it. Fixes bug #72443.
2276
2277 2005-02-08  Zoltan Varga  <vargaz@freemail.hu>
2278
2279         * IPv6Address.cs: Fix endianess problems.
2280
2281         * IPAddress.cs: Fix misleading comments.
2282
2283 2005-02-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2284
2285         * HttpWebRequest.cs: send the headers when we're supposed to write
2286         a POST/PUT but call GetResponse before GetRequestStream.
2287
2288         * WebConnectionStream.cs: new RequestWritten property.
2289
2290 2005-01-20  Jonathan Pryor  <jonpryor@vt.edu>
2291
2292         * EndpointPermission.cs: Fix IsSubsetof(hostname) so that the regression 
2293           tests work.  In particular, IsSubsetOf ("12.13.*.*", "12.13.14.*") failed
2294           because 14 wasn't a subset of * (which it is).  Fix: if part1 is we 
2295           continue to the next portion.
2296
2297 2005-01-20  Jonathan Pryor  <jonpryor@vt.edu>
2298
2299         * IPAddress.cs (ParseIPV4): Fix so that the regression tests work.  In
2300           particular, " foo" and ".1.1.6" weren't being caught (" foo" because it
2301           started with a space, and ".1.1.6" because the split string accepted a
2302           0-length portion, which would make 1...6 valid, but isn't valid based on
2303           similar test cases).
2304
2305 2005-01-20  Jonathan Pryor  <jonpryor@vt.edu>
2306
2307         * WebHeaderCollection.cs: Fix GetValues(string) to split the values on
2308           commas if the header is a Multi-Value header.  This matches
2309           MonoTests.System.Net.WebHeaderCollectionTest.
2310
2311 2005-01-19  Sebastien Pouliot  <sebastien@ximian.com>
2312
2313         * WebPermissionAttribute.cs: Fixed NET_1_1 behaviour.
2314
2315 2004-12-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2316
2317         * WebConnectionStream.cs: remove unneeded check. Write detects and
2318         triggers the exception now.
2319
2320 2004-12-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2321
2322         * AuthenticationManager.cs: don't lock on a public Type.
2323         * HttpWebRequest.cs: read the error response for auth. errors.
2324
2325 2004-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2326
2327         * HttpWebRequest.cs: set webResponse back to null when redirecting.
2328         Fix the previous patch so that it reads the whole response even if
2329         auto-redirect is not enabled. Closes bug #70484.
2330
2331 2004-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2332
2333         * HttpWebResponse.cs: added ReadAll method.
2334
2335         * WebConnection.cs: in HandleError, set the response error after
2336         closing the socket. Use an async. delegate to finish reading any prior
2337         WebConnectionStream.
2338
2339         * HttpWebRequest.cs: for error responses that allow content, read the
2340         stream immediately. Fixes bug #70483.
2341
2342 2004-12-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2343
2344         * CookieContainer.cs: quote the port number.
2345
2346 2004-12-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2347
2348         * WebConnection.cs:
2349         * WebConnectionStream.cs: removed TryReconnect. It's no longer needed.
2350
2351 2004-12-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2352
2353         * WebConnection.cs: set the event in Close so that if the queue is
2354         empty, we won't block forever on next request. The finalizer was
2355         removed because we're not implementing IDisposable pattern here.
2356
2357 2004-12-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2358
2359         * WebConnection.cs: handle errors on chunked streams. Fixes bug #66858.
2360         * ChunkStream.cs: added error checking all over.
2361
2362         * HttpWebRequest.cs: throw the exception received in SetResponseError
2363         if we already have a response.
2364         (SetRequestData): Don't nest the exception if it's a WebException.
2365
2366 2004-12-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2367
2368         * WebConnection.cs: remove prevStream and don't set busy to false in
2369         HandleError. prevStream is not needed any more and setting 'busy' so
2370         early might let a request skip the queue.
2371         
2372         * WebConnectionGroup.cs: decrement the indexer when removing a dead
2373         reference from the arraylist.
2374
2375         * WebConnectionStream.cs:
2376         (ReadAll): call NextRead if it has not been called before even when
2377         we have completed the request. Reuse the read buffer when reading a
2378         response of unknown size. Increase the buffer to 8kB.
2379         (BeginRead): increase pendingReads earlier and even when reading from
2380         the internal buffer.
2381         (EndRead): decrease pendingReads later and always.
2382
2383 2004-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2384
2385         * CookieContainer.cs: style, fixed checks for properties, implemented
2386         the MonoTODOs for the method that take an Uri. GetCookies and
2387         GetCookieHeaders now really return only the cookies that are requested
2388         filtering by the Uri parameter.
2389
2390         * Cookie.cs: style, added default values for Comment, Domain and Port.
2391
2392 2004-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2393
2394         * CookieCollection.cs: reformatted, fixed Add by adding a new method to
2395         search across the arraylist, as list.IndexOf is not what we want.
2396
2397 2004-11-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2398
2399         * WebConnection.cs: check for FIN or RST on the socket before reusing.
2400         Fixes bug #69388.
2401
2402 2004-11-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2403
2404         * ChunkStream.cs: simplified condition for WantMore property.
2405
2406         * WebConnection.cs: in Connect(), finish any pending reads we might
2407         have for chunked data. Ignore possible blank lines at the very
2408         beginning of the server response. Honor user set KeepAlive in
2409         HttpWebRequest for HTTP/1.1 connections. Thanks to Eyal Alayuf for
2410         his suggestions and code.
2411
2412 2004-11-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2413
2414         * HttpWebResponse.cs: don't lock up when the cookie received ends with
2415         a semicolon. Patch by Darryl VanDorp. Fixes bug #68956.
2416
2417 2004-10-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2418
2419         * HttpWebRequest.cs: don't fail if the request has already been sent
2420         when accessing ContentType setter. Fixes bug #68848.
2421
2422 2004-10-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2423
2424         * ChunkStream.cs:
2425         (WantMore): we're not done until we get a 0 chunk size and the trailer.
2426         The 0 can be expressed as more than one character too (ie, 000000).
2427
2428         * HttpWebRequest.cs: new argument in SetResponseError.
2429         * WebConnection.cs: added argument to HandleError as a hint for
2430         debugging.
2431         (Connect): make the chunked stream be in the expected state when
2432         reusing.
2433
2434         * WebConnectionStream.cs: removed unused method (ResetWriteBuffer).
2435
2436 2004-10-10 David Sheldon <dave-mono@earth.li>
2437
2438         * HttpWebRequest.cs: Use RemoveAndAdd for AddRange. Fixes unittest.
2439
2440 2004-10-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2441
2442         * HttpWebRequest.cs: use RemoveAndAdd for headers multivalue headers.
2443         * WebHeaderCollection.cs: added RemoveAndAdd that behaves like the old
2444         SetInternal.
2445
2446 2004-10-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2447
2448         * HttpWebRequest.cs: ProxyQuery returns true when we use a proxy without
2449         tunneling a secure connection.
2450
2451         * ServicePoint.cs: added UseConnect property.
2452
2453         * ServicePointManager.cs: set the UseConnect property when we use a http
2454         proxy for a https connection.
2455
2456         * WebConnection.cs: setup the tunnled connection when using a proxy and
2457         https.
2458
2459 2004-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2460
2461         * HttpWebResponse.cs: remove unused SplitValue method.
2462
2463 2004-09-10  Sebastien Pouliot  <sebastien@ximian.com>
2464
2465         * DnsPermission.cs: Updated to pass new unit tests.
2466         * DnsPermissionAttribute.cs: Cleanup.
2467         * SocketPermission.cs: Updated to pass new unit tests.
2468         * SocketPermissionAttribute.cs: Updated to pass new unit tests.
2469         * WebPermission.cs: Implemented some TODO - not complete yet.
2470         * WebPermissionAttribute.cs: Updated to pass new unit tests.
2471
2472 2004-08-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2473
2474         * Cookie.cs: don't fail when using default constructor. Fixes bug
2475         #62890.
2476
2477 2004-08-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2478
2479         * HttpWebResponse.cs: set-cookie and set-cookie2 can be present more
2480         than once and have multiple values. Don't rely on string.split when
2481         parsing cookie values.
2482
2483         * WebHeaderCollection.cs: same thing for set-cookie and set-cookie2.
2484         Fixed GetValues (it was splitting values that contained a comma) and
2485         changed SetInternal to handle multi-value headers.
2486
2487         Fixes bug #62744.
2488
2489 2004-07-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2490
2491         * WebProxy.cs: fix scheme detection. Patch by Konstantin Triger
2492         (kostat@mainsoft.com).
2493
2494 2004-07-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2495
2496         * HttpWebRequest.cs: detect changes in scheme or port when redirecting.
2497         Fixes las take on bug 61218.
2498
2499 2004-07-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2500
2501         * WebConnection.cs: moved loading of the ssl stream Type to its own
2502         method. Don't create a new ssl stream if we're reusing the connection.
2503
2504         * WebConnectionStream.cs: ensure the number of bytes copied in ReadAll
2505         is the expected even if the dta from the server has extra bytes.
2506
2507 2004-07-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2508
2509         * WebConnection.cs:
2510         * WebConnectionStream.cs: when the status code is 1xx, 204 or 304,
2511         "responses MUST NOT include a message-body". We tried to read the
2512         stream even when getting those codes and considered the 0 length
2513         read as a failure.
2514
2515 2004-07-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2516
2517         * HttpWebRequest.cs: removed bogus Monitor.Exit.
2518         * WebConnection.cs: use Address instead of RequestUri when checking for
2519         the scheme in order to select the stream type. Fixes bug #61218.
2520
2521 2004-06-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2522
2523         * ChunkStream.cs: added ChunkLeft property.
2524         * WebConnection.cs:
2525         (EndRead): when using small byte arrays to read from a chunked stream,
2526         ensure we've read the chunk size and try to fulfill the request
2527         completely. fixes bug 59653.
2528
2529 2004-05-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2530
2531         * WebConnectionStream.cs: fixed CanRead property. Closes bug #59273.
2532
2533 2004-05-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2534
2535         * DigestClient.cs: cache the sessions based on address and
2536         credentials, not only address. Added poor men's expiration to
2537         the session cache. Fixes bug #59202.
2538
2539 2004-05-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2540
2541         * IPAddress.cs:
2542         * IPEndPoint.cs:
2543         * IPv6Address.cs: no more warnings about IPAddress.Address.
2544
2545 2004-05-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2546
2547         * WebException.cs: implemented serialization .ctor and
2548         GetObjectData().
2549
2550 2004-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2551
2552         * WebAsyncResult.cs: don't create the WaitHandle if not needed.
2553
2554 2004-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2555
2556         * HttpWebRequest.cs: added 3 missing properties for 1.1. They are not
2557         used yet.
2558
2559         * NetConfig.cs: added MaxResponseHeadersLength field.
2560
2561         * ServicePoint.cs:
2562         * ServicePointManager.cs: added missing properties for 1.1. 
2563
2564 2004-05-03  Sebastien Pouliot  <sebastien@ximian.com>
2565
2566         * WebConnection.cs: Use assembly name const to load Mono.Security.
2567
2568 2004-05-03  Lluis Sanchez Gual <lluis@ximian.com>
2569
2570         * NtlmClient.cs: Use assembly name const to load Mono.Security.
2571
2572 2004-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2573
2574         * WebConnectionStream.cs: avoid the exception when getting the content
2575         length if possible.
2576
2577 2004-03-29  Lluis Sanchez Gual <lluis@ximian.com>
2578
2579         * HttpWebRequest.cs: Use a lock block instead of Monitor.Enter/Exit, so
2580         the lock is released in case of exception (for example, a 
2581         ThreadAbortException). This also "fixes" bug #52417.
2582         Beware, this requires a runtime update (due to a bug in Monitor.Exit).
2583         * ServicePoint.cs: Changed method from internal to private, since it
2584         is not called from outside the class.
2585
2586 2004-03-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2587
2588         * HttpWebRequest.cs: added the exception status to the error message.
2589         * WebConnection.cs: add headers using SetInternal instead of Add to
2590         bypass header name validation. Fixes bug #55994.
2591         * WebHeaderCollection.cs: added SetInternal (string header).
2592
2593 2004-03-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2594
2595         * WebConnection.cs:
2596         * WebConnectionGroup.cs: the requests queue is now shared for all the
2597         connections belonging to the same connection group.
2598
2599 2004-02-26  Sebastien Pouliot  <sebastien@ximian.com>
2600
2601         * DefaultCertificatePolicy.cs: New. Certificate validation
2602         policy compatible with the documented one present in Fx. It
2603         allows valid certificates and expired certificates to be used
2604         for SSL connections.
2605         * ServicePointManager.cs: Removed the DummyPolicy. Now creates
2606         a DefaultCertificatePolicy to validate certificates. 
2607
2608 2004-02-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2609
2610         * ServicePoint.cs: SendContinue is always false for HTTP/1.0
2611
2612         * WebConnection.cs: get rid of WaitForContinue() (yes!) and prevent
2613         calling more the ContinueDelegate more than once when we get the
2614         headers in several packets.
2615
2616         * WebConnectionStream.cs: removed call to WaitForContinue.
2617
2618 2004-02-25  Sebastien Pouliot  <sebastien@ximian.com>
2619
2620         * WebConnection.cs: Update previous patch to use HttpsClientStream
2621         (internal in Mono.Security assembly) in place of SslClientStream.
2622         This will reduce reflection and allow to use ICertificatePolicy.
2623
2624 2004-02-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2625
2626         * DigestClient.cs: fix quote handling. Reordered attributes in response.
2627         Fixed typo (QOP->CNonce). Now Digest works with apache2.
2628
2629 2004-02-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2630
2631         * DigestClient.cs: removed Console.
2632         * HttpWebRequest.cs: 401/407 were hanging for GET. Fixed.
2633
2634 2004-02-24  Sebastien Pouliot  <sebastien@ximian.com>
2635
2636         * DigestClient.cs: Fixed issue with Apache server which do not use "
2637         for specifying the digest algorithm (.e.g. algorithm=MD5 not ="MD5").
2638
2639 2004-02-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2640
2641         * HttpWebRequest.cs: arghhh. I used the server response headers instead
2642         of what the client is supposed to send. Thanks to Helge Hess.
2643
2644 2004-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2645
2646         * AuthenticationManager.cs: implemented PreAuthenticate().
2647
2648         * HttpWebRequest.cs: once we know the version of the server, use it if
2649         below the requested one. Remove 'Expect', 'Content-Length' and /or 
2650         'Transfer-Encoding' if appropiate due to changes in version. Fixed 
2651         'Host' header for non-standard ports. Support preauthentication. Closes
2652         bug #50530.
2653
2654 2004-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2655
2656         * HttpWebRequest.cs: check for missing or wrong URI in Location header
2657         when redirecting.
2658
2659         * WebConnection.cs: if the data read does not contain all the headers,
2660         keep it around and read the rest until we get to the response body.
2661         Allow response code with no description. Fixed bug #54543.
2662
2663 2004-02-18  Sebastien Pouliot  <sebastien@ximian.com>
2664
2665         * SecurityProtocolType.cs: Added missing [Serializable] to enum. Added 
2666         Default and Ssl2 to NET_2_0 profile. Enum is now internal for NET_1_0
2667         profile (as we need it for SslClientStream).
2668         * ServicePoint.cs: Added internal SetCertificates(client,server).
2669         * ServicePointManager.cs: Added CheckCertificateRevocationList and
2670         CheckCertificateRevocationList static properties (public in 1.1, 
2671         internal for 1.0).
2672         * WebConnection.cs: Dynamically creates a SslClientStream (from 
2673         Mono.Security assembly) in case of https. Changed NetworkStream to 
2674         Stream everywhere.
2675
2676 2004-02-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2677
2678         * HttpWebRequest.cs: send the 'Connection: keep-alive' header when we
2679         don't know the server version or it's 1.0.
2680
2681         * ServicePoint.cs: added SetVersion.
2682
2683         * WebAsyncResult.cs: remove ChunkAsyncResult.
2684
2685         * WebConnection.cs: set the ServicePoint version when getting a response
2686         from the server.
2687
2688         * WebConnectionStream.cs: when posting chunked content, send the head,
2689         body and trailer of the chunk at once instead of doing 3 separate
2690         writes, which may cause troubles.
2691
2692 2004-02-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2693
2694         * WebConnection.cs: if we get a 100 when we're not waiting for it, set
2695         that information in the ServicePoint.
2696
2697         * WebConnectionStream.cs: send headers in the right order for
2698         non-chunked POST.
2699
2700 2004-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2701
2702         * WebConnectionStream.cs: fixed nullrefs in BeginWrite/EndWrite.
2703
2704 2004-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2705
2706         * HttpWebRequest.cs: on second and sucesive tries when authenticating,
2707         don't use chunked encoding for POST, as we know the content length and
2708         have the body. Nullify bodyBuffer always in CheckFinalStatus.
2709
2710         * WebAsyncResult.cs: added ChunkAsyncResult property. It holds the
2711         IAsyncResult when writing CRLF at the end of a chunk.
2712
2713         * WebConnectionStream.cs: support sending chunked data.
2714
2715 2004-01-24  Lluis Sanchez Gual <lluis@ximian.com>
2716
2717         * HttpWebRequest.cs: When retrying a POST request after an
2718         authentication failure, resend the body. This fixes bug #51841.
2719         * WebConnectionStream.cs: Added properties for getting what's been
2720         written.
2721
2722 2004-02-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2723
2724         * HttpWebRequest.cs: don't send 'Expect: 100-continue' for 1.0 version.
2725
2726 2004-02-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2727
2728         * HttpWebRequest.cs: support proxy authentication.
2729
2730 2004-02-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2731
2732         * BasicClient.cs:
2733         * DigestClient.cs: use IndexOf instead of StartsWith to deal with
2734         servers that provide several authentication schemas.
2735
2736 2004-02-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2737
2738         * ChunkStream.cs: use an array of buffers instead of a MemoryStream for
2739         storing the chunks. This way, we won't miss traling data from the
2740         previous chunk when a new one is received before the other is fully
2741         read.
2742
2743 2004-01-27  Nick Drochak <ndrochak@ieee.org>
2744
2745         * DigestClient.cs:
2746         * HttpWebRequest.cs:
2747         * IPv6Address.cs:
2748         * WebClient.cs:
2749         * WebConnection.cs:
2750         * WebConnectionStream.cs: Remove unused variables thus eliminating some
2751         build warnings.
2752
2753 2004-01-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2754
2755         * WebConnection.cs: patch by Yaacov Akiba Slama that fixes 100-continue
2756         handling for the case when the same packet also contains the actual
2757         [2-5]xx response.
2758
2759 2004-01-24  Lluis Sanchez Gual <lluis@ximian.com>
2760
2761         * HttpWebRequest.cs: Added missing property.
2762
2763 2004-01-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2764
2765         * Dns.cs: don't block forever in EndResolve and EndGetHostByName. Fixes
2766         bug #53222.
2767
2768 2004-01-16  Lluis Sanchez Gual <lluis@ximian.com>
2769
2770         * ChunkStream.cs: The "size" parameter of Write is not the number of
2771         bytes to write, but the last offset to be written. Thus, in WriteAndRead
2772         Back, since "read" is not an offset but the number of bytes, it must be 
2773         added to the offset. Maybe it would be a good idea to change the name of
2774         the parameter, since it is confusing. This should fix bug #52591.
2775
2776 2004-01-12  Lluis Sanchez Gual <lluis@ximian.com>
2777
2778         * WebConnection.cs: Yet another fix for WebConnection. This fixes 
2779         bug #52169.
2780
2781 2004-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2782
2783         * WebConnection.cs: Data.Init is a bad boy. Lluis realized. He also
2784         tidied up the end of ReadDone. Disabled relaunching the request if 2
2785         InitRead are called, since now we don't throw everything into
2786         RegisterWaitForSingleObject but one request at a time.
2787
2788         * WebConnectionGroup.cs: when checking available connections, allow them
2789         not to be Connected but allocated to honor the connection limit.
2790         
2791         * WebConnectionStream.cs: CheckComplete() now checks for nextReadCalled
2792         too. ReadAll don't mess contentLength if it's provided in the headers.
2793
2794         BIG thanks to Lluis. Turns out that we were debugging the same stuff and
2795         his Data.Init discovery was THE thing I was missing.
2796
2797         Fixes bug #51277.
2798
2799 2004-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2800
2801         * ServicePointManager.cs: use GetMaxConnections to get the appropiate
2802         number of connections limit.
2803
2804 2004-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2805
2806         * MonoHttpDate.cs: use the invariant culture, not en-US. Suspected
2807         guilty for bug 52629.
2808
2809 2003-12-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2810
2811         * CredentialCache.cs: return null instead of throwing NotImplemented.
2812
2813 2003-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2814
2815         * HttpWebRequest.cs: fixed checking if method allows a body. Patch by
2816         Benjamin Jemlich (pcgod@gmx.net).
2817
2818 2003-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2819
2820         * HttpWebRequest.cs: deal with authentication schemes that have more
2821         than 1 round trip (Ntlm).
2822
2823 2003-12-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2824
2825         * NtlmClient.cs: new class that actually uses one from Mono.Http to do
2826         the authentication.
2827
2828 2003-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2829
2830         * HttpWebRequest.cs: when building the redirect URI, use the previous
2831         one as the base URI, which makes relative URIs work.
2832
2833 2003-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2834
2835         * DigestClient.cs: merged in code from Sebastien Pouliot and Greg
2836         Reinacker that Supports cnonce and preauthentication.
2837
2838 2003-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2839
2840         * DigestClient.cs: initial Digest authentication. Works with apache
2841         mod_digest.
2842
2843 2003-11-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2844
2845         * HttpWebRequest.cs: removed unneeded StringBuilder.
2846         * WebConnection.cs: default to keep the connection open for HTTP/1.1
2847         only or HTTP/1.0 + (Proxy-)Connection header. Fixes bug #51208.
2848
2849 2003-11-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2850
2851         * WebConnection.cs: turns out that socket.Connected is not useful until
2852         we actually try to send/receive data, even if the other end has already
2853         closed the socket. Added TryReconnect() and Connected.
2854
2855         * WebConnectionData.cs: default value for StatusCode is 0 now.
2856
2857         * WebConnectionGroup.cs: reuse the connection since the beginning,
2858         instead of opening up to ConnectionLimit and then reusing.
2859
2860         * WebConnectionStream.cs: reopen the socket if we're trying to reuse
2861         one which fails on first write.
2862
2863 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2864
2865         * WebConnectionStream.cs: when a callback is passed to BeginRead/Write,
2866         wrap it and do our job before calling it. Fixes bug #48497.
2867
2868 2003-11-12  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2869
2870         * WebExceptionStatus.cs: Restyled, Added .Net 1.1 members
2871         * SecurityProtocolType.cs: Added and implemented
2872
2873 2003-11-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2874
2875         * HttpWebRequest.cs: fixed redirects when they target another host.
2876
2877 2003-11-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2878
2879         * IPAddress.cs: prevent exceptions when trying to parse the static IPv6
2880         addresses.
2881
2882 2003-10-17  Pedro Martinez Julia  <yoros@wanadoo.es>
2883
2884         * WebClient.cs: use Path.DirectorySeparator instead of "/" for
2885         windows compatibility. Add some checks for file paths like
2886         "C:/xxx/yyy/..." and like "/home/xxx/...".
2887
2888 2003-10-16  Pedro Martinez Julia  <yoros@wanadoo.es>
2889
2890         * WebClient.cs: added a slash between directory and file names.
2891
2892 2003-10-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2893
2894         * HttpWebRequest.cs:
2895         * HttpWebResponse.cs: better abort handling and leave the stream in a
2896         stable status on abort.
2897
2898 2003-10-12  Pedro Martinez Julia  <yoros@wanadoo.es>
2899
2900         * WebClient.cs: refine reading of local files (like MS.NET).
2901
2902 2003-10-10  Pedro Martinez Julia  <yoros@wanadoo.es>
2903
2904         * WebClient.cs: MS.NET works right when we try OpenRead("file.txt")
2905         but we didn't. Now, when Uri fails with an exception, it adds
2906         "file://" before the URI and tries again.
2907
2908 2003-10-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2909
2910         * ServicePoint.cs: preparing for recycling. Not yet finished.
2911         * ServicePointManager.cs: this is the one that reads config.
2912         * WebConnectionGroup.cs: don't read config here.
2913         * WebConnection.cs: added the queue again. Launch queued requests on
2914         error.
2915
2916 2003-10-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2917
2918         * WebConnection.cs: the queue is now handled by the threadpool.
2919         Initialize the connection data in a place where it does not depend on
2920         the execution order of the requests in threadpool. More error handling.
2921
2922         * WebConnectionGroup.cs: use the limits in the config file and reuse
2923         connections when the limit is reached.
2924
2925 2003-10-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2926
2927         * HttpWebRequest.cs: handle 304 a la MS.
2928         * WebConnection.cs: set the response data when reading 0 bytes.
2929
2930 2003-09-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2931
2932         * WebConnectionStream.cs: fix by Lluis to avoid the stream being in an
2933         invalid state.
2934
2935 2003-08-14  Nick Drochak <ndrochak@gol.com>
2936
2937         * WebRequest.cs: Check lower case string since that is what we will add.
2938
2939 2003-08-04  Jerome Laban <jlaban@wanadoo.fr>
2940
2941         * IPHostEntry.cs: Default contructor must not initialize members.
2942         (Fixes bug #45575).
2943
2944 2003-07-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2945
2946         * CredentialCache.cs: Removed undefined serializable attribute
2947
2948 2003-07-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2949
2950         * ChunkStream.cs:
2951         (WantMore): true if we've not received the last chunk yet. Fixes
2952         bug #45463. Thanks to Miguel for tracking this down and providing a
2953         test case.
2954         
2955         * WebConnection.cs: removed bogus ^M's.
2956         
2957         * WebHeaderCollection.cs: provide more info when the header or value is
2958         wrong.
2959
2960 2003-07-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2961
2962         * ChunkStream.cs: Removed unused members
2963         * IPAddress.cs: Removed unused exception variable, fixes compiler
2964         warning.
2965         * WebConnection.cs: Removed unused exception variables, fixes compiler
2966         warnings.
2967
2968 2003-07-14  Lluis Sanchez Gual <lluis@ximian.com>
2969
2970         * NetConfig.cs: If Clone method is not public, then it must use
2971           explicit interface method implementation syntax.
2972
2973 2003-07-14  Jerome Laban <jlaban@wanadoo.fr>
2974
2975         * Dns.cs: Reworked indentation.
2976         Added IPv6 support.
2977         Added literal address checking in GetHostByAddress.
2978         Changed Dns.Resolve behavior.
2979         * IPAddress.cs:
2980         * IPEndPoint.cs: Added IPv6 support.
2981         * IPv6Address.cs: Added address compression.
2982         * NetConfig.cs: Added configuration section.    
2983
2984 2003-07-14  Jerome Laban <jlaban@wanadoo.fr>
2985
2986         * ServicePoint.cs: Removed Connect and GetEndPoint methods.
2987         Removed reverse resolution when uri is literal IP address. 
2988         * WebConnection.cs: IPv6 compatibility update: Try to connect
2989         to all addresses returned by IPHostEntry.
2990         * WebConnectionGroup.cs: Removed unused parameter. 
2991
2992 2003-07-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2993
2994         * WebProxy.cs: Add serialization/ deserialization support
2995
2996 2003-07-10  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2997
2998         * ProxyUseType.cs:
2999         * WebStatus.cs: Deleted (do not exist in this assembly)
3000         * IPv6Address.cs: Made internal
3001
3002 2003-07-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3003
3004         * HttpWebRequest.cs:
3005         * ServicePointManager.cs:
3006         * WebConnection.cs: added support for proxies.
3007
3008 2003-07-05  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3009
3010         * DnsPermissionAttribute.cs:
3011         * SocketPermissionAttribute.cs: Fixed wrong AttributeUsageAttribute
3012
3013 2003-07-05  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3014
3015         * WebPermission.cs: Added and partially implemented
3016         * WebPermissionAttribute.cs: Added and implemented
3017
3018 2003-07-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3019
3020         * WebClient.cs: fixed bug #45651.
3021
3022 2003-06-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3023
3024         * WebClient.cs: Small fix by Sebastian <scut@nb.in-berlin.de>.
3025
3026 2003-06-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3027
3028         * WebConnection.cs: fixed header writing the reusing a connection and
3029         the server does not send 100-continue response.
3030
3031 2003-06-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3032
3033         * WebConnection.cs: close the socket and connection when disposing.
3034         * WebRequest.cs: removed setter for RequestUri. Allow non-public ctors
3035         when creating instances.
3036
3037         * HttpWebRequest.cs:
3038         * HttpWebResponse.cs:
3039         * FileWebRequest.cs: support serialization.
3040
3041         * FileWebResponse.cs: support serialization and fixed dispose checks.
3042
3043         * FileWebRequestCreator.cs:
3044         * HttpRequestCreator.cs: added internal .ctor.
3045
3046 2003-06-24  Lluis Sanchez Gual <lluis@ximian.com>
3047
3048         * HttpWebRequest.cs: SetWriteStream(): SendRequestHeaders should be
3049         called before asyncWrite.SetCompleted, to make sure that the waiting
3050         thread does not start to send more information before
3051         SendRequestHeaders has finished.
3052
3053 2003-06-22  Lluis Sanchez Gual <lluis@ximian.com>
3054
3055         * WebConnectionStream.cs: Only increment pendingReads if an asynchronous
3056         read is really needed.
3057
3058 2003-06-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3059
3060         * WebHeaderCollection.cs: prevent duplication headers used niternally.
3061
3062 2003-06-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3063
3064         * HttpWebRequest.cs: if CookieContainer has not been set, make
3065         HttpWebResponse ignore Set-Cookie* headers.
3066
3067         * HttpWebResponse.cs: Set-Cookie and Set-Cookie headers removed if
3068         CookieContainer have been provided to the request.
3069
3070 2003-06-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3071
3072         * AuthenticationManager.cs: get the list of authentication modules from
3073         the configuration files. Added Clear and fixed Unregister.
3074
3075         * BasicClient.cs: fully implemented.
3076
3077         * HttpWebRequest.cs: added support for Basic authentication when
3078         credentials are set.
3079
3080         * NetworkCredential.cs: fixed GetCredential.
3081
3082 2003-06-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3083
3084         * HttpWebRequest.cs: *really* take care of requestSent to prevent
3085         sending the same request twice.
3086         * WebAsyncResult.cs: don't close the handle. Just Reset.
3087         * WebConnectionStream.cs: removed unneeded line.
3088
3089 2003-06-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3090
3091         * HttpWebRequest.cs: use InternalClose when we are not going to send the
3092         rest of the request stream because of an error after sending the
3093         headers.
3094
3095         * WebConnection.cs: check for completion after setting the response.
3096         Enable reading in NextRead.
3097
3098         * WebConnectionStream.cs: re-fixed the count for partially buffered
3099         reads. If the network stream returns 0 bytes, we're done.
3100
3101 2003-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3102
3103         * WebClient.cs: implemented UploadFile. Fixed SetupRequest to set the
3104         special headers *after* the others.
3105
3106 2003-06-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3107
3108         * WebConnectionStream.cs: when the read is partially filled from the
3109         initial buffer, add those bytes too. Thanks to Lluis for debugging this.
3110
3111 2003-06-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3112
3113         * HttpWebRequest.cs: added ExpectContinue property.
3114         * WebConnection.cs: allow 100 Continue to be delayed after waiting for
3115         it.
3116
3117 2003-06-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3118
3119         * HttpWebRequest.cs: don't send "Expect: 100-continue" is the server
3120         is known not to respond to that.
3121
3122         * ServicePoint.cs: added SendContinue property.
3123
3124         * WebConnection.cs: only wait 2 seconds for a continue reply. If it
3125         timeouts, set SendContinue to false and proceeed sending data.
3126
3127         * WebConnectionStream.cs: if 100-continue is not received and instead we
3128         get a 417 or anything else, don't send the data.
3129
3130         * WebClient.cs: implemented all missing properties and methods except
3131         UploadFile.
3132
3133 2003-06-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3134
3135         * FileWebRequestCreator.cs: splitted from WebRequest.
3136         * HttpRequestCreator.cs: splitted fromWebRequest.
3137         * WebRequest.cs: added methods that are used by the new configuration
3138         handler to set prefix/type name requests creators.
3139
3140 2003-06-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3141
3142         * AuthenticationManager.cs:
3143         * Authorization.cs:
3144         * BasicClient.cs: new file.
3145         * ChunkStream.cs: new file.
3146         * Cookie.cs:
3147         * CookieContainer.cs:
3148         * GlobalProxySelection.cs:
3149         * HttpWebRequest.cs:
3150         * HttpWebResponse.cs:
3151         * IAuthenticationModule.cs:
3152         * ServicePoint.cs:
3153         * ServicePointManager.cs:
3154         * WebAsyncResult.cs: new file.
3155         * WebConnection.cs: new file.
3156         * WebConnectionData.cs: new file.
3157         * WebConnectionGroup.cs: new file.
3158         * WebConnectionStream.cs: new file.
3159         * WebException.cs:
3160         * WebHeaderCollection.cs:
3161         * WebProxy.cs:
3162         * WebResponse.cs:
3163
3164         Reworked HttpWebRequest and related classes.
3165
3166 2003-05-30  Miguel de Icaza  <miguel@ximian.com>
3167
3168         * HttpWebRequest.cs (EndGetResponse): Do not throw exceptions on
3169         InternalServerError (500)
3170
3171 2003-05-29  Miguel de Icaza  <miguel@ximian.com>
3172
3173         * HttpWebRequest.cs (Close): Move the code that accumulates the
3174         output to Close from Flush.  Flush could have been called in the
3175         middle of the processing, and would have generated invalid results
3176         (which it did).
3177
3178 2003-05-23  Zoltan Varga  <vargaz@freemail.hu>
3179
3180         * Dns.cs (GetHostByAddress): Return the local host when called with
3181         IF_ANY.
3182
3183 2003-04-29  Miguel de Icaza  <miguel@ximian.com>
3184
3185         * WebClient.cs (DownloadData): Close the underlyng stream.
3186         (DownloadFile): Use using, so the file gets closed.
3187
3188 2003-04-24  Miguel de Icaza  <miguel@ximian.com>
3189
3190         * WebClient.cs (DownloadData): Instead of using a MemoryStream,
3191         keep track of all the small chunks in an ArrayList.  The
3192         MemoryStream had the property of reallocating itself, and the
3193         problem was that MemoryStream.GetBuffer would return the buffer
3194         (correctly), but not something of the right size.  So clients of
3195         DownloadData would get the extra unused bytes as part of the
3196         result.
3197
3198         The solution would have been to make another copy at this point,
3199         instead, we only keep the small allocations around in the
3200         ArrayList, and we only do one large allocation at the end.
3201
3202         * HttpWebResponse.cs: If there is a Content-Length header, pass
3203         this information to our HttpWebResponseStream, so it knows when to
3204         stop, instead of waiting for the stream to be shut down by the
3205         other end.
3206
3207         * HttpWebRequest.cs: Only set the `delay-header-writing' mode on
3208         the underlying stream if the method will do a content transfer and
3209         no Content-Length was provided. If not (HEAD and GET or
3210         Content-Length provided), keep going.
3211         
3212 2003-04-23  Miguel de Icaza  <miguel@ximian.com>
3213
3214         * HttpWebRequest.cs: .NET Allows the HttpWebRequest to not have
3215         the ContentLength specified on the request.  If that happens, we
3216         have to accumulate all the data written, and once we accumulate
3217         the data, we send it off.  
3218
3219         Notice that the documentation in .NET is actually incorrect, they
3220         state that setting ContentLength is mandatory.  It is not.
3221
3222 2003-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3223
3224         * HttpWebResponse.cs: fixes bug #41180.
3225
3226 2003-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3227
3228         * HttpWebRequest.cs: throw an exception is the response code is >= 300.
3229
3230 2003-03-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3231
3232         * HttpWebRequest.cs: implemented IDisposable, make the request stream
3233         read only. Changed the way of disposing the socket.
3234
3235         * HttpWebResponse.cs: wrapped the socket in a write-only NetworkStream,
3236         handle chunked transfer encoding (no more hangs), added serialization
3237         stuff, call CheckDisposed at the beginning of methods/properties (not
3238         in a finally clause).
3239
3240 2003-02-17  Nick Drochak <ndrochak@gol.com>
3241
3242         * WebClient.cs : Implemented Credentials property.
3243
3244 2003-02-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3245
3246         * SocketAddress.cs: byte 1 of the data is the high byte of the family,
3247         not the size.
3248
3249 2003-01-29  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3250
3251         * WebClient.cs : hacked OpenRead, DownloadData and DownloadFile.
3252
3253 2002-10-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3254
3255         * HttpWebRequest.cs: applied patch from Tim Haynes
3256         (thaynes@openlinksw.com).
3257
3258         Avoided double-sending of the request to the server when both
3259         GetRequestStream() and GetResponse() are called.
3260         System Header attributes survive the Headers attribute set.
3261         Added handling of Connection: KeepAlive/Close
3262
3263 2002-10-03  Dick Porter  <dick@ximian.com>
3264
3265         * Dns.cs: Fixed GetHostName()
3266
3267 2002-09-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3268
3269         * HttpWebRequest.cs:
3270         * HttpWebResponse.cs: applied another patch from Shahms E. King
3271         (shahms@shahms.com).
3272
3273 2002-09-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3274
3275         * HttpWebRequest.cs:
3276         * HttpWebResponse.cs: applied patch from Shahms E. King
3277         (shahms@shahms.com).
3278
3279 2002-05-29  Lawrence Pit <loz@cable.a2000.nl>
3280
3281         * MonoHttpDate.cs: added
3282         * HttpWebRequest.cs: using MonoHttpDate
3283         * HttpWebResponse.cs: using MonoHttpDate
3284         * DnsPermission.cs: correct XML output
3285         * SocketPermission.cs: correct XML output
3286
3287 2002-05-21  Lawrence Pit <loz@cable.a2000.nl>
3288
3289         * WebClient.cs: stubbed
3290         * WebProxy.cs: fixed bug; had to change internal representation
3291         of bypasslist to ArrayList, different implementation of checking
3292         regex's.
3293
3294 2002-05-20  Lawrence Pit <loz@cable.a2000.nl>
3295
3296         * WebProxy.cs: added, implemented
3297         * ServicePoint.cs: implemented most
3298         * ServicePointManager.cs: implemented
3299         * HttpWebRequest.cs: started implementation
3300         * HttpWebResponse.cs: improved disposable routines
3301         * FileWebRequest.cs: slight improvement of Close method
3302         
3303 2002-05-19  Lawrence Pit <loz@cable.a2000.nl>
3304
3305         * FileWebRequest.cs: finished implementation of async methods.
3306         * FileWebResponse.cs: improved disposable routines.
3307         * IPEndPoint.cs: fixed bug #24666 in Serialize and Create methods, 
3308         byte ordering of address was backwards.
3309
3310 2002-05-13  Lawrence Pit <loz@cable.a2000.nl>
3311
3312         * Dns.cs: Reimplemented (simplified and fixed) asynchronous methods by
3313         relying on standard asynchronous delegate features. Added checks for
3314         null strings.
3315         * HttpWebResponse.cs: implemented properties
3316         * FileWebResponse.cs: improved the way resources are disposed.
3317         * FileWebRequest.cs: started implementation of asynchronous methods
3318         * ServicePointManager.cs: implemented properties
3319
3320 2002-05-12  Lawrence Pit <loz@cable.a2000.nl>
3321
3322         * HttpWebRequest.cs: properties implemented
3323         * HttpWebResponse.cs: added
3324         * GlobalProxySelection.cs: implemented
3325         * FileWebResponse.cs: added
3326         * FileWebRequest.cs: some methods implemented
3327
3328 2002-05-11  Lawrence Pit <loz@cable.a2000.nl>
3329
3330         * WebHeaderCollection.cs: implemented
3331         * WebRequest.cs: implemented
3332         * FileWebRequest.cs and HttpWebRequest.cs stubs added
3333
3334 2002-05-09  Lawrence Pit <loz@cable.a2000.nl>
3335
3336         * Rewrote IPAddress.Parse method, passing all unit tests
3337
3338 2002-05-09  Lawrence Pit <loz@cable.a2000.nl>
3339
3340         * fixed bug in IPEndPoint.Equals method
3341         * fixed bug in IPAddress.Parse method
3342         * fixed bug in IPAddress.SwapLong method
3343         * fixed several bugs in Cookie.cs
3344
3345 2002-05-06  Lawrence Pit <loz@cable.a2000.nl>
3346
3347         * WebRequest.cs: added
3348         * WebResponse.cs: implemented
3349         * WebException.cs: implemented
3350         * WebHeaderCollection.cs: added
3351         * HttpVersion.cs: implemented
3352         * HttpContinueDelegate.cs: added
3353         * IWebProxy.cs: added
3354         * IWebRequestCreate.cs: added
3355         * ICertificatePolicy.cs: added
3356         * ServicePoint.cs: stubbed
3357         * ServicePointManager.cs: stubbed
3358         * CookieContainer.cs: added
3359         * Authorization.cs: implemented
3360
3361 2002-05-05  Lawrence Pit <loz@cable.a2000.nl>
3362
3363         * CredentialCache.cs: implemented
3364
3365 2002-05-05  Lawrence Pit <loz@cable.a2000.nl>
3366
3367         * IPAddress.cs: fixed IsLoopback, address was already in host order
3368
3369 2002-05-05  Lawrence Pit <loz@cable.a2000.nl>
3370
3371         * IPv6Address.cs: added (note: not part of .net spec)
3372
3373 2002-05-01  Lawrence Pit <loz@cable.a2000.nl>
3374
3375         * DnsPermission.cs: implemented
3376         * DnsPermissionAttribute.cs: implemented
3377
3378 2002-04-28  Lawrence Pit <loz@cable.a2000.nl>
3379
3380         * EndpointPermission.cs: implemented
3381         * SocketPermission.cs: implemented
3382         * SocketPermissionAttribute.cs: implemented
3383         * ProtocolViolationException.cs: implemented
3384         * Dns.c: passing w32 error code when no host found
3385
3386 2002-04-27  Lawrence Pit <loz@cable.a2000.nl>
3387
3388         * Cookie.cs: implemented
3389         * CookieCollection.cs: implemented
3390         * CookieException.cs: implemented
3391
3392 2002-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3393
3394         * IPAddress.cs: initialize the read only fields with Parse().
3395
3396 2002-04-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3397
3398         * IPAddress.cs: little changes to behave as MS.
3399
3400 2002-04-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3401
3402         * Dns.cs (Resolve): behave as MS. Agreed with Mads.
3403
3404 2002-04-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3405
3406         * IPAddress.cs: the icalls for sockets are endianness-aware. So I
3407         changed a few things. Also included a workaround for bug #23547.
3408
3409 2002-04-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3410
3411         * IPAddress.cs: use System.BitConverter.IsLittleEndian (suggested
3412         by Paolo) instead of guessing the endianness.
3413
3414         * SocketAddress.cs: implemented Equals() and GetHashcode().
3415         
3416 2002-04-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3417
3418         * IPEndPoint.cs: modifications to constructors according to the
3419         specifications (suggested by Lawrence Pit).
3420
3421 2002-04-15  Patrik Torstensson <patrik.torstensson@labs2.com>
3422
3423         * IPEndPoint.cs: Fixed build breaker.
3424
3425 2002-04-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3426
3427         * IPEndPoint.cs: implemented Equals() and GetHashCode(). Now 100%
3428         complete.
3429
3430 2002-04-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3431
3432         * IPAddress.cs: finished all MonoTODO's. Use network order to store 
3433         the address. Check for max and min values in Address:set. IsLoopback()
3434         returns now true for all 127.x.y.z. Some more checks in Parse ().
3435         Some changes to behave as MS does.
3436
3437 2002-02-24  Duncan Mak  <duncan@ximian.com>
3438
3439         * ICredentialLookup.cs: Added the GetCredential method to the
3440         interface. The interface is named "ICredentials", should this file
3441         be renamed?     
3442
3443         * NetworkCredential.cs: Added to CVS. Need to investigate on how
3444         GetCredential() works
3445
3446 2002-01-23  Dick Porter  <dick@ximian.com>
3447
3448         * SocketAddress.cs: Implemented.
3449
3450         * IPEndPoint.cs: Turned 'Address' field into a real property.
3451         Implemented Create() and Serialize() methods.
3452
3453         * IPAddress.cs: Fixed class constructor, turned 'Address' field
3454         into a real property. Removed undocumented "public
3455         IPAddress(string)" constructor.
3456
3457         * EndPoint.cs: Implemented.  All methods return
3458         NotSupportedException to enforce subclass overriding.
3459
3460         * Dns.cs: Replaced fixed-layout Hostent struct and cygwin
3461         P/Invokes with portable internal calls.
3462
3463 2002-01-17  Miguel de Icaza  <miguel@ximian.com>
3464
3465         * Dns.cs: Updated to API changes.
3466
3467         * IPAddress.cs: Updated API.  Much left to implement.
3468
3469         * Dns.cs: Remove IPToString method
3470
3471 2002-01-06  Ravi Pratap  <ravi@ximian.com>
3472
3473         * Dns.cs, AuthenticationManager.cs, SocketAddress.cs : MonoTODO
3474         attribute insertion.
3475
3476 2001-11-22  Nick Drochak <ndrochak@gol.com>
3477
3478         * IPAddress.cs: Fix constructor bug, properly name Address property,
3479         and use triple-slash for comments.
3480
3481 2001-11-20  Miguel de Icaza  <miguel@ximian.com>
3482
3483         * IPAddress.cs: Updated to contain Any, Broadcast, Loopback and
3484         None as suggested by Phillip.
3485
3486 2001-09-26  Mads Pultz <mpultz@get2net.dk>
3487         * Dns.cs: Initial work on BeginGetHostByName and EndGetHostByName implemented.
3488
3489 2001-09-24  Mads Pultz <mpultz@get2net.dk>
3490
3491         * Dns.cs: Minor changes (some print statements removed)
3492
3493 2001-09-23  Mads Pultz <mpultz@get2net.dk>
3494
3495         * Dns.cs: Initial work submitted to repository.
3496         * IPHostEntry.cs: Initial work submitted to repository.
3497
3498 2001-07-12  Sean MacIsaac  <macisaac@ximian.com>
3499
3500         * Authorization.cs: Fixed compiler error.
3501
3502         * IAuthenticationModule.cs: Changes for Beta2.
3503
3504         * IPAddress.cs: Internal storage changed to be uint not int.
3505
3506         * IPEndPoint.cs: Fixed compiler error.
3507
3508         * EndPoint.cs: Fixed compiler error.
3509
3510         * AuthenticationManager.cs: Fixed typo.