ChangeLog 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848
  1. 2004-02-18 Sebastien Pouliot <[email protected]>
  2. * SecurityProtocolType.cs: Added missing [Serializable] to enum. Added
  3. Default and Ssl2 to NET_1_2 profile. Enum is now internal for NET_1_0
  4. profile (as we need it for SslClientStream).
  5. * ServicePoint.cs: Added internal SetCertificates(client,server).
  6. * ServicePointManager.cs: Added CheckCertificateRevocationList and
  7. CheckCertificateRevocationList static properties (public in 1.1,
  8. internal for 1.0).
  9. * WebConnection.cs: Dynamically creates a SslClientStream (from
  10. Mono.Security assembly) in case of https. Changed NetworkStream to
  11. Stream everywhere.
  12. 2004-02-18 Gonzalo Paniagua Javier <[email protected]>
  13. * HttpWebRequest.cs: send the 'Connection: keep-alive' header when we
  14. don't know the server version or it's 1.0.
  15. * ServicePoint.cs: added SetVersion.
  16. * WebAsyncResult.cs: remove ChunkAsyncResult.
  17. * WebConnection.cs: set the ServicePoint version when getting a response
  18. from the server.
  19. * WebConnectionStream.cs: when posting chunked content, send the head,
  20. body and trailer of the chunk at once instead of doing 3 separate
  21. writes, which may cause troubles.
  22. 2004-02-18 Gonzalo Paniagua Javier <[email protected]>
  23. * WebConnection.cs: if we get a 100 when we're not waiting for it, set
  24. that information in the ServicePoint.
  25. * WebConnectionStream.cs: send headers in the right order for
  26. non-chunked POST.
  27. 2004-02-17 Gonzalo Paniagua Javier <[email protected]>
  28. * WebConnectionStream.cs: fixed nullrefs in BeginWrite/EndWrite.
  29. 2004-02-17 Gonzalo Paniagua Javier <[email protected]>
  30. * HttpWebRequest.cs: on second and sucesive tries when authenticating,
  31. don't use chunked encoding for POST, as we know the content length and
  32. have the body. Nullify bodyBuffer always in CheckFinalStatus.
  33. * WebAsyncResult.cs: added ChunkAsyncResult property. It holds the
  34. IAsyncResult when writing CRLF at the end of a chunk.
  35. * WebConnectionStream.cs: support sending chunked data.
  36. 2004-01-24 Lluis Sanchez Gual <[email protected]>
  37. * HttpWebRequest.cs: When retrying a POST request after an
  38. authentication failure, resend the body. This fixes bug #51841.
  39. * WebConnectionStream.cs: Added properties for getting what's been
  40. written.
  41. 2004-02-12 Gonzalo Paniagua Javier <[email protected]>
  42. * HttpWebRequest.cs: don't send 'Expect: 100-continue' for 1.0 version.
  43. 2004-02-12 Gonzalo Paniagua Javier <[email protected]>
  44. * HttpWebRequest.cs: support proxy authentication.
  45. 2004-02-12 Gonzalo Paniagua Javier <[email protected]>
  46. * BasicClient.cs:
  47. * DigestClient.cs: use IndexOf instead of StartsWith to deal with
  48. servers that provide several authentication schemas.
  49. 2004-02-12 Gonzalo Paniagua Javier <[email protected]>
  50. * ChunkStream.cs: use an array of buffers instead of a MemoryStream for
  51. storing the chunks. This way, we won't miss traling data from the
  52. previous chunk when a new one is received before the other is fully
  53. read.
  54. 2004-01-27 Nick Drochak <[email protected]>
  55. * DigestClient.cs:
  56. * HttpWebRequest.cs:
  57. * IPv6Address.cs:
  58. * WebClient.cs:
  59. * WebConnection.cs:
  60. * WebConnectionStream.cs: Remove unused variables thus eliminating some
  61. build warnings.
  62. 2004-01-26 Gonzalo Paniagua Javier <[email protected]>
  63. * WebConnection.cs: patch by Yaacov Akiba Slama that fixes 100-continue
  64. handling for the case when the same packet also contains the actual
  65. [2-5]xx response.
  66. 2004-01-24 Lluis Sanchez Gual <[email protected]>
  67. * HttpWebRequest.cs: Added missing property.
  68. 2004-01-23 Gonzalo Paniagua Javier <[email protected]>
  69. * Dns.cs: don't block forever in EndResolve and EndGetHostByName. Fixes
  70. bug #53222.
  71. 2004-01-16 Lluis Sanchez Gual <[email protected]>
  72. * ChunkStream.cs: The "size" parameter of Write is not the number of
  73. bytes to write, but the last offset to be written. Thus, in WriteAndRead
  74. Back, since "read" is not an offset but the number of bytes, it must be
  75. added to the offset. Maybe it would be a good idea to change the name of
  76. the parameter, since it is confusing. This should fix bug #52591.
  77. 2004-01-12 Lluis Sanchez Gual <[email protected]>
  78. * WebConnection.cs: Yet another fix for WebConnection. This fixes
  79. bug #52169.
  80. 2004-01-09 Gonzalo Paniagua Javier <[email protected]>
  81. * WebConnection.cs: Data.Init is a bad boy. Lluis realized. He also
  82. tidied up the end of ReadDone. Disabled relaunching the request if 2
  83. InitRead are called, since now we don't throw everything into
  84. RegisterWaitForSingleObject but one request at a time.
  85. * WebConnectionGroup.cs: when checking available connections, allow them
  86. not to be Connected but allocated to honor the connection limit.
  87. * WebConnectionStream.cs: CheckComplete() now checks for nextReadCalled
  88. too. ReadAll don't mess contentLength if it's provided in the headers.
  89. BIG thanks to Lluis. Turns out that we were debugging the same stuff and
  90. his Data.Init discovery was THE thing I was missing.
  91. Fixes bug #51277.
  92. 2004-01-09 Gonzalo Paniagua Javier <[email protected]>
  93. * ServicePointManager.cs: use GetMaxConnections to get the appropiate
  94. number of connections limit.
  95. 2004-01-09 Gonzalo Paniagua Javier <[email protected]>
  96. * MonoHttpDate.cs: use the invariant culture, not en-US. Suspected
  97. guilty for bug 52629.
  98. 2003-12-16 Gonzalo Paniagua Javier <[email protected]>
  99. * CredentialCache.cs: return null instead of throwing NotImplemented.
  100. 2003-12-12 Gonzalo Paniagua Javier <[email protected]>
  101. * HttpWebRequest.cs: fixed checking if method allows a body. Patch by
  102. Benjamin Jemlich ([email protected]).
  103. 2003-12-12 Gonzalo Paniagua Javier <[email protected]>
  104. * HttpWebRequest.cs: deal with authentication schemes that have more
  105. than 1 round trip (Ntlm).
  106. 2003-12-11 Gonzalo Paniagua Javier <[email protected]>
  107. * NtlmClient.cs: new class that actually uses one from Mono.Http to do
  108. the authentication.
  109. 2003-12-02 Gonzalo Paniagua Javier <[email protected]>
  110. * HttpWebRequest.cs: when building the redirect URI, use the previous
  111. one as the base URI, which makes relative URIs work.
  112. 2003-12-02 Gonzalo Paniagua Javier <[email protected]>
  113. * DigestClient.cs: merged in code from Sebastien Pouliot and Greg
  114. Reinacker that Supports cnonce and preauthentication.
  115. 2003-12-02 Gonzalo Paniagua Javier <[email protected]>
  116. * DigestClient.cs: initial Digest authentication. Works with apache
  117. mod_digest.
  118. 2003-11-27 Gonzalo Paniagua Javier <[email protected]>
  119. * HttpWebRequest.cs: removed unneeded StringBuilder.
  120. * WebConnection.cs: default to keep the connection open for HTTP/1.1
  121. only or HTTP/1.0 + (Proxy-)Connection header. Fixes bug #51208.
  122. 2003-11-17 Gonzalo Paniagua Javier <[email protected]>
  123. * WebConnection.cs: turns out that socket.Connected is not useful until
  124. we actually try to send/receive data, even if the other end has already
  125. closed the socket. Added TryReconnect() and Connected.
  126. * WebConnectionData.cs: default value for StatusCode is 0 now.
  127. * WebConnectionGroup.cs: reuse the connection since the beginning,
  128. instead of opening up to ConnectionLimit and then reusing.
  129. * WebConnectionStream.cs: reopen the socket if we're trying to reuse
  130. one which fails on first write.
  131. 2003-11-14 Gonzalo Paniagua Javier <[email protected]>
  132. * WebConnectionStream.cs: when a callback is passed to BeginRead/Write,
  133. wrap it and do our job before calling it. Fixes bug #48497.
  134. 2003-11-12 Andreas Nahr <[email protected]>
  135. * WebExceptionStatus.cs: Restyled, Added .Net 1.1 members
  136. * SecurityProtocolType.cs: Added and implemented
  137. 2003-11-12 Gonzalo Paniagua Javier <[email protected]>
  138. * HttpWebRequest.cs: fixed redirects when they target another host.
  139. 2003-11-06 Gonzalo Paniagua Javier <[email protected]>
  140. * IPAddress.cs: prevent exceptions when trying to parse the static IPv6
  141. addresses.
  142. 2003-10-17 Pedro Martínez Juliá <[email protected]>
  143. * WebClient.cs: use Path.DirectorySeparator instead of "/" for
  144. windows compatibility. Add some checks for file paths like
  145. "C:/xxx/yyy/..." and like "/home/xxx/...".
  146. 2003-10-16 Pedro Martínez Juliá <[email protected]>
  147. * WebClient.cs: added a slash between directory and file names.
  148. 2003-10-13 Gonzalo Paniagua Javier <[email protected]>
  149. * HttpWebRequest.cs:
  150. * HttpWebResponse.cs: better abort handling and leave the stream in a
  151. stable status on abort.
  152. 2003-10-12 Pedro Martínez Juliá <[email protected]>
  153. * WebClient.cs: refine reading of local files (like MS.NET).
  154. 2003-10-10 Pedro Martínez Juliá <[email protected]>
  155. * WebClient.cs: MS.NET works right when we try OpenRead("file.txt")
  156. but we didn't. Now, when Uri fails with an exception, it adds
  157. "file://" before the URI and tries again.
  158. 2003-10-09 Gonzalo Paniagua Javier <[email protected]>
  159. * ServicePoint.cs: preparing for recycling. Not yet finished.
  160. * ServicePointManager.cs: this is the one that reads config.
  161. * WebConnectionGroup.cs: don't read config here.
  162. * WebConnection.cs: added the queue again. Launch queued requests on
  163. error.
  164. 2003-10-08 Gonzalo Paniagua Javier <[email protected]>
  165. * WebConnection.cs: the queue is now handled by the threadpool.
  166. Initialize the connection data in a place where it does not depend on
  167. the execution order of the requests in threadpool. More error handling.
  168. * WebConnectionGroup.cs: use the limits in the config file and reuse
  169. connections when the limit is reached.
  170. 2003-10-02 Gonzalo Paniagua Javier <[email protected]>
  171. * HttpWebRequest.cs: handle 304 à la MS.
  172. * WebConnection.cs: set the response data when reading 0 bytes.
  173. 2003-09-16 Gonzalo Paniagua Javier <[email protected]>
  174. * WebConnectionStream.cs: fix by Lluis to avoid the stream being in an
  175. invalid state.
  176. 2003-08-14 Nick Drochak <[email protected]>
  177. * WebRequest.cs: Check lower case string since that is what we will add.
  178. 2003-08-04 Jerome Laban <[email protected]>
  179. * IPHostEntry.cs: Default contructor must not initialize members.
  180. (Fixes bug #45575).
  181. 2003-07-27 Andreas Nahr <[email protected]>
  182. * CredentialCache.cs: Removed undefined serializable attribute
  183. 2003-07-20 Gonzalo Paniagua Javier <[email protected]>
  184. * ChunkStream.cs:
  185. (WantMore): true if we've not received the last chunk yet. Fixes
  186. bug #45463. Thanks to Miguel for tracking this down and providing a
  187. test case.
  188. * WebConnection.cs: removed bogus ^M's.
  189. * WebHeaderCollection.cs: provide more info when the header or value is
  190. wrong.
  191. 2003-07-15 Andreas Nahr <[email protected]>
  192. * ChunkStream.cs: Removed unused members
  193. * IPAddress.cs: Removed unused exception variable, fixes compiler
  194. warning.
  195. * WebConnection.cs: Removed unused exception variables, fixes compiler
  196. warnings.
  197. 2003-07-14 Lluis Sanchez Gual <[email protected]>
  198. * NetConfig.cs: If Clone method is not public, then it must use
  199. explicit interface method implementation syntax.
  200. 2003-07-14 Jerome Laban <[email protected]>
  201. * Dns.cs: Reworked indentation.
  202. Added IPv6 support.
  203. Added literal address checking in GetHostByAddress.
  204. Changed Dns.Resolve behavior.
  205. * IPAddress.cs:
  206. * IPEndPoint.cs: Added IPv6 support.
  207. * IPv6Address.cs: Added address compression.
  208. * NetConfig.cs: Added configuration section.
  209. 2003-07-14 Jerome Laban <[email protected]>
  210. * ServicePoint.cs: Removed Connect and GetEndPoint methods.
  211. Removed reverse resolution when uri is literal IP address.
  212. * WebConnection.cs: IPv6 compatibility update: Try to connect
  213. to all addresses returned by IPHostEntry.
  214. * WebConnectionGroup.cs: Removed unused parameter.
  215. 2003-07-13 Andreas Nahr <[email protected]>
  216. * WebProxy.cs: Add serialization/ deserialization support
  217. 2003-07-10 Andreas Nahr <[email protected]>
  218. * ProxyUseType.cs:
  219. * WebStatus.cs: Deleted (do not exist in this assembly)
  220. * IPv6Address.cs: Made internal
  221. 2003-07-08 Gonzalo Paniagua Javier <[email protected]>
  222. * HttpWebRequest.cs:
  223. * ServicePointManager.cs:
  224. * WebConnection.cs: added support for proxies.
  225. 2003-07-05 Andreas Nahr <[email protected]>
  226. * DnsPermissionAttribute.cs:
  227. * SocketPermissionAttribute.cs: Fixed wrong AttributeUsageAttribute
  228. 2003-07-05 Andreas Nahr <[email protected]>
  229. * WebPermission.cs: Added and partially implemented
  230. * WebPermissionAttribute.cs: Added and implemented
  231. 2003-07-01 Gonzalo Paniagua Javier <[email protected]>
  232. * WebClient.cs: fixed bug #45651.
  233. 2003-06-29 Gonzalo Paniagua Javier <[email protected]>
  234. * WebClient.cs: Small fix by Sebastian <[email protected]>.
  235. 2003-06-29 Gonzalo Paniagua Javier <[email protected]>
  236. * WebConnection.cs: fixed header writing the reusing a connection and
  237. the server does not send 100-continue response.
  238. 2003-06-26 Gonzalo Paniagua Javier <[email protected]>
  239. * WebConnection.cs: close the socket and connection when disposing.
  240. * WebRequest.cs: removed setter for RequestUri. Allow non-public ctors
  241. when creating instances.
  242. * HttpWebRequest.cs:
  243. * HttpWebResponse.cs:
  244. * FileWebRequest.cs: support serialization.
  245. * FileWebResponse.cs: support serialization and fixed dispose checks.
  246. * FileWebRequestCreator.cs:
  247. * HttpRequestCreator.cs: added internal .ctor.
  248. 2003-06-24 Lluis Sanchez Gual <[email protected]>
  249. * HttpWebRequest.cs: SetWriteStream(): SendRequestHeaders should be
  250. called before asyncWrite.SetCompleted, to make sure that the waiting
  251. thread does not start to send more information before
  252. SendRequestHeaders has finished.
  253. 2003-06-22 Lluis Sanchez Gual <[email protected]>
  254. * WebConnectionStream.cs: Only increment pendingReads if an asynchronous
  255. read is really needed.
  256. 2003-06-20 Gonzalo Paniagua Javier <[email protected]>
  257. * WebHeaderCollection.cs: prevent duplication headers used niternally.
  258. 2003-06-14 Gonzalo Paniagua Javier <[email protected]>
  259. * HttpWebRequest.cs: if CookieContainer has not been set, make
  260. HttpWebResponse ignore Set-Cookie* headers.
  261. * HttpWebResponse.cs: Set-Cookie and Set-Cookie headers removed if
  262. CookieContainer have been provided to the request.
  263. 2003-06-13 Gonzalo Paniagua Javier <[email protected]>
  264. * AuthenticationManager.cs: get the list of authentication modules from
  265. the configuration files. Added Clear and fixed Unregister.
  266. * BasicClient.cs: fully implemented.
  267. * HttpWebRequest.cs: added support for Basic authentication when
  268. credentials are set.
  269. * NetworkCredential.cs: fixed GetCredential.
  270. 2003-06-13 Gonzalo Paniagua Javier <[email protected]>
  271. * HttpWebRequest.cs: *really* take care of requestSent to prevent
  272. sending the same request twice.
  273. * WebAsyncResult.cs: don't close the handle. Just Reset.
  274. * WebConnectionStream.cs: removed unneeded line.
  275. 2003-06-12 Gonzalo Paniagua Javier <[email protected]>
  276. * HttpWebRequest.cs: use InternalClose when we are not going to send the
  277. rest of the request stream because of an error after sending the
  278. headers.
  279. * WebConnection.cs: check for completion after setting the response.
  280. Enable reading in NextRead.
  281. * WebConnectionStream.cs: re-fixed the count for partially buffered
  282. reads. If the network stream returns 0 bytes, we're done.
  283. 2003-06-11 Gonzalo Paniagua Javier <[email protected]>
  284. * WebClient.cs: implemented UploadFile. Fixed SetupRequest to set the
  285. special headers *after* the others.
  286. 2003-06-10 Gonzalo Paniagua Javier <[email protected]>
  287. * WebConnectionStream.cs: when the read is partially filled from the
  288. initial buffer, add those bytes too. Thanks to Lluis for debugging this.
  289. 2003-06-09 Gonzalo Paniagua Javier <[email protected]>
  290. * HttpWebRequest.cs: added ExpectContinue property.
  291. * WebConnection.cs: allow 100 Continue to be delayed after waiting for
  292. it.
  293. 2003-06-08 Gonzalo Paniagua Javier <[email protected]>
  294. * HttpWebRequest.cs: don't send "Expect: 100-continue" is the server
  295. is known not to respond to that.
  296. * ServicePoint.cs: added SendContinue property.
  297. * WebConnection.cs: only wait 2 seconds for a continue reply. If it
  298. timeouts, set SendContinue to false and proceeed sending data.
  299. * WebConnectionStream.cs: if 100-continue is not received and instead we
  300. get a 417 or anything else, don't send the data.
  301. * WebClient.cs: implemented all missing properties and methods except
  302. UploadFile.
  303. 2003-06-06 Gonzalo Paniagua Javier <[email protected]>
  304. * FileWebRequestCreator.cs: splitted from WebRequest.
  305. * HttpRequestCreator.cs: splitted fromWebRequest.
  306. * WebRequest.cs: added methods that are used by the new configuration
  307. handler to set prefix/type name requests creators.
  308. 2003-06-06 Gonzalo Paniagua Javier <[email protected]>
  309. * AuthenticationManager.cs:
  310. * Authorization.cs:
  311. * BasicClient.cs: new file.
  312. * ChunkStream.cs: new file.
  313. * Cookie.cs:
  314. * CookieContainer.cs:
  315. * GlobalProxySelection.cs:
  316. * HttpWebRequest.cs:
  317. * HttpWebResponse.cs:
  318. * IAuthenticationModule.cs:
  319. * ServicePoint.cs:
  320. * ServicePointManager.cs:
  321. * WebAsyncResult.cs: new file.
  322. * WebConnection.cs: new file.
  323. * WebConnectionData.cs: new file.
  324. * WebConnectionGroup.cs: new file.
  325. * WebConnectionStream.cs: new file.
  326. * WebException.cs:
  327. * WebHeaderCollection.cs:
  328. * WebProxy.cs:
  329. * WebResponse.cs:
  330. Reworked HttpWebRequest and related classes.
  331. 2003-05-30 Miguel de Icaza <[email protected]>
  332. * HttpWebRequest.cs (EndGetResponse): Do not throw exceptions on
  333. InternalServerError (500)
  334. 2003-05-29 Miguel de Icaza <[email protected]>
  335. * HttpWebRequest.cs (Close): Move the code that accumulates the
  336. output to Close from Flush. Flush could have been called in the
  337. middle of the processing, and would have generated invalid results
  338. (which it did).
  339. 2003-05-23 Zoltan Varga <[email protected]>
  340. * Dns.cs (GetHostByAddress): Return the local host when called with
  341. IF_ANY.
  342. 2003-04-29 Miguel de Icaza <[email protected]>
  343. * WebClient.cs (DownloadData): Close the underlyng stream.
  344. (DownloadFile): Use using, so the file gets closed.
  345. 2003-04-24 Miguel de Icaza <[email protected]>
  346. * WebClient.cs (DownloadData): Instead of using a MemoryStream,
  347. keep track of all the small chunks in an ArrayList. The
  348. MemoryStream had the property of reallocating itself, and the
  349. problem was that MemoryStream.GetBuffer would return the buffer
  350. (correctly), but not something of the right size. So clients of
  351. DownloadData would get the extra unused bytes as part of the
  352. result.
  353. The solution would have been to make another copy at this point,
  354. instead, we only keep the small allocations around in the
  355. ArrayList, and we only do one large allocation at the end.
  356. * HttpWebResponse.cs: If there is a Content-Length header, pass
  357. this information to our HttpWebResponseStream, so it knows when to
  358. stop, instead of waiting for the stream to be shut down by the
  359. other end.
  360. * HttpWebRequest.cs: Only set the `delay-header-writing' mode on
  361. the underlying stream if the method will do a content transfer and
  362. no Content-Length was provided. If not (HEAD and GET or
  363. Content-Length provided), keep going.
  364. 2003-04-23 Miguel de Icaza <[email protected]>
  365. * HttpWebRequest.cs: .NET Allows the HttpWebRequest to not have
  366. the ContentLength specified on the request. If that happens, we
  367. have to accumulate all the data written, and once we accumulate
  368. the data, we send it off.
  369. Notice that the documentation in .NET is actually incorrect, they
  370. state that setting ContentLength is mandatory. It is not.
  371. 2003-04-12 Gonzalo Paniagua Javier <[email protected]>
  372. * HttpWebResponse.cs: fixes bug #41180.
  373. 2003-03-25 Gonzalo Paniagua Javier <[email protected]>
  374. * HttpWebRequest.cs: throw an exception is the response code is >= 300.
  375. 2003-03-07 Gonzalo Paniagua Javier <[email protected]>
  376. * HttpWebRequest.cs: implemented IDisposable, make the request stream
  377. read only. Changed the way of disposing the socket.
  378. * HttpWebResponse.cs: wrapped the socket in a write-only NetworkStream,
  379. handle chunked transfer encoding (no more hangs), added serialization
  380. stuff, call CheckDisposed at the beginning of methods/properties (not
  381. in a finally clause).
  382. 2003-02-17 Nick Drochak <[email protected]>
  383. * WebClient.cs : Implemented Credentials property.
  384. 2003-02-04 Gonzalo Paniagua Javier <[email protected]>
  385. * SocketAddress.cs: byte 1 of the data is the high byte of the family,
  386. not the size.
  387. 2003-01-29 Atsushi Enomoto <[email protected]>
  388. * WebClient.cs : hacked OpenRead, DownloadData and DownloadFile.
  389. 2002-10-24 Gonzalo Paniagua Javier <[email protected]>
  390. * HttpWebRequest.cs: applied patch from Tim Haynes
  391. ([email protected]).
  392. Avoided double-sending of the request to the server when both
  393. GetRequestStream() and GetResponse() are called.
  394. System Header attributes survive the Headers attribute set.
  395. Added handling of Connection: KeepAlive/Close
  396. 2002-10-03 Dick Porter <[email protected]>
  397. * Dns.cs: Fixed GetHostName()
  398. 2002-09-09 Gonzalo Paniagua Javier <[email protected]>
  399. * HttpWebRequest.cs:
  400. * HttpWebResponse.cs: applied another patch from Shahms E. King
  401. ([email protected]).
  402. 2002-09-03 Gonzalo Paniagua Javier <[email protected]>
  403. * HttpWebRequest.cs:
  404. * HttpWebResponse.cs: applied patch from Shahms E. King
  405. ([email protected]).
  406. 2002-05-29 Lawrence Pit <[email protected]>
  407. * MonoHttpDate.cs: added
  408. * HttpWebRequest.cs: using MonoHttpDate
  409. * HttpWebResponse.cs: using MonoHttpDate
  410. * DnsPermission.cs: correct XML output
  411. * SocketPermission.cs: correct XML output
  412. 2002-05-21 Lawrence Pit <[email protected]>
  413. * WebClient.cs: stubbed
  414. * WebProxy.cs: fixed bug; had to change internal representation
  415. of bypasslist to ArrayList, different implementation of checking
  416. regex's.
  417. 2002-05-20 Lawrence Pit <[email protected]>
  418. * WebProxy.cs: added, implemented
  419. * ServicePoint.cs: implemented most
  420. * ServicePointManager.cs: implemented
  421. * HttpWebRequest.cs: started implementation
  422. * HttpWebResponse.cs: improved disposable routines
  423. * FileWebRequest.cs: slight improvement of Close method
  424. 2002-05-19 Lawrence Pit <[email protected]>
  425. * FileWebRequest.cs: finished implementation of async methods.
  426. * FileWebResponse.cs: improved disposable routines.
  427. * IPEndPoint.cs: fixed bug #24666 in Serialize and Create methods,
  428. byte ordering of address was backwards.
  429. 2002-05-13 Lawrence Pit <[email protected]>
  430. * Dns.cs: Reimplemented (simplified and fixed) asynchronous methods by
  431. relying on standard asynchronous delegate features. Added checks for
  432. null strings.
  433. * HttpWebResponse.cs: implemented properties
  434. * FileWebResponse.cs: improved the way resources are disposed.
  435. * FileWebRequest.cs: started implementation of asynchronous methods
  436. * ServicePointManager.cs: implemented properties
  437. 2002-05-12 Lawrence Pit <[email protected]>
  438. * HttpWebRequest.cs: properties implemented
  439. * HttpWebResponse.cs: added
  440. * GlobalProxySelection.cs: implemented
  441. * FileWebResponse.cs: added
  442. * FileWebRequest.cs: some methods implemented
  443. 2002-05-11 Lawrence Pit <[email protected]>
  444. * WebHeaderCollection.cs: implemented
  445. * WebRequest.cs: implemented
  446. * FileWebRequest.cs and HttpWebRequest.cs stubs added
  447. 2002-05-09 Lawrence Pit <[email protected]>
  448. * Rewrote IPAddress.Parse method, passing all unit tests
  449. 2002-05-09 Lawrence Pit <[email protected]>
  450. * fixed bug in IPEndPoint.Equals method
  451. * fixed bug in IPAddress.Parse method
  452. * fixed bug in IPAddress.SwapLong method
  453. * fixed several bugs in Cookie.cs
  454. 2002-05-06 Lawrence Pit <[email protected]>
  455. * WebRequest.cs: added
  456. * WebResponse.cs: implemented
  457. * WebException.cs: implemented
  458. * WebHeaderCollection.cs: added
  459. * HttpVersion.cs: implemented
  460. * HttpContinueDelegate.cs: added
  461. * IWebProxy.cs: added
  462. * IWebRequestCreate.cs: added
  463. * ICertificatePolicy.cs: added
  464. * ServicePoint.cs: stubbed
  465. * ServicePointManager.cs: stubbed
  466. * CookieContainer.cs: added
  467. * Authorization.cs: implemented
  468. 2002-05-05 Lawrence Pit <[email protected]>
  469. * CredentialCache.cs: implemented
  470. 2002-05-05 Lawrence Pit <[email protected]>
  471. * IPAddress.cs: fixed IsLoopback, address was already in host order
  472. 2002-05-05 Lawrence Pit <[email protected]>
  473. * IPv6Address.cs: added (note: not part of .net spec)
  474. 2002-05-01 Lawrence Pit <[email protected]>
  475. * DnsPermission.cs: implemented
  476. * DnsPermissionAttribute.cs: implemented
  477. 2002-04-28 Lawrence Pit <[email protected]>
  478. * EndpointPermission.cs: implemented
  479. * SocketPermission.cs: implemented
  480. * SocketPermissionAttribute.cs: implemented
  481. * ProtocolViolationException.cs: implemented
  482. * Dns.c: passing w32 error code when no host found
  483. 2002-04-27 Lawrence Pit <[email protected]>
  484. * Cookie.cs: implemented
  485. * CookieCollection.cs: implemented
  486. * CookieException.cs: implemented
  487. 2002-04-24 Gonzalo Paniagua Javier <[email protected]>
  488. * IPAddress.cs: initialize the read only fields with Parse().
  489. 2002-04-18 Gonzalo Paniagua Javier <[email protected]>
  490. * IPAddress.cs: little changes to behave as MS.
  491. 2002-04-18 Gonzalo Paniagua Javier <[email protected]>
  492. * Dns.cs (Resolve): behave as MS. Agreed with Mads.
  493. 2002-04-17 Gonzalo Paniagua Javier <[email protected]>
  494. * IPAddress.cs: the icalls for sockets are endianness-aware. So I
  495. changed a few things. Also included a workaround for bug #23547.
  496. 2002-04-15 Gonzalo Paniagua Javier <[email protected]>
  497. * IPAddress.cs: use System.BitConverter.IsLittleEndian (suggested
  498. by Paolo) instead of guessing the endianness.
  499. * SocketAddress.cs: implemented Equals() and GetHashcode().
  500. 2002-04-15 Gonzalo Paniagua Javier <[email protected]>
  501. * IPEndPoint.cs: modifications to constructors according to the
  502. specifications (suggested by Lawrence Pit).
  503. 2002-04-15 Patrik Torstensson <[email protected]>
  504. * IPEndPoint.cs: Fixed build breaker.
  505. 2002-04-15 Gonzalo Paniagua Javier <[email protected]>
  506. * IPEndPoint.cs: implemented Equals() and GetHashCode(). Now 100%
  507. complete.
  508. 2002-04-15 Gonzalo Paniagua Javier <[email protected]>
  509. * IPAddress.cs: finished all MonoTODO's. Use network order to store
  510. the address. Check for max and min values in Address:set. IsLoopback()
  511. returns now true for all 127.x.y.z. Some more checks in Parse ().
  512. Some changes to behave as MS does.
  513. 2002-02-24 Duncan Mak <[email protected]>
  514. * ICredentialLookup.cs: Added the GetCredential method to the
  515. interface. The interface is named "ICredentials", should this file
  516. be renamed?
  517. * NetworkCredential.cs: Added to CVS. Need to investigate on how
  518. GetCredential() works
  519. 2002-01-23 Dick Porter <[email protected]>
  520. * SocketAddress.cs: Implemented.
  521. * IPEndPoint.cs: Turned 'Address' field into a real property.
  522. Implemented Create() and Serialize() methods.
  523. * IPAddress.cs: Fixed class constructor, turned 'Address' field
  524. into a real property. Removed undocumented "public
  525. IPAddress(string)" constructor.
  526. * EndPoint.cs: Implemented. All methods return
  527. NotSupportedException to enforce subclass overriding.
  528. * Dns.cs: Replaced fixed-layout Hostent struct and cygwin
  529. P/Invokes with portable internal calls.
  530. 2002-01-17 Miguel de Icaza <[email protected]>
  531. * Dns.cs: Updated to API changes.
  532. * IPAddress.cs: Updated API. Much left to implement.
  533. * Dns.cs: Remove IPToString method
  534. 2002-01-06 Ravi Pratap <[email protected]>
  535. * Dns.cs, AuthenticationManager.cs, SocketAddress.cs : MonoTODO
  536. attribute insertion.
  537. 2001-11-22 Nick Drochak <[email protected]>
  538. * IPAddress.cs: Fix constructor bug, properly name Address property,
  539. and use triple-slash for comments.
  540. 2001-11-20 Miguel de Icaza <[email protected]>
  541. * IPAddress.cs: Updated to contain Any, Broadcast, Loopback and
  542. None as suggested by Phillip.
  543. 2001-09-26 Mads Pultz <[email protected]>
  544. * Dns.cs: Initial work on BeginGetHostByName and EndGetHostByName implemented.
  545. 2001-09-24 Mads Pultz <[email protected]>
  546. * Dns.cs: Minor changes (some print statements removed)
  547. 2001-09-23 Mads Pultz <[email protected]>
  548. * Dns.cs: Initial work submitted to repository.
  549. * IPHostEntry.cs: Initial work submitted to repository.
  550. 2001-07-12 Sean MacIsaac <[email protected]>
  551. * Authorization.cs: Fixed compiler error.
  552. * IAuthenticationModule.cs: Changes for Beta2.
  553. * IPAddress.cs: Internal storage changed to be uint not int.
  554. * IPEndPoint.cs: Fixed compiler error.
  555. * EndPoint.cs: Fixed compiler error.
  556. * AuthenticationManager.cs: Fixed typo.