ChangeLog 54 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619
  1. 2005-12-08 Gonzalo Paniagua Javier <[email protected]>
  2. * HttpWebResponse.cs: don't loop forever when no name or value between
  3. semicolons. Fixes bug #76943.
  4. 2005-12-06 Gonzalo Paniagua Javier <[email protected]>
  5. * HttpWebResponse.cs: don't fail if the cookie ends with a 'name'
  6. without a value. Fixes bug #76922.
  7. 2005-11-28 Gonzalo Paniagua Javier <[email protected]>
  8. * EndPointListener.cs:
  9. * HttpListenerRequest.cs: don't require the Host header for 1.0. Just
  10. map that to the '*' or '+' host.
  11. 2005-11-22 Gonzalo Paniagua Javier <[email protected]>
  12. * IPAddress.cs: the byte[] ctor supports length 4 in .NET 2.0.
  13. Fixes bug #76792.
  14. 2005-11-21 Senganal T <[email protected]>
  15. * Dns.cs : corrected a mistake in GetHostEntry ()
  16. 2005-11-21 Senganal T <[email protected]>
  17. * Dns.cs : added GetHostEntry() method for 2.0 api conformance
  18. 2005-11-18 Gonzalo Paniagua Javier <[email protected]>
  19. * HttpRequestHeader.cs: add missing values.
  20. 2005-11-17 Gonzalo Paniagua Javier <[email protected]>
  21. * HttpListenerPrefixCollection.cs:
  22. * HttpWebResponse.cs:
  23. * Dns.cs:
  24. * HttpListenerRequest.cs:
  25. * HttpWebRequest.cs:
  26. * HttpListenerResponse.cs: a few signature fixes for 2.0.
  27. 2005-11-17 Gonzalo Paniagua Javier <[email protected]>
  28. * HttpListenerPrefixCollection.cs:
  29. * EndPointListener.cs:
  30. * HttpStreamAsyncResult.cs:
  31. * HttpListenerContext.cs:
  32. * HttpListenerBasicIdentity.cs:
  33. * AuthenticationSchemeSelector.cs:
  34. * HttpListener.cs:
  35. * WebHeaderCollection.cs:
  36. * ListenerPrefix.cs:
  37. * HttpListenerException.cs:
  38. * HttpResponseHeader.cs:
  39. * EndPointManager.cs:
  40. * HttpListenerRequest.cs:
  41. * HttpRequestHeader.cs:
  42. * BindIPEndPoint.cs:
  43. * ResponseStream.cs:
  44. * ChunkedInputStream.cs:
  45. * HttpStatusCode.cs:
  46. * ListenerAsyncResult.cs:
  47. * ChunkStream.cs:
  48. * HttpConnection.cs:
  49. * HttpUtility.cs:
  50. * HttpListenerResponse.cs:
  51. * RequestStream.cs: initial implementation of HttpListener. There are
  52. a few TODOs left (cookies, HTTPS) but almost everything else is in.
  53. 2005-11-15 Sebastien Pouliot <[email protected]>
  54. * IPv6Address.cs: Added on overload to ToString to get a the full
  55. length address returned (as required by System.Uri).
  56. 2005-11-15 Carlos Alberto Cortez <[email protected]>
  57. * WebRequestMethods.cs: New 2.0 class.
  58. 2005-11-05 Atsushi Enomoto <[email protected]>
  59. * WebClient: use POST for DownloadData(). Fixed bug #76631.
  60. 2005-10-26 Atsushi Enomoto <[email protected]>
  61. * AuthenticationSchemes.cs : Fixed enum values and added [Flags].
  62. 2005-10-19 Atsushi Enomoto <[email protected]>
  63. * WebClient.cs : added net_2_0 DownloadString() and DownloadData()
  64. with HTTP method as well.
  65. 2005-10-19 Atsushi Enomoto <[email protected]>
  66. * WebClient.cs : added UploadString() and Encoding (net_2_0). Added
  67. some new overloaded stuff that takes Uri instead of string address.
  68. 2005-10-17 Sebastien Pouliot <[email protected]>
  69. * ICredentialPolicy.cs: New. Interface for 2.0.
  70. 2005-10-05 Atsushi Enomoto <[email protected]>
  71. * AuthenticationSchemes.cs : new 2.0 enum.
  72. 2005-08-27 Gonzalo Paniagua Javier <[email protected]>
  73. * GlobalProxySelection.cs: remove double lock.
  74. * HttpWebRequest.cs: remove double lock in GetServicePoint() and use
  75. a private object when locking.
  76. 2005-07-15 Miguel de Icaza <[email protected]>
  77. * DigestClient.cs: Fix bug #75556, the qop argument must be
  78. quoted, per http://www.faqs.org/rfcs/rfc2617.html section
  79. `quo-options'.
  80. 2005-07-03 Gonzalo Paniagua Javier <[email protected]>
  81. * WebConnectionStream.cs: initiate writing the body before trying to
  82. read. This fixes the performance problems observed in web services.
  83. Closes bug #75455.
  84. 2005-06-27 Lluis Sanchez Gual <[email protected]>
  85. * IPAddress.cs: Changed field names for the sake of serialization
  86. interoperability with MS.NET.
  87. 2005-06-26 Gonzalo Paniagua Javier <[email protected]>
  88. * WebConnection.cs: if cnc.EndRead throws, mark the asyncresult as done.
  89. * WebConnectionStream.cs: if we're done with the body of a chunk, don't
  90. require the next chunk header to be there, as some servers might close
  91. the connection (while also sending 'Connection: close').
  92. 2005-06-22 Gonzalo Paniagua Javier <[email protected]>
  93. * HttpWebRequest.cs: MS implementation follows redirects for POST. Seems
  94. to me that this is against 10.3.3 in RFC 2616, but may be the user
  95. 'authorization' to do this is implicit in AllowAutoRedirect...
  96. 2005-06-21 Gonzalo Paniagua Javier <[email protected]>
  97. * WebConnection.cs: SslClientStream.BeginRead might not be asynchronous
  98. if there's no record available to read. This is a workaround that makes
  99. the call to BeginRead itself asynchronous. Fixes bug #75342.
  100. 2005-06-10 Gonzalo Paniagua Javier <[email protected]>
  101. * WebConnection.cs:
  102. * HttpWebRequest.cs:
  103. * WebConnectionStream.cs: initiate the polling for input data after
  104. sending the header so that we detect any response that the server sends
  105. back even if we're still trying to write the request for a POST/PUT.
  106. If we get the response (or an error) before any one calls GetResponse(),
  107. keep it around instead of ignoring it.
  108. 2005-06-03 Gonzalo Paniagua Javier <[email protected]>
  109. * HttpWebRequest.cs: send the right header/user/password in
  110. PreAuthenticate in presence of a proxy.
  111. 2005-06-03 Gonzalo Paniagua Javier <[email protected]>
  112. * IPv6Address.cs: fix IsLoopback. Closes bug #75128.
  113. 2005-06-03 Gonzalo Paniagua Javier <[email protected]>
  114. * IPv6Address.cs: don't do extra check on ipv4 if this is a ipv6
  115. address. Fixes bug #75125.
  116. 2005-06-03 Gonzalo Paniagua Javier <[email protected]>
  117. * ServicePointManager.cs: when going through a proxy, use 2 different
  118. service points depending on the scheme. Fixes bug #75135.
  119. 2005-05-30 Gonzalo Paniagua Javier <[email protected]>
  120. * Dns.cs: don't parse the address when it comes from an IPAddress.
  121. 2005-05-23 Gonzalo Paniagua Javier <[email protected]>
  122. * WebConnection.cs: prevent 2 nullrefs when the aborting during
  123. Connect() and reset the status to Success before starting a new
  124. request.
  125. 2005-05-19 Sebastien Pouliot <[email protected]>
  126. * WebRequest.cs: Throw NotImplementedException (not NotSupported
  127. Exception) for stuff that should have been abstract. No exception
  128. is thrown by the serialization constructor.
  129. 2005-05-04 James Willcox <[email protected]>
  130. * DigestClient.cs: convert to a hex string with "X8" consistently
  131. for nc-value
  132. 2005-05-04 Gonzalo Paniagua Javier <[email protected]>
  133. * WebConnection.cs: don't rethrow errors in Write, as the error will be
  134. received by GetResponse*. The result is that the threadpool thread doing
  135. this will not end up printing the exception. Fixes bug #74817.
  136. 2005-05-03 Gonzalo Paniagua Javier <[email protected]>
  137. * ServicePoint.cs: HostEntry needs to be thread safe.
  138. 2005-05-03 Gonzalo Paniagua Javier <[email protected]>
  139. * WebConnection.cs: removed a 'slightly' important line by mistake.
  140. * WebConnectionStream.cs: if the transfer encoding is chunked, ignore
  141. content-length header if present.
  142. 2005-05-03 Gonzalo Paniagua Javier <[email protected]>
  143. * WebConnection.cs: no need to use an AutoResetEvent.
  144. * WebConnectionStream.cs: don't start any more reads on the socket
  145. after getting a 0 signalling the end. This fixes Ben's infamous foo.cs
  146. test.
  147. 2005-04-29 Gonzalo Paniagua Javier <[email protected]>
  148. * BasicClient.cs: firefox/IE just send latin1, stripping the high byte
  149. from unicode >= 256 characters.
  150. 2005-04-29 Gonzalo Paniagua Javier <[email protected]>
  151. * BasicClient.cs: use latin1 when encoding the username/domain/password.
  152. Fixes bug #74745.
  153. 2005-04-17 Gonzalo Paniagua Javier <[email protected]>
  154. * WebConnectionStream.cs: if the BeginRead/BeginWrite is completed
  155. synchronously, no need to create the ManualResetEvent to wait on.
  156. 2005-04-16 Gonzalo Paniagua Javier <[email protected]>
  157. * WebConnectionStream.cs: call SetComplete in EndWrite when we're not
  158. buffering the request body. Fixes bug #74637.
  159. * WebAsyncResult.cs: renamed field.
  160. 2005-04-14 Gonzalo Paniagua Javier <[email protected]>
  161. * WebConnectionStream.cs:
  162. * WebAsyncResult.cs: ensure we only call EndRead once per async. result.
  163. Update total before invoking the callback when present.
  164. 2005-04-11 Gonzalo Paniagua Javier <[email protected]>
  165. * WebConnection.cs:
  166. * WebConnectionStream.cs: don't start reading until we've sent at least
  167. the headers. This way we ensure that a Write happens before any Read,
  168. which is needed by the SSL code.
  169. 2005-04-11 Gonzalo Paniagua Javier <[email protected]>
  170. * HttpWebRequest.cs: ensure we read everything before redirecting.
  171. 2005-04-11 Gonzalo Paniagua Javier <[email protected]>
  172. * WebConnectionStream.cs: provide a default callback when doing async.
  173. read/write and waiting for a timeout so that the callback sets the
  174. event and we don't block forever. Fixes bug #74539 take 3.
  175. 2005-04-10 Gonzalo Paniagua Javier <[email protected]>
  176. * WebConnection.cs:
  177. * HttpWebRequest.cs: now Abort() works properly. Fixes bug #74177.
  178. 2005-04-10 Gonzalo Paniagua Javier <[email protected]>
  179. * WebConnection.cs: fix some breakage from my last patch.
  180. * WebConnectionStream.cs: invoke the callback when done even in EndRead.
  181. 2005-04-10 Sebastien Pouliot <[email protected]>
  182. * WebConnection.cs: Added support for TrustFailure when throwing a
  183. WebException. Fix bug #74286.
  184. 2005-04-10 Gonzalo Paniagua Javier <[email protected]>
  185. * HttpWebRequest.cs:
  186. * WebConnectionStream.cs: implemented support for ReadWriteTimeout.
  187. 2005-04-10 Gonzalo Paniagua Javier <[email protected]>
  188. * WebConnection.cs: if we're reading chunked data and didn't use the
  189. stream to read, we gotta set the async. result as complete and invoke
  190. the callback. Don't call nstream.EndRead with the wrong IAsyncResult.
  191. * WebConnectionStream.cs: in EndRead, pass the correct IAsyncResult to
  192. cnc.EndRead. Lock on a field instead of 'this'.
  193. 2005-04-09 Gonzalo Paniagua Javier <[email protected]>
  194. * HttpWebRequest.cs: throw the exception if we got an error, as now
  195. it's catched in the redirection handling code.
  196. 2005-04-08 Gonzalo Paniagua Javier <[email protected]>
  197. * HttpWebRequest.cs: moved redirection handling to a proper place.
  198. 2005-04-07 Gonzalo Paniagua Javier <[email protected]>
  199. * WebHeaderCollection.cs: added if-modified-since to the list of
  200. restricted headers.
  201. * ServicePoint.cs: use a field object when locking.
  202. 2005-04-07 Gonzalo Paniagua Javier <[email protected]>
  203. * WebConnectionStream.cs: ForceCompletion actually calls NextRead. No
  204. need to wait for a Close/ReadAll when we have no content.
  205. 2005-04-04 Gonzalo Paniagua Javier <[email protected]>
  206. * NtlmClient.cs: fix typo in assembly name.
  207. 2005-03-30 Gonzalo Paniagua Javier <[email protected]>
  208. * CookieContainer.cs: adding to a CookieCollection might not increment
  209. the number of items if the cookie is replaced. Now Count works properly.
  210. Fixed an array index exception (typo).
  211. * CookieCollection.cs: also compare the version.
  212. * HttpWebResponse.cs: when we have cookies, add them to the request
  213. container.
  214. * HttpWebRequest.cs: changed last parameter of HttpWebResponse ctor.
  215. 2005-03-30 Miguel de Icaza <[email protected]>
  216. * Cookie.cs: Compare using the InvariantCulture, to match the
  217. behavior of CookieContainer that already did this.
  218. 2005-03-30 Gonzalo Paniagua Javier <[email protected]>
  219. * WebConnection.cs: we don't need to trigger the next queued request
  220. until the response is closed.
  221. 2005-03-29 Miguel de Icaza <[email protected]>
  222. * HttpWebResponse.cs: Handle quotations in the cookies values, per
  223. the spec http://www.faqs.org/rfcs/rfc2109.html, it is allowed to
  224. have quotations.
  225. 2005-03-18 Gonzalo Paniagua Javier <[email protected]>
  226. * BasicClient.cs:
  227. * DigestClient.cs: check that GetCredential() does not return null.
  228. 2005-03-16 Gonzalo Paniagua Javier <[email protected]>
  229. * BasicClient.cs: ensure credentials are not null.
  230. 2005-03-10 Gonzalo Paniagua Javier <[email protected]>
  231. * HttpWebResponse.cs: moved cookie parsing into its own class.
  232. * WebHeaderCollection.cs: remove (probably bogus) GetMultipleValues
  233. call.
  234. * HttpWebRequest.cs: don't let exception raised in the ctor of
  235. HttpWebResponse vanish.
  236. Fixes bug #73275.
  237. 2005-03-01 Gonzalo Paniagua Javier <[email protected]>
  238. * WebHeaderCollection.cs: handle commas inside quotes when splitting
  239. a multi-value header. Fixes bug #73151.
  240. 2005-02-13 Gonzalo Paniagua Javier <[email protected]>
  241. * DigestClient.cs: fix for digest auth. and URIs containing query. Patch
  242. by James Wilcox. Fixes bug #72571.
  243. 2005-02-12 Gonzalo Paniagua Javier <[email protected]>
  244. * HttpWebResponse.cs:
  245. * WebConnection.cs:
  246. * HttpWebRequest.cs:
  247. * WebConnectionStream.cs: don't read the entire response unless the
  248. user requests it. Fixes bug #72443.
  249. 2005-02-08 Zoltan Varga <[email protected]>
  250. * IPv6Address.cs: Fix endianess problems.
  251. * IPAddress.cs: Fix misleading comments.
  252. 2005-02-04 Gonzalo Paniagua Javier <[email protected]>
  253. * HttpWebRequest.cs: send the headers when we're supposed to write
  254. a POST/PUT but call GetResponse before GetRequestStream.
  255. * WebConnectionStream.cs: new RequestWritten property.
  256. 2005-01-20 Jonathan Pryor <[email protected]>
  257. * EndpointPermission.cs: Fix IsSubsetof(hostname) so that the regression
  258. tests work. In particular, IsSubsetOf ("12.13.*.*", "12.13.14.*") failed
  259. because 14 wasn't a subset of * (which it is). Fix: if part1 is we
  260. continue to the next portion.
  261. 2005-01-20 Jonathan Pryor <[email protected]>
  262. * IPAddress.cs (ParseIPV4): Fix so that the regression tests work. In
  263. particular, " foo" and ".1.1.6" weren't being caught (" foo" because it
  264. started with a space, and ".1.1.6" because the split string accepted a
  265. 0-length portion, which would make 1...6 valid, but isn't valid based on
  266. similar test cases).
  267. 2005-01-20 Jonathan Pryor <[email protected]>
  268. * WebHeaderCollection.cs: Fix GetValues(string) to split the values on
  269. commas if the header is a Multi-Value header. This matches
  270. MonoTests.System.Net.WebHeaderCollectionTest.
  271. 2005-01-19 Sebastien Pouliot <[email protected]>
  272. * WebPermissionAttribute.cs: Fixed NET_1_1 behaviour.
  273. 2004-12-14 Gonzalo Paniagua Javier <[email protected]>
  274. * WebConnectionStream.cs: remove unneeded check. Write detects and
  275. triggers the exception now.
  276. 2004-12-14 Gonzalo Paniagua Javier <[email protected]>
  277. * AuthenticationManager.cs: don't lock on a public Type.
  278. * HttpWebRequest.cs: read the error response for auth. errors.
  279. 2004-12-12 Gonzalo Paniagua Javier <[email protected]>
  280. * HttpWebRequest.cs: set webResponse back to null when redirecting.
  281. Fix the previous patch so that it reads the whole response even if
  282. auto-redirect is not enabled. Closes bug #70484.
  283. 2004-12-12 Gonzalo Paniagua Javier <[email protected]>
  284. * HttpWebResponse.cs: added ReadAll method.
  285. * WebConnection.cs: in HandleError, set the response error after
  286. closing the socket. Use an async. delegate to finish reading any prior
  287. WebConnectionStream.
  288. * HttpWebRequest.cs: for error responses that allow content, read the
  289. stream immediately. Fixes bug #70483.
  290. 2004-12-11 Gonzalo Paniagua Javier <[email protected]>
  291. * CookieContainer.cs: quote the port number.
  292. 2004-12-10 Gonzalo Paniagua Javier <[email protected]>
  293. * WebConnection.cs:
  294. * WebConnectionStream.cs: removed TryReconnect. It's no longer needed.
  295. 2004-12-05 Gonzalo Paniagua Javier <[email protected]>
  296. * WebConnection.cs: set the event in Close so that if the queue is
  297. empty, we won't block forever on next request. The finalizer was
  298. removed because we're not implementing IDisposable pattern here.
  299. 2004-12-04 Gonzalo Paniagua Javier <[email protected]>
  300. * WebConnection.cs: handle errors on chunked streams. Fixes bug #66858.
  301. * ChunkStream.cs: added error checking all over.
  302. * HttpWebRequest.cs: throw the exception received in SetResponseError
  303. if we already have a response.
  304. (SetRequestData): Don't nest the exception if it's a WebException.
  305. 2004-12-03 Gonzalo Paniagua Javier <[email protected]>
  306. * WebConnection.cs: remove prevStream and don't set busy to false in
  307. HandleError. prevStream is not needed any more and setting 'busy' so
  308. early might let a request skip the queue.
  309. * WebConnectionGroup.cs: decrement the indexer when removing a dead
  310. reference from the arraylist.
  311. * WebConnectionStream.cs:
  312. (ReadAll): call NextRead if it has not been called before even when
  313. we have completed the request. Reuse the read buffer when reading a
  314. response of unknown size. Increase the buffer to 8kB.
  315. (BeginRead): increase pendingReads earlier and even when reading from
  316. the internal buffer.
  317. (EndRead): decrease pendingReads later and always.
  318. 2004-12-01 Gonzalo Paniagua Javier <[email protected]>
  319. * CookieContainer.cs: style, fixed checks for properties, implemented
  320. the MonoTODOs for the method that take an Uri. GetCookies and
  321. GetCookieHeaders now really return only the cookies that are requested
  322. filtering by the Uri parameter.
  323. * Cookie.cs: style, added default values for Comment, Domain and Port.
  324. 2004-12-01 Gonzalo Paniagua Javier <[email protected]>
  325. * CookieCollection.cs: reformatted, fixed Add by adding a new method to
  326. search across the arraylist, as list.IndexOf is not what we want.
  327. 2004-11-19 Gonzalo Paniagua Javier <[email protected]>
  328. * WebConnection.cs: check for FIN or RST on the socket before reusing.
  329. Fixes bug #69388.
  330. 2004-11-09 Gonzalo Paniagua Javier <[email protected]>
  331. * ChunkStream.cs: simplified condition for WantMore property.
  332. * WebConnection.cs: in Connect(), finish any pending reads we might
  333. have for chunked data. Ignore possible blank lines at the very
  334. beginning of the server response. Honor user set KeepAlive in
  335. HttpWebRequest for HTTP/1.1 connections. Thanks to Eyal Alayuf for
  336. his suggestions and code.
  337. 2004-11-01 Gonzalo Paniagua Javier <[email protected]>
  338. * HttpWebResponse.cs: don't lock up when the cookie received ends with
  339. a semicolon. Patch by Darryl VanDorp. Fixes bug #68956.
  340. 2004-10-27 Gonzalo Paniagua Javier <[email protected]>
  341. * HttpWebRequest.cs: don't fail if the request has already been sent
  342. when accessing ContentType setter. Fixes bug #68848.
  343. 2004-10-25 Gonzalo Paniagua Javier <[email protected]>
  344. * ChunkStream.cs:
  345. (WantMore): we're not done until we get a 0 chunk size and the trailer.
  346. The 0 can be expressed as more than one character too (ie, 000000).
  347. * HttpWebRequest.cs: new argument in SetResponseError.
  348. * WebConnection.cs: added argument to HandleError as a hint for
  349. debugging.
  350. (Connect): make the chunked stream be in the expected state when
  351. reusing.
  352. * WebConnectionStream.cs: removed unused method (ResetWriteBuffer).
  353. 2004-10-10 David Sheldon <[email protected]>
  354. * HttpWebRequest.cs: Use RemoveAndAdd for AddRange. Fixes unittest.
  355. 2004-10-05 Gonzalo Paniagua Javier <[email protected]>
  356. * HttpWebRequest.cs: use RemoveAndAdd for headers multivalue headers.
  357. * WebHeaderCollection.cs: added RemoveAndAdd that behaves like the old
  358. SetInternal.
  359. 2004-10-04 Gonzalo Paniagua Javier <[email protected]>
  360. * HttpWebRequest.cs: ProxyQuery returns true when we use a proxy without
  361. tunneling a secure connection.
  362. * ServicePoint.cs: added UseConnect property.
  363. * ServicePointManager.cs: set the UseConnect property when we use a http
  364. proxy for a https connection.
  365. * WebConnection.cs: setup the tunnled connection when using a proxy and
  366. https.
  367. 2004-09-13 Gonzalo Paniagua Javier <[email protected]>
  368. * HttpWebResponse.cs: remove unused SplitValue method.
  369. 2004-09-10 Sebastien Pouliot <[email protected]>
  370. * DnsPermission.cs: Updated to pass new unit tests.
  371. * DnsPermissionAttribute.cs: Cleanup.
  372. * SocketPermission.cs: Updated to pass new unit tests.
  373. * SocketPermissionAttribute.cs: Updated to pass new unit tests.
  374. * WebPermission.cs: Implemented some TODO - not complete yet.
  375. * WebPermissionAttribute.cs: Updated to pass new unit tests.
  376. 2004-08-11 Gonzalo Paniagua Javier <[email protected]>
  377. * Cookie.cs: don't fail when using default constructor. Fixes bug
  378. #62890.
  379. 2004-08-11 Gonzalo Paniagua Javier <[email protected]>
  380. * HttpWebResponse.cs: set-cookie and set-cookie2 can be present more
  381. than once and have multiple values. Don't rely on string.split when
  382. parsing cookie values.
  383. * WebHeaderCollection.cs: same thing for set-cookie and set-cookie2.
  384. Fixed GetValues (it was splitting values that contained a comma) and
  385. changed SetInternal to handle multi-value headers.
  386. Fixes bug #62744.
  387. 2004-07-26 Gonzalo Paniagua Javier <[email protected]>
  388. * WebProxy.cs: fix scheme detection. Patch by Konstantin Triger
  389. ([email protected]).
  390. 2004-07-16 Gonzalo Paniagua Javier <[email protected]>
  391. * HttpWebRequest.cs: detect changes in scheme or port when redirecting.
  392. Fixes las take on bug 61218.
  393. 2004-07-14 Gonzalo Paniagua Javier <[email protected]>
  394. * WebConnection.cs: moved loading of the ssl stream Type to its own
  395. method. Don't create a new ssl stream if we're reusing the connection.
  396. * WebConnectionStream.cs: ensure the number of bytes copied in ReadAll
  397. is the expected even if the dta from the server has extra bytes.
  398. 2004-07-12 Gonzalo Paniagua Javier <[email protected]>
  399. * WebConnection.cs:
  400. * WebConnectionStream.cs: when the status code is 1xx, 204 or 304,
  401. "responses MUST NOT include a message-body". We tried to read the
  402. stream even when getting those codes and considered the 0 length
  403. read as a failure.
  404. 2004-07-09 Gonzalo Paniagua Javier <[email protected]>
  405. * HttpWebRequest.cs: removed bogus Monitor.Exit.
  406. * WebConnection.cs: use Address instead of RequestUri when checking for
  407. the scheme in order to select the stream type. Fixes bug #61218.
  408. 2004-06-06 Gonzalo Paniagua Javier <[email protected]>
  409. * ChunkStream.cs: added ChunkLeft property.
  410. * WebConnection.cs:
  411. (EndRead): when using small byte arrays to read from a chunked stream,
  412. ensure we've read the chunk size and try to fulfill the request
  413. completely. fixes bug 59653.
  414. 2004-05-29 Gonzalo Paniagua Javier <[email protected]>
  415. * WebConnectionStream.cs: fixed CanRead property. Closes bug #59273.
  416. 2004-05-28 Gonzalo Paniagua Javier <[email protected]>
  417. * DigestClient.cs: cache the sessions based on address and
  418. credentials, not only address. Added poor men's expiration to
  419. the session cache. Fixes bug #59202.
  420. 2004-05-26 Gonzalo Paniagua Javier <[email protected]>
  421. * IPAddress.cs:
  422. * IPEndPoint.cs:
  423. * IPv6Address.cs: no more warnings about IPAddress.Address.
  424. 2004-05-18 Gonzalo Paniagua Javier <[email protected]>
  425. * WebException.cs: implemented serialization .ctor and
  426. GetObjectData().
  427. 2004-05-13 Gonzalo Paniagua Javier <[email protected]>
  428. * WebAsyncResult.cs: don't create the WaitHandle if not needed.
  429. 2004-05-13 Gonzalo Paniagua Javier <[email protected]>
  430. * HttpWebRequest.cs: added 3 missing properties for 1.1. They are not
  431. used yet.
  432. * NetConfig.cs: added MaxResponseHeadersLength field.
  433. * ServicePoint.cs:
  434. * ServicePointManager.cs: added missing properties for 1.1.
  435. 2004-05-03 Sebastien Pouliot <[email protected]>
  436. * WebConnection.cs: Use assembly name const to load Mono.Security.
  437. 2004-05-03 Lluis Sanchez Gual <[email protected]>
  438. * NtlmClient.cs: Use assembly name const to load Mono.Security.
  439. 2004-04-24 Gonzalo Paniagua Javier <[email protected]>
  440. * WebConnectionStream.cs: avoid the exception when getting the content
  441. length if possible.
  442. 2004-03-29 Lluis Sanchez Gual <[email protected]>
  443. * HttpWebRequest.cs: Use a lock block instead of Monitor.Enter/Exit, so
  444. the lock is released in case of exception (for example, a
  445. ThreadAbortException). This also "fixes" bug #52417.
  446. Beware, this requires a runtime update (due to a bug in Monitor.Exit).
  447. * ServicePoint.cs: Changed method from internal to private, since it
  448. is not called from outside the class.
  449. 2004-03-24 Gonzalo Paniagua Javier <[email protected]>
  450. * HttpWebRequest.cs: added the exception status to the error message.
  451. * WebConnection.cs: add headers using SetInternal instead of Add to
  452. bypass header name validation. Fixes bug #55994.
  453. * WebHeaderCollection.cs: added SetInternal (string header).
  454. 2004-03-04 Gonzalo Paniagua Javier <[email protected]>
  455. * WebConnection.cs:
  456. * WebConnectionGroup.cs: the requests queue is now shared for all the
  457. connections belonging to the same connection group.
  458. 2004-02-26 Sebastien Pouliot <[email protected]>
  459. * DefaultCertificatePolicy.cs: New. Certificate validation
  460. policy compatible with the documented one present in Fx. It
  461. allows valid certificates and expired certificates to be used
  462. for SSL connections.
  463. * ServicePointManager.cs: Removed the DummyPolicy. Now creates
  464. a DefaultCertificatePolicy to validate certificates.
  465. 2004-02-26 Gonzalo Paniagua Javier <[email protected]>
  466. * ServicePoint.cs: SendContinue is always false for HTTP/1.0
  467. * WebConnection.cs: get rid of WaitForContinue() (yes!) and prevent
  468. calling more the ContinueDelegate more than once when we get the
  469. headers in several packets.
  470. * WebConnectionStream.cs: removed call to WaitForContinue.
  471. 2004-02-25 Sebastien Pouliot <[email protected]>
  472. * WebConnection.cs: Update previous patch to use HttpsClientStream
  473. (internal in Mono.Security assembly) in place of SslClientStream.
  474. This will reduce reflection and allow to use ICertificatePolicy.
  475. 2004-02-25 Gonzalo Paniagua Javier <[email protected]>
  476. * DigestClient.cs: fix quote handling. Reordered attributes in response.
  477. Fixed typo (QOP->CNonce). Now Digest works with apache2.
  478. 2004-02-25 Gonzalo Paniagua Javier <[email protected]>
  479. * DigestClient.cs: removed Console.
  480. * HttpWebRequest.cs: 401/407 were hanging for GET. Fixed.
  481. 2004-02-24 Sebastien Pouliot <[email protected]>
  482. * DigestClient.cs: Fixed issue with Apache server which do not use "
  483. for specifying the digest algorithm (.e.g. algorithm=MD5 not ="MD5").
  484. 2004-02-20 Gonzalo Paniagua Javier <[email protected]>
  485. * HttpWebRequest.cs: arghhh. I used the server response headers instead
  486. of what the client is supposed to send. Thanks to Helge Hess.
  487. 2004-02-19 Gonzalo Paniagua Javier <[email protected]>
  488. * AuthenticationManager.cs: implemented PreAuthenticate().
  489. * HttpWebRequest.cs: once we know the version of the server, use it if
  490. below the requested one. Remove 'Expect', 'Content-Length' and /or
  491. 'Transfer-Encoding' if appropiate due to changes in version. Fixed
  492. 'Host' header for non-standard ports. Support preauthentication. Closes
  493. bug #50530.
  494. 2004-02-19 Gonzalo Paniagua Javier <[email protected]>
  495. * HttpWebRequest.cs: check for missing or wrong URI in Location header
  496. when redirecting.
  497. * WebConnection.cs: if the data read does not contain all the headers,
  498. keep it around and read the rest until we get to the response body.
  499. Allow response code with no description. Fixed bug #54543.
  500. 2004-02-18 Sebastien Pouliot <[email protected]>
  501. * SecurityProtocolType.cs: Added missing [Serializable] to enum. Added
  502. Default and Ssl2 to NET_2_0 profile. Enum is now internal for NET_1_0
  503. profile (as we need it for SslClientStream).
  504. * ServicePoint.cs: Added internal SetCertificates(client,server).
  505. * ServicePointManager.cs: Added CheckCertificateRevocationList and
  506. CheckCertificateRevocationList static properties (public in 1.1,
  507. internal for 1.0).
  508. * WebConnection.cs: Dynamically creates a SslClientStream (from
  509. Mono.Security assembly) in case of https. Changed NetworkStream to
  510. Stream everywhere.
  511. 2004-02-18 Gonzalo Paniagua Javier <[email protected]>
  512. * HttpWebRequest.cs: send the 'Connection: keep-alive' header when we
  513. don't know the server version or it's 1.0.
  514. * ServicePoint.cs: added SetVersion.
  515. * WebAsyncResult.cs: remove ChunkAsyncResult.
  516. * WebConnection.cs: set the ServicePoint version when getting a response
  517. from the server.
  518. * WebConnectionStream.cs: when posting chunked content, send the head,
  519. body and trailer of the chunk at once instead of doing 3 separate
  520. writes, which may cause troubles.
  521. 2004-02-18 Gonzalo Paniagua Javier <[email protected]>
  522. * WebConnection.cs: if we get a 100 when we're not waiting for it, set
  523. that information in the ServicePoint.
  524. * WebConnectionStream.cs: send headers in the right order for
  525. non-chunked POST.
  526. 2004-02-17 Gonzalo Paniagua Javier <[email protected]>
  527. * WebConnectionStream.cs: fixed nullrefs in BeginWrite/EndWrite.
  528. 2004-02-17 Gonzalo Paniagua Javier <[email protected]>
  529. * HttpWebRequest.cs: on second and sucesive tries when authenticating,
  530. don't use chunked encoding for POST, as we know the content length and
  531. have the body. Nullify bodyBuffer always in CheckFinalStatus.
  532. * WebAsyncResult.cs: added ChunkAsyncResult property. It holds the
  533. IAsyncResult when writing CRLF at the end of a chunk.
  534. * WebConnectionStream.cs: support sending chunked data.
  535. 2004-01-24 Lluis Sanchez Gual <[email protected]>
  536. * HttpWebRequest.cs: When retrying a POST request after an
  537. authentication failure, resend the body. This fixes bug #51841.
  538. * WebConnectionStream.cs: Added properties for getting what's been
  539. written.
  540. 2004-02-12 Gonzalo Paniagua Javier <[email protected]>
  541. * HttpWebRequest.cs: don't send 'Expect: 100-continue' for 1.0 version.
  542. 2004-02-12 Gonzalo Paniagua Javier <[email protected]>
  543. * HttpWebRequest.cs: support proxy authentication.
  544. 2004-02-12 Gonzalo Paniagua Javier <[email protected]>
  545. * BasicClient.cs:
  546. * DigestClient.cs: use IndexOf instead of StartsWith to deal with
  547. servers that provide several authentication schemas.
  548. 2004-02-12 Gonzalo Paniagua Javier <[email protected]>
  549. * ChunkStream.cs: use an array of buffers instead of a MemoryStream for
  550. storing the chunks. This way, we won't miss traling data from the
  551. previous chunk when a new one is received before the other is fully
  552. read.
  553. 2004-01-27 Nick Drochak <[email protected]>
  554. * DigestClient.cs:
  555. * HttpWebRequest.cs:
  556. * IPv6Address.cs:
  557. * WebClient.cs:
  558. * WebConnection.cs:
  559. * WebConnectionStream.cs: Remove unused variables thus eliminating some
  560. build warnings.
  561. 2004-01-26 Gonzalo Paniagua Javier <[email protected]>
  562. * WebConnection.cs: patch by Yaacov Akiba Slama that fixes 100-continue
  563. handling for the case when the same packet also contains the actual
  564. [2-5]xx response.
  565. 2004-01-24 Lluis Sanchez Gual <[email protected]>
  566. * HttpWebRequest.cs: Added missing property.
  567. 2004-01-23 Gonzalo Paniagua Javier <[email protected]>
  568. * Dns.cs: don't block forever in EndResolve and EndGetHostByName. Fixes
  569. bug #53222.
  570. 2004-01-16 Lluis Sanchez Gual <[email protected]>
  571. * ChunkStream.cs: The "size" parameter of Write is not the number of
  572. bytes to write, but the last offset to be written. Thus, in WriteAndRead
  573. Back, since "read" is not an offset but the number of bytes, it must be
  574. added to the offset. Maybe it would be a good idea to change the name of
  575. the parameter, since it is confusing. This should fix bug #52591.
  576. 2004-01-12 Lluis Sanchez Gual <[email protected]>
  577. * WebConnection.cs: Yet another fix for WebConnection. This fixes
  578. bug #52169.
  579. 2004-01-09 Gonzalo Paniagua Javier <[email protected]>
  580. * WebConnection.cs: Data.Init is a bad boy. Lluis realized. He also
  581. tidied up the end of ReadDone. Disabled relaunching the request if 2
  582. InitRead are called, since now we don't throw everything into
  583. RegisterWaitForSingleObject but one request at a time.
  584. * WebConnectionGroup.cs: when checking available connections, allow them
  585. not to be Connected but allocated to honor the connection limit.
  586. * WebConnectionStream.cs: CheckComplete() now checks for nextReadCalled
  587. too. ReadAll don't mess contentLength if it's provided in the headers.
  588. BIG thanks to Lluis. Turns out that we were debugging the same stuff and
  589. his Data.Init discovery was THE thing I was missing.
  590. Fixes bug #51277.
  591. 2004-01-09 Gonzalo Paniagua Javier <[email protected]>
  592. * ServicePointManager.cs: use GetMaxConnections to get the appropiate
  593. number of connections limit.
  594. 2004-01-09 Gonzalo Paniagua Javier <[email protected]>
  595. * MonoHttpDate.cs: use the invariant culture, not en-US. Suspected
  596. guilty for bug 52629.
  597. 2003-12-16 Gonzalo Paniagua Javier <[email protected]>
  598. * CredentialCache.cs: return null instead of throwing NotImplemented.
  599. 2003-12-12 Gonzalo Paniagua Javier <[email protected]>
  600. * HttpWebRequest.cs: fixed checking if method allows a body. Patch by
  601. Benjamin Jemlich ([email protected]).
  602. 2003-12-12 Gonzalo Paniagua Javier <[email protected]>
  603. * HttpWebRequest.cs: deal with authentication schemes that have more
  604. than 1 round trip (Ntlm).
  605. 2003-12-11 Gonzalo Paniagua Javier <[email protected]>
  606. * NtlmClient.cs: new class that actually uses one from Mono.Http to do
  607. the authentication.
  608. 2003-12-02 Gonzalo Paniagua Javier <[email protected]>
  609. * HttpWebRequest.cs: when building the redirect URI, use the previous
  610. one as the base URI, which makes relative URIs work.
  611. 2003-12-02 Gonzalo Paniagua Javier <[email protected]>
  612. * DigestClient.cs: merged in code from Sebastien Pouliot and Greg
  613. Reinacker that Supports cnonce and preauthentication.
  614. 2003-12-02 Gonzalo Paniagua Javier <[email protected]>
  615. * DigestClient.cs: initial Digest authentication. Works with apache
  616. mod_digest.
  617. 2003-11-27 Gonzalo Paniagua Javier <[email protected]>
  618. * HttpWebRequest.cs: removed unneeded StringBuilder.
  619. * WebConnection.cs: default to keep the connection open for HTTP/1.1
  620. only or HTTP/1.0 + (Proxy-)Connection header. Fixes bug #51208.
  621. 2003-11-17 Gonzalo Paniagua Javier <[email protected]>
  622. * WebConnection.cs: turns out that socket.Connected is not useful until
  623. we actually try to send/receive data, even if the other end has already
  624. closed the socket. Added TryReconnect() and Connected.
  625. * WebConnectionData.cs: default value for StatusCode is 0 now.
  626. * WebConnectionGroup.cs: reuse the connection since the beginning,
  627. instead of opening up to ConnectionLimit and then reusing.
  628. * WebConnectionStream.cs: reopen the socket if we're trying to reuse
  629. one which fails on first write.
  630. 2003-11-14 Gonzalo Paniagua Javier <[email protected]>
  631. * WebConnectionStream.cs: when a callback is passed to BeginRead/Write,
  632. wrap it and do our job before calling it. Fixes bug #48497.
  633. 2003-11-12 Andreas Nahr <[email protected]>
  634. * WebExceptionStatus.cs: Restyled, Added .Net 1.1 members
  635. * SecurityProtocolType.cs: Added and implemented
  636. 2003-11-12 Gonzalo Paniagua Javier <[email protected]>
  637. * HttpWebRequest.cs: fixed redirects when they target another host.
  638. 2003-11-06 Gonzalo Paniagua Javier <[email protected]>
  639. * IPAddress.cs: prevent exceptions when trying to parse the static IPv6
  640. addresses.
  641. 2003-10-17 Pedro Martínez Juliá <[email protected]>
  642. * WebClient.cs: use Path.DirectorySeparator instead of "/" for
  643. windows compatibility. Add some checks for file paths like
  644. "C:/xxx/yyy/..." and like "/home/xxx/...".
  645. 2003-10-16 Pedro Martínez Juliá <[email protected]>
  646. * WebClient.cs: added a slash between directory and file names.
  647. 2003-10-13 Gonzalo Paniagua Javier <[email protected]>
  648. * HttpWebRequest.cs:
  649. * HttpWebResponse.cs: better abort handling and leave the stream in a
  650. stable status on abort.
  651. 2003-10-12 Pedro Martínez Juliá <[email protected]>
  652. * WebClient.cs: refine reading of local files (like MS.NET).
  653. 2003-10-10 Pedro Martínez Juliá <[email protected]>
  654. * WebClient.cs: MS.NET works right when we try OpenRead("file.txt")
  655. but we didn't. Now, when Uri fails with an exception, it adds
  656. "file://" before the URI and tries again.
  657. 2003-10-09 Gonzalo Paniagua Javier <[email protected]>
  658. * ServicePoint.cs: preparing for recycling. Not yet finished.
  659. * ServicePointManager.cs: this is the one that reads config.
  660. * WebConnectionGroup.cs: don't read config here.
  661. * WebConnection.cs: added the queue again. Launch queued requests on
  662. error.
  663. 2003-10-08 Gonzalo Paniagua Javier <[email protected]>
  664. * WebConnection.cs: the queue is now handled by the threadpool.
  665. Initialize the connection data in a place where it does not depend on
  666. the execution order of the requests in threadpool. More error handling.
  667. * WebConnectionGroup.cs: use the limits in the config file and reuse
  668. connections when the limit is reached.
  669. 2003-10-02 Gonzalo Paniagua Javier <[email protected]>
  670. * HttpWebRequest.cs: handle 304 à la MS.
  671. * WebConnection.cs: set the response data when reading 0 bytes.
  672. 2003-09-16 Gonzalo Paniagua Javier <[email protected]>
  673. * WebConnectionStream.cs: fix by Lluis to avoid the stream being in an
  674. invalid state.
  675. 2003-08-14 Nick Drochak <[email protected]>
  676. * WebRequest.cs: Check lower case string since that is what we will add.
  677. 2003-08-04 Jerome Laban <[email protected]>
  678. * IPHostEntry.cs: Default contructor must not initialize members.
  679. (Fixes bug #45575).
  680. 2003-07-27 Andreas Nahr <[email protected]>
  681. * CredentialCache.cs: Removed undefined serializable attribute
  682. 2003-07-20 Gonzalo Paniagua Javier <[email protected]>
  683. * ChunkStream.cs:
  684. (WantMore): true if we've not received the last chunk yet. Fixes
  685. bug #45463. Thanks to Miguel for tracking this down and providing a
  686. test case.
  687. * WebConnection.cs: removed bogus ^M's.
  688. * WebHeaderCollection.cs: provide more info when the header or value is
  689. wrong.
  690. 2003-07-15 Andreas Nahr <[email protected]>
  691. * ChunkStream.cs: Removed unused members
  692. * IPAddress.cs: Removed unused exception variable, fixes compiler
  693. warning.
  694. * WebConnection.cs: Removed unused exception variables, fixes compiler
  695. warnings.
  696. 2003-07-14 Lluis Sanchez Gual <[email protected]>
  697. * NetConfig.cs: If Clone method is not public, then it must use
  698. explicit interface method implementation syntax.
  699. 2003-07-14 Jerome Laban <[email protected]>
  700. * Dns.cs: Reworked indentation.
  701. Added IPv6 support.
  702. Added literal address checking in GetHostByAddress.
  703. Changed Dns.Resolve behavior.
  704. * IPAddress.cs:
  705. * IPEndPoint.cs: Added IPv6 support.
  706. * IPv6Address.cs: Added address compression.
  707. * NetConfig.cs: Added configuration section.
  708. 2003-07-14 Jerome Laban <[email protected]>
  709. * ServicePoint.cs: Removed Connect and GetEndPoint methods.
  710. Removed reverse resolution when uri is literal IP address.
  711. * WebConnection.cs: IPv6 compatibility update: Try to connect
  712. to all addresses returned by IPHostEntry.
  713. * WebConnectionGroup.cs: Removed unused parameter.
  714. 2003-07-13 Andreas Nahr <[email protected]>
  715. * WebProxy.cs: Add serialization/ deserialization support
  716. 2003-07-10 Andreas Nahr <[email protected]>
  717. * ProxyUseType.cs:
  718. * WebStatus.cs: Deleted (do not exist in this assembly)
  719. * IPv6Address.cs: Made internal
  720. 2003-07-08 Gonzalo Paniagua Javier <[email protected]>
  721. * HttpWebRequest.cs:
  722. * ServicePointManager.cs:
  723. * WebConnection.cs: added support for proxies.
  724. 2003-07-05 Andreas Nahr <[email protected]>
  725. * DnsPermissionAttribute.cs:
  726. * SocketPermissionAttribute.cs: Fixed wrong AttributeUsageAttribute
  727. 2003-07-05 Andreas Nahr <[email protected]>
  728. * WebPermission.cs: Added and partially implemented
  729. * WebPermissionAttribute.cs: Added and implemented
  730. 2003-07-01 Gonzalo Paniagua Javier <[email protected]>
  731. * WebClient.cs: fixed bug #45651.
  732. 2003-06-29 Gonzalo Paniagua Javier <[email protected]>
  733. * WebClient.cs: Small fix by Sebastian <[email protected]>.
  734. 2003-06-29 Gonzalo Paniagua Javier <[email protected]>
  735. * WebConnection.cs: fixed header writing the reusing a connection and
  736. the server does not send 100-continue response.
  737. 2003-06-26 Gonzalo Paniagua Javier <[email protected]>
  738. * WebConnection.cs: close the socket and connection when disposing.
  739. * WebRequest.cs: removed setter for RequestUri. Allow non-public ctors
  740. when creating instances.
  741. * HttpWebRequest.cs:
  742. * HttpWebResponse.cs:
  743. * FileWebRequest.cs: support serialization.
  744. * FileWebResponse.cs: support serialization and fixed dispose checks.
  745. * FileWebRequestCreator.cs:
  746. * HttpRequestCreator.cs: added internal .ctor.
  747. 2003-06-24 Lluis Sanchez Gual <[email protected]>
  748. * HttpWebRequest.cs: SetWriteStream(): SendRequestHeaders should be
  749. called before asyncWrite.SetCompleted, to make sure that the waiting
  750. thread does not start to send more information before
  751. SendRequestHeaders has finished.
  752. 2003-06-22 Lluis Sanchez Gual <[email protected]>
  753. * WebConnectionStream.cs: Only increment pendingReads if an asynchronous
  754. read is really needed.
  755. 2003-06-20 Gonzalo Paniagua Javier <[email protected]>
  756. * WebHeaderCollection.cs: prevent duplication headers used niternally.
  757. 2003-06-14 Gonzalo Paniagua Javier <[email protected]>
  758. * HttpWebRequest.cs: if CookieContainer has not been set, make
  759. HttpWebResponse ignore Set-Cookie* headers.
  760. * HttpWebResponse.cs: Set-Cookie and Set-Cookie headers removed if
  761. CookieContainer have been provided to the request.
  762. 2003-06-13 Gonzalo Paniagua Javier <[email protected]>
  763. * AuthenticationManager.cs: get the list of authentication modules from
  764. the configuration files. Added Clear and fixed Unregister.
  765. * BasicClient.cs: fully implemented.
  766. * HttpWebRequest.cs: added support for Basic authentication when
  767. credentials are set.
  768. * NetworkCredential.cs: fixed GetCredential.
  769. 2003-06-13 Gonzalo Paniagua Javier <[email protected]>
  770. * HttpWebRequest.cs: *really* take care of requestSent to prevent
  771. sending the same request twice.
  772. * WebAsyncResult.cs: don't close the handle. Just Reset.
  773. * WebConnectionStream.cs: removed unneeded line.
  774. 2003-06-12 Gonzalo Paniagua Javier <[email protected]>
  775. * HttpWebRequest.cs: use InternalClose when we are not going to send the
  776. rest of the request stream because of an error after sending the
  777. headers.
  778. * WebConnection.cs: check for completion after setting the response.
  779. Enable reading in NextRead.
  780. * WebConnectionStream.cs: re-fixed the count for partially buffered
  781. reads. If the network stream returns 0 bytes, we're done.
  782. 2003-06-11 Gonzalo Paniagua Javier <[email protected]>
  783. * WebClient.cs: implemented UploadFile. Fixed SetupRequest to set the
  784. special headers *after* the others.
  785. 2003-06-10 Gonzalo Paniagua Javier <[email protected]>
  786. * WebConnectionStream.cs: when the read is partially filled from the
  787. initial buffer, add those bytes too. Thanks to Lluis for debugging this.
  788. 2003-06-09 Gonzalo Paniagua Javier <[email protected]>
  789. * HttpWebRequest.cs: added ExpectContinue property.
  790. * WebConnection.cs: allow 100 Continue to be delayed after waiting for
  791. it.
  792. 2003-06-08 Gonzalo Paniagua Javier <[email protected]>
  793. * HttpWebRequest.cs: don't send "Expect: 100-continue" is the server
  794. is known not to respond to that.
  795. * ServicePoint.cs: added SendContinue property.
  796. * WebConnection.cs: only wait 2 seconds for a continue reply. If it
  797. timeouts, set SendContinue to false and proceeed sending data.
  798. * WebConnectionStream.cs: if 100-continue is not received and instead we
  799. get a 417 or anything else, don't send the data.
  800. * WebClient.cs: implemented all missing properties and methods except
  801. UploadFile.
  802. 2003-06-06 Gonzalo Paniagua Javier <[email protected]>
  803. * FileWebRequestCreator.cs: splitted from WebRequest.
  804. * HttpRequestCreator.cs: splitted fromWebRequest.
  805. * WebRequest.cs: added methods that are used by the new configuration
  806. handler to set prefix/type name requests creators.
  807. 2003-06-06 Gonzalo Paniagua Javier <[email protected]>
  808. * AuthenticationManager.cs:
  809. * Authorization.cs:
  810. * BasicClient.cs: new file.
  811. * ChunkStream.cs: new file.
  812. * Cookie.cs:
  813. * CookieContainer.cs:
  814. * GlobalProxySelection.cs:
  815. * HttpWebRequest.cs:
  816. * HttpWebResponse.cs:
  817. * IAuthenticationModule.cs:
  818. * ServicePoint.cs:
  819. * ServicePointManager.cs:
  820. * WebAsyncResult.cs: new file.
  821. * WebConnection.cs: new file.
  822. * WebConnectionData.cs: new file.
  823. * WebConnectionGroup.cs: new file.
  824. * WebConnectionStream.cs: new file.
  825. * WebException.cs:
  826. * WebHeaderCollection.cs:
  827. * WebProxy.cs:
  828. * WebResponse.cs:
  829. Reworked HttpWebRequest and related classes.
  830. 2003-05-30 Miguel de Icaza <[email protected]>
  831. * HttpWebRequest.cs (EndGetResponse): Do not throw exceptions on
  832. InternalServerError (500)
  833. 2003-05-29 Miguel de Icaza <[email protected]>
  834. * HttpWebRequest.cs (Close): Move the code that accumulates the
  835. output to Close from Flush. Flush could have been called in the
  836. middle of the processing, and would have generated invalid results
  837. (which it did).
  838. 2003-05-23 Zoltan Varga <[email protected]>
  839. * Dns.cs (GetHostByAddress): Return the local host when called with
  840. IF_ANY.
  841. 2003-04-29 Miguel de Icaza <[email protected]>
  842. * WebClient.cs (DownloadData): Close the underlyng stream.
  843. (DownloadFile): Use using, so the file gets closed.
  844. 2003-04-24 Miguel de Icaza <[email protected]>
  845. * WebClient.cs (DownloadData): Instead of using a MemoryStream,
  846. keep track of all the small chunks in an ArrayList. The
  847. MemoryStream had the property of reallocating itself, and the
  848. problem was that MemoryStream.GetBuffer would return the buffer
  849. (correctly), but not something of the right size. So clients of
  850. DownloadData would get the extra unused bytes as part of the
  851. result.
  852. The solution would have been to make another copy at this point,
  853. instead, we only keep the small allocations around in the
  854. ArrayList, and we only do one large allocation at the end.
  855. * HttpWebResponse.cs: If there is a Content-Length header, pass
  856. this information to our HttpWebResponseStream, so it knows when to
  857. stop, instead of waiting for the stream to be shut down by the
  858. other end.
  859. * HttpWebRequest.cs: Only set the `delay-header-writing' mode on
  860. the underlying stream if the method will do a content transfer and
  861. no Content-Length was provided. If not (HEAD and GET or
  862. Content-Length provided), keep going.
  863. 2003-04-23 Miguel de Icaza <[email protected]>
  864. * HttpWebRequest.cs: .NET Allows the HttpWebRequest to not have
  865. the ContentLength specified on the request. If that happens, we
  866. have to accumulate all the data written, and once we accumulate
  867. the data, we send it off.
  868. Notice that the documentation in .NET is actually incorrect, they
  869. state that setting ContentLength is mandatory. It is not.
  870. 2003-04-12 Gonzalo Paniagua Javier <[email protected]>
  871. * HttpWebResponse.cs: fixes bug #41180.
  872. 2003-03-25 Gonzalo Paniagua Javier <[email protected]>
  873. * HttpWebRequest.cs: throw an exception is the response code is >= 300.
  874. 2003-03-07 Gonzalo Paniagua Javier <[email protected]>
  875. * HttpWebRequest.cs: implemented IDisposable, make the request stream
  876. read only. Changed the way of disposing the socket.
  877. * HttpWebResponse.cs: wrapped the socket in a write-only NetworkStream,
  878. handle chunked transfer encoding (no more hangs), added serialization
  879. stuff, call CheckDisposed at the beginning of methods/properties (not
  880. in a finally clause).
  881. 2003-02-17 Nick Drochak <[email protected]>
  882. * WebClient.cs : Implemented Credentials property.
  883. 2003-02-04 Gonzalo Paniagua Javier <[email protected]>
  884. * SocketAddress.cs: byte 1 of the data is the high byte of the family,
  885. not the size.
  886. 2003-01-29 Atsushi Enomoto <[email protected]>
  887. * WebClient.cs : hacked OpenRead, DownloadData and DownloadFile.
  888. 2002-10-24 Gonzalo Paniagua Javier <[email protected]>
  889. * HttpWebRequest.cs: applied patch from Tim Haynes
  890. ([email protected]).
  891. Avoided double-sending of the request to the server when both
  892. GetRequestStream() and GetResponse() are called.
  893. System Header attributes survive the Headers attribute set.
  894. Added handling of Connection: KeepAlive/Close
  895. 2002-10-03 Dick Porter <[email protected]>
  896. * Dns.cs: Fixed GetHostName()
  897. 2002-09-09 Gonzalo Paniagua Javier <[email protected]>
  898. * HttpWebRequest.cs:
  899. * HttpWebResponse.cs: applied another patch from Shahms E. King
  900. ([email protected]).
  901. 2002-09-03 Gonzalo Paniagua Javier <[email protected]>
  902. * HttpWebRequest.cs:
  903. * HttpWebResponse.cs: applied patch from Shahms E. King
  904. ([email protected]).
  905. 2002-05-29 Lawrence Pit <[email protected]>
  906. * MonoHttpDate.cs: added
  907. * HttpWebRequest.cs: using MonoHttpDate
  908. * HttpWebResponse.cs: using MonoHttpDate
  909. * DnsPermission.cs: correct XML output
  910. * SocketPermission.cs: correct XML output
  911. 2002-05-21 Lawrence Pit <[email protected]>
  912. * WebClient.cs: stubbed
  913. * WebProxy.cs: fixed bug; had to change internal representation
  914. of bypasslist to ArrayList, different implementation of checking
  915. regex's.
  916. 2002-05-20 Lawrence Pit <[email protected]>
  917. * WebProxy.cs: added, implemented
  918. * ServicePoint.cs: implemented most
  919. * ServicePointManager.cs: implemented
  920. * HttpWebRequest.cs: started implementation
  921. * HttpWebResponse.cs: improved disposable routines
  922. * FileWebRequest.cs: slight improvement of Close method
  923. 2002-05-19 Lawrence Pit <[email protected]>
  924. * FileWebRequest.cs: finished implementation of async methods.
  925. * FileWebResponse.cs: improved disposable routines.
  926. * IPEndPoint.cs: fixed bug #24666 in Serialize and Create methods,
  927. byte ordering of address was backwards.
  928. 2002-05-13 Lawrence Pit <[email protected]>
  929. * Dns.cs: Reimplemented (simplified and fixed) asynchronous methods by
  930. relying on standard asynchronous delegate features. Added checks for
  931. null strings.
  932. * HttpWebResponse.cs: implemented properties
  933. * FileWebResponse.cs: improved the way resources are disposed.
  934. * FileWebRequest.cs: started implementation of asynchronous methods
  935. * ServicePointManager.cs: implemented properties
  936. 2002-05-12 Lawrence Pit <[email protected]>
  937. * HttpWebRequest.cs: properties implemented
  938. * HttpWebResponse.cs: added
  939. * GlobalProxySelection.cs: implemented
  940. * FileWebResponse.cs: added
  941. * FileWebRequest.cs: some methods implemented
  942. 2002-05-11 Lawrence Pit <[email protected]>
  943. * WebHeaderCollection.cs: implemented
  944. * WebRequest.cs: implemented
  945. * FileWebRequest.cs and HttpWebRequest.cs stubs added
  946. 2002-05-09 Lawrence Pit <[email protected]>
  947. * Rewrote IPAddress.Parse method, passing all unit tests
  948. 2002-05-09 Lawrence Pit <[email protected]>
  949. * fixed bug in IPEndPoint.Equals method
  950. * fixed bug in IPAddress.Parse method
  951. * fixed bug in IPAddress.SwapLong method
  952. * fixed several bugs in Cookie.cs
  953. 2002-05-06 Lawrence Pit <[email protected]>
  954. * WebRequest.cs: added
  955. * WebResponse.cs: implemented
  956. * WebException.cs: implemented
  957. * WebHeaderCollection.cs: added
  958. * HttpVersion.cs: implemented
  959. * HttpContinueDelegate.cs: added
  960. * IWebProxy.cs: added
  961. * IWebRequestCreate.cs: added
  962. * ICertificatePolicy.cs: added
  963. * ServicePoint.cs: stubbed
  964. * ServicePointManager.cs: stubbed
  965. * CookieContainer.cs: added
  966. * Authorization.cs: implemented
  967. 2002-05-05 Lawrence Pit <[email protected]>
  968. * CredentialCache.cs: implemented
  969. 2002-05-05 Lawrence Pit <[email protected]>
  970. * IPAddress.cs: fixed IsLoopback, address was already in host order
  971. 2002-05-05 Lawrence Pit <[email protected]>
  972. * IPv6Address.cs: added (note: not part of .net spec)
  973. 2002-05-01 Lawrence Pit <[email protected]>
  974. * DnsPermission.cs: implemented
  975. * DnsPermissionAttribute.cs: implemented
  976. 2002-04-28 Lawrence Pit <[email protected]>
  977. * EndpointPermission.cs: implemented
  978. * SocketPermission.cs: implemented
  979. * SocketPermissionAttribute.cs: implemented
  980. * ProtocolViolationException.cs: implemented
  981. * Dns.c: passing w32 error code when no host found
  982. 2002-04-27 Lawrence Pit <[email protected]>
  983. * Cookie.cs: implemented
  984. * CookieCollection.cs: implemented
  985. * CookieException.cs: implemented
  986. 2002-04-24 Gonzalo Paniagua Javier <[email protected]>
  987. * IPAddress.cs: initialize the read only fields with Parse().
  988. 2002-04-18 Gonzalo Paniagua Javier <[email protected]>
  989. * IPAddress.cs: little changes to behave as MS.
  990. 2002-04-18 Gonzalo Paniagua Javier <[email protected]>
  991. * Dns.cs (Resolve): behave as MS. Agreed with Mads.
  992. 2002-04-17 Gonzalo Paniagua Javier <[email protected]>
  993. * IPAddress.cs: the icalls for sockets are endianness-aware. So I
  994. changed a few things. Also included a workaround for bug #23547.
  995. 2002-04-15 Gonzalo Paniagua Javier <[email protected]>
  996. * IPAddress.cs: use System.BitConverter.IsLittleEndian (suggested
  997. by Paolo) instead of guessing the endianness.
  998. * SocketAddress.cs: implemented Equals() and GetHashcode().
  999. 2002-04-15 Gonzalo Paniagua Javier <[email protected]>
  1000. * IPEndPoint.cs: modifications to constructors according to the
  1001. specifications (suggested by Lawrence Pit).
  1002. 2002-04-15 Patrik Torstensson <[email protected]>
  1003. * IPEndPoint.cs: Fixed build breaker.
  1004. 2002-04-15 Gonzalo Paniagua Javier <[email protected]>
  1005. * IPEndPoint.cs: implemented Equals() and GetHashCode(). Now 100%
  1006. complete.
  1007. 2002-04-15 Gonzalo Paniagua Javier <[email protected]>
  1008. * IPAddress.cs: finished all MonoTODO's. Use network order to store
  1009. the address. Check for max and min values in Address:set. IsLoopback()
  1010. returns now true for all 127.x.y.z. Some more checks in Parse ().
  1011. Some changes to behave as MS does.
  1012. 2002-02-24 Duncan Mak <[email protected]>
  1013. * ICredentialLookup.cs: Added the GetCredential method to the
  1014. interface. The interface is named "ICredentials", should this file
  1015. be renamed?
  1016. * NetworkCredential.cs: Added to CVS. Need to investigate on how
  1017. GetCredential() works
  1018. 2002-01-23 Dick Porter <[email protected]>
  1019. * SocketAddress.cs: Implemented.
  1020. * IPEndPoint.cs: Turned 'Address' field into a real property.
  1021. Implemented Create() and Serialize() methods.
  1022. * IPAddress.cs: Fixed class constructor, turned 'Address' field
  1023. into a real property. Removed undocumented "public
  1024. IPAddress(string)" constructor.
  1025. * EndPoint.cs: Implemented. All methods return
  1026. NotSupportedException to enforce subclass overriding.
  1027. * Dns.cs: Replaced fixed-layout Hostent struct and cygwin
  1028. P/Invokes with portable internal calls.
  1029. 2002-01-17 Miguel de Icaza <[email protected]>
  1030. * Dns.cs: Updated to API changes.
  1031. * IPAddress.cs: Updated API. Much left to implement.
  1032. * Dns.cs: Remove IPToString method
  1033. 2002-01-06 Ravi Pratap <[email protected]>
  1034. * Dns.cs, AuthenticationManager.cs, SocketAddress.cs : MonoTODO
  1035. attribute insertion.
  1036. 2001-11-22 Nick Drochak <[email protected]>
  1037. * IPAddress.cs: Fix constructor bug, properly name Address property,
  1038. and use triple-slash for comments.
  1039. 2001-11-20 Miguel de Icaza <[email protected]>
  1040. * IPAddress.cs: Updated to contain Any, Broadcast, Loopback and
  1041. None as suggested by Phillip.
  1042. 2001-09-26 Mads Pultz <[email protected]>
  1043. * Dns.cs: Initial work on BeginGetHostByName and EndGetHostByName implemented.
  1044. 2001-09-24 Mads Pultz <[email protected]>
  1045. * Dns.cs: Minor changes (some print statements removed)
  1046. 2001-09-23 Mads Pultz <[email protected]>
  1047. * Dns.cs: Initial work submitted to repository.
  1048. * IPHostEntry.cs: Initial work submitted to repository.
  1049. 2001-07-12 Sean MacIsaac <[email protected]>
  1050. * Authorization.cs: Fixed compiler error.
  1051. * IAuthenticationModule.cs: Changes for Beta2.
  1052. * IPAddress.cs: Internal storage changed to be uint not int.
  1053. * IPEndPoint.cs: Fixed compiler error.
  1054. * EndPoint.cs: Fixed compiler error.
  1055. * AuthenticationManager.cs: Fixed typo.