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