2006-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
[mono.git] / mcs / class / System / System.Net / ChangeLog
1 2006-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2
3         * WebProxy.cs: (IsBypassed) 'loopback', 'localhost' and any address
4         that starts with 127 are special.
5
6 2006-05-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
7
8         * HttpListener.cs: Fixes race condition in BeginGetContext. Patch by
9         Pawel Sakowski that fixes bug #78365.
10
11 2006-05-09  Atsushi Enomoto  <atsushi@ximian.com>
12
13         * ServicePointManager.cs : oops, CONFIGURATION_DEP.
14
15 2006-05-09  Atsushi Enomoto  <atsushi@ximian.com>
16
17         * GlobalProxySelection.cs : if corresponding config section is
18           DefaultProxySection then use it.
19
20 2006-05-09  Atsushi Enomoto  <atsushi@ximian.com>
21
22         * WebRequest.cs : if corresponding config section is
23           WebRequestModulesSection then use it.
24
25 2006-05-09  Atsushi Enomoto  <atsushi@ximian.com>
26
27         * ServicePointManager.cs : if corresponding config section is
28           ConnectionManagementSection then use it.
29
30 2006-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
31
32         * ResponseStream.cs:
33         * HttpListenerResponse.cs: allow 0 length POST. Patch by Horst Reiterer.
34         Closes bug #78316.
35
36 2006-05-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
37
38         * CredentialCache.cs: added DefaultNetworkCredentials.
39
40 2006-05-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
41
42         * NetworkCredential.cs: implement ICredentialsByHost interface.
43
44 2006-04-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
45
46         * WebConnection.cs: reset the challenge and the status code when
47         creating the tunnel and sending the proxy auth. headers. Improve error
48         message when there's an error creating the tunnel.
49         * HttpWebRequest.cs: don't trigger an early throw for a POST that gets
50         a 401 or 407 response.
51
52 2006-04-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
53
54         * WebConnectionData.cs:
55         * WebConnection.cs:
56         * HttpWebRequest.cs: when tunneling an ssl conneciton through a proxy,
57         we were not handling a proxy authentication request. Fixes bug #78150
58         take 2.
59
60 2006-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
61
62         * WebProxy.cs: a .ctor was not forwarding the 'credentials' argument.
63         This fixes bug #78150. Also fix the bypass check for local requests.
64
65 2006-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
66
67         * WebProxy.cs: removed bogus ^M.
68
69 2006-04-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
70
71         * HttpWebResponse.cs: don't remove the Set-Cookie headers. Fixes bug
72         #78028.
73
74 2006-04-04  Atsushi Enomoto  <atsushi@ximian.com>
75
76         * WebClient.cs : added a bunch of async method support.
77
78 2006-04-03  Chris Toshok  <toshok@ximian.com>
79
80         * HttpWebResponse.cs (ContentEncoding): return "" if the header
81         isn't present.
82
83 2006-03-30  Atsushi Enomoto  <atsushi@ximian.com>
84
85         * DownloadStringCompletedEventHandler.cs : missing delegate.
86
87 2006-03-30  Atsushi Enomoto  <atsushi@ximian.com>
88
89         * Dns.cs : minor argument renaming.
90
91 2006-03-28  Atsushi Enomoto  <atsushi@ximian.com>
92
93         * DownloadDataCompletedEventArgs.cs
94           DownloadDataCompletedEventHandler.cs
95           DownloadProgressChangedEventArgs.cs
96           DownloadProgressChangedEventHandler.cs
97           DownloadStringCompletedEventArgs.cs
98           OpenReadCompletedEventArgs.cs
99           OpenReadCompletedEventHandler.cs
100           OpenWriteCompletedEventArgs.cs
101           OpenWriteCompletedEventHandler.cs
102           UploadDataCompletedEventArgs.cs
103           UploadDataCompletedEventHandler.cs
104           UploadFileCompletedEventArgs.cs
105           UploadFileCompletedEventHandler.cs
106           UploadProgressChangedEventArgs.cs
107           UploadProgressChangedEventHandler.cs
108           UploadStringCompletedEventArgs.cs
109           UploadStringCompletedEventHandler.cs
110           UploadValuesCompletedEventArgs.cs
111           UploadValuesCompletedEventHandler.cs : added 2.0 types.
112
113 2006-03-28  Atsushi Enomoto  <atsushi@ximian.com>
114
115         * Dns.cs : filled missing NET_2_0 members.
116
117 2006-03-28  Atsushi Enomoto  <atsushi@ximian.com>
118
119         * IPAddress.cs : ugh, I was testing with run-test-ondotnet, not
120           run-test. Those IPv6 properties needed to be reimplemented.
121
122 2006-03-27  Atsushi Enomoto  <atsushi@ximian.com>
123
124         * IPAddress.cs : added NET_2_0 TryParse() and IPv6 related properties.
125
126 2006-03-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
127
128         * WebConnectionStream.cs: avoid Begin/EndWrite when the body length is
129         zero.
130
131 2006-03-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
132
133         * HttpWebRequest.cs: send the request if ContentLength is set for
134         POST/PUT, the request stream has that exact amount of bytes in it and
135         we're trying to get the response stream.
136
137         This way, closing the request stream is not needed in order to actually
138         send the request. Fixes bug #77753.
139
140         * WebConnectionStream.cs: throw if the number of bytes written is
141         greater than the specified request content length.
142
143 2006-03-11  Miguel de Icaza  <miguel@novell.com>
144
145         * WebClient.cs: Only expose the right methods to avoid warnings. 
146
147         * FtpDataStream.cs (Dispose): Fix signature.
148
149         * FtpWebResponse.cs: Comment out keepAlive field (unused, sounds
150         like we are missing features here).
151
152         * IPAddress.cs: Move m_HashCode property to the end, and set
153         pragmas to disable warnings.
154
155 2006-02-16  Dick Porter  <dick@ximian.com>
156
157         * IPEndPoint.cs: The SocketAddress AddressFamily takes up the
158         first two bytes, not just one.  Check the size of the
159         SocketAddress buffer for IPv6 as well.
160
161         * Dns.cs: Cope when GetHostByName_internal or
162         GetHostByAddr_internal returns fewer items in the array than it
163         intended to (maybe due to conversion errors.)
164
165 2006-02-09  Carlos Alberto Cortez <calberto.cortez@gmail.com>
166
167         * FtpWebResponse.cs: Add UpdateStatus method, to update both
168         statusCode and statusDescription at the same time. 
169
170 2006-02-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
171
172         * FtpWebRequest.cs: Remove WebExceptionStatus argument
173         from CreateExceptionFromResponse, since exceptions gotten
174         from server response always have a WebExceptionStatus.ProtocolError
175         value.
176         
177 2006-02-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
178
179         * FtpWebRequest.cs: Add renaming support when using 
180         WebRequestMethods.Ftp.Rename method.
181         
182 2006-02-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
183
184         * ChunkedInputStream.cs:
185         * ChunkStream.cs: handle partial trailers and zero reads. Patch by Pawel
186         Sakowski.
187
188 2006-02-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
189
190         * HttpWebRequest.cs: don't send the expect-100 if if there's no content.
191
192         * HttpListenerRequest.cs:
193         * HttpConnection.cs:
194         * RequestStream.cs: use the content length header to avoid reading past
195         the end of the stream.
196
197         Patch by Horst Reiterer.
198
199 2006-02-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
200
201         * FtpWebRequest.cs: Add supportedCommands array with the sorted
202         methods, to search using Array.BinarySearch. Remove CheckMethod.
203
204 2006-02-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
205
206         * FtpWebRequest.cs: Fixed some typos and small issues.
207         
208 2006-02-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
209
210         * HttpWebRequest.cs: dummy implementation of UnsafeAuthenticationBlah
211         property.
212
213 2006-02-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
214
215         * FtpRequestCreator.cs: 
216         * FtpAsyncResult.cs:
217         * FtpDataStream.cs:
218         * FtpWebRequest.cs:
219         * FtpWebResponse.cs: Initial implementation of FtpWebRequest (2.0)
220         
221 2006-02-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
222
223         * FtpStatusCode.cs: Fix a typo.
224         
225 2006-01-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
226
227         * WebClient.cs: (2.0) UploadString() returns string, not void.
228
229 2006-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
230
231         * HttpWebResponse.cs: ignore non-integer values for max-age and version.
232         Fixes bug #77199. Thanks to Cyrille Colin.
233
234 2006-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
235
236         * HttpWebResponse.cs: cope with malformed cookies with '=' as value.
237         Patch by Cyrille Colin. Fixes bug #77179.
238
239 2005-12-25  Carlos Alberto Cortez <calberto.cortez@gmail.com>
240
241         * FtpStatusCode.cs: New 2.0 enum.
242
243 2005-12-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
244
245         * CookieContainer.cs: fix matching of subdomains. Patch by Cyrille
246         Colin.
247
248 2005-12-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
249
250         * HttpWebResponse.cs: don't loop forever when no name or value between
251         semicolons. Fixes bug #76943.
252
253 2005-12-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
254
255         * HttpWebResponse.cs: don't fail if the cookie ends with a 'name'
256         without a value. Fixes bug #76922.
257
258 2005-11-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
259
260         * EndPointListener.cs:
261         * HttpListenerRequest.cs: don't require the Host header for 1.0. Just
262         map that to the '*' or '+' host.
263
264 2005-11-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
265
266         * IPAddress.cs: the byte[] ctor supports length 4 in .NET 2.0.
267         Fixes bug #76792.
268
269 2005-11-21 Senganal T   <tsenganal@novell.com>
270
271         * Dns.cs : corrected a mistake in GetHostEntry ()
272
273 2005-11-21 Senganal T   <tsenganal@novell.com>
274
275         * Dns.cs : added GetHostEntry() method for 2.0 api conformance
276
277 2005-11-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
278
279         * HttpRequestHeader.cs: add missing values.
280
281 2005-11-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
282
283         * HttpListenerPrefixCollection.cs:
284         * HttpWebResponse.cs:
285         * Dns.cs:
286         * HttpListenerRequest.cs:
287         * HttpWebRequest.cs:
288         * HttpListenerResponse.cs: a few signature fixes for 2.0.
289
290 2005-11-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
291
292         * HttpListenerPrefixCollection.cs:
293         * EndPointListener.cs:
294         * HttpStreamAsyncResult.cs:
295         * HttpListenerContext.cs:
296         * HttpListenerBasicIdentity.cs:
297         * AuthenticationSchemeSelector.cs:
298         * HttpListener.cs:
299         * WebHeaderCollection.cs:
300         * ListenerPrefix.cs:
301         * HttpListenerException.cs:
302         * HttpResponseHeader.cs:
303         * EndPointManager.cs:
304         * HttpListenerRequest.cs:
305         * HttpRequestHeader.cs:
306         * BindIPEndPoint.cs:
307         * ResponseStream.cs:
308         * ChunkedInputStream.cs:
309         * HttpStatusCode.cs:
310         * ListenerAsyncResult.cs:
311         * ChunkStream.cs:
312         * HttpConnection.cs:
313         * HttpUtility.cs:
314         * HttpListenerResponse.cs:
315         * RequestStream.cs: initial implementation of HttpListener. There are
316         a few TODOs left (cookies, HTTPS) but almost everything else is in.
317
318 2005-11-15  Sebastien Pouliot  <sebastien@ximian.com>
319
320         * IPv6Address.cs: Added on overload to ToString to get a the full 
321         length address returned (as required by System.Uri).
322
323 2005-11-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
324
325         * WebRequestMethods.cs: New 2.0 class.
326         
327 2005-11-05  Atsushi Enomoto  <atsushi@ximian.com>
328
329         * WebClient: use POST for DownloadData(). Fixed bug #76631.
330
331 2005-10-26  Atsushi Enomoto  <atsushi@ximian.com>
332
333         * AuthenticationSchemes.cs : Fixed enum values and added [Flags].
334
335 2005-10-19  Atsushi Enomoto  <atsushi@ximian.com>
336
337         * WebClient.cs : added net_2_0 DownloadString() and DownloadData()
338           with HTTP method as well.
339
340 2005-10-19  Atsushi Enomoto  <atsushi@ximian.com>
341
342         * WebClient.cs : added UploadString() and Encoding (net_2_0). Added
343           some new overloaded stuff that takes Uri instead of string address.
344
345 2005-10-17  Sebastien Pouliot  <sebastien@ximian.com> 
346
347         * ICredentialPolicy.cs: New. Interface for 2.0.
348
349 2005-10-05  Atsushi Enomoto  <atsushi@ximian.com>
350
351         * AuthenticationSchemes.cs : new 2.0 enum.
352
353 2005-08-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
354
355         * GlobalProxySelection.cs: remove double lock.
356         * HttpWebRequest.cs: remove double lock in GetServicePoint() and use
357         a private object when locking.
358
359 2005-07-15  Miguel de Icaza  <miguel@novell.com>
360
361         * DigestClient.cs: Fix bug #75556, the qop argument must be
362         quoted, per http://www.faqs.org/rfcs/rfc2617.html section
363         `quo-options'.
364
365 2005-07-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
366
367         * WebConnectionStream.cs: initiate writing the body before trying to
368         read. This fixes the performance problems observed in web services.
369         Closes bug #75455.
370
371 2005-06-27  Lluis Sanchez Gual <lluis@novell.com>
372
373         * IPAddress.cs: Changed field names for the sake of serialization
374         interoperability with MS.NET.
375         
376 2005-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
377
378         * WebConnection.cs: if cnc.EndRead throws, mark the asyncresult as done.
379         * WebConnectionStream.cs: if we're done with the body of a chunk, don't
380         require the next chunk header to be there, as some servers might close
381         the connection (while also sending 'Connection: close').
382
383 2005-06-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
384
385         * HttpWebRequest.cs: MS implementation follows redirects for POST. Seems
386         to me that this is against 10.3.3 in RFC 2616, but may be the user
387         'authorization' to do this is implicit in AllowAutoRedirect...
388
389 2005-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
390
391         * WebConnection.cs: SslClientStream.BeginRead might not be asynchronous
392         if there's no record available to read. This is a workaround that makes
393         the call to BeginRead itself asynchronous. Fixes bug #75342.
394
395 2005-06-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
396
397         * WebConnection.cs:
398         * HttpWebRequest.cs:
399         * WebConnectionStream.cs: initiate the polling for input data after
400         sending the header so that we detect any response that the server sends
401         back even if we're still trying to write the request for a POST/PUT.
402         If we get the response (or an error) before any one calls GetResponse(),
403         keep it around instead of ignoring it.
404
405 2005-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
406
407         * HttpWebRequest.cs: send the right header/user/password in
408         PreAuthenticate in presence of a proxy.
409
410 2005-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
411
412         * IPv6Address.cs: fix IsLoopback. Closes bug #75128.
413
414 2005-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
415
416         * IPv6Address.cs: don't do extra check on ipv4 if this is a ipv6
417         address. Fixes bug #75125.
418
419 2005-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
420
421         * ServicePointManager.cs: when going through a proxy, use 2 different
422         service points depending on the scheme. Fixes bug #75135.
423
424 2005-05-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
425
426         * Dns.cs: don't parse the address when it comes from an IPAddress.
427
428 2005-05-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
429
430         * WebConnection.cs: prevent 2 nullrefs when the aborting during
431         Connect() and reset the status to Success before starting a new
432         request.
433
434 2005-05-19  Sebastien Pouliot  <sebastien@ximian.com>
435
436         * WebRequest.cs: Throw NotImplementedException (not NotSupported
437         Exception) for stuff that should have been abstract. No exception
438         is thrown by the serialization constructor.
439
440 2005-05-04 James Willcox  <james@ximian.com>
441
442         * DigestClient.cs: convert to a hex string with "X8" consistently
443         for nc-value
444
445 2005-05-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
446
447         * WebConnection.cs: don't rethrow errors in Write, as the error will be
448         received by GetResponse*. The result is that the threadpool thread doing
449         this will not end up printing the exception. Fixes bug #74817.
450
451 2005-05-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
452
453         * ServicePoint.cs: HostEntry needs to be thread safe.
454
455 2005-05-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
456
457         * WebConnection.cs: removed a 'slightly' important line by mistake.
458         * WebConnectionStream.cs: if the transfer encoding is chunked, ignore
459         content-length header if present.
460
461 2005-05-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
462
463         * WebConnection.cs: no need to use an AutoResetEvent.
464         * WebConnectionStream.cs: don't start any more reads on the socket
465         after getting a 0 signalling the end. This fixes Ben's infamous foo.cs
466         test.
467
468 2005-04-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
469
470         * BasicClient.cs: firefox/IE just send latin1, stripping the high byte
471         from unicode >= 256 characters.
472
473 2005-04-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
474
475         * BasicClient.cs: use latin1 when encoding the username/domain/password.
476         Fixes bug #74745.
477
478 2005-04-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
479
480         * WebConnectionStream.cs: if the BeginRead/BeginWrite is completed
481         synchronously, no need to create the ManualResetEvent to wait on.
482
483 2005-04-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
484
485         * WebConnectionStream.cs: call SetComplete in EndWrite when we're not
486         buffering the request body. Fixes bug #74637.
487
488         * WebAsyncResult.cs: renamed field.
489
490 2005-04-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
491
492         * WebConnectionStream.cs:
493         * WebAsyncResult.cs: ensure we only call EndRead once per async. result.
494         Update total before invoking the callback when present.
495
496 2005-04-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
497
498         * WebConnection.cs:
499         * WebConnectionStream.cs: don't start reading until we've sent at least
500         the headers. This way we ensure that a Write happens before any Read,
501         which is needed by the SSL code.
502
503 2005-04-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
504
505         * HttpWebRequest.cs: ensure we read everything before redirecting.
506
507 2005-04-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
508
509         * WebConnectionStream.cs: provide a default callback when doing async.
510         read/write and waiting for a timeout so that the callback sets the
511         event and we don't block forever. Fixes bug #74539 take 3.
512
513 2005-04-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
514
515         * WebConnection.cs:
516         * HttpWebRequest.cs: now Abort() works properly. Fixes bug #74177.
517
518 2005-04-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
519
520         * WebConnection.cs: fix some breakage from my last patch.
521         * WebConnectionStream.cs: invoke the callback when done even in EndRead.
522
523 2005-04-10  Sebastien Pouliot  <sebastien@ximian.com>
524
525         * WebConnection.cs: Added support for TrustFailure when throwing a
526         WebException. Fix bug #74286.
527
528 2005-04-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
529
530         * HttpWebRequest.cs: 
531         * WebConnectionStream.cs: implemented support for ReadWriteTimeout.
532
533 2005-04-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
534
535         * WebConnection.cs: if we're reading chunked data and didn't use the
536         stream to read, we gotta set the async. result as complete and invoke
537         the callback. Don't call nstream.EndRead with the wrong IAsyncResult.
538
539         * WebConnectionStream.cs: in EndRead, pass the correct IAsyncResult to
540         cnc.EndRead. Lock on a field instead of 'this'.
541
542 2005-04-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
543
544         * HttpWebRequest.cs: throw the exception if we got an error, as now
545         it's catched in the redirection handling code.
546
547 2005-04-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
548
549         * HttpWebRequest.cs: moved redirection handling to a proper place.
550
551 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
552
553         * WebHeaderCollection.cs: added if-modified-since to the list of
554         restricted headers.
555
556         * ServicePoint.cs: use a field object when locking.
557
558 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
559
560         * WebConnectionStream.cs: ForceCompletion actually calls NextRead. No
561         need to wait for a Close/ReadAll when we have no content.
562
563 2005-04-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
564
565         * NtlmClient.cs: fix typo in assembly name.
566
567 2005-03-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
568
569         * CookieContainer.cs: adding to a CookieCollection might not increment
570         the number of items if the cookie is replaced. Now Count works properly.
571         Fixed an array index exception (typo).
572
573         * CookieCollection.cs: also compare the version.
574
575         * HttpWebResponse.cs: when we have cookies, add them to the request
576         container.
577
578         * HttpWebRequest.cs: changed last parameter of HttpWebResponse ctor.
579
580 2005-03-30  Miguel de Icaza  <miguel@novell.com>
581
582         * Cookie.cs: Compare using the InvariantCulture, to match the
583         behavior of CookieContainer that already did this.
584
585 2005-03-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
586
587         * WebConnection.cs: we don't need to trigger the next queued request
588         until the response is closed.
589
590 2005-03-29  Miguel de Icaza  <miguel@novell.com>
591
592         * HttpWebResponse.cs: Handle quotations in the cookies values, per
593         the spec http://www.faqs.org/rfcs/rfc2109.html, it is allowed to
594         have quotations.
595
596 2005-03-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
597
598         * BasicClient.cs:
599         * DigestClient.cs: check that GetCredential() does not return null.
600
601 2005-03-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
602
603         * BasicClient.cs: ensure credentials are not null.
604
605 2005-03-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
606
607         * HttpWebResponse.cs: moved cookie parsing into its own class.
608         * WebHeaderCollection.cs: remove (probably bogus) GetMultipleValues
609         call.
610         * HttpWebRequest.cs: don't let exception raised in the ctor of
611         HttpWebResponse vanish.
612
613         Fixes bug #73275.
614
615 2005-03-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
616
617         * WebHeaderCollection.cs: handle commas inside quotes when splitting
618         a multi-value header. Fixes bug #73151.
619
620 2005-02-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
621
622         * DigestClient.cs: fix for digest auth. and URIs containing query. Patch
623         by James Wilcox. Fixes bug #72571.
624
625 2005-02-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
626
627         * HttpWebResponse.cs:
628         * WebConnection.cs:
629         * HttpWebRequest.cs:
630         * WebConnectionStream.cs: don't read the entire response unless the
631         user requests it. Fixes bug #72443.
632
633 2005-02-08  Zoltan Varga  <vargaz@freemail.hu>
634
635         * IPv6Address.cs: Fix endianess problems.
636
637         * IPAddress.cs: Fix misleading comments.
638
639 2005-02-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
640
641         * HttpWebRequest.cs: send the headers when we're supposed to write
642         a POST/PUT but call GetResponse before GetRequestStream.
643
644         * WebConnectionStream.cs: new RequestWritten property.
645
646 2005-01-20  Jonathan Pryor  <jonpryor@vt.edu>
647
648         * EndpointPermission.cs: Fix IsSubsetof(hostname) so that the regression 
649           tests work.  In particular, IsSubsetOf ("12.13.*.*", "12.13.14.*") failed
650           because 14 wasn't a subset of * (which it is).  Fix: if part1 is we 
651           continue to the next portion.
652
653 2005-01-20  Jonathan Pryor  <jonpryor@vt.edu>
654
655         * IPAddress.cs (ParseIPV4): Fix so that the regression tests work.  In
656           particular, " foo" and ".1.1.6" weren't being caught (" foo" because it
657           started with a space, and ".1.1.6" because the split string accepted a
658           0-length portion, which would make 1...6 valid, but isn't valid based on
659           similar test cases).
660
661 2005-01-20  Jonathan Pryor  <jonpryor@vt.edu>
662
663         * WebHeaderCollection.cs: Fix GetValues(string) to split the values on
664           commas if the header is a Multi-Value header.  This matches
665           MonoTests.System.Net.WebHeaderCollectionTest.
666
667 2005-01-19  Sebastien Pouliot  <sebastien@ximian.com>
668
669         * WebPermissionAttribute.cs: Fixed NET_1_1 behaviour.
670
671 2004-12-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
672
673         * WebConnectionStream.cs: remove unneeded check. Write detects and
674         triggers the exception now.
675
676 2004-12-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
677
678         * AuthenticationManager.cs: don't lock on a public Type.
679         * HttpWebRequest.cs: read the error response for auth. errors.
680
681 2004-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
682
683         * HttpWebRequest.cs: set webResponse back to null when redirecting.
684         Fix the previous patch so that it reads the whole response even if
685         auto-redirect is not enabled. Closes bug #70484.
686
687 2004-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
688
689         * HttpWebResponse.cs: added ReadAll method.
690
691         * WebConnection.cs: in HandleError, set the response error after
692         closing the socket. Use an async. delegate to finish reading any prior
693         WebConnectionStream.
694
695         * HttpWebRequest.cs: for error responses that allow content, read the
696         stream immediately. Fixes bug #70483.
697
698 2004-12-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
699
700         * CookieContainer.cs: quote the port number.
701
702 2004-12-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
703
704         * WebConnection.cs:
705         * WebConnectionStream.cs: removed TryReconnect. It's no longer needed.
706
707 2004-12-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
708
709         * WebConnection.cs: set the event in Close so that if the queue is
710         empty, we won't block forever on next request. The finalizer was
711         removed because we're not implementing IDisposable pattern here.
712
713 2004-12-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
714
715         * WebConnection.cs: handle errors on chunked streams. Fixes bug #66858.
716         * ChunkStream.cs: added error checking all over.
717
718         * HttpWebRequest.cs: throw the exception received in SetResponseError
719         if we already have a response.
720         (SetRequestData): Don't nest the exception if it's a WebException.
721
722 2004-12-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
723
724         * WebConnection.cs: remove prevStream and don't set busy to false in
725         HandleError. prevStream is not needed any more and setting 'busy' so
726         early might let a request skip the queue.
727         
728         * WebConnectionGroup.cs: decrement the indexer when removing a dead
729         reference from the arraylist.
730
731         * WebConnectionStream.cs:
732         (ReadAll): call NextRead if it has not been called before even when
733         we have completed the request. Reuse the read buffer when reading a
734         response of unknown size. Increase the buffer to 8kB.
735         (BeginRead): increase pendingReads earlier and even when reading from
736         the internal buffer.
737         (EndRead): decrease pendingReads later and always.
738
739 2004-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
740
741         * CookieContainer.cs: style, fixed checks for properties, implemented
742         the MonoTODOs for the method that take an Uri. GetCookies and
743         GetCookieHeaders now really return only the cookies that are requested
744         filtering by the Uri parameter.
745
746         * Cookie.cs: style, added default values for Comment, Domain and Port.
747
748 2004-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
749
750         * CookieCollection.cs: reformatted, fixed Add by adding a new method to
751         search across the arraylist, as list.IndexOf is not what we want.
752
753 2004-11-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
754
755         * WebConnection.cs: check for FIN or RST on the socket before reusing.
756         Fixes bug #69388.
757
758 2004-11-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
759
760         * ChunkStream.cs: simplified condition for WantMore property.
761
762         * WebConnection.cs: in Connect(), finish any pending reads we might
763         have for chunked data. Ignore possible blank lines at the very
764         beginning of the server response. Honor user set KeepAlive in
765         HttpWebRequest for HTTP/1.1 connections. Thanks to Eyal Alayuf for
766         his suggestions and code.
767
768 2004-11-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
769
770         * HttpWebResponse.cs: don't lock up when the cookie received ends with
771         a semicolon. Patch by Darryl VanDorp. Fixes bug #68956.
772
773 2004-10-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
774
775         * HttpWebRequest.cs: don't fail if the request has already been sent
776         when accessing ContentType setter. Fixes bug #68848.
777
778 2004-10-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
779
780         * ChunkStream.cs:
781         (WantMore): we're not done until we get a 0 chunk size and the trailer.
782         The 0 can be expressed as more than one character too (ie, 000000).
783
784         * HttpWebRequest.cs: new argument in SetResponseError.
785         * WebConnection.cs: added argument to HandleError as a hint for
786         debugging.
787         (Connect): make the chunked stream be in the expected state when
788         reusing.
789
790         * WebConnectionStream.cs: removed unused method (ResetWriteBuffer).
791
792 2004-10-10 David Sheldon <dave-mono@earth.li>
793
794         * HttpWebRequest.cs: Use RemoveAndAdd for AddRange. Fixes unittest.
795
796 2004-10-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
797
798         * HttpWebRequest.cs: use RemoveAndAdd for headers multivalue headers.
799         * WebHeaderCollection.cs: added RemoveAndAdd that behaves like the old
800         SetInternal.
801
802 2004-10-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
803
804         * HttpWebRequest.cs: ProxyQuery returns true when we use a proxy without
805         tunneling a secure connection.
806
807         * ServicePoint.cs: added UseConnect property.
808
809         * ServicePointManager.cs: set the UseConnect property when we use a http
810         proxy for a https connection.
811
812         * WebConnection.cs: setup the tunnled connection when using a proxy and
813         https.
814
815 2004-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
816
817         * HttpWebResponse.cs: remove unused SplitValue method.
818
819 2004-09-10  Sebastien Pouliot  <sebastien@ximian.com>
820
821         * DnsPermission.cs: Updated to pass new unit tests.
822         * DnsPermissionAttribute.cs: Cleanup.
823         * SocketPermission.cs: Updated to pass new unit tests.
824         * SocketPermissionAttribute.cs: Updated to pass new unit tests.
825         * WebPermission.cs: Implemented some TODO - not complete yet.
826         * WebPermissionAttribute.cs: Updated to pass new unit tests.
827
828 2004-08-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
829
830         * Cookie.cs: don't fail when using default constructor. Fixes bug
831         #62890.
832
833 2004-08-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
834
835         * HttpWebResponse.cs: set-cookie and set-cookie2 can be present more
836         than once and have multiple values. Don't rely on string.split when
837         parsing cookie values.
838
839         * WebHeaderCollection.cs: same thing for set-cookie and set-cookie2.
840         Fixed GetValues (it was splitting values that contained a comma) and
841         changed SetInternal to handle multi-value headers.
842
843         Fixes bug #62744.
844
845 2004-07-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
846
847         * WebProxy.cs: fix scheme detection. Patch by Konstantin Triger
848         (kostat@mainsoft.com).
849
850 2004-07-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
851
852         * HttpWebRequest.cs: detect changes in scheme or port when redirecting.
853         Fixes las take on bug 61218.
854
855 2004-07-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
856
857         * WebConnection.cs: moved loading of the ssl stream Type to its own
858         method. Don't create a new ssl stream if we're reusing the connection.
859
860         * WebConnectionStream.cs: ensure the number of bytes copied in ReadAll
861         is the expected even if the dta from the server has extra bytes.
862
863 2004-07-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
864
865         * WebConnection.cs:
866         * WebConnectionStream.cs: when the status code is 1xx, 204 or 304,
867         "responses MUST NOT include a message-body". We tried to read the
868         stream even when getting those codes and considered the 0 length
869         read as a failure.
870
871 2004-07-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
872
873         * HttpWebRequest.cs: removed bogus Monitor.Exit.
874         * WebConnection.cs: use Address instead of RequestUri when checking for
875         the scheme in order to select the stream type. Fixes bug #61218.
876
877 2004-06-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
878
879         * ChunkStream.cs: added ChunkLeft property.
880         * WebConnection.cs:
881         (EndRead): when using small byte arrays to read from a chunked stream,
882         ensure we've read the chunk size and try to fulfill the request
883         completely. fixes bug 59653.
884
885 2004-05-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
886
887         * WebConnectionStream.cs: fixed CanRead property. Closes bug #59273.
888
889 2004-05-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
890
891         * DigestClient.cs: cache the sessions based on address and
892         credentials, not only address. Added poor men's expiration to
893         the session cache. Fixes bug #59202.
894
895 2004-05-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
896
897         * IPAddress.cs:
898         * IPEndPoint.cs:
899         * IPv6Address.cs: no more warnings about IPAddress.Address.
900
901 2004-05-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
902
903         * WebException.cs: implemented serialization .ctor and
904         GetObjectData().
905
906 2004-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
907
908         * WebAsyncResult.cs: don't create the WaitHandle if not needed.
909
910 2004-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
911
912         * HttpWebRequest.cs: added 3 missing properties for 1.1. They are not
913         used yet.
914
915         * NetConfig.cs: added MaxResponseHeadersLength field.
916
917         * ServicePoint.cs:
918         * ServicePointManager.cs: added missing properties for 1.1. 
919
920 2004-05-03  Sebastien Pouliot  <sebastien@ximian.com>
921
922         * WebConnection.cs: Use assembly name const to load Mono.Security.
923
924 2004-05-03  Lluis Sanchez Gual <lluis@ximian.com>
925
926         * NtlmClient.cs: Use assembly name const to load Mono.Security.
927
928 2004-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
929
930         * WebConnectionStream.cs: avoid the exception when getting the content
931         length if possible.
932
933 2004-03-29  Lluis Sanchez Gual <lluis@ximian.com>
934
935         * HttpWebRequest.cs: Use a lock block instead of Monitor.Enter/Exit, so
936         the lock is released in case of exception (for example, a 
937         ThreadAbortException). This also "fixes" bug #52417.
938         Beware, this requires a runtime update (due to a bug in Monitor.Exit).
939         * ServicePoint.cs: Changed method from internal to private, since it
940         is not called from outside the class.
941
942 2004-03-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
943
944         * HttpWebRequest.cs: added the exception status to the error message.
945         * WebConnection.cs: add headers using SetInternal instead of Add to
946         bypass header name validation. Fixes bug #55994.
947         * WebHeaderCollection.cs: added SetInternal (string header).
948
949 2004-03-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
950
951         * WebConnection.cs:
952         * WebConnectionGroup.cs: the requests queue is now shared for all the
953         connections belonging to the same connection group.
954
955 2004-02-26  Sebastien Pouliot  <sebastien@ximian.com>
956
957         * DefaultCertificatePolicy.cs: New. Certificate validation
958         policy compatible with the documented one present in Fx. It
959         allows valid certificates and expired certificates to be used
960         for SSL connections.
961         * ServicePointManager.cs: Removed the DummyPolicy. Now creates
962         a DefaultCertificatePolicy to validate certificates. 
963
964 2004-02-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
965
966         * ServicePoint.cs: SendContinue is always false for HTTP/1.0
967
968         * WebConnection.cs: get rid of WaitForContinue() (yes!) and prevent
969         calling more the ContinueDelegate more than once when we get the
970         headers in several packets.
971
972         * WebConnectionStream.cs: removed call to WaitForContinue.
973
974 2004-02-25  Sebastien Pouliot  <sebastien@ximian.com>
975
976         * WebConnection.cs: Update previous patch to use HttpsClientStream
977         (internal in Mono.Security assembly) in place of SslClientStream.
978         This will reduce reflection and allow to use ICertificatePolicy.
979
980 2004-02-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
981
982         * DigestClient.cs: fix quote handling. Reordered attributes in response.
983         Fixed typo (QOP->CNonce). Now Digest works with apache2.
984
985 2004-02-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
986
987         * DigestClient.cs: removed Console.
988         * HttpWebRequest.cs: 401/407 were hanging for GET. Fixed.
989
990 2004-02-24  Sebastien Pouliot  <sebastien@ximian.com>
991
992         * DigestClient.cs: Fixed issue with Apache server which do not use "
993         for specifying the digest algorithm (.e.g. algorithm=MD5 not ="MD5").
994
995 2004-02-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
996
997         * HttpWebRequest.cs: arghhh. I used the server response headers instead
998         of what the client is supposed to send. Thanks to Helge Hess.
999
1000 2004-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1001
1002         * AuthenticationManager.cs: implemented PreAuthenticate().
1003
1004         * HttpWebRequest.cs: once we know the version of the server, use it if
1005         below the requested one. Remove 'Expect', 'Content-Length' and /or 
1006         'Transfer-Encoding' if appropiate due to changes in version. Fixed 
1007         'Host' header for non-standard ports. Support preauthentication. Closes
1008         bug #50530.
1009
1010 2004-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1011
1012         * HttpWebRequest.cs: check for missing or wrong URI in Location header
1013         when redirecting.
1014
1015         * WebConnection.cs: if the data read does not contain all the headers,
1016         keep it around and read the rest until we get to the response body.
1017         Allow response code with no description. Fixed bug #54543.
1018
1019 2004-02-18  Sebastien Pouliot  <sebastien@ximian.com>
1020
1021         * SecurityProtocolType.cs: Added missing [Serializable] to enum. Added 
1022         Default and Ssl2 to NET_2_0 profile. Enum is now internal for NET_1_0
1023         profile (as we need it for SslClientStream).
1024         * ServicePoint.cs: Added internal SetCertificates(client,server).
1025         * ServicePointManager.cs: Added CheckCertificateRevocationList and
1026         CheckCertificateRevocationList static properties (public in 1.1, 
1027         internal for 1.0).
1028         * WebConnection.cs: Dynamically creates a SslClientStream (from 
1029         Mono.Security assembly) in case of https. Changed NetworkStream to 
1030         Stream everywhere.
1031
1032 2004-02-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1033
1034         * HttpWebRequest.cs: send the 'Connection: keep-alive' header when we
1035         don't know the server version or it's 1.0.
1036
1037         * ServicePoint.cs: added SetVersion.
1038
1039         * WebAsyncResult.cs: remove ChunkAsyncResult.
1040
1041         * WebConnection.cs: set the ServicePoint version when getting a response
1042         from the server.
1043
1044         * WebConnectionStream.cs: when posting chunked content, send the head,
1045         body and trailer of the chunk at once instead of doing 3 separate
1046         writes, which may cause troubles.
1047
1048 2004-02-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1049
1050         * WebConnection.cs: if we get a 100 when we're not waiting for it, set
1051         that information in the ServicePoint.
1052
1053         * WebConnectionStream.cs: send headers in the right order for
1054         non-chunked POST.
1055
1056 2004-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1057
1058         * WebConnectionStream.cs: fixed nullrefs in BeginWrite/EndWrite.
1059
1060 2004-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1061
1062         * HttpWebRequest.cs: on second and sucesive tries when authenticating,
1063         don't use chunked encoding for POST, as we know the content length and
1064         have the body. Nullify bodyBuffer always in CheckFinalStatus.
1065
1066         * WebAsyncResult.cs: added ChunkAsyncResult property. It holds the
1067         IAsyncResult when writing CRLF at the end of a chunk.
1068
1069         * WebConnectionStream.cs: support sending chunked data.
1070
1071 2004-01-24  Lluis Sanchez Gual <lluis@ximian.com>
1072
1073         * HttpWebRequest.cs: When retrying a POST request after an
1074         authentication failure, resend the body. This fixes bug #51841.
1075         * WebConnectionStream.cs: Added properties for getting what's been
1076         written.
1077
1078 2004-02-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1079
1080         * HttpWebRequest.cs: don't send 'Expect: 100-continue' for 1.0 version.
1081
1082 2004-02-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1083
1084         * HttpWebRequest.cs: support proxy authentication.
1085
1086 2004-02-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1087
1088         * BasicClient.cs:
1089         * DigestClient.cs: use IndexOf instead of StartsWith to deal with
1090         servers that provide several authentication schemas.
1091
1092 2004-02-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1093
1094         * ChunkStream.cs: use an array of buffers instead of a MemoryStream for
1095         storing the chunks. This way, we won't miss traling data from the
1096         previous chunk when a new one is received before the other is fully
1097         read.
1098
1099 2004-01-27  Nick Drochak <ndrochak@ieee.org>
1100
1101         * DigestClient.cs:
1102         * HttpWebRequest.cs:
1103         * IPv6Address.cs:
1104         * WebClient.cs:
1105         * WebConnection.cs:
1106         * WebConnectionStream.cs: Remove unused variables thus eliminating some
1107         build warnings.
1108
1109 2004-01-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1110
1111         * WebConnection.cs: patch by Yaacov Akiba Slama that fixes 100-continue
1112         handling for the case when the same packet also contains the actual
1113         [2-5]xx response.
1114
1115 2004-01-24  Lluis Sanchez Gual <lluis@ximian.com>
1116
1117         * HttpWebRequest.cs: Added missing property.
1118
1119 2004-01-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1120
1121         * Dns.cs: don't block forever in EndResolve and EndGetHostByName. Fixes
1122         bug #53222.
1123
1124 2004-01-16  Lluis Sanchez Gual <lluis@ximian.com>
1125
1126         * ChunkStream.cs: The "size" parameter of Write is not the number of
1127         bytes to write, but the last offset to be written. Thus, in WriteAndRead
1128         Back, since "read" is not an offset but the number of bytes, it must be 
1129         added to the offset. Maybe it would be a good idea to change the name of
1130         the parameter, since it is confusing. This should fix bug #52591.
1131
1132 2004-01-12  Lluis Sanchez Gual <lluis@ximian.com>
1133
1134         * WebConnection.cs: Yet another fix for WebConnection. This fixes 
1135         bug #52169.
1136
1137 2004-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1138
1139         * WebConnection.cs: Data.Init is a bad boy. Lluis realized. He also
1140         tidied up the end of ReadDone. Disabled relaunching the request if 2
1141         InitRead are called, since now we don't throw everything into
1142         RegisterWaitForSingleObject but one request at a time.
1143
1144         * WebConnectionGroup.cs: when checking available connections, allow them
1145         not to be Connected but allocated to honor the connection limit.
1146         
1147         * WebConnectionStream.cs: CheckComplete() now checks for nextReadCalled
1148         too. ReadAll don't mess contentLength if it's provided in the headers.
1149
1150         BIG thanks to Lluis. Turns out that we were debugging the same stuff and
1151         his Data.Init discovery was THE thing I was missing.
1152
1153         Fixes bug #51277.
1154
1155 2004-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1156
1157         * ServicePointManager.cs: use GetMaxConnections to get the appropiate
1158         number of connections limit.
1159
1160 2004-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1161
1162         * MonoHttpDate.cs: use the invariant culture, not en-US. Suspected
1163         guilty for bug 52629.
1164
1165 2003-12-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1166
1167         * CredentialCache.cs: return null instead of throwing NotImplemented.
1168
1169 2003-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1170
1171         * HttpWebRequest.cs: fixed checking if method allows a body. Patch by
1172         Benjamin Jemlich (pcgod@gmx.net).
1173
1174 2003-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1175
1176         * HttpWebRequest.cs: deal with authentication schemes that have more
1177         than 1 round trip (Ntlm).
1178
1179 2003-12-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1180
1181         * NtlmClient.cs: new class that actually uses one from Mono.Http to do
1182         the authentication.
1183
1184 2003-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1185
1186         * HttpWebRequest.cs: when building the redirect URI, use the previous
1187         one as the base URI, which makes relative URIs work.
1188
1189 2003-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1190
1191         * DigestClient.cs: merged in code from Sebastien Pouliot and Greg
1192         Reinacker that Supports cnonce and preauthentication.
1193
1194 2003-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1195
1196         * DigestClient.cs: initial Digest authentication. Works with apache
1197         mod_digest.
1198
1199 2003-11-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1200
1201         * HttpWebRequest.cs: removed unneeded StringBuilder.
1202         * WebConnection.cs: default to keep the connection open for HTTP/1.1
1203         only or HTTP/1.0 + (Proxy-)Connection header. Fixes bug #51208.
1204
1205 2003-11-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1206
1207         * WebConnection.cs: turns out that socket.Connected is not useful until
1208         we actually try to send/receive data, even if the other end has already
1209         closed the socket. Added TryReconnect() and Connected.
1210
1211         * WebConnectionData.cs: default value for StatusCode is 0 now.
1212
1213         * WebConnectionGroup.cs: reuse the connection since the beginning,
1214         instead of opening up to ConnectionLimit and then reusing.
1215
1216         * WebConnectionStream.cs: reopen the socket if we're trying to reuse
1217         one which fails on first write.
1218
1219 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1220
1221         * WebConnectionStream.cs: when a callback is passed to BeginRead/Write,
1222         wrap it and do our job before calling it. Fixes bug #48497.
1223
1224 2003-11-12  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1225
1226         * WebExceptionStatus.cs: Restyled, Added .Net 1.1 members
1227         * SecurityProtocolType.cs: Added and implemented
1228
1229 2003-11-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1230
1231         * HttpWebRequest.cs: fixed redirects when they target another host.
1232
1233 2003-11-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1234
1235         * IPAddress.cs: prevent exceptions when trying to parse the static IPv6
1236         addresses.
1237
1238 2003-10-17  Pedro Martínez Juliá  <yoros@wanadoo.es>
1239
1240         * WebClient.cs: use Path.DirectorySeparator instead of "/" for
1241         windows compatibility. Add some checks for file paths like
1242         "C:/xxx/yyy/..." and like "/home/xxx/...".
1243
1244 2003-10-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
1245
1246         * WebClient.cs: added a slash between directory and file names.
1247
1248 2003-10-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1249
1250         * HttpWebRequest.cs:
1251         * HttpWebResponse.cs: better abort handling and leave the stream in a
1252         stable status on abort.
1253
1254 2003-10-12  Pedro Martínez Juliá  <yoros@wanadoo.es>
1255
1256         * WebClient.cs: refine reading of local files (like MS.NET).
1257
1258 2003-10-10  Pedro Martínez Juliá  <yoros@wanadoo.es>
1259
1260         * WebClient.cs: MS.NET works right when we try OpenRead("file.txt")
1261         but we didn't. Now, when Uri fails with an exception, it adds
1262         "file://" before the URI and tries again.
1263
1264 2003-10-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1265
1266         * ServicePoint.cs: preparing for recycling. Not yet finished.
1267         * ServicePointManager.cs: this is the one that reads config.
1268         * WebConnectionGroup.cs: don't read config here.
1269         * WebConnection.cs: added the queue again. Launch queued requests on
1270         error.
1271
1272 2003-10-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1273
1274         * WebConnection.cs: the queue is now handled by the threadpool.
1275         Initialize the connection data in a place where it does not depend on
1276         the execution order of the requests in threadpool. More error handling.
1277
1278         * WebConnectionGroup.cs: use the limits in the config file and reuse
1279         connections when the limit is reached.
1280
1281 2003-10-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1282
1283         * HttpWebRequest.cs: handle 304 Ã  la MS.
1284         * WebConnection.cs: set the response data when reading 0 bytes.
1285
1286 2003-09-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1287
1288         * WebConnectionStream.cs: fix by Lluis to avoid the stream being in an
1289         invalid state.
1290
1291 2003-08-14  Nick Drochak <ndrochak@gol.com>
1292
1293         * WebRequest.cs: Check lower case string since that is what we will add.
1294
1295 2003-08-04  Jerome Laban <jlaban@wanadoo.fr>
1296
1297         * IPHostEntry.cs: Default contructor must not initialize members.
1298         (Fixes bug #45575).
1299
1300 2003-07-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1301
1302         * CredentialCache.cs: Removed undefined serializable attribute
1303
1304 2003-07-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1305
1306         * ChunkStream.cs:
1307         (WantMore): true if we've not received the last chunk yet. Fixes
1308         bug #45463. Thanks to Miguel for tracking this down and providing a
1309         test case.
1310         
1311         * WebConnection.cs: removed bogus ^M's.
1312         
1313         * WebHeaderCollection.cs: provide more info when the header or value is
1314         wrong.
1315
1316 2003-07-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1317
1318         * ChunkStream.cs: Removed unused members
1319         * IPAddress.cs: Removed unused exception variable, fixes compiler
1320         warning.
1321         * WebConnection.cs: Removed unused exception variables, fixes compiler
1322         warnings.
1323
1324 2003-07-14  Lluis Sanchez Gual <lluis@ximian.com>
1325
1326         * NetConfig.cs: If Clone method is not public, then it must use
1327           explicit interface method implementation syntax.
1328
1329 2003-07-14  Jerome Laban <jlaban@wanadoo.fr>
1330
1331         * Dns.cs: Reworked indentation.
1332         Added IPv6 support.
1333         Added literal address checking in GetHostByAddress.
1334         Changed Dns.Resolve behavior.
1335         * IPAddress.cs:
1336         * IPEndPoint.cs: Added IPv6 support.
1337         * IPv6Address.cs: Added address compression.
1338         * NetConfig.cs: Added configuration section.    
1339
1340 2003-07-14  Jerome Laban <jlaban@wanadoo.fr>
1341
1342         * ServicePoint.cs: Removed Connect and GetEndPoint methods.
1343         Removed reverse resolution when uri is literal IP address. 
1344         * WebConnection.cs: IPv6 compatibility update: Try to connect
1345         to all addresses returned by IPHostEntry.
1346         * WebConnectionGroup.cs: Removed unused parameter. 
1347
1348 2003-07-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1349
1350         * WebProxy.cs: Add serialization/ deserialization support
1351
1352 2003-07-10  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1353
1354         * ProxyUseType.cs:
1355         * WebStatus.cs: Deleted (do not exist in this assembly)
1356         * IPv6Address.cs: Made internal
1357
1358 2003-07-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1359
1360         * HttpWebRequest.cs:
1361         * ServicePointManager.cs:
1362         * WebConnection.cs: added support for proxies.
1363
1364 2003-07-05  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1365
1366         * DnsPermissionAttribute.cs:
1367         * SocketPermissionAttribute.cs: Fixed wrong AttributeUsageAttribute
1368
1369 2003-07-05  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1370
1371         * WebPermission.cs: Added and partially implemented
1372         * WebPermissionAttribute.cs: Added and implemented
1373
1374 2003-07-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1375
1376         * WebClient.cs: fixed bug #45651.
1377
1378 2003-06-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1379
1380         * WebClient.cs: Small fix by Sebastian <scut@nb.in-berlin.de>.
1381
1382 2003-06-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1383
1384         * WebConnection.cs: fixed header writing the reusing a connection and
1385         the server does not send 100-continue response.
1386
1387 2003-06-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1388
1389         * WebConnection.cs: close the socket and connection when disposing.
1390         * WebRequest.cs: removed setter for RequestUri. Allow non-public ctors
1391         when creating instances.
1392
1393         * HttpWebRequest.cs:
1394         * HttpWebResponse.cs:
1395         * FileWebRequest.cs: support serialization.
1396
1397         * FileWebResponse.cs: support serialization and fixed dispose checks.
1398
1399         * FileWebRequestCreator.cs:
1400         * HttpRequestCreator.cs: added internal .ctor.
1401
1402 2003-06-24  Lluis Sanchez Gual <lluis@ximian.com>
1403
1404         * HttpWebRequest.cs: SetWriteStream(): SendRequestHeaders should be
1405         called before asyncWrite.SetCompleted, to make sure that the waiting
1406         thread does not start to send more information before
1407         SendRequestHeaders has finished.
1408
1409 2003-06-22  Lluis Sanchez Gual <lluis@ximian.com>
1410
1411         * WebConnectionStream.cs: Only increment pendingReads if an asynchronous
1412         read is really needed.
1413
1414 2003-06-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1415
1416         * WebHeaderCollection.cs: prevent duplication headers used niternally.
1417
1418 2003-06-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1419
1420         * HttpWebRequest.cs: if CookieContainer has not been set, make
1421         HttpWebResponse ignore Set-Cookie* headers.
1422
1423         * HttpWebResponse.cs: Set-Cookie and Set-Cookie headers removed if
1424         CookieContainer have been provided to the request.
1425
1426 2003-06-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1427
1428         * AuthenticationManager.cs: get the list of authentication modules from
1429         the configuration files. Added Clear and fixed Unregister.
1430
1431         * BasicClient.cs: fully implemented.
1432
1433         * HttpWebRequest.cs: added support for Basic authentication when
1434         credentials are set.
1435
1436         * NetworkCredential.cs: fixed GetCredential.
1437
1438 2003-06-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1439
1440         * HttpWebRequest.cs: *really* take care of requestSent to prevent
1441         sending the same request twice.
1442         * WebAsyncResult.cs: don't close the handle. Just Reset.
1443         * WebConnectionStream.cs: removed unneeded line.
1444
1445 2003-06-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1446
1447         * HttpWebRequest.cs: use InternalClose when we are not going to send the
1448         rest of the request stream because of an error after sending the
1449         headers.
1450
1451         * WebConnection.cs: check for completion after setting the response.
1452         Enable reading in NextRead.
1453
1454         * WebConnectionStream.cs: re-fixed the count for partially buffered
1455         reads. If the network stream returns 0 bytes, we're done.
1456
1457 2003-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1458
1459         * WebClient.cs: implemented UploadFile. Fixed SetupRequest to set the
1460         special headers *after* the others.
1461
1462 2003-06-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1463
1464         * WebConnectionStream.cs: when the read is partially filled from the
1465         initial buffer, add those bytes too. Thanks to Lluis for debugging this.
1466
1467 2003-06-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1468
1469         * HttpWebRequest.cs: added ExpectContinue property.
1470         * WebConnection.cs: allow 100 Continue to be delayed after waiting for
1471         it.
1472
1473 2003-06-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1474
1475         * HttpWebRequest.cs: don't send "Expect: 100-continue" is the server
1476         is known not to respond to that.
1477
1478         * ServicePoint.cs: added SendContinue property.
1479
1480         * WebConnection.cs: only wait 2 seconds for a continue reply. If it
1481         timeouts, set SendContinue to false and proceeed sending data.
1482
1483         * WebConnectionStream.cs: if 100-continue is not received and instead we
1484         get a 417 or anything else, don't send the data.
1485
1486         * WebClient.cs: implemented all missing properties and methods except
1487         UploadFile.
1488
1489 2003-06-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1490
1491         * FileWebRequestCreator.cs: splitted from WebRequest.
1492         * HttpRequestCreator.cs: splitted fromWebRequest.
1493         * WebRequest.cs: added methods that are used by the new configuration
1494         handler to set prefix/type name requests creators.
1495
1496 2003-06-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1497
1498         * AuthenticationManager.cs:
1499         * Authorization.cs:
1500         * BasicClient.cs: new file.
1501         * ChunkStream.cs: new file.
1502         * Cookie.cs:
1503         * CookieContainer.cs:
1504         * GlobalProxySelection.cs:
1505         * HttpWebRequest.cs:
1506         * HttpWebResponse.cs:
1507         * IAuthenticationModule.cs:
1508         * ServicePoint.cs:
1509         * ServicePointManager.cs:
1510         * WebAsyncResult.cs: new file.
1511         * WebConnection.cs: new file.
1512         * WebConnectionData.cs: new file.
1513         * WebConnectionGroup.cs: new file.
1514         * WebConnectionStream.cs: new file.
1515         * WebException.cs:
1516         * WebHeaderCollection.cs:
1517         * WebProxy.cs:
1518         * WebResponse.cs:
1519
1520         Reworked HttpWebRequest and related classes.
1521
1522 2003-05-30  Miguel de Icaza  <miguel@ximian.com>
1523
1524         * HttpWebRequest.cs (EndGetResponse): Do not throw exceptions on
1525         InternalServerError (500)
1526
1527 2003-05-29  Miguel de Icaza  <miguel@ximian.com>
1528
1529         * HttpWebRequest.cs (Close): Move the code that accumulates the
1530         output to Close from Flush.  Flush could have been called in the
1531         middle of the processing, and would have generated invalid results
1532         (which it did).
1533
1534 2003-05-23  Zoltan Varga  <vargaz@freemail.hu>
1535
1536         * Dns.cs (GetHostByAddress): Return the local host when called with
1537         IF_ANY.
1538
1539 2003-04-29  Miguel de Icaza  <miguel@ximian.com>
1540
1541         * WebClient.cs (DownloadData): Close the underlyng stream.
1542         (DownloadFile): Use using, so the file gets closed.
1543
1544 2003-04-24  Miguel de Icaza  <miguel@ximian.com>
1545
1546         * WebClient.cs (DownloadData): Instead of using a MemoryStream,
1547         keep track of all the small chunks in an ArrayList.  The
1548         MemoryStream had the property of reallocating itself, and the
1549         problem was that MemoryStream.GetBuffer would return the buffer
1550         (correctly), but not something of the right size.  So clients of
1551         DownloadData would get the extra unused bytes as part of the
1552         result.
1553
1554         The solution would have been to make another copy at this point,
1555         instead, we only keep the small allocations around in the
1556         ArrayList, and we only do one large allocation at the end.
1557
1558         * HttpWebResponse.cs: If there is a Content-Length header, pass
1559         this information to our HttpWebResponseStream, so it knows when to
1560         stop, instead of waiting for the stream to be shut down by the
1561         other end.
1562
1563         * HttpWebRequest.cs: Only set the `delay-header-writing' mode on
1564         the underlying stream if the method will do a content transfer and
1565         no Content-Length was provided. If not (HEAD and GET or
1566         Content-Length provided), keep going.
1567         
1568 2003-04-23  Miguel de Icaza  <miguel@ximian.com>
1569
1570         * HttpWebRequest.cs: .NET Allows the HttpWebRequest to not have
1571         the ContentLength specified on the request.  If that happens, we
1572         have to accumulate all the data written, and once we accumulate
1573         the data, we send it off.  
1574
1575         Notice that the documentation in .NET is actually incorrect, they
1576         state that setting ContentLength is mandatory.  It is not.
1577
1578 2003-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1579
1580         * HttpWebResponse.cs: fixes bug #41180.
1581
1582 2003-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1583
1584         * HttpWebRequest.cs: throw an exception is the response code is >= 300.
1585
1586 2003-03-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1587
1588         * HttpWebRequest.cs: implemented IDisposable, make the request stream
1589         read only. Changed the way of disposing the socket.
1590
1591         * HttpWebResponse.cs: wrapped the socket in a write-only NetworkStream,
1592         handle chunked transfer encoding (no more hangs), added serialization
1593         stuff, call CheckDisposed at the beginning of methods/properties (not
1594         in a finally clause).
1595
1596 2003-02-17  Nick Drochak <ndrochak@gol.com>
1597
1598         * WebClient.cs : Implemented Credentials property.
1599
1600 2003-02-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1601
1602         * SocketAddress.cs: byte 1 of the data is the high byte of the family,
1603         not the size.
1604
1605 2003-01-29  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1606
1607         * WebClient.cs : hacked OpenRead, DownloadData and DownloadFile.
1608
1609 2002-10-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1610
1611         * HttpWebRequest.cs: applied patch from Tim Haynes
1612         (thaynes@openlinksw.com).
1613
1614         Avoided double-sending of the request to the server when both
1615         GetRequestStream() and GetResponse() are called.
1616         System Header attributes survive the Headers attribute set.
1617         Added handling of Connection: KeepAlive/Close
1618
1619 2002-10-03  Dick Porter  <dick@ximian.com>
1620
1621         * Dns.cs: Fixed GetHostName()
1622
1623 2002-09-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1624
1625         * HttpWebRequest.cs:
1626         * HttpWebResponse.cs: applied another patch from Shahms E. King
1627         (shahms@shahms.com).
1628
1629 2002-09-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1630
1631         * HttpWebRequest.cs:
1632         * HttpWebResponse.cs: applied patch from Shahms E. King
1633         (shahms@shahms.com).
1634
1635 2002-05-29  Lawrence Pit <loz@cable.a2000.nl>
1636
1637         * MonoHttpDate.cs: added
1638         * HttpWebRequest.cs: using MonoHttpDate
1639         * HttpWebResponse.cs: using MonoHttpDate
1640         * DnsPermission.cs: correct XML output
1641         * SocketPermission.cs: correct XML output
1642
1643 2002-05-21  Lawrence Pit <loz@cable.a2000.nl>
1644
1645         * WebClient.cs: stubbed
1646         * WebProxy.cs: fixed bug; had to change internal representation
1647         of bypasslist to ArrayList, different implementation of checking
1648         regex's.
1649
1650 2002-05-20  Lawrence Pit <loz@cable.a2000.nl>
1651
1652         * WebProxy.cs: added, implemented
1653         * ServicePoint.cs: implemented most
1654         * ServicePointManager.cs: implemented
1655         * HttpWebRequest.cs: started implementation
1656         * HttpWebResponse.cs: improved disposable routines
1657         * FileWebRequest.cs: slight improvement of Close method
1658         
1659 2002-05-19  Lawrence Pit <loz@cable.a2000.nl>
1660
1661         * FileWebRequest.cs: finished implementation of async methods.
1662         * FileWebResponse.cs: improved disposable routines.
1663         * IPEndPoint.cs: fixed bug #24666 in Serialize and Create methods, 
1664         byte ordering of address was backwards.
1665
1666 2002-05-13  Lawrence Pit <loz@cable.a2000.nl>
1667
1668         * Dns.cs: Reimplemented (simplified and fixed) asynchronous methods by
1669         relying on standard asynchronous delegate features. Added checks for
1670         null strings.
1671         * HttpWebResponse.cs: implemented properties
1672         * FileWebResponse.cs: improved the way resources are disposed.
1673         * FileWebRequest.cs: started implementation of asynchronous methods
1674         * ServicePointManager.cs: implemented properties
1675
1676 2002-05-12  Lawrence Pit <loz@cable.a2000.nl>
1677
1678         * HttpWebRequest.cs: properties implemented
1679         * HttpWebResponse.cs: added
1680         * GlobalProxySelection.cs: implemented
1681         * FileWebResponse.cs: added
1682         * FileWebRequest.cs: some methods implemented
1683
1684 2002-05-11  Lawrence Pit <loz@cable.a2000.nl>
1685
1686         * WebHeaderCollection.cs: implemented
1687         * WebRequest.cs: implemented
1688         * FileWebRequest.cs and HttpWebRequest.cs stubs added
1689
1690 2002-05-09  Lawrence Pit <loz@cable.a2000.nl>
1691
1692         * Rewrote IPAddress.Parse method, passing all unit tests
1693
1694 2002-05-09  Lawrence Pit <loz@cable.a2000.nl>
1695
1696         * fixed bug in IPEndPoint.Equals method
1697         * fixed bug in IPAddress.Parse method
1698         * fixed bug in IPAddress.SwapLong method
1699         * fixed several bugs in Cookie.cs
1700
1701 2002-05-06  Lawrence Pit <loz@cable.a2000.nl>
1702
1703         * WebRequest.cs: added
1704         * WebResponse.cs: implemented
1705         * WebException.cs: implemented
1706         * WebHeaderCollection.cs: added
1707         * HttpVersion.cs: implemented
1708         * HttpContinueDelegate.cs: added
1709         * IWebProxy.cs: added
1710         * IWebRequestCreate.cs: added
1711         * ICertificatePolicy.cs: added
1712         * ServicePoint.cs: stubbed
1713         * ServicePointManager.cs: stubbed
1714         * CookieContainer.cs: added
1715         * Authorization.cs: implemented
1716
1717 2002-05-05  Lawrence Pit <loz@cable.a2000.nl>
1718
1719         * CredentialCache.cs: implemented
1720
1721 2002-05-05  Lawrence Pit <loz@cable.a2000.nl>
1722
1723         * IPAddress.cs: fixed IsLoopback, address was already in host order
1724
1725 2002-05-05  Lawrence Pit <loz@cable.a2000.nl>
1726
1727         * IPv6Address.cs: added (note: not part of .net spec)
1728
1729 2002-05-01  Lawrence Pit <loz@cable.a2000.nl>
1730
1731         * DnsPermission.cs: implemented
1732         * DnsPermissionAttribute.cs: implemented
1733
1734 2002-04-28  Lawrence Pit <loz@cable.a2000.nl>
1735
1736         * EndpointPermission.cs: implemented
1737         * SocketPermission.cs: implemented
1738         * SocketPermissionAttribute.cs: implemented
1739         * ProtocolViolationException.cs: implemented
1740         * Dns.c: passing w32 error code when no host found
1741
1742 2002-04-27  Lawrence Pit <loz@cable.a2000.nl>
1743
1744         * Cookie.cs: implemented
1745         * CookieCollection.cs: implemented
1746         * CookieException.cs: implemented
1747
1748 2002-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1749
1750         * IPAddress.cs: initialize the read only fields with Parse().
1751
1752 2002-04-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1753
1754         * IPAddress.cs: little changes to behave as MS.
1755
1756 2002-04-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1757
1758         * Dns.cs (Resolve): behave as MS. Agreed with Mads.
1759
1760 2002-04-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1761
1762         * IPAddress.cs: the icalls for sockets are endianness-aware. So I
1763         changed a few things. Also included a workaround for bug #23547.
1764
1765 2002-04-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1766
1767         * IPAddress.cs: use System.BitConverter.IsLittleEndian (suggested
1768         by Paolo) instead of guessing the endianness.
1769
1770         * SocketAddress.cs: implemented Equals() and GetHashcode().
1771         
1772 2002-04-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1773
1774         * IPEndPoint.cs: modifications to constructors according to the
1775         specifications (suggested by Lawrence Pit).
1776
1777 2002-04-15  Patrik Torstensson <patrik.torstensson@labs2.com>
1778
1779         * IPEndPoint.cs: Fixed build breaker.
1780
1781 2002-04-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1782
1783         * IPEndPoint.cs: implemented Equals() and GetHashCode(). Now 100%
1784         complete.
1785
1786 2002-04-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1787
1788         * IPAddress.cs: finished all MonoTODO's. Use network order to store 
1789         the address. Check for max and min values in Address:set. IsLoopback()
1790         returns now true for all 127.x.y.z. Some more checks in Parse ().
1791         Some changes to behave as MS does.
1792
1793 2002-02-24  Duncan Mak  <duncan@ximian.com>
1794
1795         * ICredentialLookup.cs: Added the GetCredential method to the
1796         interface. The interface is named "ICredentials", should this file
1797         be renamed?     
1798
1799         * NetworkCredential.cs: Added to CVS. Need to investigate on how
1800         GetCredential() works
1801
1802 2002-01-23  Dick Porter  <dick@ximian.com>
1803
1804         * SocketAddress.cs: Implemented.
1805
1806         * IPEndPoint.cs: Turned 'Address' field into a real property.
1807         Implemented Create() and Serialize() methods.
1808
1809         * IPAddress.cs: Fixed class constructor, turned 'Address' field
1810         into a real property. Removed undocumented "public
1811         IPAddress(string)" constructor.
1812
1813         * EndPoint.cs: Implemented.  All methods return
1814         NotSupportedException to enforce subclass overriding.
1815
1816         * Dns.cs: Replaced fixed-layout Hostent struct and cygwin
1817         P/Invokes with portable internal calls.
1818
1819 2002-01-17  Miguel de Icaza  <miguel@ximian.com>
1820
1821         * Dns.cs: Updated to API changes.
1822
1823         * IPAddress.cs: Updated API.  Much left to implement.
1824
1825         * Dns.cs: Remove IPToString method
1826
1827 2002-01-06  Ravi Pratap  <ravi@ximian.com>
1828
1829         * Dns.cs, AuthenticationManager.cs, SocketAddress.cs : MonoTODO
1830         attribute insertion.
1831
1832 2001-11-22  Nick Drochak <ndrochak@gol.com>
1833
1834         * IPAddress.cs: Fix constructor bug, properly name Address property,
1835         and use triple-slash for comments.
1836
1837 2001-11-20  Miguel de Icaza  <miguel@ximian.com>
1838
1839         * IPAddress.cs: Updated to contain Any, Broadcast, Loopback and
1840         None as suggested by Phillip.
1841
1842 2001-09-26  Mads Pultz <mpultz@get2net.dk>
1843         * Dns.cs: Initial work on BeginGetHostByName and EndGetHostByName implemented.
1844
1845 2001-09-24  Mads Pultz <mpultz@get2net.dk>
1846
1847         * Dns.cs: Minor changes (some print statements removed)
1848
1849 2001-09-23  Mads Pultz <mpultz@get2net.dk>
1850
1851         * Dns.cs: Initial work submitted to repository.
1852         * IPHostEntry.cs: Initial work submitted to repository.
1853
1854 2001-07-12  Sean MacIsaac  <macisaac@ximian.com>
1855
1856         * Authorization.cs: Fixed compiler error.
1857
1858         * IAuthenticationModule.cs: Changes for Beta2.
1859
1860         * IPAddress.cs: Internal storage changed to be uint not int.
1861
1862         * IPEndPoint.cs: Fixed compiler error.
1863
1864         * EndPoint.cs: Fixed compiler error.
1865
1866         * AuthenticationManager.cs: Fixed typo.