ChangeLog 19 KB

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