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