2003-04-24 Miguel de Icaza <miguel@ximian.com>
[mono.git] / mcs / class / System / System.Net / ChangeLog
1 2003-04-24  Miguel de Icaza  <miguel@ximian.com>
2
3         * WebClient.cs (DownloadData): Instead of using a MemoryStream,
4         keep track of all the small chunks in an ArrayList.  The
5         MemoryStream had the property of reallocating itself, and the
6         problem was that MemoryStream.GetBuffer would return the buffer
7         (correctly), but not something of the right size.  So clients of
8         DownloadData would get the extra unused bytes as part of the
9         result.
10
11         The solution would have been to make another copy at this point,
12         instead, we only keep the small allocations around in the
13         ArrayList, and we only do one large allocation at the end.
14
15         * HttpWebResponse.cs: If there is a Content-Length header, pass
16         this information to our HttpWebResponseStream, so it knows when to
17         stop, instead of waiting for the stream to be shut down by the
18         other end.
19
20         * HttpWebRequest.cs: Only set the `delay-header-writing' mode on
21         the underlying stream if the method will do a content transfer and
22         no Content-Length was provided. If not (HEAD and GET or
23         Content-Length provided), keep going.
24         
25 2003-04-23  Miguel de Icaza  <miguel@ximian.com>
26
27         * HttpWebRequest.cs: .NET Allows the HttpWebRequest to not have
28         the ContentLength specified on the request.  If that happens, we
29         have to accumulate all the data written, and once we accumulate
30         the data, we send it off.  
31
32         Notice that the documentation in .NET is actually incorrect, they
33         state that setting ContentLength is mandatory.  It is not.
34
35 2003-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
36
37         * HttpWebResponse.cs: fixes bug #41180.
38
39 2003-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
40
41         * HttpWebRequest.cs: throw an exception is the response code is >= 300.
42
43 2003-03-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
44
45         * HttpWebRequest.cs: implemented IDisposable, make the request stream
46         read only. Changed the way of disposing the socket.
47
48         * HttpWebResponse.cs: wrapped the socket in a write-only NetworkStream,
49         handle chunked transfer encoding (no more hangs), added serialization
50         stuff, call CheckDisposed at the beginning of methods/properties (not
51         in a finally clause).
52
53 2003-02-17  Nick Drochak <ndrochak@gol.com>
54
55         * WebClient.cs : Implemented Credentials property.
56
57 2003-02-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
58
59         * SocketAddress.cs: byte 1 of the data is the high byte of the family,
60         not the size.
61
62 2003-01-29  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
63
64         * WebClient.cs : hacked OpenRead, DownloadData and DownloadFile.
65
66 2002-10-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
67
68         * HttpWebRequest.cs: applied patch from Tim Haynes
69         (thaynes@openlinksw.com).
70
71         Avoided double-sending of the request to the server when both
72         GetRequestStream() and GetResponse() are called.
73         System Header attributes survive the Headers attribute set.
74         Added handling of Connection: KeepAlive/Close
75
76 2002-10-03  Dick Porter  <dick@ximian.com>
77
78         * Dns.cs: Fixed GetHostName()
79
80 2002-09-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
81
82         * HttpWebRequest.cs:
83         * HttpWebResponse.cs: applied another patch from Shahms E. King
84         (shahms@shahms.com).
85
86 2002-09-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
87
88         * HttpWebRequest.cs:
89         * HttpWebResponse.cs: applied patch from Shahms E. King
90         (shahms@shahms.com).
91
92 2002-05-29  Lawrence Pit <loz@cable.a2000.nl>
93
94         * MonoHttpDate.cs: added
95         * HttpWebRequest.cs: using MonoHttpDate
96         * HttpWebResponse.cs: using MonoHttpDate
97         * DnsPermission.cs: correct XML output
98         * SocketPermission.cs: correct XML output
99
100 2002-05-21  Lawrence Pit <loz@cable.a2000.nl>
101
102         * WebClient.cs: stubbed
103         * WebProxy.cs: fixed bug; had to change internal representation
104         of bypasslist to ArrayList, different implementation of checking
105         regex's.
106
107 2002-05-20  Lawrence Pit <loz@cable.a2000.nl>
108
109         * WebProxy.cs: added, implemented
110         * ServicePoint.cs: implemented most
111         * ServicePointManager.cs: implemented
112         * HttpWebRequest.cs: started implementation
113         * HttpWebResponse.cs: improved disposable routines
114         * FileWebRequest.cs: slight improvement of Close method
115         
116 2002-05-19  Lawrence Pit <loz@cable.a2000.nl>
117
118         * FileWebRequest.cs: finished implementation of async methods.
119         * FileWebResponse.cs: improved disposable routines.
120         * IPEndPoint.cs: fixed bug #24666 in Serialize and Create methods, 
121         byte ordering of address was backwards.
122
123 2002-05-13  Lawrence Pit <loz@cable.a2000.nl>
124
125         * Dns.cs: Reimplemented (simplified and fixed) asynchronous methods by
126         relying on standard asynchronous delegate features. Added checks for
127         null strings.
128         * HttpWebResponse.cs: implemented properties
129         * FileWebResponse.cs: improved the way resources are disposed.
130         * FileWebRequest.cs: started implementation of asynchronous methods
131         * ServicePointManager.cs: implemented properties
132
133 2002-05-12  Lawrence Pit <loz@cable.a2000.nl>
134
135         * HttpWebRequest.cs: properties implemented
136         * HttpWebResponse.cs: added
137         * GlobalProxySelection.cs: implemented
138         * FileWebResponse.cs: added
139         * FileWebRequest.cs: some methods implemented
140
141 2002-05-11  Lawrence Pit <loz@cable.a2000.nl>
142
143         * WebHeaderCollection.cs: implemented
144         * WebRequest.cs: implemented
145         * FileWebRequest.cs and HttpWebRequest.cs stubs added
146
147 2002-05-09  Lawrence Pit <loz@cable.a2000.nl>
148
149         * Rewrote IPAddress.Parse method, passing all unit tests
150
151 2002-05-09  Lawrence Pit <loz@cable.a2000.nl>
152
153         * fixed bug in IPEndPoint.Equals method
154         * fixed bug in IPAddress.Parse method
155         * fixed bug in IPAddress.SwapLong method
156         * fixed several bugs in Cookie.cs
157
158 2002-05-06  Lawrence Pit <loz@cable.a2000.nl>
159
160         * WebRequest.cs: added
161         * WebResponse.cs: implemented
162         * WebException.cs: implemented
163         * WebHeaderCollection.cs: added
164         * HttpVersion.cs: implemented
165         * HttpContinueDelegate.cs: added
166         * IWebProxy.cs: added
167         * IWebRequestCreate.cs: added
168         * ICertificatePolicy.cs: added
169         * ServicePoint.cs: stubbed
170         * ServicePointManager.cs: stubbed
171         * CookieContainer.cs: added
172         * Authorization.cs: implemented
173
174 2002-05-05  Lawrence Pit <loz@cable.a2000.nl>
175
176         * CredentialCache.cs: implemented
177
178 2002-05-05  Lawrence Pit <loz@cable.a2000.nl>
179
180         * IPAddress.cs: fixed IsLoopback, address was already in host order
181
182 2002-05-05  Lawrence Pit <loz@cable.a2000.nl>
183
184         * IPv6Address.cs: added (note: not part of .net spec)
185
186 2002-05-01  Lawrence Pit <loz@cable.a2000.nl>
187
188         * DnsPermission.cs: implemented
189         * DnsPermissionAttribute.cs: implemented
190
191 2002-04-28  Lawrence Pit <loz@cable.a2000.nl>
192
193         * EndpointPermission.cs: implemented
194         * SocketPermission.cs: implemented
195         * SocketPermissionAttribute.cs: implemented
196         * ProtocolViolationException.cs: implemented
197         * Dns.c: passing w32 error code when no host found
198
199 2002-04-27  Lawrence Pit <loz@cable.a2000.nl>
200
201         * Cookie.cs: implemented
202         * CookieCollection.cs: implemented
203         * CookieException.cs: implemented
204
205 2002-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
206
207         * IPAddress.cs: initialize the read only fields with Parse().
208
209 2002-04-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
210
211         * IPAddress.cs: little changes to behave as MS.
212
213 2002-04-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
214
215         * Dns.cs (Resolve): behave as MS. Agreed with Mads.
216
217 2002-04-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
218
219         * IPAddress.cs: the icalls for sockets are endianness-aware. So I
220         changed a few things. Also included a workaround for bug #23547.
221
222 2002-04-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
223
224         * IPAddress.cs: use System.BitConverter.IsLittleEndian (suggested
225         by Paolo) instead of guessing the endianness.
226
227         * SocketAddress.cs: implemented Equals() and GetHashcode().
228         
229 2002-04-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
230
231         * IPEndPoint.cs: modifications to constructors according to the
232         specifications (suggested by Lawrence Pit).
233
234 2002-04-15  Patrik Torstensson <patrik.torstensson@labs2.com>
235
236         * IPEndPoint.cs: Fixed build breaker.
237
238 2002-04-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
239
240         * IPEndPoint.cs: implemented Equals() and GetHashCode(). Now 100%
241         complete.
242
243 2002-04-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
244
245         * IPAddress.cs: finished all MonoTODO's. Use network order to store 
246         the address. Check for max and min values in Address:set. IsLoopback()
247         returns now true for all 127.x.y.z. Some more checks in Parse ().
248         Some changes to behave as MS does.
249
250 2002-02-24  Duncan Mak  <duncan@ximian.com>
251
252         * ICredentialLookup.cs: Added the GetCredential method to the
253         interface. The interface is named "ICredentials", should this file
254         be renamed?     
255
256         * NetworkCredential.cs: Added to CVS. Need to investigate on how
257         GetCredential() works
258
259 2002-01-23  Dick Porter  <dick@ximian.com>
260
261         * SocketAddress.cs: Implemented.
262
263         * IPEndPoint.cs: Turned 'Address' field into a real property.
264         Implemented Create() and Serialize() methods.
265
266         * IPAddress.cs: Fixed class constructor, turned 'Address' field
267         into a real property. Removed undocumented "public
268         IPAddress(string)" constructor.
269
270         * EndPoint.cs: Implemented.  All methods return
271         NotSupportedException to enforce subclass overriding.
272
273         * Dns.cs: Replaced fixed-layout Hostent struct and cygwin
274         P/Invokes with portable internal calls.
275
276 2002-01-17  Miguel de Icaza  <miguel@ximian.com>
277
278         * Dns.cs: Updated to API changes.
279
280         * IPAddress.cs: Updated API.  Much left to implement.
281
282         * Dns.cs: Remove IPToString method
283
284 2002-01-06  Ravi Pratap  <ravi@ximian.com>
285
286         * Dns.cs, AuthenticationManager.cs, SocketAddress.cs : MonoTODO
287         attribute insertion.
288
289 2001-11-22  Nick Drochak <ndrochak@gol.com>
290
291         * IPAddress.cs: Fix constructor bug, properly name Address property,
292         and use triple-slash for comments.
293
294 2001-11-20  Miguel de Icaza  <miguel@ximian.com>
295
296         * IPAddress.cs: Updated to contain Any, Broadcast, Loopback and
297         None as suggested by Phillip.
298
299 2001-09-26  Mads Pultz <mpultz@get2net.dk>
300         * Dns.cs: Initial work on BeginGetHostByName and EndGetHostByName implemented.
301
302 2001-09-24  Mads Pultz <mpultz@get2net.dk>
303
304         * Dns.cs: Minor changes (some print statements removed)
305
306 2001-09-23  Mads Pultz <mpultz@get2net.dk>
307
308         * Dns.cs: Initial work submitted to repository.
309         * IPHostEntry.cs: Initial work submitted to repository.
310
311 2001-07-12  Sean MacIsaac  <macisaac@ximian.com>
312
313         * Authorization.cs: Fixed compiler error.
314
315         * IAuthenticationModule.cs: Changes for Beta2.
316
317         * IPAddress.cs: Internal storage changed to be uint not int.
318
319         * IPEndPoint.cs: Fixed compiler error.
320
321         * EndPoint.cs: Fixed compiler error.
322
323         * AuthenticationManager.cs: Fixed typo.