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