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