2003-07-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
[mono.git] / mcs / class / System / System.Net / ChangeLog
1 2003-07-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2
3         * WebClient.cs: fixed bug #45651.
4
5 2003-06-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6
7         * WebClient.cs: Small fix by Sebastian <scut@nb.in-berlin.de>.
8
9 2003-06-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
10
11         * WebConnection.cs: fixed header writing the reusing a connection and
12         the server does not send 100-continue response.
13
14 2003-06-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
15
16         * WebConnection.cs: close the socket and connection when disposing.
17         * WebRequest.cs: removed setter for RequestUri. Allow non-public ctors
18         when creating instances.
19
20         * HttpWebRequest.cs:
21         * HttpWebResponse.cs:
22         * FileWebRequest.cs: support serialization.
23
24         * FileWebResponse.cs: support serialization and fixed dispose checks.
25
26         * FileWebRequestCreator.cs:
27         * HttpRequestCreator.cs: added internal .ctor.
28
29 2003-06-24  Lluis Sanchez Gual <lluis@ximian.com>
30
31         * HttpWebRequest.cs: SetWriteStream(): SendRequestHeaders should be
32         called before asyncWrite.SetCompleted, to make sure that the waiting
33         thread does not start to send more information before
34         SendRequestHeaders has finished.
35
36 2003-06-22  Lluis Sanchez Gual <lluis@ximian.com>
37
38         * WebConnectionStream.cs: Only increment pendingReads if an asynchronous
39         read is really needed.
40
41 2003-06-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
42
43         * WebHeaderCollection.cs: prevent duplication headers used niternally.
44
45 2003-06-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
46
47         * HttpWebRequest.cs: if CookieContainer has not been set, make
48         HttpWebResponse ignore Set-Cookie* headers.
49
50         * HttpWebResponse.cs: Set-Cookie and Set-Cookie headers removed if
51         CookieContainer have been provided to the request.
52
53 2003-06-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
54
55         * AuthenticationManager.cs: get the list of authentication modules from
56         the configuration files. Added Clear and fixed Unregister.
57
58         * BasicClient.cs: fully implemented.
59
60         * HttpWebRequest.cs: added support for Basic authentication when
61         credentials are set.
62
63         * NetworkCredential.cs: fixed GetCredential.
64
65 2003-06-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
66
67         * HttpWebRequest.cs: *really* take care of requestSent to prevent
68         sending the same request twice.
69         * WebAsyncResult.cs: don't close the handle. Just Reset.
70         * WebConnectionStream.cs: removed unneeded line.
71
72 2003-06-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
73
74         * HttpWebRequest.cs: use InternalClose when we are not going to send the
75         rest of the request stream because of an error after sending the
76         headers.
77
78         * WebConnection.cs: check for completion after setting the response.
79         Enable reading in NextRead.
80
81         * WebConnectionStream.cs: re-fixed the count for partially buffered
82         reads. If the network stream returns 0 bytes, we're done.
83
84 2003-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
85
86         * WebClient.cs: implemented UploadFile. Fixed SetupRequest to set the
87         special headers *after* the others.
88
89 2003-06-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
90
91         * WebConnectionStream.cs: when the read is partially filled from the
92         initial buffer, add those bytes too. Thanks to Lluis for debugging this.
93
94 2003-06-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
95
96         * HttpWebRequest.cs: added ExpectContinue property.
97         * WebConnection.cs: allow 100 Continue to be delayed after waiting for
98         it.
99
100 2003-06-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
101
102         * HttpWebRequest.cs: don't send "Expect: 100-continue" is the server
103         is known not to respond to that.
104
105         * ServicePoint.cs: added SendContinue property.
106
107         * WebConnection.cs: only wait 2 seconds for a continue reply. If it
108         timeouts, set SendContinue to false and proceeed sending data.
109
110         * WebConnectionStream.cs: if 100-continue is not received and instead we
111         get a 417 or anything else, don't send the data.
112
113         * WebClient.cs: implemented all missing properties and methods except
114         UploadFile.
115
116 2003-06-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
117
118         * FileWebRequestCreator.cs: splitted from WebRequest.
119         * HttpRequestCreator.cs: splitted fromWebRequest.
120         * WebRequest.cs: added methods that are used by the new configuration
121         handler to set prefix/type name requests creators.
122
123 2003-06-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
124
125         * AuthenticationManager.cs:
126         * Authorization.cs:
127         * BasicClient.cs: new file.
128         * ChunkStream.cs: new file.
129         * Cookie.cs:
130         * CookieContainer.cs:
131         * GlobalProxySelection.cs:
132         * HttpWebRequest.cs:
133         * HttpWebResponse.cs:
134         * IAuthenticationModule.cs:
135         * ServicePoint.cs:
136         * ServicePointManager.cs:
137         * WebAsyncResult.cs: new file.
138         * WebConnection.cs: new file.
139         * WebConnectionData.cs: new file.
140         * WebConnectionGroup.cs: new file.
141         * WebConnectionStream.cs: new file.
142         * WebException.cs:
143         * WebHeaderCollection.cs:
144         * WebProxy.cs:
145         * WebResponse.cs:
146
147         Reworked HttpWebRequest and related classes.
148
149 2003-05-30  Miguel de Icaza  <miguel@ximian.com>
150
151         * HttpWebRequest.cs (EndGetResponse): Do not throw exceptions on
152         InternalServerError (500)
153
154 2003-05-29  Miguel de Icaza  <miguel@ximian.com>
155
156         * HttpWebRequest.cs (Close): Move the code that accumulates the
157         output to Close from Flush.  Flush could have been called in the
158         middle of the processing, and would have generated invalid results
159         (which it did).
160
161 2003-05-23  Zoltan Varga  <vargaz@freemail.hu>
162
163         * Dns.cs (GetHostByAddress): Return the local host when called with
164         IF_ANY.
165
166 2003-04-29  Miguel de Icaza  <miguel@ximian.com>
167
168         * WebClient.cs (DownloadData): Close the underlyng stream.
169         (DownloadFile): Use using, so the file gets closed.
170
171 2003-04-24  Miguel de Icaza  <miguel@ximian.com>
172
173         * WebClient.cs (DownloadData): Instead of using a MemoryStream,
174         keep track of all the small chunks in an ArrayList.  The
175         MemoryStream had the property of reallocating itself, and the
176         problem was that MemoryStream.GetBuffer would return the buffer
177         (correctly), but not something of the right size.  So clients of
178         DownloadData would get the extra unused bytes as part of the
179         result.
180
181         The solution would have been to make another copy at this point,
182         instead, we only keep the small allocations around in the
183         ArrayList, and we only do one large allocation at the end.
184
185         * HttpWebResponse.cs: If there is a Content-Length header, pass
186         this information to our HttpWebResponseStream, so it knows when to
187         stop, instead of waiting for the stream to be shut down by the
188         other end.
189
190         * HttpWebRequest.cs: Only set the `delay-header-writing' mode on
191         the underlying stream if the method will do a content transfer and
192         no Content-Length was provided. If not (HEAD and GET or
193         Content-Length provided), keep going.
194         
195 2003-04-23  Miguel de Icaza  <miguel@ximian.com>
196
197         * HttpWebRequest.cs: .NET Allows the HttpWebRequest to not have
198         the ContentLength specified on the request.  If that happens, we
199         have to accumulate all the data written, and once we accumulate
200         the data, we send it off.  
201
202         Notice that the documentation in .NET is actually incorrect, they
203         state that setting ContentLength is mandatory.  It is not.
204
205 2003-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
206
207         * HttpWebResponse.cs: fixes bug #41180.
208
209 2003-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
210
211         * HttpWebRequest.cs: throw an exception is the response code is >= 300.
212
213 2003-03-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
214
215         * HttpWebRequest.cs: implemented IDisposable, make the request stream
216         read only. Changed the way of disposing the socket.
217
218         * HttpWebResponse.cs: wrapped the socket in a write-only NetworkStream,
219         handle chunked transfer encoding (no more hangs), added serialization
220         stuff, call CheckDisposed at the beginning of methods/properties (not
221         in a finally clause).
222
223 2003-02-17  Nick Drochak <ndrochak@gol.com>
224
225         * WebClient.cs : Implemented Credentials property.
226
227 2003-02-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
228
229         * SocketAddress.cs: byte 1 of the data is the high byte of the family,
230         not the size.
231
232 2003-01-29  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
233
234         * WebClient.cs : hacked OpenRead, DownloadData and DownloadFile.
235
236 2002-10-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
237
238         * HttpWebRequest.cs: applied patch from Tim Haynes
239         (thaynes@openlinksw.com).
240
241         Avoided double-sending of the request to the server when both
242         GetRequestStream() and GetResponse() are called.
243         System Header attributes survive the Headers attribute set.
244         Added handling of Connection: KeepAlive/Close
245
246 2002-10-03  Dick Porter  <dick@ximian.com>
247
248         * Dns.cs: Fixed GetHostName()
249
250 2002-09-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
251
252         * HttpWebRequest.cs:
253         * HttpWebResponse.cs: applied another patch from Shahms E. King
254         (shahms@shahms.com).
255
256 2002-09-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
257
258         * HttpWebRequest.cs:
259         * HttpWebResponse.cs: applied patch from Shahms E. King
260         (shahms@shahms.com).
261
262 2002-05-29  Lawrence Pit <loz@cable.a2000.nl>
263
264         * MonoHttpDate.cs: added
265         * HttpWebRequest.cs: using MonoHttpDate
266         * HttpWebResponse.cs: using MonoHttpDate
267         * DnsPermission.cs: correct XML output
268         * SocketPermission.cs: correct XML output
269
270 2002-05-21  Lawrence Pit <loz@cable.a2000.nl>
271
272         * WebClient.cs: stubbed
273         * WebProxy.cs: fixed bug; had to change internal representation
274         of bypasslist to ArrayList, different implementation of checking
275         regex's.
276
277 2002-05-20  Lawrence Pit <loz@cable.a2000.nl>
278
279         * WebProxy.cs: added, implemented
280         * ServicePoint.cs: implemented most
281         * ServicePointManager.cs: implemented
282         * HttpWebRequest.cs: started implementation
283         * HttpWebResponse.cs: improved disposable routines
284         * FileWebRequest.cs: slight improvement of Close method
285         
286 2002-05-19  Lawrence Pit <loz@cable.a2000.nl>
287
288         * FileWebRequest.cs: finished implementation of async methods.
289         * FileWebResponse.cs: improved disposable routines.
290         * IPEndPoint.cs: fixed bug #24666 in Serialize and Create methods, 
291         byte ordering of address was backwards.
292
293 2002-05-13  Lawrence Pit <loz@cable.a2000.nl>
294
295         * Dns.cs: Reimplemented (simplified and fixed) asynchronous methods by
296         relying on standard asynchronous delegate features. Added checks for
297         null strings.
298         * HttpWebResponse.cs: implemented properties
299         * FileWebResponse.cs: improved the way resources are disposed.
300         * FileWebRequest.cs: started implementation of asynchronous methods
301         * ServicePointManager.cs: implemented properties
302
303 2002-05-12  Lawrence Pit <loz@cable.a2000.nl>
304
305         * HttpWebRequest.cs: properties implemented
306         * HttpWebResponse.cs: added
307         * GlobalProxySelection.cs: implemented
308         * FileWebResponse.cs: added
309         * FileWebRequest.cs: some methods implemented
310
311 2002-05-11  Lawrence Pit <loz@cable.a2000.nl>
312
313         * WebHeaderCollection.cs: implemented
314         * WebRequest.cs: implemented
315         * FileWebRequest.cs and HttpWebRequest.cs stubs added
316
317 2002-05-09  Lawrence Pit <loz@cable.a2000.nl>
318
319         * Rewrote IPAddress.Parse method, passing all unit tests
320
321 2002-05-09  Lawrence Pit <loz@cable.a2000.nl>
322
323         * fixed bug in IPEndPoint.Equals method
324         * fixed bug in IPAddress.Parse method
325         * fixed bug in IPAddress.SwapLong method
326         * fixed several bugs in Cookie.cs
327
328 2002-05-06  Lawrence Pit <loz@cable.a2000.nl>
329
330         * WebRequest.cs: added
331         * WebResponse.cs: implemented
332         * WebException.cs: implemented
333         * WebHeaderCollection.cs: added
334         * HttpVersion.cs: implemented
335         * HttpContinueDelegate.cs: added
336         * IWebProxy.cs: added
337         * IWebRequestCreate.cs: added
338         * ICertificatePolicy.cs: added
339         * ServicePoint.cs: stubbed
340         * ServicePointManager.cs: stubbed
341         * CookieContainer.cs: added
342         * Authorization.cs: implemented
343
344 2002-05-05  Lawrence Pit <loz@cable.a2000.nl>
345
346         * CredentialCache.cs: implemented
347
348 2002-05-05  Lawrence Pit <loz@cable.a2000.nl>
349
350         * IPAddress.cs: fixed IsLoopback, address was already in host order
351
352 2002-05-05  Lawrence Pit <loz@cable.a2000.nl>
353
354         * IPv6Address.cs: added (note: not part of .net spec)
355
356 2002-05-01  Lawrence Pit <loz@cable.a2000.nl>
357
358         * DnsPermission.cs: implemented
359         * DnsPermissionAttribute.cs: implemented
360
361 2002-04-28  Lawrence Pit <loz@cable.a2000.nl>
362
363         * EndpointPermission.cs: implemented
364         * SocketPermission.cs: implemented
365         * SocketPermissionAttribute.cs: implemented
366         * ProtocolViolationException.cs: implemented
367         * Dns.c: passing w32 error code when no host found
368
369 2002-04-27  Lawrence Pit <loz@cable.a2000.nl>
370
371         * Cookie.cs: implemented
372         * CookieCollection.cs: implemented
373         * CookieException.cs: implemented
374
375 2002-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
376
377         * IPAddress.cs: initialize the read only fields with Parse().
378
379 2002-04-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
380
381         * IPAddress.cs: little changes to behave as MS.
382
383 2002-04-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
384
385         * Dns.cs (Resolve): behave as MS. Agreed with Mads.
386
387 2002-04-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
388
389         * IPAddress.cs: the icalls for sockets are endianness-aware. So I
390         changed a few things. Also included a workaround for bug #23547.
391
392 2002-04-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
393
394         * IPAddress.cs: use System.BitConverter.IsLittleEndian (suggested
395         by Paolo) instead of guessing the endianness.
396
397         * SocketAddress.cs: implemented Equals() and GetHashcode().
398         
399 2002-04-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
400
401         * IPEndPoint.cs: modifications to constructors according to the
402         specifications (suggested by Lawrence Pit).
403
404 2002-04-15  Patrik Torstensson <patrik.torstensson@labs2.com>
405
406         * IPEndPoint.cs: Fixed build breaker.
407
408 2002-04-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
409
410         * IPEndPoint.cs: implemented Equals() and GetHashCode(). Now 100%
411         complete.
412
413 2002-04-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
414
415         * IPAddress.cs: finished all MonoTODO's. Use network order to store 
416         the address. Check for max and min values in Address:set. IsLoopback()
417         returns now true for all 127.x.y.z. Some more checks in Parse ().
418         Some changes to behave as MS does.
419
420 2002-02-24  Duncan Mak  <duncan@ximian.com>
421
422         * ICredentialLookup.cs: Added the GetCredential method to the
423         interface. The interface is named "ICredentials", should this file
424         be renamed?     
425
426         * NetworkCredential.cs: Added to CVS. Need to investigate on how
427         GetCredential() works
428
429 2002-01-23  Dick Porter  <dick@ximian.com>
430
431         * SocketAddress.cs: Implemented.
432
433         * IPEndPoint.cs: Turned 'Address' field into a real property.
434         Implemented Create() and Serialize() methods.
435
436         * IPAddress.cs: Fixed class constructor, turned 'Address' field
437         into a real property. Removed undocumented "public
438         IPAddress(string)" constructor.
439
440         * EndPoint.cs: Implemented.  All methods return
441         NotSupportedException to enforce subclass overriding.
442
443         * Dns.cs: Replaced fixed-layout Hostent struct and cygwin
444         P/Invokes with portable internal calls.
445
446 2002-01-17  Miguel de Icaza  <miguel@ximian.com>
447
448         * Dns.cs: Updated to API changes.
449
450         * IPAddress.cs: Updated API.  Much left to implement.
451
452         * Dns.cs: Remove IPToString method
453
454 2002-01-06  Ravi Pratap  <ravi@ximian.com>
455
456         * Dns.cs, AuthenticationManager.cs, SocketAddress.cs : MonoTODO
457         attribute insertion.
458
459 2001-11-22  Nick Drochak <ndrochak@gol.com>
460
461         * IPAddress.cs: Fix constructor bug, properly name Address property,
462         and use triple-slash for comments.
463
464 2001-11-20  Miguel de Icaza  <miguel@ximian.com>
465
466         * IPAddress.cs: Updated to contain Any, Broadcast, Loopback and
467         None as suggested by Phillip.
468
469 2001-09-26  Mads Pultz <mpultz@get2net.dk>
470         * Dns.cs: Initial work on BeginGetHostByName and EndGetHostByName implemented.
471
472 2001-09-24  Mads Pultz <mpultz@get2net.dk>
473
474         * Dns.cs: Minor changes (some print statements removed)
475
476 2001-09-23  Mads Pultz <mpultz@get2net.dk>
477
478         * Dns.cs: Initial work submitted to repository.
479         * IPHostEntry.cs: Initial work submitted to repository.
480
481 2001-07-12  Sean MacIsaac  <macisaac@ximian.com>
482
483         * Authorization.cs: Fixed compiler error.
484
485         * IAuthenticationModule.cs: Changes for Beta2.
486
487         * IPAddress.cs: Internal storage changed to be uint not int.
488
489         * IPEndPoint.cs: Fixed compiler error.
490
491         * EndPoint.cs: Fixed compiler error.
492
493         * AuthenticationManager.cs: Fixed typo.