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