1 2003-07-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3 * WebClient.cs: fixed bug #45651.
5 2003-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
7 * WebClient.cs: Small fix by Sebastian <scut@nb.in-berlin.de>.
9 2003-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
11 * WebConnection.cs: fixed header writing the reusing a connection and
12 the server does not send 100-continue response.
14 2003-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
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.
22 * FileWebRequest.cs: support serialization.
24 * FileWebResponse.cs: support serialization and fixed dispose checks.
26 * FileWebRequestCreator.cs:
27 * HttpRequestCreator.cs: added internal .ctor.
29 2003-06-24 Lluis Sanchez Gual <lluis@ximian.com>
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.
36 2003-06-22 Lluis Sanchez Gual <lluis@ximian.com>
38 * WebConnectionStream.cs: Only increment pendingReads if an asynchronous
39 read is really needed.
41 2003-06-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
43 * WebHeaderCollection.cs: prevent duplication headers used niternally.
45 2003-06-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
47 * HttpWebRequest.cs: if CookieContainer has not been set, make
48 HttpWebResponse ignore Set-Cookie* headers.
50 * HttpWebResponse.cs: Set-Cookie and Set-Cookie headers removed if
51 CookieContainer have been provided to the request.
53 2003-06-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
55 * AuthenticationManager.cs: get the list of authentication modules from
56 the configuration files. Added Clear and fixed Unregister.
58 * BasicClient.cs: fully implemented.
60 * HttpWebRequest.cs: added support for Basic authentication when
63 * NetworkCredential.cs: fixed GetCredential.
65 2003-06-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
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.
72 2003-06-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
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
78 * WebConnection.cs: check for completion after setting the response.
79 Enable reading in NextRead.
81 * WebConnectionStream.cs: re-fixed the count for partially buffered
82 reads. If the network stream returns 0 bytes, we're done.
84 2003-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
86 * WebClient.cs: implemented UploadFile. Fixed SetupRequest to set the
87 special headers *after* the others.
89 2003-06-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
91 * WebConnectionStream.cs: when the read is partially filled from the
92 initial buffer, add those bytes too. Thanks to Lluis for debugging this.
94 2003-06-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
96 * HttpWebRequest.cs: added ExpectContinue property.
97 * WebConnection.cs: allow 100 Continue to be delayed after waiting for
100 2003-06-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
102 * HttpWebRequest.cs: don't send "Expect: 100-continue" is the server
103 is known not to respond to that.
105 * ServicePoint.cs: added SendContinue property.
107 * WebConnection.cs: only wait 2 seconds for a continue reply. If it
108 timeouts, set SendContinue to false and proceeed sending data.
110 * WebConnectionStream.cs: if 100-continue is not received and instead we
111 get a 417 or anything else, don't send the data.
113 * WebClient.cs: implemented all missing properties and methods except
116 2003-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
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.
123 2003-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
125 * AuthenticationManager.cs:
127 * BasicClient.cs: new file.
128 * ChunkStream.cs: new file.
130 * CookieContainer.cs:
131 * GlobalProxySelection.cs:
133 * HttpWebResponse.cs:
134 * IAuthenticationModule.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.
143 * WebHeaderCollection.cs:
147 Reworked HttpWebRequest and related classes.
149 2003-05-30 Miguel de Icaza <miguel@ximian.com>
151 * HttpWebRequest.cs (EndGetResponse): Do not throw exceptions on
152 InternalServerError (500)
154 2003-05-29 Miguel de Icaza <miguel@ximian.com>
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
161 2003-05-23 Zoltan Varga <vargaz@freemail.hu>
163 * Dns.cs (GetHostByAddress): Return the local host when called with
166 2003-04-29 Miguel de Icaza <miguel@ximian.com>
168 * WebClient.cs (DownloadData): Close the underlyng stream.
169 (DownloadFile): Use using, so the file gets closed.
171 2003-04-24 Miguel de Icaza <miguel@ximian.com>
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
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.
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
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.
195 2003-04-23 Miguel de Icaza <miguel@ximian.com>
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.
202 Notice that the documentation in .NET is actually incorrect, they
203 state that setting ContentLength is mandatory. It is not.
205 2003-04-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
207 * HttpWebResponse.cs: fixes bug #41180.
209 2003-03-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
211 * HttpWebRequest.cs: throw an exception is the response code is >= 300.
213 2003-03-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
215 * HttpWebRequest.cs: implemented IDisposable, make the request stream
216 read only. Changed the way of disposing the socket.
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).
223 2003-02-17 Nick Drochak <ndrochak@gol.com>
225 * WebClient.cs : Implemented Credentials property.
227 2003-02-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
229 * SocketAddress.cs: byte 1 of the data is the high byte of the family,
232 2003-01-29 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
234 * WebClient.cs : hacked OpenRead, DownloadData and DownloadFile.
236 2002-10-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
238 * HttpWebRequest.cs: applied patch from Tim Haynes
239 (thaynes@openlinksw.com).
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
246 2002-10-03 Dick Porter <dick@ximian.com>
248 * Dns.cs: Fixed GetHostName()
250 2002-09-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
253 * HttpWebResponse.cs: applied another patch from Shahms E. King
256 2002-09-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
259 * HttpWebResponse.cs: applied patch from Shahms E. King
262 2002-05-29 Lawrence Pit <loz@cable.a2000.nl>
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
270 2002-05-21 Lawrence Pit <loz@cable.a2000.nl>
272 * WebClient.cs: stubbed
273 * WebProxy.cs: fixed bug; had to change internal representation
274 of bypasslist to ArrayList, different implementation of checking
277 2002-05-20 Lawrence Pit <loz@cable.a2000.nl>
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
286 2002-05-19 Lawrence Pit <loz@cable.a2000.nl>
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.
293 2002-05-13 Lawrence Pit <loz@cable.a2000.nl>
295 * Dns.cs: Reimplemented (simplified and fixed) asynchronous methods by
296 relying on standard asynchronous delegate features. Added checks for
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
303 2002-05-12 Lawrence Pit <loz@cable.a2000.nl>
305 * HttpWebRequest.cs: properties implemented
306 * HttpWebResponse.cs: added
307 * GlobalProxySelection.cs: implemented
308 * FileWebResponse.cs: added
309 * FileWebRequest.cs: some methods implemented
311 2002-05-11 Lawrence Pit <loz@cable.a2000.nl>
313 * WebHeaderCollection.cs: implemented
314 * WebRequest.cs: implemented
315 * FileWebRequest.cs and HttpWebRequest.cs stubs added
317 2002-05-09 Lawrence Pit <loz@cable.a2000.nl>
319 * Rewrote IPAddress.Parse method, passing all unit tests
321 2002-05-09 Lawrence Pit <loz@cable.a2000.nl>
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
328 2002-05-06 Lawrence Pit <loz@cable.a2000.nl>
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
344 2002-05-05 Lawrence Pit <loz@cable.a2000.nl>
346 * CredentialCache.cs: implemented
348 2002-05-05 Lawrence Pit <loz@cable.a2000.nl>
350 * IPAddress.cs: fixed IsLoopback, address was already in host order
352 2002-05-05 Lawrence Pit <loz@cable.a2000.nl>
354 * IPv6Address.cs: added (note: not part of .net spec)
356 2002-05-01 Lawrence Pit <loz@cable.a2000.nl>
358 * DnsPermission.cs: implemented
359 * DnsPermissionAttribute.cs: implemented
361 2002-04-28 Lawrence Pit <loz@cable.a2000.nl>
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
369 2002-04-27 Lawrence Pit <loz@cable.a2000.nl>
371 * Cookie.cs: implemented
372 * CookieCollection.cs: implemented
373 * CookieException.cs: implemented
375 2002-04-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
377 * IPAddress.cs: initialize the read only fields with Parse().
379 2002-04-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
381 * IPAddress.cs: little changes to behave as MS.
383 2002-04-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
385 * Dns.cs (Resolve): behave as MS. Agreed with Mads.
387 2002-04-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
389 * IPAddress.cs: the icalls for sockets are endianness-aware. So I
390 changed a few things. Also included a workaround for bug #23547.
392 2002-04-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
394 * IPAddress.cs: use System.BitConverter.IsLittleEndian (suggested
395 by Paolo) instead of guessing the endianness.
397 * SocketAddress.cs: implemented Equals() and GetHashcode().
399 2002-04-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
401 * IPEndPoint.cs: modifications to constructors according to the
402 specifications (suggested by Lawrence Pit).
404 2002-04-15 Patrik Torstensson <patrik.torstensson@labs2.com>
406 * IPEndPoint.cs: Fixed build breaker.
408 2002-04-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
410 * IPEndPoint.cs: implemented Equals() and GetHashCode(). Now 100%
413 2002-04-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
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.
420 2002-02-24 Duncan Mak <duncan@ximian.com>
422 * ICredentialLookup.cs: Added the GetCredential method to the
423 interface. The interface is named "ICredentials", should this file
426 * NetworkCredential.cs: Added to CVS. Need to investigate on how
427 GetCredential() works
429 2002-01-23 Dick Porter <dick@ximian.com>
431 * SocketAddress.cs: Implemented.
433 * IPEndPoint.cs: Turned 'Address' field into a real property.
434 Implemented Create() and Serialize() methods.
436 * IPAddress.cs: Fixed class constructor, turned 'Address' field
437 into a real property. Removed undocumented "public
438 IPAddress(string)" constructor.
440 * EndPoint.cs: Implemented. All methods return
441 NotSupportedException to enforce subclass overriding.
443 * Dns.cs: Replaced fixed-layout Hostent struct and cygwin
444 P/Invokes with portable internal calls.
446 2002-01-17 Miguel de Icaza <miguel@ximian.com>
448 * Dns.cs: Updated to API changes.
450 * IPAddress.cs: Updated API. Much left to implement.
452 * Dns.cs: Remove IPToString method
454 2002-01-06 Ravi Pratap <ravi@ximian.com>
456 * Dns.cs, AuthenticationManager.cs, SocketAddress.cs : MonoTODO
459 2001-11-22 Nick Drochak <ndrochak@gol.com>
461 * IPAddress.cs: Fix constructor bug, properly name Address property,
462 and use triple-slash for comments.
464 2001-11-20 Miguel de Icaza <miguel@ximian.com>
466 * IPAddress.cs: Updated to contain Any, Broadcast, Loopback and
467 None as suggested by Phillip.
469 2001-09-26 Mads Pultz <mpultz@get2net.dk>
470 * Dns.cs: Initial work on BeginGetHostByName and EndGetHostByName implemented.
472 2001-09-24 Mads Pultz <mpultz@get2net.dk>
474 * Dns.cs: Minor changes (some print statements removed)
476 2001-09-23 Mads Pultz <mpultz@get2net.dk>
478 * Dns.cs: Initial work submitted to repository.
479 * IPHostEntry.cs: Initial work submitted to repository.
481 2001-07-12 Sean MacIsaac <macisaac@ximian.com>
483 * Authorization.cs: Fixed compiler error.
485 * IAuthenticationModule.cs: Changes for Beta2.
487 * IPAddress.cs: Internal storage changed to be uint not int.
489 * IPEndPoint.cs: Fixed compiler error.
491 * EndPoint.cs: Fixed compiler error.
493 * AuthenticationManager.cs: Fixed typo.