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