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