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