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