1 2003-10-12 Pedro Martínez Juliá <yoros@wanadoo.es>
3 * WebClient.cs: refine reading of local files (like MS.NET).
5 2003-10-10 Pedro Martínez Juliá <yoros@wanadoo.es>
7 * WebClient.cs: MS.NET works right when we try OpenRead("file.txt")
8 but we didn't. Now, when Uri fails with an exception, it adds
9 "file://" before the URI and tries again.
11 2003-10-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
13 * ServicePoint.cs: preparing for recycling. Not yet finished.
14 * ServicePointManager.cs: this is the one that reads config.
15 * WebConnectionGroup.cs: don't read config here.
16 * WebConnection.cs: added the queue again. Launch queued requests on
19 2003-10-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
21 * WebConnection.cs: the queue is now handled by the threadpool.
22 Initialize the connection data in a place where it does not depend on
23 the execution order of the requests in threadpool. More error handling.
25 * WebConnectionGroup.cs: use the limits in the config file and reuse
26 connections when the limit is reached.
28 2003-10-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
30 * HttpWebRequest.cs: handle 304 à la MS.
31 * WebConnection.cs: set the response data when reading 0 bytes.
33 2003-09-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
35 * WebConnectionStream.cs: fix by Lluis to avoid the stream being in an
38 2003-08-14 Nick Drochak <ndrochak@gol.com>
40 * WebRequest.cs: Check lower case string since that is what we will add.
42 2003-08-04 Jerome Laban <jlaban@wanadoo.fr>
44 * IPHostEntry.cs: Default contructor must not initialize members.
47 2003-07-27 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
49 * CredentialCache.cs: Removed undefined serializable attribute
51 2003-07-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
54 (WantMore): true if we've not received the last chunk yet. Fixes
55 bug #45463. Thanks to Miguel for tracking this down and providing a
58 * WebConnection.cs: removed bogus ^M's.
60 * WebHeaderCollection.cs: provide more info when the header or value is
63 2003-07-15 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
65 * ChunkStream.cs: Removed unused members
66 * IPAddress.cs: Removed unused exception variable, fixes compiler
68 * WebConnection.cs: Removed unused exception variables, fixes compiler
71 2003-07-14 Lluis Sanchez Gual <lluis@ximian.com>
73 * NetConfig.cs: If Clone method is not public, then it must use
74 explicit interface method implementation syntax.
76 2003-07-14 Jerome Laban <jlaban@wanadoo.fr>
78 * Dns.cs: Reworked indentation.
80 Added literal address checking in GetHostByAddress.
81 Changed Dns.Resolve behavior.
83 * IPEndPoint.cs: Added IPv6 support.
84 * IPv6Address.cs: Added address compression.
85 * NetConfig.cs: Added configuration section.
87 2003-07-14 Jerome Laban <jlaban@wanadoo.fr>
89 * ServicePoint.cs: Removed Connect and GetEndPoint methods.
90 Removed reverse resolution when uri is literal IP address.
91 * WebConnection.cs: IPv6 compatibility update: Try to connect
92 to all addresses returned by IPHostEntry.
93 * WebConnectionGroup.cs: Removed unused parameter.
95 2003-07-13 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
97 * WebProxy.cs: Add serialization/ deserialization support
99 2003-07-10 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
102 * WebStatus.cs: Deleted (do not exist in this assembly)
103 * IPv6Address.cs: Made internal
105 2003-07-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
108 * ServicePointManager.cs:
109 * WebConnection.cs: added support for proxies.
111 2003-07-05 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
113 * DnsPermissionAttribute.cs:
114 * SocketPermissionAttribute.cs: Fixed wrong AttributeUsageAttribute
116 2003-07-05 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
118 * WebPermission.cs: Added and partially implemented
119 * WebPermissionAttribute.cs: Added and implemented
121 2003-07-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
123 * WebClient.cs: fixed bug #45651.
125 2003-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
127 * WebClient.cs: Small fix by Sebastian <scut@nb.in-berlin.de>.
129 2003-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
131 * WebConnection.cs: fixed header writing the reusing a connection and
132 the server does not send 100-continue response.
134 2003-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
136 * WebConnection.cs: close the socket and connection when disposing.
137 * WebRequest.cs: removed setter for RequestUri. Allow non-public ctors
138 when creating instances.
141 * HttpWebResponse.cs:
142 * FileWebRequest.cs: support serialization.
144 * FileWebResponse.cs: support serialization and fixed dispose checks.
146 * FileWebRequestCreator.cs:
147 * HttpRequestCreator.cs: added internal .ctor.
149 2003-06-24 Lluis Sanchez Gual <lluis@ximian.com>
151 * HttpWebRequest.cs: SetWriteStream(): SendRequestHeaders should be
152 called before asyncWrite.SetCompleted, to make sure that the waiting
153 thread does not start to send more information before
154 SendRequestHeaders has finished.
156 2003-06-22 Lluis Sanchez Gual <lluis@ximian.com>
158 * WebConnectionStream.cs: Only increment pendingReads if an asynchronous
159 read is really needed.
161 2003-06-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
163 * WebHeaderCollection.cs: prevent duplication headers used niternally.
165 2003-06-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
167 * HttpWebRequest.cs: if CookieContainer has not been set, make
168 HttpWebResponse ignore Set-Cookie* headers.
170 * HttpWebResponse.cs: Set-Cookie and Set-Cookie headers removed if
171 CookieContainer have been provided to the request.
173 2003-06-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
175 * AuthenticationManager.cs: get the list of authentication modules from
176 the configuration files. Added Clear and fixed Unregister.
178 * BasicClient.cs: fully implemented.
180 * HttpWebRequest.cs: added support for Basic authentication when
183 * NetworkCredential.cs: fixed GetCredential.
185 2003-06-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
187 * HttpWebRequest.cs: *really* take care of requestSent to prevent
188 sending the same request twice.
189 * WebAsyncResult.cs: don't close the handle. Just Reset.
190 * WebConnectionStream.cs: removed unneeded line.
192 2003-06-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
194 * HttpWebRequest.cs: use InternalClose when we are not going to send the
195 rest of the request stream because of an error after sending the
198 * WebConnection.cs: check for completion after setting the response.
199 Enable reading in NextRead.
201 * WebConnectionStream.cs: re-fixed the count for partially buffered
202 reads. If the network stream returns 0 bytes, we're done.
204 2003-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
206 * WebClient.cs: implemented UploadFile. Fixed SetupRequest to set the
207 special headers *after* the others.
209 2003-06-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
211 * WebConnectionStream.cs: when the read is partially filled from the
212 initial buffer, add those bytes too. Thanks to Lluis for debugging this.
214 2003-06-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
216 * HttpWebRequest.cs: added ExpectContinue property.
217 * WebConnection.cs: allow 100 Continue to be delayed after waiting for
220 2003-06-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
222 * HttpWebRequest.cs: don't send "Expect: 100-continue" is the server
223 is known not to respond to that.
225 * ServicePoint.cs: added SendContinue property.
227 * WebConnection.cs: only wait 2 seconds for a continue reply. If it
228 timeouts, set SendContinue to false and proceeed sending data.
230 * WebConnectionStream.cs: if 100-continue is not received and instead we
231 get a 417 or anything else, don't send the data.
233 * WebClient.cs: implemented all missing properties and methods except
236 2003-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
238 * FileWebRequestCreator.cs: splitted from WebRequest.
239 * HttpRequestCreator.cs: splitted fromWebRequest.
240 * WebRequest.cs: added methods that are used by the new configuration
241 handler to set prefix/type name requests creators.
243 2003-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
245 * AuthenticationManager.cs:
247 * BasicClient.cs: new file.
248 * ChunkStream.cs: new file.
250 * CookieContainer.cs:
251 * GlobalProxySelection.cs:
253 * HttpWebResponse.cs:
254 * IAuthenticationModule.cs:
256 * ServicePointManager.cs:
257 * WebAsyncResult.cs: new file.
258 * WebConnection.cs: new file.
259 * WebConnectionData.cs: new file.
260 * WebConnectionGroup.cs: new file.
261 * WebConnectionStream.cs: new file.
263 * WebHeaderCollection.cs:
267 Reworked HttpWebRequest and related classes.
269 2003-05-30 Miguel de Icaza <miguel@ximian.com>
271 * HttpWebRequest.cs (EndGetResponse): Do not throw exceptions on
272 InternalServerError (500)
274 2003-05-29 Miguel de Icaza <miguel@ximian.com>
276 * HttpWebRequest.cs (Close): Move the code that accumulates the
277 output to Close from Flush. Flush could have been called in the
278 middle of the processing, and would have generated invalid results
281 2003-05-23 Zoltan Varga <vargaz@freemail.hu>
283 * Dns.cs (GetHostByAddress): Return the local host when called with
286 2003-04-29 Miguel de Icaza <miguel@ximian.com>
288 * WebClient.cs (DownloadData): Close the underlyng stream.
289 (DownloadFile): Use using, so the file gets closed.
291 2003-04-24 Miguel de Icaza <miguel@ximian.com>
293 * WebClient.cs (DownloadData): Instead of using a MemoryStream,
294 keep track of all the small chunks in an ArrayList. The
295 MemoryStream had the property of reallocating itself, and the
296 problem was that MemoryStream.GetBuffer would return the buffer
297 (correctly), but not something of the right size. So clients of
298 DownloadData would get the extra unused bytes as part of the
301 The solution would have been to make another copy at this point,
302 instead, we only keep the small allocations around in the
303 ArrayList, and we only do one large allocation at the end.
305 * HttpWebResponse.cs: If there is a Content-Length header, pass
306 this information to our HttpWebResponseStream, so it knows when to
307 stop, instead of waiting for the stream to be shut down by the
310 * HttpWebRequest.cs: Only set the `delay-header-writing' mode on
311 the underlying stream if the method will do a content transfer and
312 no Content-Length was provided. If not (HEAD and GET or
313 Content-Length provided), keep going.
315 2003-04-23 Miguel de Icaza <miguel@ximian.com>
317 * HttpWebRequest.cs: .NET Allows the HttpWebRequest to not have
318 the ContentLength specified on the request. If that happens, we
319 have to accumulate all the data written, and once we accumulate
320 the data, we send it off.
322 Notice that the documentation in .NET is actually incorrect, they
323 state that setting ContentLength is mandatory. It is not.
325 2003-04-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
327 * HttpWebResponse.cs: fixes bug #41180.
329 2003-03-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
331 * HttpWebRequest.cs: throw an exception is the response code is >= 300.
333 2003-03-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
335 * HttpWebRequest.cs: implemented IDisposable, make the request stream
336 read only. Changed the way of disposing the socket.
338 * HttpWebResponse.cs: wrapped the socket in a write-only NetworkStream,
339 handle chunked transfer encoding (no more hangs), added serialization
340 stuff, call CheckDisposed at the beginning of methods/properties (not
341 in a finally clause).
343 2003-02-17 Nick Drochak <ndrochak@gol.com>
345 * WebClient.cs : Implemented Credentials property.
347 2003-02-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
349 * SocketAddress.cs: byte 1 of the data is the high byte of the family,
352 2003-01-29 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
354 * WebClient.cs : hacked OpenRead, DownloadData and DownloadFile.
356 2002-10-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
358 * HttpWebRequest.cs: applied patch from Tim Haynes
359 (thaynes@openlinksw.com).
361 Avoided double-sending of the request to the server when both
362 GetRequestStream() and GetResponse() are called.
363 System Header attributes survive the Headers attribute set.
364 Added handling of Connection: KeepAlive/Close
366 2002-10-03 Dick Porter <dick@ximian.com>
368 * Dns.cs: Fixed GetHostName()
370 2002-09-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
373 * HttpWebResponse.cs: applied another patch from Shahms E. King
376 2002-09-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
379 * HttpWebResponse.cs: applied patch from Shahms E. King
382 2002-05-29 Lawrence Pit <loz@cable.a2000.nl>
384 * MonoHttpDate.cs: added
385 * HttpWebRequest.cs: using MonoHttpDate
386 * HttpWebResponse.cs: using MonoHttpDate
387 * DnsPermission.cs: correct XML output
388 * SocketPermission.cs: correct XML output
390 2002-05-21 Lawrence Pit <loz@cable.a2000.nl>
392 * WebClient.cs: stubbed
393 * WebProxy.cs: fixed bug; had to change internal representation
394 of bypasslist to ArrayList, different implementation of checking
397 2002-05-20 Lawrence Pit <loz@cable.a2000.nl>
399 * WebProxy.cs: added, implemented
400 * ServicePoint.cs: implemented most
401 * ServicePointManager.cs: implemented
402 * HttpWebRequest.cs: started implementation
403 * HttpWebResponse.cs: improved disposable routines
404 * FileWebRequest.cs: slight improvement of Close method
406 2002-05-19 Lawrence Pit <loz@cable.a2000.nl>
408 * FileWebRequest.cs: finished implementation of async methods.
409 * FileWebResponse.cs: improved disposable routines.
410 * IPEndPoint.cs: fixed bug #24666 in Serialize and Create methods,
411 byte ordering of address was backwards.
413 2002-05-13 Lawrence Pit <loz@cable.a2000.nl>
415 * Dns.cs: Reimplemented (simplified and fixed) asynchronous methods by
416 relying on standard asynchronous delegate features. Added checks for
418 * HttpWebResponse.cs: implemented properties
419 * FileWebResponse.cs: improved the way resources are disposed.
420 * FileWebRequest.cs: started implementation of asynchronous methods
421 * ServicePointManager.cs: implemented properties
423 2002-05-12 Lawrence Pit <loz@cable.a2000.nl>
425 * HttpWebRequest.cs: properties implemented
426 * HttpWebResponse.cs: added
427 * GlobalProxySelection.cs: implemented
428 * FileWebResponse.cs: added
429 * FileWebRequest.cs: some methods implemented
431 2002-05-11 Lawrence Pit <loz@cable.a2000.nl>
433 * WebHeaderCollection.cs: implemented
434 * WebRequest.cs: implemented
435 * FileWebRequest.cs and HttpWebRequest.cs stubs added
437 2002-05-09 Lawrence Pit <loz@cable.a2000.nl>
439 * Rewrote IPAddress.Parse method, passing all unit tests
441 2002-05-09 Lawrence Pit <loz@cable.a2000.nl>
443 * fixed bug in IPEndPoint.Equals method
444 * fixed bug in IPAddress.Parse method
445 * fixed bug in IPAddress.SwapLong method
446 * fixed several bugs in Cookie.cs
448 2002-05-06 Lawrence Pit <loz@cable.a2000.nl>
450 * WebRequest.cs: added
451 * WebResponse.cs: implemented
452 * WebException.cs: implemented
453 * WebHeaderCollection.cs: added
454 * HttpVersion.cs: implemented
455 * HttpContinueDelegate.cs: added
456 * IWebProxy.cs: added
457 * IWebRequestCreate.cs: added
458 * ICertificatePolicy.cs: added
459 * ServicePoint.cs: stubbed
460 * ServicePointManager.cs: stubbed
461 * CookieContainer.cs: added
462 * Authorization.cs: implemented
464 2002-05-05 Lawrence Pit <loz@cable.a2000.nl>
466 * CredentialCache.cs: implemented
468 2002-05-05 Lawrence Pit <loz@cable.a2000.nl>
470 * IPAddress.cs: fixed IsLoopback, address was already in host order
472 2002-05-05 Lawrence Pit <loz@cable.a2000.nl>
474 * IPv6Address.cs: added (note: not part of .net spec)
476 2002-05-01 Lawrence Pit <loz@cable.a2000.nl>
478 * DnsPermission.cs: implemented
479 * DnsPermissionAttribute.cs: implemented
481 2002-04-28 Lawrence Pit <loz@cable.a2000.nl>
483 * EndpointPermission.cs: implemented
484 * SocketPermission.cs: implemented
485 * SocketPermissionAttribute.cs: implemented
486 * ProtocolViolationException.cs: implemented
487 * Dns.c: passing w32 error code when no host found
489 2002-04-27 Lawrence Pit <loz@cable.a2000.nl>
491 * Cookie.cs: implemented
492 * CookieCollection.cs: implemented
493 * CookieException.cs: implemented
495 2002-04-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
497 * IPAddress.cs: initialize the read only fields with Parse().
499 2002-04-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
501 * IPAddress.cs: little changes to behave as MS.
503 2002-04-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
505 * Dns.cs (Resolve): behave as MS. Agreed with Mads.
507 2002-04-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
509 * IPAddress.cs: the icalls for sockets are endianness-aware. So I
510 changed a few things. Also included a workaround for bug #23547.
512 2002-04-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
514 * IPAddress.cs: use System.BitConverter.IsLittleEndian (suggested
515 by Paolo) instead of guessing the endianness.
517 * SocketAddress.cs: implemented Equals() and GetHashcode().
519 2002-04-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
521 * IPEndPoint.cs: modifications to constructors according to the
522 specifications (suggested by Lawrence Pit).
524 2002-04-15 Patrik Torstensson <patrik.torstensson@labs2.com>
526 * IPEndPoint.cs: Fixed build breaker.
528 2002-04-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
530 * IPEndPoint.cs: implemented Equals() and GetHashCode(). Now 100%
533 2002-04-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
535 * IPAddress.cs: finished all MonoTODO's. Use network order to store
536 the address. Check for max and min values in Address:set. IsLoopback()
537 returns now true for all 127.x.y.z. Some more checks in Parse ().
538 Some changes to behave as MS does.
540 2002-02-24 Duncan Mak <duncan@ximian.com>
542 * ICredentialLookup.cs: Added the GetCredential method to the
543 interface. The interface is named "ICredentials", should this file
546 * NetworkCredential.cs: Added to CVS. Need to investigate on how
547 GetCredential() works
549 2002-01-23 Dick Porter <dick@ximian.com>
551 * SocketAddress.cs: Implemented.
553 * IPEndPoint.cs: Turned 'Address' field into a real property.
554 Implemented Create() and Serialize() methods.
556 * IPAddress.cs: Fixed class constructor, turned 'Address' field
557 into a real property. Removed undocumented "public
558 IPAddress(string)" constructor.
560 * EndPoint.cs: Implemented. All methods return
561 NotSupportedException to enforce subclass overriding.
563 * Dns.cs: Replaced fixed-layout Hostent struct and cygwin
564 P/Invokes with portable internal calls.
566 2002-01-17 Miguel de Icaza <miguel@ximian.com>
568 * Dns.cs: Updated to API changes.
570 * IPAddress.cs: Updated API. Much left to implement.
572 * Dns.cs: Remove IPToString method
574 2002-01-06 Ravi Pratap <ravi@ximian.com>
576 * Dns.cs, AuthenticationManager.cs, SocketAddress.cs : MonoTODO
579 2001-11-22 Nick Drochak <ndrochak@gol.com>
581 * IPAddress.cs: Fix constructor bug, properly name Address property,
582 and use triple-slash for comments.
584 2001-11-20 Miguel de Icaza <miguel@ximian.com>
586 * IPAddress.cs: Updated to contain Any, Broadcast, Loopback and
587 None as suggested by Phillip.
589 2001-09-26 Mads Pultz <mpultz@get2net.dk>
590 * Dns.cs: Initial work on BeginGetHostByName and EndGetHostByName implemented.
592 2001-09-24 Mads Pultz <mpultz@get2net.dk>
594 * Dns.cs: Minor changes (some print statements removed)
596 2001-09-23 Mads Pultz <mpultz@get2net.dk>
598 * Dns.cs: Initial work submitted to repository.
599 * IPHostEntry.cs: Initial work submitted to repository.
601 2001-07-12 Sean MacIsaac <macisaac@ximian.com>
603 * Authorization.cs: Fixed compiler error.
605 * IAuthenticationModule.cs: Changes for Beta2.
607 * IPAddress.cs: Internal storage changed to be uint not int.
609 * IPEndPoint.cs: Fixed compiler error.
611 * EndPoint.cs: Fixed compiler error.
613 * AuthenticationManager.cs: Fixed typo.