ChangeLog 107 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247
  1. 2009-07-28 Gonzalo Paniagua Javier <[email protected]>
  2. * WebClient.cs: rethrow WebExceptions instead of creating a new one
  3. with less information on the actual error.
  4. Fixes bug #526069.
  5. 2009-07-22 Gonzalo Paniagua Javier <[email protected]>
  6. * WebHeaderCollection.cs: check the validity of the characters in the
  7. header names.
  8. 2009-07-22 Gonzalo Paniagua Javier <[email protected]>
  9. * WebHeaderCollection.cs: implemente the 2.0 IsRestricted().
  10. 2009-07-22 Gonzalo Paniagua Javier <[email protected]>
  11. * WebConnectionStream.cs: when sending a 0-length POST, ignore further
  12. writes instead of throwing.
  13. Fixes bug #524049.
  14. 2009-07-10 Gonzalo Paniagua Javier <[email protected]>
  15. * WebClient.cs: implement GetWebRequest and GetWebResponse. Use them
  16. instead of SetupRequest and ProcessResponse.
  17. 2009-07-07 Gonzalo Paniagua Javier <[email protected]>
  18. * WebClient.cs: set the content length when uploading values. This
  19. allows reusing the connection.
  20. * WebConnectionStream.cs: SetHeaders() takes ownership of the buffer
  21. and does not need to copy it any more. WriteRequest() wasn't always
  22. setting 'requestWritten' to true.
  23. * HttpWebRequest.cs: change in SetHeaders call.
  24. 2009-07-06 Gert Driesen <[email protected]>
  25. * WebConnectionStream.cs: Move and improve argument checks to match MS.
  26. Modified CanRead and CanWrite to return false when instance is disposed.
  27. 2009-07-02 Gonzalo Paniagua Javier <[email protected]>
  28. * WebConnection.cs: provide better error message when there's an error
  29. writing.
  30. * WebConnectionStream.cs: don't nullify the buffer until
  31. CheckFinalStatus() decides that there are no more authentication
  32. retries or redirects.
  33. 2009-07-02 Gonzalo Paniagua Javier <[email protected]>
  34. * ServicePointManager.cs: implement ServerCertificateValidationCallback.
  35. * DefaultCertificatePolicy.cs: if there's a SCVC registered, don't do
  36. normal error checking.a
  37. 2009-07-02 Gonzalo Paniagua Javier <[email protected]>
  38. * HttpWebRequest.cs: avoid duplicating Accept-Encoding if GetHeaders()
  39. is called twice.
  40. * WebConnectionStream.cs: don't send a 0 content length for non-write
  41. requests.
  42. 2009-07-02 Gonzalo Paniagua Javier <[email protected]>
  43. * WebConnection.cs: must use the 'int' version in 1.1.
  44. 2009-07-01 Gonzalo Paniagua Javier <[email protected]>
  45. * WebConnection.cs:
  46. * ServicePoint.cs: UseNagleAlgorithm determines NoDelay value.
  47. 2009-06-28 Gonzalo Paniagua Javier <[email protected]>
  48. * HttpWebRequest.cs: fix 1.1 only test.
  49. 2009-06-28 Gonzalo Paniagua Javier <[email protected]>
  50. * WebConnectionStream.cs: when buffering the response, we have to set
  51. the internal length and regenerate the headers.
  52. 2009-06-26 Gonzalo Paniagua Javier <[email protected]>
  53. * HttpWebRequest.cs: don't send Content-Length header when SendChunked
  54. is enabled.
  55. * WebConnectionStream.cs: send the headers immediately when possible.
  56. When writing the request before a Close(), if there was an exception
  57. it was lost.
  58. 2009-06-26 Gonzalo Paniagua Javier <[email protected]>
  59. * HttpConnection.cs:
  60. * HttpListenerResponse.cs: force closing the socket when the response
  61. is aborted.
  62. 2009-06-25 Gonzalo Paniagua Javier <[email protected]>
  63. * WebAsyncResult.cs: new field that tells us if the request is being
  64. written automatically because we reached the content length.
  65. * WebConnection.cs:
  66. * WebConnectionStream.cs: make sure we only access the NetworkStream
  67. while we own it. Automatically write the request when we reach
  68. ContentLength number of bytes. Kill the write buffer as soon as
  69. possible. Don't use the buffer at all when chunked encoding is
  70. enabled.
  71. Fixes bugs #515931 and #510642.
  72. 2009-06-24 Gonzalo Paniagua Javier <[email protected]>
  73. * WebConnection.cs: 'socket' and 'Data' where being changed by 2
  74. threads at the same time when there were queued requests and the
  75. current one was aborted in Connect().
  76. * HttpWebRequest.cs: 'aborted' is now an int and we use Interlocked to
  77. access it. Added WebConnection field used when aborting the request.
  78. Fixes bug #514591 for good.
  79. 2009-06-21 Gonzalo Paniagua Javier <[email protected]>
  80. * HttpWebRequest.cs: check for an aborted request in Begin* before
  81. proceeding. Fixes bug #511851.
  82. 2009-06-21 Gonzalo Paniagua Javier <[email protected]>
  83. * WebConnectionStream.cs: close the underlying socket if there's an
  84. exception when closing the stream. Fixes bug #514996.
  85. 2009-06-20 Gert Driesen <[email protected]>
  86. * WebConnectionStream.cs: Keep count of all bytes written, and perform
  87. write overflow check in both buffered and non-buffered writing (if
  88. not using chunked transfer encoding). Fixes bug #510642.
  89. 2009-06-20 Gert Driesen <[email protected]>
  90. * WebClient.cs: Use lowercase hex bytes to match MS. Avoid using
  91. zero-length string literal. Fixed exception argument name to match
  92. MS.
  93. * WebConnectionStream.cs: Throw a WebException that wraps an
  94. IOException when closing the stream before all bytes are written.
  95. 2009-06-19 Gonzalo Paniagua Javier <[email protected]>
  96. * WebConnection.cs: make sure we don't open a new socket if the
  97. request is aborted before we establish the connection. Fixes bug
  98. #514591.
  99. * HttpWebRequest.cs: new property to return abort status. Invoke the
  100. abort handler before doing anything else when Abort() is called for
  101. the first time.
  102. 2009-06-17 Gonzalo Paniagua Javier <[email protected]>
  103. * EndPointListener.cs: call CheckIfRemove() after removing a regular
  104. prefix. Fixes bug #513849.
  105. * EndPointManager.cs: make sure we use the right lock when one prefix
  106. of a collection fails to be added and we need to remove all of the
  107. prefixes.
  108. Clear the ip_to_endpoints hashtable if there are no more prefixes
  109. listening on that address.
  110. 2009-06-16 Andrés G. Aragoneses <[email protected]>
  111. * WebConnection.cs: propagate the exception to the request.
  112. * WebException.cs: new internal ctor.
  113. * HttpWebRequest.cs: use new ctor to encapsulate the innerException.
  114. Fixes #323452.
  115. 2009-06-15 Gonzalo Paniagua Javier <[email protected]>
  116. * HttpWebRequest.cs: for unknown methods, always send the request once
  117. we are connected even if there's no writeStream. Fixes bug #513087.
  118. 2009-06-09 Gonzalo Paniagua Javier <[email protected]>
  119. * HttpWebRequest.cs: ProtocolViolationException is not thrown in
  120. certain cases since 2.0. Fixes bug #508027.
  121. 2009-06-09 Gonzalo Paniagua Javier <[email protected]>
  122. * HttpWebRequest.cs: follow MS docs when throwing
  123. ProtocolViolationException at the beginning of an asynchronous
  124. operation. Fixes bug #465613.
  125. 2009-06-08 Gonzalo Paniagua Javier <[email protected]>
  126. * WebConnectionStream.cs: throw a WebException instead of an IOException.
  127. 2009-06-08 Gonzalo Paniagua Javier <[email protected]>
  128. * FtpWebRequest.cs: avoid exception when the reply from the server
  129. contains just response code. Fixes bug #510852.
  130. 2009-06-05 Sebastien Pouliot <[email protected]>
  131. * DownloadStringCompletedEventArgs.cs: Call RaiseExceptionIfNecessary
  132. * OpenReadCompletedEventArgs.cs: Remove Address property since it's
  133. not part of SL2. Call RaiseExceptionIfNecessary
  134. * OpenWriteCompletedEventArgs.cs: Call RaiseExceptionIfNecessary
  135. * UploadStringCompletedEventArgs.cs: Call RaiseExceptionIfNecessary
  136. 2009-06-05 Robert Jordan <[email protected]>
  137. * WebClient.cs (UploadValuesCore): Encode POST arguments with UTF-8.
  138. Fixes bug #484795.
  139. 2009-06-02 Gonzalo Paniagua Javier <[email protected]>
  140. * HttpWebRequest.cs: KeepAlive check not needed.
  141. Fixes bug #465613.
  142. 2009-06-02 Gonzalo Paniagua Javier <[email protected]>
  143. * HttpConnection.cs: unbind the context after every read for keep-alive
  144. connections.
  145. Bug #502274 fixed.
  146. 2009-05-17 Gert Driesen <[email protected]>
  147. * CookieContainer.cs: Provide meaningful information in exception
  148. messages, and improve compatibility with MS. Modified set_Capacity to
  149. no longer change MaxCookieSize when new value is less than
  150. MaxCookieSize.
  151. 2009-05-16 Gonzalo Paniagua Javier <[email protected]>
  152. * HttpWebResponse.cs:
  153. * HttpWebRequest.cs: support automatic decompression of the response.
  154. Fixes bug #504391.
  155. 2009-05-11 Gonzalo Paniagua Javier <[email protected]>
  156. * Dns.cs: made GetHostAddresses and friends internal for 1.x
  157. * EndpointPermission.cs: use GetHostAddresses.
  158. 2009-05-10 Gonzalo Paniagua Javier <[email protected]>
  159. * CookieContainer.cs: matching hosts to domain names like MS does.
  160. Bug #421827 fixed.
  161. 2009-05-02 Atsushi Enomoto <[email protected]>
  162. * CredentialCache.cs : implement all not-implemented methods.
  163. Patch by Mineda Nozomi. Close bug #499556.
  164. 2009-04-21 Sebastien Pouliot <[email protected]>
  165. * EndPoint.cs: Throw NotImplementedException instead of
  166. NotSupportedException
  167. * IPEndPoint.cs: Fix some validations.
  168. 2009-04-21 Gonzalo Paniagua Javier <[email protected]>
  169. * WebConnection.cs:
  170. * HttpWebRequest.cs: provide more information on why the connection
  171. could not be established.
  172. 2009-04-06 Gonzalo Paniagua Javier <[email protected]>
  173. * FtpWebRequest.cs: send REST after PASV to avoid some servers
  174. forgetting aboout it.
  175. Bug #491590 fixed.
  176. 2009-03-24 Gonzalo Paniagua Javier <[email protected]>
  177. * FtpWebRequest.cs: we were sending CWD instead of PWD.
  178. Bug #486703 fixed.
  179. 2009-03-03 Gonzalo Paniagua Javier <[email protected]>
  180. * IPAddress.cs: don't allocate the IPv6 array for IPv4 addresses.
  181. 2009-02-23 Gonzalo Paniagua Javier <[email protected]>
  182. * WebClient.cs: append the QueryString in DownloadData.
  183. Fixes bug #323788.
  184. 2009-02-21 Gonzalo Paniagua Javier <[email protected]>
  185. * FtpWebResponse.cs: return a Null stream when there's no response to
  186. be read.
  187. * FtpWebRequest.cs: provide the error returned by the server in the
  188. exception.
  189. * WebClient.cs: set the correct method when doing a FTP upload.
  190. Fixes bug #478451.
  191. 2009-02-19 Gonzalo Paniagua Javier <[email protected]>
  192. * FtpWebRequest.cs: avoid errors when creating a temporary Uri to get
  193. the local path.
  194. * WebClient.cs: when setting up the request for downloading, use the
  195. default method. Fixes bug #477611.
  196. 2009-02-16 Atsushi Enomoto <[email protected]>
  197. * WebConnectionStream.cs : use request only after it is set.
  198. 2009-02-13 Gonzalo Paniagua Javier <[email protected]>
  199. * WebConnectionStream.cs: implemente (Read|Write)Timeout.
  200. Fixes bug #348159.
  201. 2009-02-10 Gonzalo Paniagua Javier <[email protected]>
  202. * CookieContainer.cs: separate cookies with "; " instead of just ';'.
  203. Fixes bug #386727.
  204. 2009-02-08 Gonzalo Paniagua Javier <[email protected]>
  205. * HttpWebRequest.cs: lock SetResponseError.
  206. 2009-02-08 Gert Driesen <[email protected]>
  207. * Dns.cs: BeginGetHostAddresses - renamed argument to match MS,
  208. reject "any" IP addresses. BeginGetHostEntry - renamed argument
  209. to match MS, reject "any" IP addresses. GetHostEntry - reject
  210. "any" IP addresses. GetHostAddresses - reject "any" IP addresses.
  211. GetHostByName - use "hostName" as paramname in ANE.
  212. 2009-02-07 Gonzalo Paniagua Javier <[email protected]>
  213. * Dns.cs: empty string for host (also 0.0.0.0) is just passed to the
  214. runtime, which will then retrieve the local IP addresses. Fixes bug
  215. #386637 part 2/2.
  216. 2009-02-06 Gonzalo Paniagua Javier <[email protected]>
  217. * FtpWebRequest.cs: some servers have a comment after the directory
  218. name. Fixes bugs #471149 and #471216.
  219. 2009-02-06 Gonzalo Paniagua Javier <[email protected]>
  220. * WebConnectionStream.cs: set the content length to 0 when the
  221. response is not supposed to have any content.
  222. 2009-02-05 Miguel de Icaza <[email protected]>
  223. * WebConnectionStream.cs: Prevent a nullref here. This might
  224. have to be backported to 2.2 and 2.4
  225. 2009-02-03 Gonzalo Paniagua Javier <[email protected]>
  226. * WebConnection.cs:
  227. * HttpWebRequest.cs: calling Abort is safe now if the request has been
  228. read entirely.
  229. 2009-02-03 Gonzalo Paniagua Javier <[email protected]>
  230. * WebProxy.cs: use TryParse when checking for a localhost IP.
  231. 2009-01-26 Gonzalo Paniagua Javier <[email protected]>
  232. * HttpWebResponse.cs: avoid throwing an exception when
  233. Content-Length is not present.
  234. 2009-01-26 Gonzalo Paniagua Javier <[email protected]>
  235. * HttpWebRequest.cs: added locking in SetResponseData for the case
  236. when we get an error response before BeginGetResponse has been
  237. called.
  238. 2009-01-20 Gonzalo Paniagua Javier <[email protected]>
  239. * IPAddress.cs: handle sign extension for the high byte when using the
  240. byte[] ctor for an IPv4 address.
  241. Fixes bug #467472.
  242. 2009-01-19 Marek Habersack <[email protected]>
  243. * HttpWebRequest.cs: implemented the UseDefaultCredentials
  244. property, patch from Florian Maetschke <[email protected]>,
  245. thanks!
  246. 2009-01-16 Gonzalo Paniagua Javier <[email protected]>
  247. * FtpWebRequest.cs: adjust to the correct directory when listing too.
  248. Fixes bug #466530.
  249. 2009-01-15 Gonzalo Paniagua Javier <[email protected]>
  250. * HttpListenerRequest.cs: always initialize 'version'.
  251. * HttpConnection.cs: the socket might already be disconnected when
  252. shutting down.
  253. 2009-01-14 Gonzalo Paniagua Javier <[email protected]>
  254. * WebConnectionStream.cs: if the buffer has been killed, return -1 for
  255. its length. Fixes regression in System.Runtime.Remoting.
  256. 2009-01-14 Gonzalo Paniagua Javier <[email protected]>
  257. * HttpWebRequest.cs: create a result from the response when
  258. *GetResponse() has not been called yet and we have already received
  259. all the data.
  260. Fixes bug #464013.
  261. 2009-01-13 Gonzalo Paniagua Javier <[email protected]>
  262. * HttpWebRequest.cs: keepAlive is of no use here.
  263. Fixes bug #465613.
  264. 2009-01-13 Gonzalo Paniagua Javier <[email protected]>
  265. * HttpConnection.cs: we were not writing the headers for 0-length
  266. responses.
  267. * WebConnectionStream.cs: for 204/304 responses with an explicit
  268. content-length of 0, release the socket only once.
  269. Fixes bug #465638.
  270. 2009-01-12 Gonzalo Paniagua Javier <[email protected]>
  271. * FtpWebRequest.cs: now deleting a file works when we're not in the
  272. root directory.
  273. 2008-12-20 Gonzalo Paniagua Javier <[email protected]>
  274. * IPAddress.cs: avoid throwing when parsing a subnet.
  275. 2008-11-18 Gonzalo Paniagua Javier <[email protected]>
  276. * HttpConnection.cs: remove CWL. When reusing, BeginReadRequest might
  277. throw if the client closes.
  278. * HttpListenerResponse.cs: close the connection for 1.0 clients.
  279. 2008-11-13 Gonzalo Paniagua Javier <[email protected]>
  280. * FtpDataStream.cs: use the socket for reading until the end of a
  281. stream that wasn't read entirely. Remove unused ManualResetEvent.
  282. * FtpWebRequest.cs: set the file_name when downloading. Update the
  283. response status after every SendCommand. Send a "OPTS utf8 on" as MS
  284. does (the control cnc reader should do something with UTF8)
  285. 2008-11-04 Gonzalo Paniagua Javier <[email protected]>
  286. * WebRequest.cs: if the cache level is NoCacheNoStore, don't throw
  287. when setting the CachePolicy.
  288. 2008-11-03 Gonzalo Paniagua Javier <[email protected]>
  289. * FtpWebRequest.cs: take the server current directory into account
  290. when uploading files. Set the data connection type before every
  291. transmission.
  292. Bug 333985 fixed.
  293. 2008-10-31 Gonzalo Paniagua Javier <[email protected]>
  294. * FtpWebRequest.cs: disable keep-alive connections as the current code
  295. does not deal with keep-alive connections.
  296. Workaround for bug #380262.
  297. 2008-10-30 Gonzalo Paniagua Javier <[email protected]>
  298. * WebConnectionStream.cs: when there's a NTLM authentication in
  299. progress, don't let the connection be used by the next request if we
  300. have the entire response in the input buffer.
  301. 2008-10-30 Gonzalo Paniagua Javier <[email protected]>
  302. * HttpListenerResponse.cs: removed obsolete comment.
  303. * ResponseStream.cs: don't read response.SendChunked until after
  304. getting the response headers.
  305. 2008-10-27 Gonzalo Paniagua Javier <[email protected]>
  306. * ServicePointManager.cs: set the default limit of connections from
  307. the configuration file(s) on startup.
  308. Bug #339422 fixed.
  309. 2008-10-23 Gonzalo Paniagua Javier <[email protected]>
  310. * HttpWebRequest.cs: don't call ProxyRequest twice.
  311. * WebConnectionData.cs: remove unused fields.
  312. * WebConnection.cs:
  313. * WebConnectionStream.cs: when setting the input buffer, check to see
  314. if the entire response is already there and free up the request slot.
  315. Fixes bug #423156.
  316. * ResponseStream.cs:
  317. * HttpListenerResponse.cs: buffer the headers so that they are sent
  318. together with the data on the first Write (if any). The fix above
  319. didn't work with our HttpListener without this.
  320. 2008-10-08 Gonzalo Paniagua Javier <[email protected]>
  321. * WebConnection.cs:
  322. * ServicePoint.cs:
  323. * WebConnectionGroup.cs:
  324. * HttpWebRequest.cs:
  325. * WebConnectionStream.cs: reuse the same connection when doing NTLM
  326. authentication. Fixes bug #323375.
  327. Implemented support for UnsafeAuthenticatedConnectionSharing.
  328. 2008-10-08 Gonzalo Paniagua Javier <[email protected]>
  329. * HttpConnection.cs:
  330. * HttpListenerResponse.cs: fix typo that caused the "connection close"
  331. header to be sent. Do not close the socket when the encoding is not
  332. chunked and reuse is possible.
  333. Fixes bug #433371.
  334. 2008-10-08 Gonzalo Paniagua Javier <[email protected]>
  335. * HttpWebRequest.cs: if GetRequestStream has already been called,
  336. return the same stream that we returned in the first call.
  337. Fixes bug #429200.
  338. 2008-10-07 Gonzalo Paniagua Javier <[email protected]>
  339. * ServicePointManager.cs: better handling of possible collisions of the
  340. hash for schema/host/port. Fixes bug #417891.
  341. 2008-10-06 Gonzalo Paniagua Javier <[email protected]>
  342. * ChunkStream.cs: (ReadTrailer) make sure the array access is not out
  343. of bounds. Fixes bug #322715.
  344. 2008-09-19 Gonzalo Paniagua Javier <[email protected]>
  345. * WebConnectionStream.cs: when receiving a 0 content-length, free up
  346. the slot for the next request immediately.
  347. Fixes bug #427974.
  348. 2008-09-16 Miguel de Icaza <[email protected]>
  349. * IPv6Address.cs: On the 2.0 profile, avoid throwing/catching
  350. exceptions inside TryParse.
  351. 2008-09-12 Miguel de Icaza <[email protected]>
  352. * HttpListenerPrefixCollection.cs, EndPointListener.cs,
  353. HttpListener.cs, EndPointManager.cs, HttpConnection.cs: Remove
  354. generics support where necessary to allow this code to be reused
  355. in the 1.0 profile.
  356. 2008-09-08 Miguel de Icaza <[email protected]>
  357. * EndPointListener.cs (SearchListener): Cope with the raw_url not
  358. being merely a path, but potentially a full URI (see the proxy
  359. case).
  360. * HttpListenerRequest.cs: Cope with raw_url not being merely a
  361. path, but potentially a full Uri. Also uses TryCreate, hoping
  362. that one day it will be faster.
  363. 2008-08-23 Zoltan Varga <[email protected]>
  364. * WebConnectionStream.cs (WriteRequest): Fix the copying in the
  365. previous patch, when bytes.Length != length.
  366. 2008-08-22 Zoltan Varga <[email protected]>
  367. * WebConnectionStream.cs (WriteRequest): For small requests,
  368. cluster together the header + body in a single write call, avoids
  369. the latency problems observed in an TLS application that makes
  370. many web service calls.
  371. 2008-08-22 Geoff Norton <[email protected]>
  372. * WebConnection.cs: Set NoDelay
  373. 2008-08-21 Stephane Delcroix <[email protected]>
  374. * OpenReadCompletedEventArgs.cs: new Address property for 2.1
  375. 2008-08-06 Miguel de Icaza <[email protected]>
  376. * IPAddress.cs (ParseIPV6): Use an exception-less parser for ipv6
  377. addresses.
  378. * IPv6Address.cs: Rewrite most of the parsing code to not use that
  379. incredibly fragile, hacky and hacky implementation.
  380. (TryParse): Provide a exception-less parsing path.
  381. 2008-07-25 Gert Driesen <[email protected]
  382. 2008-08-06 Atsushi Enomoto <[email protected]>
  383. * IPAddress.cs : several IPv4 parsing fix exposed by bug #411920.
  384. 2008-08-05 Atsushi Enomoto <[email protected]>
  385. * WebClient.cs : it should not invoke delegate directly, but should
  386. call overridable OnDownloadProgressChanged.
  387. 2008-07-25 Gert Driesen <[email protected]
  388. * HttpWebResponse.cs: Initialize contentLength in ctor, as it must
  389. remain accessible after the response is disposed (and the headers are
  390. no longer available). Adding missing disposed checks in properties
  391. (except for StatusCode) and GetResponseHeader. On the 2.0 profile,
  392. headers must remain accessible after the HttpWebResponse is disposed.
  393. 2008-06-10 Stephane Delcroix <[email protected]>
  394. * IPAddress.cs: allow usage on 2.1 as smcs knows nothing about
  395. string.GetEnumerator : IEnumerable<char>
  396. 2008-06-08 Miguel de Icaza <[email protected]>
  397. * ResponseStream.cs: Do not Close the HttpResponse object here as
  398. it is possible to issue multiple OutputStream.Close calls (they
  399. actually happen implicitly through things like StreamWriter.Close,
  400. and they are in various MSDN samples).
  401. 2008-05-28 Gonzalo Paniagua Javier <[email protected]>
  402. * CookieContainer.cs: apply slightly modified patch from [email protected]
  403. that fixes bug #356537.
  404. 2008-04-30 Miguel de Icaza <[email protected]>
  405. * WebPermission.cs (ToXml): To allow code that uses WebPermission
  406. to be built.
  407. 2008-04-21 Gonzalo Paniagua Javier <[email protected]>
  408. * HttpWebResponse.cs: do not check the disposed status for properties
  409. and methods that return response data other than the stream itself.
  410. Fixes bug #381223.
  411. 2008-04-16 Marek Habersack <[email protected]>
  412. * HttpWebRequest.cs: fix an off-by-one bug - the number of
  413. redirects must not exceed the value of
  414. MaximumAutomaticRedirections. Fixes bug #380131
  415. 2008-04-13 Jb Evain <[email protected]>
  416. * *_2_1.cs: move the specific 2.1 System.Net code to the
  417. assembly System.Net.
  418. 2008-04-13 Jb Evain <[email protected]>
  419. * WebRequest_2_1.cs, WebResponse_2_1.cs: new files
  420. * HttpWebRequest_2_1.cs, HttpWebResponse_2_1, WebHeaderCollection_2_1:
  421. update to Silverlight 2.0b1 API.
  422. Merged from the Moonlight 2 branch.
  423. 2008-04-06 <[email protected]>
  424. * ListenerAsyncContext.cs: Fix Basic authentication support. Patch from
  425. Maciej Paszta <[email protected]>
  426. 2008-02-21 Zoltan Varga <[email protected]>
  427. * HttpConnection.cs (Close): Close the socket even if Shutdown throws an exception.
  428. 2008-02-17 Daniel Nauck <[email protected]>
  429. * HttpWebResponse.cs: refactored cookie expires parsing to
  430. allow all common expires datetime formats.
  431. 2008-02-09 Daniel Nauck <[email protected]>
  432. * HttpWebResponse.cs: convert UTC/GMT Expires DateTime from a cookie
  433. into local time, also set the HttpOnly property if available.
  434. 2008-02-09 Daniel Nauck <[email protected]>
  435. * Cookie.cs: implemented HttpOnly
  436. 2008-01-27 Gert Driesen <[email protected]>
  437. * IPAddress.cs (Parse): Changed argument name to match MS.
  438. (TryParse): Changed argument name to match MS.
  439. (ParseIPV4): Only treat zero-length or " " address as empty on 1.0
  440. profile. On 2.0 profile, only ignore characters after blank if last
  441. part is valid hex string.
  442. * IPv6Address.cs: Removed extra spaces and tabs.
  443. 2008-01-26 Daniel Nauck <[email protected]>
  444. * HttpWebRequest.cs: fixed typo. Use the actual uri for correct
  445. cookie header informations and not the originally one.
  446. 2008-01-26 Daniel Nauck <[email protected]>
  447. * Cookie.cs: set Version to '1' if Port is set,
  448. don't include path and domain informations when version is 0,
  449. match ToString () output with .NET 2.0,
  450. fixes bug #316017
  451. 2008-01-15 Atsushi Enomoto <[email protected]>
  452. * MonoHttpDate.cs : Parse() should return Local time. Fixed bug
  453. #353495.
  454. 2008-01-12 Gert Driesen <[email protected]>
  455. * WebClient.cs: Do not add trailing CRLF in UploadValuesCore. Fixes
  456. standalone test for bug #351049.
  457. 2008-01-07 Sebastien Pouliot <[email protected]>
  458. * CredentialCache.cs: Gendarme's AvoidToStringOnStringsRule in
  459. CredentialCacheKey constructor. UseStringEmptyRule on CredentialCache
  460. static ctor (3 times).
  461. 2007-12-27 Miguel de Icaza <[email protected]>
  462. * WebClient.cs: We catch exceptions that happen on the helper
  463. async threads toa void terminating the application on errors, and
  464. also raise a variant of the OnXXXXCompleted methods that take an
  465. Exception argument.
  466. Note that this differs from the .NET implementation in that
  467. we actually raise a signal on error, and set the exception, and in
  468. their case no error is ever raised.
  469. We now call CompleteAsync in the OnXXXCompleted handlers to ensure
  470. that the WebClient can be reused immediately by the callback.
  471. This fixes #350621.
  472. This also should fix the bug report on IRC where someone
  473. complained that they could not "chain" invocations to XXXAsync
  474. methods from the OnXXXXCompleted handlers due to the WebClient
  475. refusing to work if there was an ongoing operation
  476. 2007-12-24 Miguel de Icaza <[email protected]>
  477. * WebClient.cs: Do not validate method to be null, we do not do
  478. that in OpenWrite, the detection is done later on.
  479. Fixes #350622
  480. 2007-12-16 Miguel de Icaza <[email protected]>
  481. * WebClient.cs: Got the arguments in the wrong order, fix
  482. 2007-12-12 Marek Habersack <[email protected]>
  483. * WebClient.cs: DownloadProgressChanged is available only in the
  484. 2.0+ profiles.
  485. 2007-12-12 Miguel de Icaza <[email protected]>
  486. * WebClient.cs (DownloadFileCore): use longs for the
  487. ContentLength, although the other code (loading into a byte array,
  488. or a string) still uses ints, the DownloadFileCore should not.
  489. 2007-12-11 Miguel de Icaza <[email protected]>
  490. * WebClient.cs:
  491. Lots of fixes to get the *Async methods to work.
  492. * WebClient.cs: async, new boolean flag, used to track whether we
  493. are an async invocation, and if so, we need to invoke some
  494. methods.
  495. Switch to using System.Threading.Thread instead of the ThreadPool
  496. as there is no way with the ThreadPool to abort threads (to
  497. implemente CancelAsync).
  498. (CompleteAsync): Helper method used to clear the state after an
  499. async operation completes, otherwise the WebClient can only be
  500. used once.
  501. (CancelAsync): Use Thread.Interrupt to signal the thread that we
  502. are aborting it (it is a lot milder than Thread.Abort, and we are
  503. in no rush to cancel this anyways); Also the documentation states
  504. that we need to call the WebRequest.Abort method, so we do that in
  505. every Download instance.
  506. (DownloadDataAsync, DownloadFileAsync, DownloadStringAsync,
  507. OpenReadAsync, OpenWriteAsync, UplaodDataAsync, UploadFileAsync,
  508. UploadStringAsync): Make signature parameters match MS; use
  509. threads instead of threadpool (so we can implement CancelAsync),
  510. catch ThreadAbortException here so we can also raise the proper
  511. DownloadDataCompleteEventArgs.
  512. These routines will also call the WebRequest.Abort when
  513. appropriate when ThreadInterrupted is used.
  514. (ReadAll): Raise DownloadProgressChanged events.
  515. 2007-12-03 Gert Driesen <[email protected]>
  516. * WebClient.cs: Modified argument checks to match MS, and wrap
  517. exceptions in a WebException. Fixes bug #343064.
  518. 2007-12-03 Miguel de Icaza <[email protected]>
  519. * FtpWebRequest.cs: Applied patch from Jerome Haltom that fixes
  520. multi-line responses (after my fix).
  521. Closes #333978
  522. 2007-11-16 Marek Habersack <[email protected]>
  523. * HttpWebRequest.cs: when folding a request into a GET one, set
  524. content length to 0 and kill the buffers. Fixes bug #327314. Patch
  525. from Geoff Norton <[email protected]>, thanks!
  526. 2007-11-13 Atsushi Enomoto <[email protected]>
  527. * WebRequest.cs : added missing ImpersonationLevel (NIE).
  528. * SecurityProtocolType.cs : not [Serializable] in 2.0.
  529. * ServicePoint.cs : no GetHashCode() in 2.0.
  530. * WebRequestMethods.cs : fixed wrong STOU.
  531. * FileWebResponse.cs : no Dispose(true) in 2.0 API.
  532. 2007-11-08 Jb Evain <[email protected]>
  533. * WebHeaderCollection_2_1.cs: add a custom WebHeaderCollection
  534. for the 2.1 profile.
  535. 2007-11-07 Geoff Norton <[email protected]>
  536. * ListenerAsyncResult.cs: Only send the 401 header if our authentication
  537. type is Basic or Negotiate (which we default to basic) because that is
  538. all we support. Set the WWW-Authenticate header when we return a 401
  539. result. Send the correct state object in the async result.
  540. 2007-11-06 Geoff Norton <[email protected]>
  541. * ListenerAsyncResult.cs: If the HttpListener has an authentication
  542. scheme, the user should be presented with a 401 without calling the
  543. callback.
  544. 2007-11-04 Miguel de Icaza <[email protected]>
  545. * FtpWebRequest.cs (GetResponseStatus): Fix this routine
  546. propertly, refactor, and make it follow Mono coding conventions.
  547. 2007-10-30 Jerome Haltom ([email protected])
  548. * FtpWebRequest.cs: adds support for ftp multiline results, fixes
  549. #333978
  550. 2007-10-27 Miguel de Icaza <[email protected]>
  551. * HttpListener.cs: Remove more trigger-happy disposed=true from
  552. the code; We should only dispose when the Dispose method is
  553. actually called. Not before.
  554. Fixes #337371
  555. * HttpListener.cs (Close): Closing does not mean dispose the
  556. object. This allows Start/Stop/Start to be called as many times
  557. as desired.
  558. Fixes #337368
  559. 2007-10-15 Gert Driesen <[email protected]>
  560. * FtpWebRequest.cs: Added support for DELETE.
  561. 2007-10-15 Gert Driesen <[email protected]>
  562. * WebRequest.cs: Changed serialization ctor to throw NIE on 1.0
  563. profile. Cache default proxy, but still allow it to be explicitly set
  564. to null. Removed commented code.
  565. 2007-10-14 Gonzalo Paniagua Javier <[email protected]>
  566. * WebRequest.cs: DefaultWebProxy allows a null value. Fixes bug #323668.
  567. 2007-09-30 Gert Driesen <[email protected]>
  568. * HttpListenerRequest.cs: Do not store 'method' in upper case, but
  569. instead use case-insensitive comparison.
  570. 2007-09-30 Gert Driesen <[email protected]>
  571. * HttpListenerRequest.cs: Removed dead code. USe String.Length to
  572. check for zero-length string. Use instance field for is_chunked, and
  573. also set it for GET/HEAD/DELETE. Fixed HasEntityBody to return true
  574. when Content-Length > 0, or Transfer-Encoding is chunked.
  575. 2007-09-28 Marek Habersack <[email protected]>
  576. * HttpListenerRequest.cs: make sure 'method' is always stored in
  577. upper case.
  578. The DELETE method must not error out on missing Content-Length
  579. header (this is the behavior of the MS.NET version of the
  580. class). Fixes bug #323215.
  581. HasEntityBody should return false when method is GET/HEAD,
  582. content_length is less than or equal to zero or the request is
  583. chunked. Fixes bug #325296
  584. 2007-08-29 Atsushi Enomoto <[email protected]>
  585. * IPAddress.cs, IPv6Address.cs : (ToString) output ScopeId.
  586. 2007-08-09 Atsushi Enomoto <[email protected]>
  587. * HttpWebRequest_2_1.cs, HttpWebResponse_2_1.cs :
  588. added new sources for those classes for 2.1 (in 2.1 they are
  589. almost abstract, while in 2.0 they are concrete).
  590. * HttpRequestCreator.cs, ServicePoint.cs :
  591. #ifdef 2.0 dependencies out.
  592. 2007-06-28 Chris Howie <[email protected]>
  593. * ServicePoint.cs: Implemented BindIPEndPointDelegate.
  594. * FtpWebRequest.cs: Respect ServicePoint.BindIPEndPointDelegate.
  595. * WebConnection.cs: Respect ServicePoint.BindIPEndPointDelegate.
  596. 2007-08-08 Jb Evain <[email protected]>
  597. * HttpWebRequest.cs: .ctor(Uri) is public in 2.1.
  598. 2007-08-03 Jb Evain <[email protected]>
  599. * Dns.cs: remove async methods for the 2.1 profile.
  600. 2007-07-17 Rodrigo Kumpera <[email protected]>
  601. * HttpListenerRequest.cs: Support for Cookie decoding.
  602. * HttpListenerResponse.cs: Support for encoding cookies on the response sent to the client
  603. * Cookie.cs: new internal method to encode the Cookie in a proper form to sent to clients
  604. 2007-07-14 Gonzalo Paniagua Javier <[email protected]>
  605. * WebConnectionStream.cs: implement the CanTimeout for 2.0. Fixes
  606. bug #81504.
  607. 2007-07-12 Geoff Norton <[email protected]>
  608. * HttpListenerContext.cs:
  609. * HttpListener.cs: Handle HttpListener AuthenticationSchemes
  610. Only Basic authentication is included for now.
  611. 2007-06-30 Gert Driesen <[email protected]>
  612. * NetworkAccess.cs: Only mark as flags enum on 2.0.
  613. 2007-06-21 Dick Porter <[email protected]>
  614. * AuthenticationManager.cs:
  615. * FtpWebRequest.cs:
  616. * Cookie.cs:
  617. * ServicePoint.cs:
  618. * WebClient.cs:
  619. * Authorization.cs:
  620. * FileWebRequest.cs:
  621. * HttpWebRequest.cs:
  622. * WebResponse.cs:
  623. * ServicePointManager.cs:
  624. * HttpWebResponse.cs: Throw NotImplementedException indirectly, to
  625. reduce noise in Moma reports.
  626. 2007-06-20 Atsushi Enomoto <[email protected]>
  627. * ServicePointManager.cs : (bootstrap) build fix.
  628. 2007-06-19 Dick Porter <[email protected]>
  629. * AuthenticationManager.cs:
  630. * IWebProxyScript.cs:
  631. * Authorization.cs:
  632. * Cookie.cs:
  633. * CookieException.cs:
  634. * CredentialCache.cs:
  635. * FileWebRequest.cs:
  636. * WebRequest.cs:
  637. * FileWebResponse.cs:
  638. * WebResponse.cs:
  639. * FtpWebRequest.cs:
  640. * HttpWebRequest.cs:
  641. * DecompressionMethods.cs:
  642. * HttpWebResponse.cs:
  643. * ProtocolViolationException.cs:
  644. * ServicePoint.cs:
  645. * ServicePointManager.cs:
  646. * WebClient.cs:
  647. * WebException.cs:
  648. * WebHeaderCollection.cs:
  649. * WebProxy.cs:
  650. * WebExceptionStatus.cs: 2.0 profile updates
  651. 2007-05-18 Gert Driesen <[email protected]>
  652. * WebConnectionStream.cs: On read timeout, throw WebException with
  653. status Timeout instead of IOException.
  654. 2007-05-16 Adar Wesley <[email protected]>
  655. * CookieCollection.cs: added missing method strongly typed CopyTo.
  656. * CredentialCache.cs: added missing methods Add, Remove, GetCredential
  657. * HttpWebRequest.jvm.cs: added missing ClientCertificates getter.
  658. * ServicePoint.cs: added missing method CloseConnectionGroup.
  659. * WebClient.cs: added missing methods OnDownloadProgressChanged,
  660. OnUploadProgressChanged, GetWebRequest, GetWebResponse
  661. * WebHeaderCollection.cs: added missing methods IsRestricted, Add,
  662. Remove, Set.
  663. * WebProxy.cs: added missing method GetObjectData.
  664. 2007-05-15 Marek Habersack <[email protected]>
  665. * HttpWebRequest.cs: fold all methods into GET for
  666. redirect/moves. Fixes bug #81624
  667. 2007-05-07 Miguel de Icaza <[email protected]>
  668. Missing second part of the patch.
  669. * WebHeaderCollection.cs: To be compatible with older versions of
  670. Mono that might have serialized this in a different format, catch
  671. the potential exception, and try the old name.
  672. This should become a practice whenever we fix serialization in the
  673. future.
  674. This is for #81467
  675. 2007-04-23 Marek Habersack <[email protected]>
  676. * EndPointListener.cs: relax prefix matching to succeed in cases
  677. when the prefix ends with / and the request path does not. Fixes
  678. bug #80091.
  679. * CookieCollection.cs: added a SortByPath method to sort the
  680. collection on demand.
  681. * Cookie.cs: do not return "/" for Path if it wasn't set
  682. explicitly.
  683. * CookieContainer.cs: set cookie path only if its version is
  684. "Netscape" and is null or empty. Fixes #81420.
  685. Sort the collection by the path relevance before returning from
  686. the GetCookies method. Fixes bug #81421.
  687. 2007-04-17 Joel Reed <[email protected]>
  688. * WebHeaderCollection.cs: www-authenticate should be multivalue.
  689. This fixes a bug related to RFC 2608 which says in section
  690. "15.2 Offering a Choice of Authentication Schemes"
  691. An HTTP/1.1 server may return multiple challenges with a 401
  692. (Authenticate) response, and each challenge may use a different
  693. scheme. The order of the challenges returned to the user agent is in
  694. the order that the server would prefer they be chosen. The server
  695. should order its challenges with the "most secure" authentication
  696. scheme first. A user agent should choose as the challenge to be made
  697. to the user the first one that the user agent understands.
  698. Before this change, mono was choosing whatever was sent last,
  699. which was the most insecure authentication option.
  700. 2007-04-10 Marek Habersack <[email protected]>
  701. * HttpListenerRequest.cs: do not include the query start marker
  702. ('?') in the first variable name stored in the QueryString
  703. collection. There is no HTTP header 'Accept-Types' in the
  704. standard, there's only the 'Accept' header that specifies the
  705. accepted MIME types. Fixes bug #81317
  706. 2007-03-25 Alan McGovern <[email protected]>
  707. * IPAddress.cs : Further optimisation for the Swap*** methods.
  708. 2007-03-24 Alan McGovern <[email protected]>
  709. * IPAddress.cs : Optimised the SwapInt and SwapLong methods.
  710. 2007-03-09 Miguel de Icaza <[email protected]>
  711. * FtpDataStream.cs: Close must be called on the stream before we
  712. attempt to read a status code from the remote server.
  713. Fixes FTP transfers to complete.
  714. 2007-03-05 Gonzalo Paniagua Javier <[email protected]>
  715. * HttpWebRequest.cs: properly handle OPTIONS, which may or may not
  716. have a request body. Fixes bug #80686.
  717. 2007-03-02 Marek Habersack <[email protected]>
  718. * WebClient.cs: Overwrite existing files on download, as
  719. documented and as tested on MS.NET. Fixes Bug#81005
  720. 2007-02-24 Gert Driesen <[email protected]>
  721. * HttpWebRequest.cs: Allow Proxy to be set to null on 2.0 profile.
  722. 2007-02-18 Geoff Norton <[email protected]>
  723. * AuthenticationManager.cs: Register the modules in the 2.0 profile
  724. when we create the ArrayList.
  725. 2007-02-01 Gert Driesen <[email protected]>
  726. * WebProxy.cs: In IsBypassed, move address check back to satify unit
  727. tests.
  728. 2007-01-30 Ilya Kharmatsky <ilyak -at- mainsoft.com>
  729. * Dns.cs : implemented proper exception handling under TARGET_JVM
  730. when trying to resolve not existing host.
  731. 2007-01-28 Gert Driesen <[email protected]>
  732. * IPAddress.cs: Provide more meaningful exception message on 2.0
  733. profile.
  734. 2007-01-28 Gert Driesen <[email protected]>
  735. * FileWebRequest.cs: Fixed PreAuthenticate and Proxy properties to
  736. no longer throw NotSupportedException. No longer store ContentLength
  737. in headers. Do not allow null or zero-length method. Allow timeout
  738. to be set to -1 (infine). Only disallow GET, HEAD and CONNECT requests.
  739. Removed workarounds for bug #24943. In (Begin)GetRequest overwrite
  740. file if it already exists. Binary serialization compatibility fixes.
  741. * FileWebResponse.cs: Return application/octet-stream as ContentType.
  742. 2007-01-28 Gert Driesen <[email protected]>
  743. * WebHeaderCollection.cs: Fixed binary serialization compatibility
  744. with MS.
  745. 2007-01-28 Gert Driesen <[email protected]>
  746. * WebProxy.cs: Lazy init bypassList. Fixes for binary serialization
  747. compatibility. Added stub for UseDefaultCredentials (2.0). On 2.0
  748. profile, throw ArgumentNullException in IsBypassed if host is null.
  749. 2007-01-22 Miguel de Icaza <[email protected]>
  750. * HttpWebRequest.cs: Remove unused variable.
  751. * FtpWebRequest.cs: Remove unused variable.
  752. * WebHeaderCollection.cs: Remove a handful of NotImplementedException's
  753. 2007-01-11 Miguel de Icaza <[email protected]>
  754. * HttpListenerRequest.cs (SetRequestLine): Add validation for the
  755. verbs.
  756. Allow any verbs to go through, not only
  757. the white list of verbs.
  758. Fixes: 80504
  759. 2007-01-04 Gonzalo Paniagua Javier <[email protected]>
  760. * RequestStream.cs: initialize the stream in both ctors. Fixes a couple
  761. of unit tests.
  762. 2006-12-29 Gert Driesen <[email protected]>
  763. * HttpWebRequest.jvm.cs: Fixed line endings.
  764. * HttpWebResponse.jvm.cs: Same.
  765. * WebException.cs: Same.
  766. * FtpWebRequest.cs: Same.
  767. * VMWHttpProvider.jvm.cs: Same.
  768. 2006-12-29 Gert Driesen <[email protected]>
  769. * DnsPermissionAttribute.cs: Fixed line endings.
  770. * HttpVersion.cs: Same.
  771. * FtpWebResponse.cs: Same.
  772. * HttpContinueDelegate.cs: Same.
  773. * FtpAsyncResult.cs: Same.
  774. * EndpointPermission.cs: Same.
  775. * IPv6Address.cs: Same.
  776. * FtpDataStream.cs: Same.
  777. * SocketPermission.cs: Same.
  778. * FileWebRequest.cs: Same.
  779. * FileWebResponse.cs: Same.
  780. * DnsPermission.cs: Same.
  781. * ProtocolViolationException.cs: Same.
  782. * MonoHttpDate.cs: Same.
  783. * SocketPermissionAttribute.cs: Same.
  784. * CookieException.cs: Same.
  785. * WebResponse.cs: Same.
  786. * DefaultCertificatePolicy.cs: Same.
  787. 2006-12-28 Gert Driesen <[email protected]>
  788. * IPAddress.cs: On 1.1, 4-byte addresses are not supported in the
  789. ctor. Added null checks for the address passed in the ctors.
  790. 2006-12-28 Miguel de Icaza <[email protected]>
  791. * IPAddress.cs: The condition in 1.1 was broken, it only allowed
  792. 16-byte addresses, and never 4-byte addresses (only 2.0 had
  793. them).
  794. Keep a single code path.
  795. Also, remove all the NET_1_1 defines, we realistically only
  796. distinguish between 1.1 and 2.0, we wont likely support 1.0, 1.1
  797. and 2.0, so remove the 1.0 vs 1.1 conditionals.
  798. Fixes 76792
  799. 〓2006-12-24 Gonzalo Paniagua Javier <[email protected]>
  800. * WebConnectionStream.cs: fix error in my last patch. Thanks to Felipe
  801. Almeida.
  802. 2006-12-23 Gonzalo Paniagua Javier <[email protected]>
  803. * WebConnection.cs:
  804. * HttpWebRequest.cs:
  805. * WebConnectionStream.cs: detect errors writing headers earlier and
  806. avoid race that showed up with SSL. Fixes bug #80234.
  807. 2006-12-22 Gonzalo Paniagua Javier <[email protected]>
  808. * EndPointListener.cs:
  809. * ListenerPrefix.cs:
  810. * ResponseStream.cs:
  811. * ChunkedInputStream.cs:
  812. * HttpConnection.cs:
  813. * RequestStream.cs: add initial support for HTTPS.
  814. 2006-12-18 Atsushi Enomoto <[email protected]>
  815. * FtpStatus.cs : The build gets broken when only-2.0 classes/members
  816. are not excluded in 1.x build.
  817. 2006-12-18 David Elkind <[email protected]>
  818. * FtpAsyncResult.cs : FTP request is now working and covers about 100% of .NET API
  819. * FtpDataStream.cs: FTP request is now working and covers about 100% of .NET API
  820. * FtpWebRequest.cs: FTP request is now working and covers about 100% of .NET API
  821. * FtpWebResponse.cs: FTP request is now working and covers about 100% of .NET API
  822. * FtpStatus.cs: added composite status (includes status code and status description)
  823. 2006-12-04 Konstantin Triger <[email protected]>
  824. * WebRequest.cs, WebResponse.cs: TARGET_JVM limitation workaround.
  825. 2006-12-04 Konstantin Triger <[email protected]>
  826. * ServicePointManager.cs: correct assignment typo.
  827. * ServicePoint.cs: Remove unneeded locks for getters, add internal setter.
  828. 2006-11-27 Miguel de Icaza <[email protected]>
  829. * WebRequest.cs: Instead of throwing NotImplemented exceptions,
  830. call GetMustImplement, that way we do not need the whitelist, and
  831. we save a handful of opcodes.
  832. 2006-11-21 Gonzalo Paniagua Javier <[email protected]>
  833. * HttpWebRequest.cs: add 2 more methods that are not supposed to have
  834. a body. Fixes bug #80001.
  835. 2006-11-15 Andrew Skiba <[email protected]>
  836. * WebHeaderCollection.cs: add stubs for new 2.0 properties.
  837. 2006-11-13 Gonzalo Paniagua Javier <[email protected]>
  838. * HttpWebResponse.cs: cookies are actually added to the request
  839. container if any. Fixes bug #79821.
  840. 2006-11-02 Michael Hutchinson <[email protected]>
  841. * WebRequest.cs: more closely follow MS behaviour: use system settings
  842. unless told otherwise, and respect app.config.
  843. 2006-11-01 Michael Hutchinson <[email protected]>
  844. * GlobalProxySelection.cs: Obsolete GlobalProxySelection under 2.0
  845. profile, and move code to new property WebRequest.DefaultWebProxy.
  846. * WebRequest.cs: Implement new 2.0 property DefaultWebProxy.
  847. Add support for config option UseSystemDefault using simplistic
  848. implementation of new 2.0 method GetSystemWebProxy ().
  849. 2006-10-30 Atsushi Enomoto <[email protected]>
  850. * FtpWebRequest.cs : more build fixes.
  851. 2006-10-30 Gonzalo Paniagua Javier <[email protected]>
  852. * EndPointListener.cs: update comment and avoid exception when the
  853. program is exiting.
  854. 2006-10-30 Miguel de Icaza <[email protected]>
  855. * WebRequestMethods.cs: Another typo fix.
  856. * ServicePointManager.cs: Set the default properly.
  857. * SecurityProtocolType.cs: Remove non-existant defines.
  858. 2006-10-04 Gonzalo Paniagua Javier <[email protected]>
  859. * HttpWebRequest.cs: internally allow buffer if it's not a known
  860. GET-only method instead of enabling that only for POST/PUT. Fixes bug
  861. #79595.
  862. 2006-09-28 Andrew Skiba <[email protected]>
  863. * WebConnection.cs: TARGET_JVM
  864. 2006-09-28 Gonzalo Paniagua Javier <[email protected]>
  865. * WebException.cs: patch by Andrew Skiba that fixes serialization
  866. compatibility with .NET and the default value for status.
  867. 2006-09-28 Andrew Skiba <[email protected]>
  868. * Dns.cs: TARGET_JVM
  869. 2006-09-15 Gonzalo Paniagua Javier <[email protected]>
  870. * CookieContainer.cs: send the cookies from the collection we got for
  871. the given URI, not the whole collection.
  872. * HttpWebResponse.cs: only add the cookies to this instance, not to the
  873. cookie container set in the request.
  874. 2006-09-11 Sebastien Pouliot <[email protected]>
  875. * WebConnection.cs: Patch to remove the hack that was required for
  876. using the older versions of the SSL/TLS classes. This hack is no more
  877. required :-). Patch by Gonzalo Paniagua Javier.
  878. 2006-08-30 Gonzalo Paniagua Javier <[email protected]>
  879. * HttpConnection.cs: when the content length is available, keep it
  880. updated after synchronous read. Renamed 'available' to 'remaining_body'.
  881. * RequestStream.cs: when creating the stream, pass the remaining length
  882. starting from the offset in the buffer.
  883. 2006-08-30 Gonzalo Paniagua Javier <[email protected]>
  884. * RequestStream.cs: make sure we return 0 when no more bytes left.
  885. Paticularly, when we have a content length and the whole response is
  886. buffered.
  887. 2006-08-20 Miguel de Icaza <[email protected]>
  888. * RequestStream.cs (Read): A bug fix for #79112 and what I
  889. consider to be an important change.
  890. The bug fix is that we update the "available" variable as soon as
  891. we consume data from Read, this means that a second call into Read
  892. wont block. Available was only being updated on a secondary code
  893. path, now we alwaysupdate it after using FillFromBuffer.
  894. The second component is what I believe the right behavior should
  895. be. There was a check for "if count > available" that set count
  896. to available in that case. The idea was to limit the data read
  897. from the buffer that belonged to this particular request, to allow
  898. pipelining.
  899. But this test was done after FillFromBuffer, which assumed that
  900. all the data held in the buffer (the one used by FillFromBuffer)
  901. must belong to the this request, and only future data did not.
  902. I think my change is correct, but it assumes that the initialized
  903. RequestStream will be used for other pipelined HTTP requests,
  904. which is not something am 100% sure of, so Gonzalo needs to check
  905. this.
  906. 2006-08-03 Gonzalo Paniagua Javier <[email protected]>
  907. * Cookie.cs: avoid nullref in GetHashCode and Equals.
  908. 2006-08-03 Gonzalo Paniagua Javier <[email protected]>
  909. * CookieCollection.cs:
  910. * CookieContainer.cs: remove expired cookies.
  911. 2006-07-07 Atsushi Enomoto <[email protected]>
  912. * Dns.cs : (GetHostEntry) when passed IP addresses, it does not issue
  913. query to DNS. Patch by Petri Latvala.
  914. 2006-07-03 Gonzalo Paniagua Javier <[email protected]>
  915. * CookieContainer.cs: don't send a secure cookie over an insecure
  916. channel.
  917. 2006-06-02 Gonzalo Paniagua Javier <[email protected]>
  918. * WebProxy.cs: (IsBypassed) 'loopback', 'localhost' and any address
  919. that starts with 127 are special.
  920. 2006-05-24 Gonzalo Paniagua Javier <[email protected]>
  921. * HttpListener.cs: Fixes race condition in BeginGetContext. Patch by
  922. Pawel Sakowski that fixes bug #78365.
  923. 2006-05-09 Atsushi Enomoto <[email protected]>
  924. * ServicePointManager.cs : oops, CONFIGURATION_DEP.
  925. 2006-05-09 Atsushi Enomoto <[email protected]>
  926. * GlobalProxySelection.cs : if corresponding config section is
  927. DefaultProxySection then use it.
  928. 2006-05-09 Atsushi Enomoto <[email protected]>
  929. * WebRequest.cs : if corresponding config section is
  930. WebRequestModulesSection then use it.
  931. 2006-05-09 Atsushi Enomoto <[email protected]>
  932. * ServicePointManager.cs : if corresponding config section is
  933. ConnectionManagementSection then use it.
  934. 2006-05-06 Gonzalo Paniagua Javier <[email protected]>
  935. * ResponseStream.cs:
  936. * HttpListenerResponse.cs: allow 0 length POST. Patch by Horst Reiterer.
  937. Closes bug #78316.
  938. 2006-05-05 Gonzalo Paniagua Javier <[email protected]>
  939. * CredentialCache.cs: added DefaultNetworkCredentials.
  940. 2006-05-05 Gonzalo Paniagua Javier <[email protected]>
  941. * NetworkCredential.cs: implement ICredentialsByHost interface.
  942. 2006-04-27 Gonzalo Paniagua Javier <[email protected]>
  943. * WebConnection.cs: reset the challenge and the status code when
  944. creating the tunnel and sending the proxy auth. headers. Improve error
  945. message when there's an error creating the tunnel.
  946. * HttpWebRequest.cs: don't trigger an early throw for a POST that gets
  947. a 401 or 407 response.
  948. 2006-04-26 Gonzalo Paniagua Javier <[email protected]>
  949. * WebConnectionData.cs:
  950. * WebConnection.cs:
  951. * HttpWebRequest.cs: when tunneling an ssl conneciton through a proxy,
  952. we were not handling a proxy authentication request. Fixes bug #78150
  953. take 2.
  954. 2006-04-20 Gonzalo Paniagua Javier <[email protected]>
  955. * WebProxy.cs: a .ctor was not forwarding the 'credentials' argument.
  956. This fixes bug #78150. Also fix the bypass check for local requests.
  957. 2006-04-20 Gonzalo Paniagua Javier <[email protected]>
  958. * WebProxy.cs: removed bogus ^M.
  959. 2006-04-06 Gonzalo Paniagua Javier <[email protected]>
  960. * HttpWebResponse.cs: don't remove the Set-Cookie headers. Fixes bug
  961. #78028.
  962. 2006-04-04 Atsushi Enomoto <[email protected]>
  963. * WebClient.cs : added a bunch of async method support.
  964. 2006-04-03 Chris Toshok <[email protected]>
  965. * HttpWebResponse.cs (ContentEncoding): return "" if the header
  966. isn't present.
  967. 2006-03-30 Atsushi Enomoto <[email protected]>
  968. * DownloadStringCompletedEventHandler.cs : missing delegate.
  969. 2006-03-30 Atsushi Enomoto <[email protected]>
  970. * Dns.cs : minor argument renaming.
  971. 2006-03-28 Atsushi Enomoto <[email protected]>
  972. * DownloadDataCompletedEventArgs.cs
  973. DownloadDataCompletedEventHandler.cs
  974. DownloadProgressChangedEventArgs.cs
  975. DownloadProgressChangedEventHandler.cs
  976. DownloadStringCompletedEventArgs.cs
  977. OpenReadCompletedEventArgs.cs
  978. OpenReadCompletedEventHandler.cs
  979. OpenWriteCompletedEventArgs.cs
  980. OpenWriteCompletedEventHandler.cs
  981. UploadDataCompletedEventArgs.cs
  982. UploadDataCompletedEventHandler.cs
  983. UploadFileCompletedEventArgs.cs
  984. UploadFileCompletedEventHandler.cs
  985. UploadProgressChangedEventArgs.cs
  986. UploadProgressChangedEventHandler.cs
  987. UploadStringCompletedEventArgs.cs
  988. UploadStringCompletedEventHandler.cs
  989. UploadValuesCompletedEventArgs.cs
  990. UploadValuesCompletedEventHandler.cs : added 2.0 types.
  991. 2006-03-28 Atsushi Enomoto <[email protected]>
  992. * Dns.cs : filled missing NET_2_0 members.
  993. 2006-03-28 Atsushi Enomoto <[email protected]>
  994. * IPAddress.cs : ugh, I was testing with run-test-ondotnet, not
  995. run-test. Those IPv6 properties needed to be reimplemented.
  996. 2006-03-27 Atsushi Enomoto <[email protected]>
  997. * IPAddress.cs : added NET_2_0 TryParse() and IPv6 related properties.
  998. 2006-03-16 Gonzalo Paniagua Javier <[email protected]>
  999. * WebConnectionStream.cs: avoid Begin/EndWrite when the body length is
  1000. zero.
  1001. 2006-03-13 Gonzalo Paniagua Javier <[email protected]>
  1002. * HttpWebRequest.cs: send the request if ContentLength is set for
  1003. POST/PUT, the request stream has that exact amount of bytes in it and
  1004. we're trying to get the response stream.
  1005. This way, closing the request stream is not needed in order to actually
  1006. send the request. Fixes bug #77753.
  1007. * WebConnectionStream.cs: throw if the number of bytes written is
  1008. greater than the specified request content length.
  1009. 2006-03-11 Miguel de Icaza <[email protected]>
  1010. * WebClient.cs: Only expose the right methods to avoid warnings.
  1011. * FtpDataStream.cs (Dispose): Fix signature.
  1012. * FtpWebResponse.cs: Comment out keepAlive field (unused, sounds
  1013. like we are missing features here).
  1014. * IPAddress.cs: Move m_HashCode property to the end, and set
  1015. pragmas to disable warnings.
  1016. 2006-02-16 Dick Porter <[email protected]>
  1017. * IPEndPoint.cs: The SocketAddress AddressFamily takes up the
  1018. first two bytes, not just one. Check the size of the
  1019. SocketAddress buffer for IPv6 as well.
  1020. * Dns.cs: Cope when GetHostByName_internal or
  1021. GetHostByAddr_internal returns fewer items in the array than it
  1022. intended to (maybe due to conversion errors.)
  1023. 2006-02-09 Carlos Alberto Cortez <[email protected]>
  1024. * FtpWebResponse.cs: Add UpdateStatus method, to update both
  1025. statusCode and statusDescription at the same time.
  1026. 2006-02-08 Carlos Alberto Cortez <[email protected]>
  1027. * FtpWebRequest.cs: Remove WebExceptionStatus argument
  1028. from CreateExceptionFromResponse, since exceptions gotten
  1029. from server response always have a WebExceptionStatus.ProtocolError
  1030. value.
  1031. 2006-02-08 Carlos Alberto Cortez <[email protected]>
  1032. * FtpWebRequest.cs: Add renaming support when using
  1033. WebRequestMethods.Ftp.Rename method.
  1034. 2006-02-07 Gonzalo Paniagua Javier <[email protected]>
  1035. * ChunkedInputStream.cs:
  1036. * ChunkStream.cs: handle partial trailers and zero reads. Patch by Pawel
  1037. Sakowski.
  1038. 2006-02-07 Gonzalo Paniagua Javier <[email protected]>
  1039. * HttpWebRequest.cs: don't send the expect-100 if if there's no content.
  1040. * HttpListenerRequest.cs:
  1041. * HttpConnection.cs:
  1042. * RequestStream.cs: use the content length header to avoid reading past
  1043. the end of the stream.
  1044. Patch by Horst Reiterer.
  1045. 2006-02-01 Carlos Alberto Cortez <[email protected]>
  1046. * FtpWebRequest.cs: Add supportedCommands array with the sorted
  1047. methods, to search using Array.BinarySearch. Remove CheckMethod.
  1048. 2006-02-01 Carlos Alberto Cortez <[email protected]>
  1049. * FtpWebRequest.cs: Fixed some typos and small issues.
  1050. 2006-02-02 Gonzalo Paniagua Javier <[email protected]>
  1051. * HttpWebRequest.cs: dummy implementation of UnsafeAuthenticationBlah
  1052. property.
  1053. 2006-02-01 Carlos Alberto Cortez <[email protected]>
  1054. * FtpRequestCreator.cs:
  1055. * FtpAsyncResult.cs:
  1056. * FtpDataStream.cs:
  1057. * FtpWebRequest.cs:
  1058. * FtpWebResponse.cs: Initial implementation of FtpWebRequest (2.0)
  1059. 2006-02-01 Carlos Alberto Cortez <[email protected]>
  1060. * FtpStatusCode.cs: Fix a typo.
  1061. 2006-01-26 Gonzalo Paniagua Javier <[email protected]>
  1062. * WebClient.cs: (2.0) UploadString() returns string, not void.
  1063. 2006-01-10 Gonzalo Paniagua Javier <[email protected]>
  1064. * HttpWebResponse.cs: ignore non-integer values for max-age and version.
  1065. Fixes bug #77199. Thanks to Cyrille Colin.
  1066. 2006-01-10 Gonzalo Paniagua Javier <[email protected]>
  1067. * HttpWebResponse.cs: cope with malformed cookies with '=' as value.
  1068. Patch by Cyrille Colin. Fixes bug #77179.
  1069. 2005-12-25 Carlos Alberto Cortez <[email protected]>
  1070. * FtpStatusCode.cs: New 2.0 enum.
  1071. 2005-12-09 Gonzalo Paniagua Javier <[email protected]>
  1072. * CookieContainer.cs: fix matching of subdomains. Patch by Cyrille
  1073. Colin.
  1074. 2005-12-08 Gonzalo Paniagua Javier <[email protected]>
  1075. * HttpWebResponse.cs: don't loop forever when no name or value between
  1076. semicolons. Fixes bug #76943.
  1077. 2005-12-06 Gonzalo Paniagua Javier <[email protected]>
  1078. * HttpWebResponse.cs: don't fail if the cookie ends with a 'name'
  1079. without a value. Fixes bug #76922.
  1080. 2005-11-28 Gonzalo Paniagua Javier <[email protected]>
  1081. * EndPointListener.cs:
  1082. * HttpListenerRequest.cs: don't require the Host header for 1.0. Just
  1083. map that to the '*' or '+' host.
  1084. 2005-11-22 Gonzalo Paniagua Javier <[email protected]>
  1085. * IPAddress.cs: the byte[] ctor supports length 4 in .NET 2.0.
  1086. Fixes bug #76792.
  1087. 2005-11-21 Senganal T <[email protected]>
  1088. * Dns.cs : corrected a mistake in GetHostEntry ()
  1089. 2005-11-21 Senganal T <[email protected]>
  1090. * Dns.cs : added GetHostEntry() method for 2.0 api conformance
  1091. 2005-11-18 Gonzalo Paniagua Javier <[email protected]>
  1092. * HttpRequestHeader.cs: add missing values.
  1093. 2005-11-17 Gonzalo Paniagua Javier <[email protected]>
  1094. * HttpListenerPrefixCollection.cs:
  1095. * HttpWebResponse.cs:
  1096. * Dns.cs:
  1097. * HttpListenerRequest.cs:
  1098. * HttpWebRequest.cs:
  1099. * HttpListenerResponse.cs: a few signature fixes for 2.0.
  1100. 2005-11-17 Gonzalo Paniagua Javier <[email protected]>
  1101. * HttpListenerPrefixCollection.cs:
  1102. * EndPointListener.cs:
  1103. * HttpStreamAsyncResult.cs:
  1104. * HttpListenerContext.cs:
  1105. * HttpListenerBasicIdentity.cs:
  1106. * AuthenticationSchemeSelector.cs:
  1107. * HttpListener.cs:
  1108. * WebHeaderCollection.cs:
  1109. * ListenerPrefix.cs:
  1110. * HttpListenerException.cs:
  1111. * HttpResponseHeader.cs:
  1112. * EndPointManager.cs:
  1113. * HttpListenerRequest.cs:
  1114. * HttpRequestHeader.cs:
  1115. * BindIPEndPoint.cs:
  1116. * ResponseStream.cs:
  1117. * ChunkedInputStream.cs:
  1118. * HttpStatusCode.cs:
  1119. * ListenerAsyncResult.cs:
  1120. * ChunkStream.cs:
  1121. * HttpConnection.cs:
  1122. * HttpUtility.cs:
  1123. * HttpListenerResponse.cs:
  1124. * RequestStream.cs: initial implementation of HttpListener. There are
  1125. a few TODOs left (cookies, HTTPS) but almost everything else is in.
  1126. 2005-11-15 Sebastien Pouliot <[email protected]>
  1127. * IPv6Address.cs: Added on overload to ToString to get a the full
  1128. length address returned (as required by System.Uri).
  1129. 2005-11-15 Carlos Alberto Cortez <[email protected]>
  1130. * WebRequestMethods.cs: New 2.0 class.
  1131. 2005-11-05 Atsushi Enomoto <[email protected]>
  1132. * WebClient: use POST for DownloadData(). Fixed bug #76631.
  1133. 2005-10-26 Atsushi Enomoto <[email protected]>
  1134. * AuthenticationSchemes.cs : Fixed enum values and added [Flags].
  1135. 2005-10-19 Atsushi Enomoto <[email protected]>
  1136. * WebClient.cs : added net_2_0 DownloadString() and DownloadData()
  1137. with HTTP method as well.
  1138. 2005-10-19 Atsushi Enomoto <[email protected]>
  1139. * WebClient.cs : added UploadString() and Encoding (net_2_0). Added
  1140. some new overloaded stuff that takes Uri instead of string address.
  1141. 2005-10-17 Sebastien Pouliot <[email protected]>
  1142. * ICredentialPolicy.cs: New. Interface for 2.0.
  1143. 2005-10-05 Atsushi Enomoto <[email protected]>
  1144. * AuthenticationSchemes.cs : new 2.0 enum.
  1145. 2005-08-27 Gonzalo Paniagua Javier <[email protected]>
  1146. * GlobalProxySelection.cs: remove double lock.
  1147. * HttpWebRequest.cs: remove double lock in GetServicePoint() and use
  1148. a private object when locking.
  1149. 2005-07-15 Miguel de Icaza <[email protected]>
  1150. * DigestClient.cs: Fix bug #75556, the qop argument must be
  1151. quoted, per http://www.faqs.org/rfcs/rfc2617.html section
  1152. `quo-options'.
  1153. 2005-07-03 Gonzalo Paniagua Javier <[email protected]>
  1154. * WebConnectionStream.cs: initiate writing the body before trying to
  1155. read. This fixes the performance problems observed in web services.
  1156. Closes bug #75455.
  1157. 2005-06-27 Lluis Sanchez Gual <[email protected]>
  1158. * IPAddress.cs: Changed field names for the sake of serialization
  1159. interoperability with MS.NET.
  1160. 2005-06-26 Gonzalo Paniagua Javier <[email protected]>
  1161. * WebConnection.cs: if cnc.EndRead throws, mark the asyncresult as done.
  1162. * WebConnectionStream.cs: if we're done with the body of a chunk, don't
  1163. require the next chunk header to be there, as some servers might close
  1164. the connection (while also sending 'Connection: close').
  1165. 2005-06-22 Gonzalo Paniagua Javier <[email protected]>
  1166. * HttpWebRequest.cs: MS implementation follows redirects for POST. Seems
  1167. to me that this is against 10.3.3 in RFC 2616, but may be the user
  1168. 'authorization' to do this is implicit in AllowAutoRedirect...
  1169. 2005-06-21 Gonzalo Paniagua Javier <[email protected]>
  1170. * WebConnection.cs: SslClientStream.BeginRead might not be asynchronous
  1171. if there's no record available to read. This is a workaround that makes
  1172. the call to BeginRead itself asynchronous. Fixes bug #75342.
  1173. 2005-06-10 Gonzalo Paniagua Javier <[email protected]>
  1174. * WebConnection.cs:
  1175. * HttpWebRequest.cs:
  1176. * WebConnectionStream.cs: initiate the polling for input data after
  1177. sending the header so that we detect any response that the server sends
  1178. back even if we're still trying to write the request for a POST/PUT.
  1179. If we get the response (or an error) before any one calls GetResponse(),
  1180. keep it around instead of ignoring it.
  1181. 2005-06-03 Gonzalo Paniagua Javier <[email protected]>
  1182. * HttpWebRequest.cs: send the right header/user/password in
  1183. PreAuthenticate in presence of a proxy.
  1184. 2005-06-03 Gonzalo Paniagua Javier <[email protected]>
  1185. * IPv6Address.cs: fix IsLoopback. Closes bug #75128.
  1186. 2005-06-03 Gonzalo Paniagua Javier <[email protected]>
  1187. * IPv6Address.cs: don't do extra check on ipv4 if this is a ipv6
  1188. address. Fixes bug #75125.
  1189. 2005-06-03 Gonzalo Paniagua Javier <[email protected]>
  1190. * ServicePointManager.cs: when going through a proxy, use 2 different
  1191. service points depending on the scheme. Fixes bug #75135.
  1192. 2005-05-30 Gonzalo Paniagua Javier <[email protected]>
  1193. * Dns.cs: don't parse the address when it comes from an IPAddress.
  1194. 2005-05-23 Gonzalo Paniagua Javier <[email protected]>
  1195. * WebConnection.cs: prevent 2 nullrefs when the aborting during
  1196. Connect() and reset the status to Success before starting a new
  1197. request.
  1198. 2005-05-19 Sebastien Pouliot <[email protected]>
  1199. * WebRequest.cs: Throw NotImplementedException (not NotSupported
  1200. Exception) for stuff that should have been abstract. No exception
  1201. is thrown by the serialization constructor.
  1202. 2005-05-04 James Willcox <[email protected]>
  1203. * DigestClient.cs: convert to a hex string with "X8" consistently
  1204. for nc-value
  1205. 2005-05-04 Gonzalo Paniagua Javier <[email protected]>
  1206. * WebConnection.cs: don't rethrow errors in Write, as the error will be
  1207. received by GetResponse*. The result is that the threadpool thread doing
  1208. this will not end up printing the exception. Fixes bug #74817.
  1209. 2005-05-03 Gonzalo Paniagua Javier <[email protected]>
  1210. * ServicePoint.cs: HostEntry needs to be thread safe.
  1211. 2005-05-03 Gonzalo Paniagua Javier <[email protected]>
  1212. * WebConnection.cs: removed a 'slightly' important line by mistake.
  1213. * WebConnectionStream.cs: if the transfer encoding is chunked, ignore
  1214. content-length header if present.
  1215. 2005-05-03 Gonzalo Paniagua Javier <[email protected]>
  1216. * WebConnection.cs: no need to use an AutoResetEvent.
  1217. * WebConnectionStream.cs: don't start any more reads on the socket
  1218. after getting a 0 signalling the end. This fixes Ben's infamous foo.cs
  1219. test.
  1220. 2005-04-29 Gonzalo Paniagua Javier <[email protected]>
  1221. * BasicClient.cs: firefox/IE just send latin1, stripping the high byte
  1222. from unicode >= 256 characters.
  1223. 2005-04-29 Gonzalo Paniagua Javier <[email protected]>
  1224. * BasicClient.cs: use latin1 when encoding the username/domain/password.
  1225. Fixes bug #74745.
  1226. 2005-04-17 Gonzalo Paniagua Javier <[email protected]>
  1227. * WebConnectionStream.cs: if the BeginRead/BeginWrite is completed
  1228. synchronously, no need to create the ManualResetEvent to wait on.
  1229. 2005-04-16 Gonzalo Paniagua Javier <[email protected]>
  1230. * WebConnectionStream.cs: call SetComplete in EndWrite when we're not
  1231. buffering the request body. Fixes bug #74637.
  1232. * WebAsyncResult.cs: renamed field.
  1233. 2005-04-14 Gonzalo Paniagua Javier <[email protected]>
  1234. * WebConnectionStream.cs:
  1235. * WebAsyncResult.cs: ensure we only call EndRead once per async. result.
  1236. Update total before invoking the callback when present.
  1237. 2005-04-11 Gonzalo Paniagua Javier <[email protected]>
  1238. * WebConnection.cs:
  1239. * WebConnectionStream.cs: don't start reading until we've sent at least
  1240. the headers. This way we ensure that a Write happens before any Read,
  1241. which is needed by the SSL code.
  1242. 2005-04-11 Gonzalo Paniagua Javier <[email protected]>
  1243. * HttpWebRequest.cs: ensure we read everything before redirecting.
  1244. 2005-04-11 Gonzalo Paniagua Javier <[email protected]>
  1245. * WebConnectionStream.cs: provide a default callback when doing async.
  1246. read/write and waiting for a timeout so that the callback sets the
  1247. event and we don't block forever. Fixes bug #74539 take 3.
  1248. 2005-04-10 Gonzalo Paniagua Javier <[email protected]>
  1249. * WebConnection.cs:
  1250. * HttpWebRequest.cs: now Abort() works properly. Fixes bug #74177.
  1251. 2005-04-10 Gonzalo Paniagua Javier <[email protected]>
  1252. * WebConnection.cs: fix some breakage from my last patch.
  1253. * WebConnectionStream.cs: invoke the callback when done even in EndRead.
  1254. 2005-04-10 Sebastien Pouliot <[email protected]>
  1255. * WebConnection.cs: Added support for TrustFailure when throwing a
  1256. WebException. Fix bug #74286.
  1257. 2005-04-10 Gonzalo Paniagua Javier <[email protected]>
  1258. * HttpWebRequest.cs:
  1259. * WebConnectionStream.cs: implemented support for ReadWriteTimeout.
  1260. 2005-04-10 Gonzalo Paniagua Javier <[email protected]>
  1261. * WebConnection.cs: if we're reading chunked data and didn't use the
  1262. stream to read, we gotta set the async. result as complete and invoke
  1263. the callback. Don't call nstream.EndRead with the wrong IAsyncResult.
  1264. * WebConnectionStream.cs: in EndRead, pass the correct IAsyncResult to
  1265. cnc.EndRead. Lock on a field instead of 'this'.
  1266. 2005-04-09 Gonzalo Paniagua Javier <[email protected]>
  1267. * HttpWebRequest.cs: throw the exception if we got an error, as now
  1268. it's catched in the redirection handling code.
  1269. 2005-04-08 Gonzalo Paniagua Javier <[email protected]>
  1270. * HttpWebRequest.cs: moved redirection handling to a proper place.
  1271. 2005-04-07 Gonzalo Paniagua Javier <[email protected]>
  1272. * WebHeaderCollection.cs: added if-modified-since to the list of
  1273. restricted headers.
  1274. * ServicePoint.cs: use a field object when locking.
  1275. 2005-04-07 Gonzalo Paniagua Javier <[email protected]>
  1276. * WebConnectionStream.cs: ForceCompletion actually calls NextRead. No
  1277. need to wait for a Close/ReadAll when we have no content.
  1278. 2005-04-04 Gonzalo Paniagua Javier <[email protected]>
  1279. * NtlmClient.cs: fix typo in assembly name.
  1280. 2005-03-30 Gonzalo Paniagua Javier <[email protected]>
  1281. * CookieContainer.cs: adding to a CookieCollection might not increment
  1282. the number of items if the cookie is replaced. Now Count works properly.
  1283. Fixed an array index exception (typo).
  1284. * CookieCollection.cs: also compare the version.
  1285. * HttpWebResponse.cs: when we have cookies, add them to the request
  1286. container.
  1287. * HttpWebRequest.cs: changed last parameter of HttpWebResponse ctor.
  1288. 2005-03-30 Miguel de Icaza <[email protected]>
  1289. * Cookie.cs: Compare using the InvariantCulture, to match the
  1290. behavior of CookieContainer that already did this.
  1291. 2005-03-30 Gonzalo Paniagua Javier <[email protected]>
  1292. * WebConnection.cs: we don't need to trigger the next queued request
  1293. until the response is closed.
  1294. 2005-03-29 Miguel de Icaza <[email protected]>
  1295. * HttpWebResponse.cs: Handle quotations in the cookies values, per
  1296. the spec http://www.faqs.org/rfcs/rfc2109.html, it is allowed to
  1297. have quotations.
  1298. 2005-03-18 Gonzalo Paniagua Javier <[email protected]>
  1299. * BasicClient.cs:
  1300. * DigestClient.cs: check that GetCredential() does not return null.
  1301. 2005-03-16 Gonzalo Paniagua Javier <[email protected]>
  1302. * BasicClient.cs: ensure credentials are not null.
  1303. 2005-03-10 Gonzalo Paniagua Javier <[email protected]>
  1304. * HttpWebResponse.cs: moved cookie parsing into its own class.
  1305. * WebHeaderCollection.cs: remove (probably bogus) GetMultipleValues
  1306. call.
  1307. * HttpWebRequest.cs: don't let exception raised in the ctor of
  1308. HttpWebResponse vanish.
  1309. Fixes bug #73275.
  1310. 2005-03-01 Gonzalo Paniagua Javier <[email protected]>
  1311. * WebHeaderCollection.cs: handle commas inside quotes when splitting
  1312. a multi-value header. Fixes bug #73151.
  1313. 2005-02-13 Gonzalo Paniagua Javier <[email protected]>
  1314. * DigestClient.cs: fix for digest auth. and URIs containing query. Patch
  1315. by James Wilcox. Fixes bug #72571.
  1316. 2005-02-12 Gonzalo Paniagua Javier <[email protected]>
  1317. * HttpWebResponse.cs:
  1318. * WebConnection.cs:
  1319. * HttpWebRequest.cs:
  1320. * WebConnectionStream.cs: don't read the entire response unless the
  1321. user requests it. Fixes bug #72443.
  1322. 2005-02-08 Zoltan Varga <[email protected]>
  1323. * IPv6Address.cs: Fix endianess problems.
  1324. * IPAddress.cs: Fix misleading comments.
  1325. 2005-02-04 Gonzalo Paniagua Javier <[email protected]>
  1326. * HttpWebRequest.cs: send the headers when we're supposed to write
  1327. a POST/PUT but call GetResponse before GetRequestStream.
  1328. * WebConnectionStream.cs: new RequestWritten property.
  1329. 2005-01-20 Jonathan Pryor <[email protected]>
  1330. * EndpointPermission.cs: Fix IsSubsetof(hostname) so that the regression
  1331. tests work. In particular, IsSubsetOf ("12.13.*.*", "12.13.14.*") failed
  1332. because 14 wasn't a subset of * (which it is). Fix: if part1 is we
  1333. continue to the next portion.
  1334. 2005-01-20 Jonathan Pryor <[email protected]>
  1335. * IPAddress.cs (ParseIPV4): Fix so that the regression tests work. In
  1336. particular, " foo" and ".1.1.6" weren't being caught (" foo" because it
  1337. started with a space, and ".1.1.6" because the split string accepted a
  1338. 0-length portion, which would make 1...6 valid, but isn't valid based on
  1339. similar test cases).
  1340. 2005-01-20 Jonathan Pryor <[email protected]>
  1341. * WebHeaderCollection.cs: Fix GetValues(string) to split the values on
  1342. commas if the header is a Multi-Value header. This matches
  1343. MonoTests.System.Net.WebHeaderCollectionTest.
  1344. 2005-01-19 Sebastien Pouliot <[email protected]>
  1345. * WebPermissionAttribute.cs: Fixed NET_1_1 behaviour.
  1346. 2004-12-14 Gonzalo Paniagua Javier <[email protected]>
  1347. * WebConnectionStream.cs: remove unneeded check. Write detects and
  1348. triggers the exception now.
  1349. 2004-12-14 Gonzalo Paniagua Javier <[email protected]>
  1350. * AuthenticationManager.cs: don't lock on a public Type.
  1351. * HttpWebRequest.cs: read the error response for auth. errors.
  1352. 2004-12-12 Gonzalo Paniagua Javier <[email protected]>
  1353. * HttpWebRequest.cs: set webResponse back to null when redirecting.
  1354. Fix the previous patch so that it reads the whole response even if
  1355. auto-redirect is not enabled. Closes bug #70484.
  1356. 2004-12-12 Gonzalo Paniagua Javier <[email protected]>
  1357. * HttpWebResponse.cs: added ReadAll method.
  1358. * WebConnection.cs: in HandleError, set the response error after
  1359. closing the socket. Use an async. delegate to finish reading any prior
  1360. WebConnectionStream.
  1361. * HttpWebRequest.cs: for error responses that allow content, read the
  1362. stream immediately. Fixes bug #70483.
  1363. 2004-12-11 Gonzalo Paniagua Javier <[email protected]>
  1364. * CookieContainer.cs: quote the port number.
  1365. 2004-12-10 Gonzalo Paniagua Javier <[email protected]>
  1366. * WebConnection.cs:
  1367. * WebConnectionStream.cs: removed TryReconnect. It's no longer needed.
  1368. 2004-12-05 Gonzalo Paniagua Javier <[email protected]>
  1369. * WebConnection.cs: set the event in Close so that if the queue is
  1370. empty, we won't block forever on next request. The finalizer was
  1371. removed because we're not implementing IDisposable pattern here.
  1372. 2004-12-04 Gonzalo Paniagua Javier <[email protected]>
  1373. * WebConnection.cs: handle errors on chunked streams. Fixes bug #66858.
  1374. * ChunkStream.cs: added error checking all over.
  1375. * HttpWebRequest.cs: throw the exception received in SetResponseError
  1376. if we already have a response.
  1377. (SetRequestData): Don't nest the exception if it's a WebException.
  1378. 2004-12-03 Gonzalo Paniagua Javier <[email protected]>
  1379. * WebConnection.cs: remove prevStream and don't set busy to false in
  1380. HandleError. prevStream is not needed any more and setting 'busy' so
  1381. early might let a request skip the queue.
  1382. * WebConnectionGroup.cs: decrement the indexer when removing a dead
  1383. reference from the arraylist.
  1384. * WebConnectionStream.cs:
  1385. (ReadAll): call NextRead if it has not been called before even when
  1386. we have completed the request. Reuse the read buffer when reading a
  1387. response of unknown size. Increase the buffer to 8kB.
  1388. (BeginRead): increase pendingReads earlier and even when reading from
  1389. the internal buffer.
  1390. (EndRead): decrease pendingReads later and always.
  1391. 2004-12-01 Gonzalo Paniagua Javier <[email protected]>
  1392. * CookieContainer.cs: style, fixed checks for properties, implemented
  1393. the MonoTODOs for the method that take an Uri. GetCookies and
  1394. GetCookieHeaders now really return only the cookies that are requested
  1395. filtering by the Uri parameter.
  1396. * Cookie.cs: style, added default values for Comment, Domain and Port.
  1397. 2004-12-01 Gonzalo Paniagua Javier <[email protected]>
  1398. * CookieCollection.cs: reformatted, fixed Add by adding a new method to
  1399. search across the arraylist, as list.IndexOf is not what we want.
  1400. 2004-11-19 Gonzalo Paniagua Javier <[email protected]>
  1401. * WebConnection.cs: check for FIN or RST on the socket before reusing.
  1402. Fixes bug #69388.
  1403. 2004-11-09 Gonzalo Paniagua Javier <[email protected]>
  1404. * ChunkStream.cs: simplified condition for WantMore property.
  1405. * WebConnection.cs: in Connect(), finish any pending reads we might
  1406. have for chunked data. Ignore possible blank lines at the very
  1407. beginning of the server response. Honor user set KeepAlive in
  1408. HttpWebRequest for HTTP/1.1 connections. Thanks to Eyal Alayuf for
  1409. his suggestions and code.
  1410. 2004-11-01 Gonzalo Paniagua Javier <[email protected]>
  1411. * HttpWebResponse.cs: don't lock up when the cookie received ends with
  1412. a semicolon. Patch by Darryl VanDorp. Fixes bug #68956.
  1413. 2004-10-27 Gonzalo Paniagua Javier <[email protected]>
  1414. * HttpWebRequest.cs: don't fail if the request has already been sent
  1415. when accessing ContentType setter. Fixes bug #68848.
  1416. 2004-10-25 Gonzalo Paniagua Javier <[email protected]>
  1417. * ChunkStream.cs:
  1418. (WantMore): we're not done until we get a 0 chunk size and the trailer.
  1419. The 0 can be expressed as more than one character too (ie, 000000).
  1420. * HttpWebRequest.cs: new argument in SetResponseError.
  1421. * WebConnection.cs: added argument to HandleError as a hint for
  1422. debugging.
  1423. (Connect): make the chunked stream be in the expected state when
  1424. reusing.
  1425. * WebConnectionStream.cs: removed unused method (ResetWriteBuffer).
  1426. 2004-10-10 David Sheldon <[email protected]>
  1427. * HttpWebRequest.cs: Use RemoveAndAdd for AddRange. Fixes unittest.
  1428. 2004-10-05 Gonzalo Paniagua Javier <[email protected]>
  1429. * HttpWebRequest.cs: use RemoveAndAdd for headers multivalue headers.
  1430. * WebHeaderCollection.cs: added RemoveAndAdd that behaves like the old
  1431. SetInternal.
  1432. 2004-10-04 Gonzalo Paniagua Javier <[email protected]>
  1433. * HttpWebRequest.cs: ProxyQuery returns true when we use a proxy without
  1434. tunneling a secure connection.
  1435. * ServicePoint.cs: added UseConnect property.
  1436. * ServicePointManager.cs: set the UseConnect property when we use a http
  1437. proxy for a https connection.
  1438. * WebConnection.cs: setup the tunnled connection when using a proxy and
  1439. https.
  1440. 2004-09-13 Gonzalo Paniagua Javier <[email protected]>
  1441. * HttpWebResponse.cs: remove unused SplitValue method.
  1442. 2004-09-10 Sebastien Pouliot <[email protected]>
  1443. * DnsPermission.cs: Updated to pass new unit tests.
  1444. * DnsPermissionAttribute.cs: Cleanup.
  1445. * SocketPermission.cs: Updated to pass new unit tests.
  1446. * SocketPermissionAttribute.cs: Updated to pass new unit tests.
  1447. * WebPermission.cs: Implemented some TODO - not complete yet.
  1448. * WebPermissionAttribute.cs: Updated to pass new unit tests.
  1449. 2004-08-11 Gonzalo Paniagua Javier <[email protected]>
  1450. * Cookie.cs: don't fail when using default constructor. Fixes bug
  1451. #62890.
  1452. 2004-08-11 Gonzalo Paniagua Javier <[email protected]>
  1453. * HttpWebResponse.cs: set-cookie and set-cookie2 can be present more
  1454. than once and have multiple values. Don't rely on string.split when
  1455. parsing cookie values.
  1456. * WebHeaderCollection.cs: same thing for set-cookie and set-cookie2.
  1457. Fixed GetValues (it was splitting values that contained a comma) and
  1458. changed SetInternal to handle multi-value headers.
  1459. Fixes bug #62744.
  1460. 2004-07-26 Gonzalo Paniagua Javier <[email protected]>
  1461. * WebProxy.cs: fix scheme detection. Patch by Konstantin Triger
  1462. ([email protected]).
  1463. 2004-07-16 Gonzalo Paniagua Javier <[email protected]>
  1464. * HttpWebRequest.cs: detect changes in scheme or port when redirecting.
  1465. Fixes las take on bug 61218.
  1466. 2004-07-14 Gonzalo Paniagua Javier <[email protected]>
  1467. * WebConnection.cs: moved loading of the ssl stream Type to its own
  1468. method. Don't create a new ssl stream if we're reusing the connection.
  1469. * WebConnectionStream.cs: ensure the number of bytes copied in ReadAll
  1470. is the expected even if the dta from the server has extra bytes.
  1471. 2004-07-12 Gonzalo Paniagua Javier <[email protected]>
  1472. * WebConnection.cs:
  1473. * WebConnectionStream.cs: when the status code is 1xx, 204 or 304,
  1474. "responses MUST NOT include a message-body". We tried to read the
  1475. stream even when getting those codes and considered the 0 length
  1476. read as a failure.
  1477. 2004-07-09 Gonzalo Paniagua Javier <[email protected]>
  1478. * HttpWebRequest.cs: removed bogus Monitor.Exit.
  1479. * WebConnection.cs: use Address instead of RequestUri when checking for
  1480. the scheme in order to select the stream type. Fixes bug #61218.
  1481. 2004-06-06 Gonzalo Paniagua Javier <[email protected]>
  1482. * ChunkStream.cs: added ChunkLeft property.
  1483. * WebConnection.cs:
  1484. (EndRead): when using small byte arrays to read from a chunked stream,
  1485. ensure we've read the chunk size and try to fulfill the request
  1486. completely. fixes bug 59653.
  1487. 2004-05-29 Gonzalo Paniagua Javier <[email protected]>
  1488. * WebConnectionStream.cs: fixed CanRead property. Closes bug #59273.
  1489. 2004-05-28 Gonzalo Paniagua Javier <[email protected]>
  1490. * DigestClient.cs: cache the sessions based on address and
  1491. credentials, not only address. Added poor men's expiration to
  1492. the session cache. Fixes bug #59202.
  1493. 2004-05-26 Gonzalo Paniagua Javier <[email protected]>
  1494. * IPAddress.cs:
  1495. * IPEndPoint.cs:
  1496. * IPv6Address.cs: no more warnings about IPAddress.Address.
  1497. 2004-05-18 Gonzalo Paniagua Javier <[email protected]>
  1498. * WebException.cs: implemented serialization .ctor and
  1499. GetObjectData().
  1500. 2004-05-13 Gonzalo Paniagua Javier <[email protected]>
  1501. * WebAsyncResult.cs: don't create the WaitHandle if not needed.
  1502. 2004-05-13 Gonzalo Paniagua Javier <[email protected]>
  1503. * HttpWebRequest.cs: added 3 missing properties for 1.1. They are not
  1504. used yet.
  1505. * NetConfig.cs: added MaxResponseHeadersLength field.
  1506. * ServicePoint.cs:
  1507. * ServicePointManager.cs: added missing properties for 1.1.
  1508. 2004-05-03 Sebastien Pouliot <[email protected]>
  1509. * WebConnection.cs: Use assembly name const to load Mono.Security.
  1510. 2004-05-03 Lluis Sanchez Gual <[email protected]>
  1511. * NtlmClient.cs: Use assembly name const to load Mono.Security.
  1512. 2004-04-24 Gonzalo Paniagua Javier <[email protected]>
  1513. * WebConnectionStream.cs: avoid the exception when getting the content
  1514. length if possible.
  1515. 2004-03-29 Lluis Sanchez Gual <[email protected]>
  1516. * HttpWebRequest.cs: Use a lock block instead of Monitor.Enter/Exit, so
  1517. the lock is released in case of exception (for example, a
  1518. ThreadAbortException). This also "fixes" bug #52417.
  1519. Beware, this requires a runtime update (due to a bug in Monitor.Exit).
  1520. * ServicePoint.cs: Changed method from internal to private, since it
  1521. is not called from outside the class.
  1522. 2004-03-24 Gonzalo Paniagua Javier <[email protected]>
  1523. * HttpWebRequest.cs: added the exception status to the error message.
  1524. * WebConnection.cs: add headers using SetInternal instead of Add to
  1525. bypass header name validation. Fixes bug #55994.
  1526. * WebHeaderCollection.cs: added SetInternal (string header).
  1527. 2004-03-04 Gonzalo Paniagua Javier <[email protected]>
  1528. * WebConnection.cs:
  1529. * WebConnectionGroup.cs: the requests queue is now shared for all the
  1530. connections belonging to the same connection group.
  1531. 2004-02-26 Sebastien Pouliot <[email protected]>
  1532. * DefaultCertificatePolicy.cs: New. Certificate validation
  1533. policy compatible with the documented one present in Fx. It
  1534. allows valid certificates and expired certificates to be used
  1535. for SSL connections.
  1536. * ServicePointManager.cs: Removed the DummyPolicy. Now creates
  1537. a DefaultCertificatePolicy to validate certificates.
  1538. 2004-02-26 Gonzalo Paniagua Javier <[email protected]>
  1539. * ServicePoint.cs: SendContinue is always false for HTTP/1.0
  1540. * WebConnection.cs: get rid of WaitForContinue() (yes!) and prevent
  1541. calling more the ContinueDelegate more than once when we get the
  1542. headers in several packets.
  1543. * WebConnectionStream.cs: removed call to WaitForContinue.
  1544. 2004-02-25 Sebastien Pouliot <[email protected]>
  1545. * WebConnection.cs: Update previous patch to use HttpsClientStream
  1546. (internal in Mono.Security assembly) in place of SslClientStream.
  1547. This will reduce reflection and allow to use ICertificatePolicy.
  1548. 2004-02-25 Gonzalo Paniagua Javier <[email protected]>
  1549. * DigestClient.cs: fix quote handling. Reordered attributes in response.
  1550. Fixed typo (QOP->CNonce). Now Digest works with apache2.
  1551. 2004-02-25 Gonzalo Paniagua Javier <[email protected]>
  1552. * DigestClient.cs: removed Console.
  1553. * HttpWebRequest.cs: 401/407 were hanging for GET. Fixed.
  1554. 2004-02-24 Sebastien Pouliot <[email protected]>
  1555. * DigestClient.cs: Fixed issue with Apache server which do not use "
  1556. for specifying the digest algorithm (.e.g. algorithm=MD5 not ="MD5").
  1557. 2004-02-20 Gonzalo Paniagua Javier <[email protected]>
  1558. * HttpWebRequest.cs: arghhh. I used the server response headers instead
  1559. of what the client is supposed to send. Thanks to Helge Hess.
  1560. 2004-02-19 Gonzalo Paniagua Javier <[email protected]>
  1561. * AuthenticationManager.cs: implemented PreAuthenticate().
  1562. * HttpWebRequest.cs: once we know the version of the server, use it if
  1563. below the requested one. Remove 'Expect', 'Content-Length' and /or
  1564. 'Transfer-Encoding' if appropiate due to changes in version. Fixed
  1565. 'Host' header for non-standard ports. Support preauthentication. Closes
  1566. bug #50530.
  1567. 2004-02-19 Gonzalo Paniagua Javier <[email protected]>
  1568. * HttpWebRequest.cs: check for missing or wrong URI in Location header
  1569. when redirecting.
  1570. * WebConnection.cs: if the data read does not contain all the headers,
  1571. keep it around and read the rest until we get to the response body.
  1572. Allow response code with no description. Fixed bug #54543.
  1573. 2004-02-18 Sebastien Pouliot <[email protected]>
  1574. * SecurityProtocolType.cs: Added missing [Serializable] to enum. Added
  1575. Default and Ssl2 to NET_2_0 profile. Enum is now internal for NET_1_0
  1576. profile (as we need it for SslClientStream).
  1577. * ServicePoint.cs: Added internal SetCertificates(client,server).
  1578. * ServicePointManager.cs: Added CheckCertificateRevocationList and
  1579. CheckCertificateRevocationList static properties (public in 1.1,
  1580. internal for 1.0).
  1581. * WebConnection.cs: Dynamically creates a SslClientStream (from
  1582. Mono.Security assembly) in case of https. Changed NetworkStream to
  1583. Stream everywhere.
  1584. 2004-02-18 Gonzalo Paniagua Javier <[email protected]>
  1585. * HttpWebRequest.cs: send the 'Connection: keep-alive' header when we
  1586. don't know the server version or it's 1.0.
  1587. * ServicePoint.cs: added SetVersion.
  1588. * WebAsyncResult.cs: remove ChunkAsyncResult.
  1589. * WebConnection.cs: set the ServicePoint version when getting a response
  1590. from the server.
  1591. * WebConnectionStream.cs: when posting chunked content, send the head,
  1592. body and trailer of the chunk at once instead of doing 3 separate
  1593. writes, which may cause troubles.
  1594. 2004-02-18 Gonzalo Paniagua Javier <[email protected]>
  1595. * WebConnection.cs: if we get a 100 when we're not waiting for it, set
  1596. that information in the ServicePoint.
  1597. * WebConnectionStream.cs: send headers in the right order for
  1598. non-chunked POST.
  1599. 2004-02-17 Gonzalo Paniagua Javier <[email protected]>
  1600. * WebConnectionStream.cs: fixed nullrefs in BeginWrite/EndWrite.
  1601. 2004-02-17 Gonzalo Paniagua Javier <[email protected]>
  1602. * HttpWebRequest.cs: on second and sucesive tries when authenticating,
  1603. don't use chunked encoding for POST, as we know the content length and
  1604. have the body. Nullify bodyBuffer always in CheckFinalStatus.
  1605. * WebAsyncResult.cs: added ChunkAsyncResult property. It holds the
  1606. IAsyncResult when writing CRLF at the end of a chunk.
  1607. * WebConnectionStream.cs: support sending chunked data.
  1608. 2004-01-24 Lluis Sanchez Gual <[email protected]>
  1609. * HttpWebRequest.cs: When retrying a POST request after an
  1610. authentication failure, resend the body. This fixes bug #51841.
  1611. * WebConnectionStream.cs: Added properties for getting what's been
  1612. written.
  1613. 2004-02-12 Gonzalo Paniagua Javier <[email protected]>
  1614. * HttpWebRequest.cs: don't send 'Expect: 100-continue' for 1.0 version.
  1615. 2004-02-12 Gonzalo Paniagua Javier <[email protected]>
  1616. * HttpWebRequest.cs: support proxy authentication.
  1617. 2004-02-12 Gonzalo Paniagua Javier <[email protected]>
  1618. * BasicClient.cs:
  1619. * DigestClient.cs: use IndexOf instead of StartsWith to deal with
  1620. servers that provide several authentication schemas.
  1621. 2004-02-12 Gonzalo Paniagua Javier <[email protected]>
  1622. * ChunkStream.cs: use an array of buffers instead of a MemoryStream for
  1623. storing the chunks. This way, we won't miss traling data from the
  1624. previous chunk when a new one is received before the other is fully
  1625. read.
  1626. 2004-01-27 Nick Drochak <[email protected]>
  1627. * DigestClient.cs:
  1628. * HttpWebRequest.cs:
  1629. * IPv6Address.cs:
  1630. * WebClient.cs:
  1631. * WebConnection.cs:
  1632. * WebConnectionStream.cs: Remove unused variables thus eliminating some
  1633. build warnings.
  1634. 2004-01-26 Gonzalo Paniagua Javier <[email protected]>
  1635. * WebConnection.cs: patch by Yaacov Akiba Slama that fixes 100-continue
  1636. handling for the case when the same packet also contains the actual
  1637. [2-5]xx response.
  1638. 2004-01-24 Lluis Sanchez Gual <[email protected]>
  1639. * HttpWebRequest.cs: Added missing property.
  1640. 2004-01-23 Gonzalo Paniagua Javier <[email protected]>
  1641. * Dns.cs: don't block forever in EndResolve and EndGetHostByName. Fixes
  1642. bug #53222.
  1643. 2004-01-16 Lluis Sanchez Gual <[email protected]>
  1644. * ChunkStream.cs: The "size" parameter of Write is not the number of
  1645. bytes to write, but the last offset to be written. Thus, in WriteAndRead
  1646. Back, since "read" is not an offset but the number of bytes, it must be
  1647. added to the offset. Maybe it would be a good idea to change the name of
  1648. the parameter, since it is confusing. This should fix bug #52591.
  1649. 2004-01-12 Lluis Sanchez Gual <[email protected]>
  1650. * WebConnection.cs: Yet another fix for WebConnection. This fixes
  1651. bug #52169.
  1652. 2004-01-09 Gonzalo Paniagua Javier <[email protected]>
  1653. * WebConnection.cs: Data.Init is a bad boy. Lluis realized. He also
  1654. tidied up the end of ReadDone. Disabled relaunching the request if 2
  1655. InitRead are called, since now we don't throw everything into
  1656. RegisterWaitForSingleObject but one request at a time.
  1657. * WebConnectionGroup.cs: when checking available connections, allow them
  1658. not to be Connected but allocated to honor the connection limit.
  1659. * WebConnectionStream.cs: CheckComplete() now checks for nextReadCalled
  1660. too. ReadAll don't mess contentLength if it's provided in the headers.
  1661. BIG thanks to Lluis. Turns out that we were debugging the same stuff and
  1662. his Data.Init discovery was THE thing I was missing.
  1663. Fixes bug #51277.
  1664. 2004-01-09 Gonzalo Paniagua Javier <[email protected]>
  1665. * ServicePointManager.cs: use GetMaxConnections to get the appropiate
  1666. number of connections limit.
  1667. 2004-01-09 Gonzalo Paniagua Javier <[email protected]>
  1668. * MonoHttpDate.cs: use the invariant culture, not en-US. Suspected
  1669. guilty for bug 52629.
  1670. 2003-12-16 Gonzalo Paniagua Javier <[email protected]>
  1671. * CredentialCache.cs: return null instead of throwing NotImplemented.
  1672. 2003-12-12 Gonzalo Paniagua Javier <[email protected]>
  1673. * HttpWebRequest.cs: fixed checking if method allows a body. Patch by
  1674. Benjamin Jemlich ([email protected]).
  1675. 2003-12-12 Gonzalo Paniagua Javier <[email protected]>
  1676. * HttpWebRequest.cs: deal with authentication schemes that have more
  1677. than 1 round trip (Ntlm).
  1678. 2003-12-11 Gonzalo Paniagua Javier <[email protected]>
  1679. * NtlmClient.cs: new class that actually uses one from Mono.Http to do
  1680. the authentication.
  1681. 2003-12-02 Gonzalo Paniagua Javier <[email protected]>
  1682. * HttpWebRequest.cs: when building the redirect URI, use the previous
  1683. one as the base URI, which makes relative URIs work.
  1684. 2003-12-02 Gonzalo Paniagua Javier <[email protected]>
  1685. * DigestClient.cs: merged in code from Sebastien Pouliot and Greg
  1686. Reinacker that Supports cnonce and preauthentication.
  1687. 2003-12-02 Gonzalo Paniagua Javier <[email protected]>
  1688. * DigestClient.cs: initial Digest authentication. Works with apache
  1689. mod_digest.
  1690. 2003-11-27 Gonzalo Paniagua Javier <[email protected]>
  1691. * HttpWebRequest.cs: removed unneeded StringBuilder.
  1692. * WebConnection.cs: default to keep the connection open for HTTP/1.1
  1693. only or HTTP/1.0 + (Proxy-)Connection header. Fixes bug #51208.
  1694. 2003-11-17 Gonzalo Paniagua Javier <[email protected]>
  1695. * WebConnection.cs: turns out that socket.Connected is not useful until
  1696. we actually try to send/receive data, even if the other end has already
  1697. closed the socket. Added TryReconnect() and Connected.
  1698. * WebConnectionData.cs: default value for StatusCode is 0 now.
  1699. * WebConnectionGroup.cs: reuse the connection since the beginning,
  1700. instead of opening up to ConnectionLimit and then reusing.
  1701. * WebConnectionStream.cs: reopen the socket if we're trying to reuse
  1702. one which fails on first write.
  1703. 2003-11-14 Gonzalo Paniagua Javier <[email protected]>
  1704. * WebConnectionStream.cs: when a callback is passed to BeginRead/Write,
  1705. wrap it and do our job before calling it. Fixes bug #48497.
  1706. 2003-11-12 Andreas Nahr <[email protected]>
  1707. * WebExceptionStatus.cs: Restyled, Added .Net 1.1 members
  1708. * SecurityProtocolType.cs: Added and implemented
  1709. 2003-11-12 Gonzalo Paniagua Javier <[email protected]>
  1710. * HttpWebRequest.cs: fixed redirects when they target another host.
  1711. 2003-11-06 Gonzalo Paniagua Javier <[email protected]>
  1712. * IPAddress.cs: prevent exceptions when trying to parse the static IPv6
  1713. addresses.
  1714. 2003-10-17 Pedro Martinez Julia <[email protected]>
  1715. * WebClient.cs: use Path.DirectorySeparator instead of "/" for
  1716. windows compatibility. Add some checks for file paths like
  1717. "C:/xxx/yyy/..." and like "/home/xxx/...".
  1718. 2003-10-16 Pedro Martinez Julia <[email protected]>
  1719. * WebClient.cs: added a slash between directory and file names.
  1720. 2003-10-13 Gonzalo Paniagua Javier <[email protected]>
  1721. * HttpWebRequest.cs:
  1722. * HttpWebResponse.cs: better abort handling and leave the stream in a
  1723. stable status on abort.
  1724. 2003-10-12 Pedro Martinez Julia <[email protected]>
  1725. * WebClient.cs: refine reading of local files (like MS.NET).
  1726. 2003-10-10 Pedro Martinez Julia <[email protected]>
  1727. * WebClient.cs: MS.NET works right when we try OpenRead("file.txt")
  1728. but we didn't. Now, when Uri fails with an exception, it adds
  1729. "file://" before the URI and tries again.
  1730. 2003-10-09 Gonzalo Paniagua Javier <[email protected]>
  1731. * ServicePoint.cs: preparing for recycling. Not yet finished.
  1732. * ServicePointManager.cs: this is the one that reads config.
  1733. * WebConnectionGroup.cs: don't read config here.
  1734. * WebConnection.cs: added the queue again. Launch queued requests on
  1735. error.
  1736. 2003-10-08 Gonzalo Paniagua Javier <[email protected]>
  1737. * WebConnection.cs: the queue is now handled by the threadpool.
  1738. Initialize the connection data in a place where it does not depend on
  1739. the execution order of the requests in threadpool. More error handling.
  1740. * WebConnectionGroup.cs: use the limits in the config file and reuse
  1741. connections when the limit is reached.
  1742. 2003-10-02 Gonzalo Paniagua Javier <[email protected]>
  1743. * HttpWebRequest.cs: handle 304 a la MS.
  1744. * WebConnection.cs: set the response data when reading 0 bytes.
  1745. 2003-09-16 Gonzalo Paniagua Javier <[email protected]>
  1746. * WebConnectionStream.cs: fix by Lluis to avoid the stream being in an
  1747. invalid state.
  1748. 2003-08-14 Nick Drochak <[email protected]>
  1749. * WebRequest.cs: Check lower case string since that is what we will add.
  1750. 2003-08-04 Jerome Laban <[email protected]>
  1751. * IPHostEntry.cs: Default contructor must not initialize members.
  1752. (Fixes bug #45575).
  1753. 2003-07-27 Andreas Nahr <[email protected]>
  1754. * CredentialCache.cs: Removed undefined serializable attribute
  1755. 2003-07-20 Gonzalo Paniagua Javier <[email protected]>
  1756. * ChunkStream.cs:
  1757. (WantMore): true if we've not received the last chunk yet. Fixes
  1758. bug #45463. Thanks to Miguel for tracking this down and providing a
  1759. test case.
  1760. * WebConnection.cs: removed bogus ^M's.
  1761. * WebHeaderCollection.cs: provide more info when the header or value is
  1762. wrong.
  1763. 2003-07-15 Andreas Nahr <[email protected]>
  1764. * ChunkStream.cs: Removed unused members
  1765. * IPAddress.cs: Removed unused exception variable, fixes compiler
  1766. warning.
  1767. * WebConnection.cs: Removed unused exception variables, fixes compiler
  1768. warnings.
  1769. 2003-07-14 Lluis Sanchez Gual <[email protected]>
  1770. * NetConfig.cs: If Clone method is not public, then it must use
  1771. explicit interface method implementation syntax.
  1772. 2003-07-14 Jerome Laban <[email protected]>
  1773. * Dns.cs: Reworked indentation.
  1774. Added IPv6 support.
  1775. Added literal address checking in GetHostByAddress.
  1776. Changed Dns.Resolve behavior.
  1777. * IPAddress.cs:
  1778. * IPEndPoint.cs: Added IPv6 support.
  1779. * IPv6Address.cs: Added address compression.
  1780. * NetConfig.cs: Added configuration section.
  1781. 2003-07-14 Jerome Laban <[email protected]>
  1782. * ServicePoint.cs: Removed Connect and GetEndPoint methods.
  1783. Removed reverse resolution when uri is literal IP address.
  1784. * WebConnection.cs: IPv6 compatibility update: Try to connect
  1785. to all addresses returned by IPHostEntry.
  1786. * WebConnectionGroup.cs: Removed unused parameter.
  1787. 2003-07-13 Andreas Nahr <[email protected]>
  1788. * WebProxy.cs: Add serialization/ deserialization support
  1789. 2003-07-10 Andreas Nahr <[email protected]>
  1790. * ProxyUseType.cs:
  1791. * WebStatus.cs: Deleted (do not exist in this assembly)
  1792. * IPv6Address.cs: Made internal
  1793. 2003-07-08 Gonzalo Paniagua Javier <[email protected]>
  1794. * HttpWebRequest.cs:
  1795. * ServicePointManager.cs:
  1796. * WebConnection.cs: added support for proxies.
  1797. 2003-07-05 Andreas Nahr <[email protected]>
  1798. * DnsPermissionAttribute.cs:
  1799. * SocketPermissionAttribute.cs: Fixed wrong AttributeUsageAttribute
  1800. 2003-07-05 Andreas Nahr <[email protected]>
  1801. * WebPermission.cs: Added and partially implemented
  1802. * WebPermissionAttribute.cs: Added and implemented
  1803. 2003-07-01 Gonzalo Paniagua Javier <[email protected]>
  1804. * WebClient.cs: fixed bug #45651.
  1805. 2003-06-29 Gonzalo Paniagua Javier <[email protected]>
  1806. * WebClient.cs: Small fix by Sebastian <[email protected]>.
  1807. 2003-06-29 Gonzalo Paniagua Javier <[email protected]>
  1808. * WebConnection.cs: fixed header writing the reusing a connection and
  1809. the server does not send 100-continue response.
  1810. 2003-06-26 Gonzalo Paniagua Javier <[email protected]>
  1811. * WebConnection.cs: close the socket and connection when disposing.
  1812. * WebRequest.cs: removed setter for RequestUri. Allow non-public ctors
  1813. when creating instances.
  1814. * HttpWebRequest.cs:
  1815. * HttpWebResponse.cs:
  1816. * FileWebRequest.cs: support serialization.
  1817. * FileWebResponse.cs: support serialization and fixed dispose checks.
  1818. * FileWebRequestCreator.cs:
  1819. * HttpRequestCreator.cs: added internal .ctor.
  1820. 2003-06-24 Lluis Sanchez Gual <[email protected]>
  1821. * HttpWebRequest.cs: SetWriteStream(): SendRequestHeaders should be
  1822. called before asyncWrite.SetCompleted, to make sure that the waiting
  1823. thread does not start to send more information before
  1824. SendRequestHeaders has finished.
  1825. 2003-06-22 Lluis Sanchez Gual <[email protected]>
  1826. * WebConnectionStream.cs: Only increment pendingReads if an asynchronous
  1827. read is really needed.
  1828. 2003-06-20 Gonzalo Paniagua Javier <[email protected]>
  1829. * WebHeaderCollection.cs: prevent duplication headers used niternally.
  1830. 2003-06-14 Gonzalo Paniagua Javier <[email protected]>
  1831. * HttpWebRequest.cs: if CookieContainer has not been set, make
  1832. HttpWebResponse ignore Set-Cookie* headers.
  1833. * HttpWebResponse.cs: Set-Cookie and Set-Cookie headers removed if
  1834. CookieContainer have been provided to the request.
  1835. 2003-06-13 Gonzalo Paniagua Javier <[email protected]>
  1836. * AuthenticationManager.cs: get the list of authentication modules from
  1837. the configuration files. Added Clear and fixed Unregister.
  1838. * BasicClient.cs: fully implemented.
  1839. * HttpWebRequest.cs: added support for Basic authentication when
  1840. credentials are set.
  1841. * NetworkCredential.cs: fixed GetCredential.
  1842. 2003-06-13 Gonzalo Paniagua Javier <[email protected]>
  1843. * HttpWebRequest.cs: *really* take care of requestSent to prevent
  1844. sending the same request twice.
  1845. * WebAsyncResult.cs: don't close the handle. Just Reset.
  1846. * WebConnectionStream.cs: removed unneeded line.
  1847. 2003-06-12 Gonzalo Paniagua Javier <[email protected]>
  1848. * HttpWebRequest.cs: use InternalClose when we are not going to send the
  1849. rest of the request stream because of an error after sending the
  1850. headers.
  1851. * WebConnection.cs: check for completion after setting the response.
  1852. Enable reading in NextRead.
  1853. * WebConnectionStream.cs: re-fixed the count for partially buffered
  1854. reads. If the network stream returns 0 bytes, we're done.
  1855. 2003-06-11 Gonzalo Paniagua Javier <[email protected]>
  1856. * WebClient.cs: implemented UploadFile. Fixed SetupRequest to set the
  1857. special headers *after* the others.
  1858. 2003-06-10 Gonzalo Paniagua Javier <[email protected]>
  1859. * WebConnectionStream.cs: when the read is partially filled from the
  1860. initial buffer, add those bytes too. Thanks to Lluis for debugging this.
  1861. 2003-06-09 Gonzalo Paniagua Javier <[email protected]>
  1862. * HttpWebRequest.cs: added ExpectContinue property.
  1863. * WebConnection.cs: allow 100 Continue to be delayed after waiting for
  1864. it.
  1865. 2003-06-08 Gonzalo Paniagua Javier <[email protected]>
  1866. * HttpWebRequest.cs: don't send "Expect: 100-continue" is the server
  1867. is known not to respond to that.
  1868. * ServicePoint.cs: added SendContinue property.
  1869. * WebConnection.cs: only wait 2 seconds for a continue reply. If it
  1870. timeouts, set SendContinue to false and proceeed sending data.
  1871. * WebConnectionStream.cs: if 100-continue is not received and instead we
  1872. get a 417 or anything else, don't send the data.
  1873. * WebClient.cs: implemented all missing properties and methods except
  1874. UploadFile.
  1875. 2003-06-06 Gonzalo Paniagua Javier <[email protected]>
  1876. * FileWebRequestCreator.cs: splitted from WebRequest.
  1877. * HttpRequestCreator.cs: splitted fromWebRequest.
  1878. * WebRequest.cs: added methods that are used by the new configuration
  1879. handler to set prefix/type name requests creators.
  1880. 2003-06-06 Gonzalo Paniagua Javier <[email protected]>
  1881. * AuthenticationManager.cs:
  1882. * Authorization.cs:
  1883. * BasicClient.cs: new file.
  1884. * ChunkStream.cs: new file.
  1885. * Cookie.cs:
  1886. * CookieContainer.cs:
  1887. * GlobalProxySelection.cs:
  1888. * HttpWebRequest.cs:
  1889. * HttpWebResponse.cs:
  1890. * IAuthenticationModule.cs:
  1891. * ServicePoint.cs:
  1892. * ServicePointManager.cs:
  1893. * WebAsyncResult.cs: new file.
  1894. * WebConnection.cs: new file.
  1895. * WebConnectionData.cs: new file.
  1896. * WebConnectionGroup.cs: new file.
  1897. * WebConnectionStream.cs: new file.
  1898. * WebException.cs:
  1899. * WebHeaderCollection.cs:
  1900. * WebProxy.cs:
  1901. * WebResponse.cs:
  1902. Reworked HttpWebRequest and related classes.
  1903. 2003-05-30 Miguel de Icaza <[email protected]>
  1904. * HttpWebRequest.cs (EndGetResponse): Do not throw exceptions on
  1905. InternalServerError (500)
  1906. 2003-05-29 Miguel de Icaza <[email protected]>
  1907. * HttpWebRequest.cs (Close): Move the code that accumulates the
  1908. output to Close from Flush. Flush could have been called in the
  1909. middle of the processing, and would have generated invalid results
  1910. (which it did).
  1911. 2003-05-23 Zoltan Varga <[email protected]>
  1912. * Dns.cs (GetHostByAddress): Return the local host when called with
  1913. IF_ANY.
  1914. 2003-04-29 Miguel de Icaza <[email protected]>
  1915. * WebClient.cs (DownloadData): Close the underlyng stream.
  1916. (DownloadFile): Use using, so the file gets closed.
  1917. 2003-04-24 Miguel de Icaza <[email protected]>
  1918. * WebClient.cs (DownloadData): Instead of using a MemoryStream,
  1919. keep track of all the small chunks in an ArrayList. The
  1920. MemoryStream had the property of reallocating itself, and the
  1921. problem was that MemoryStream.GetBuffer would return the buffer
  1922. (correctly), but not something of the right size. So clients of
  1923. DownloadData would get the extra unused bytes as part of the
  1924. result.
  1925. The solution would have been to make another copy at this point,
  1926. instead, we only keep the small allocations around in the
  1927. ArrayList, and we only do one large allocation at the end.
  1928. * HttpWebResponse.cs: If there is a Content-Length header, pass
  1929. this information to our HttpWebResponseStream, so it knows when to
  1930. stop, instead of waiting for the stream to be shut down by the
  1931. other end.
  1932. * HttpWebRequest.cs: Only set the `delay-header-writing' mode on
  1933. the underlying stream if the method will do a content transfer and
  1934. no Content-Length was provided. If not (HEAD and GET or
  1935. Content-Length provided), keep going.
  1936. 2003-04-23 Miguel de Icaza <[email protected]>
  1937. * HttpWebRequest.cs: .NET Allows the HttpWebRequest to not have
  1938. the ContentLength specified on the request. If that happens, we
  1939. have to accumulate all the data written, and once we accumulate
  1940. the data, we send it off.
  1941. Notice that the documentation in .NET is actually incorrect, they
  1942. state that setting ContentLength is mandatory. It is not.
  1943. 2003-04-12 Gonzalo Paniagua Javier <[email protected]>
  1944. * HttpWebResponse.cs: fixes bug #41180.
  1945. 2003-03-25 Gonzalo Paniagua Javier <[email protected]>
  1946. * HttpWebRequest.cs: throw an exception is the response code is >= 300.
  1947. 2003-03-07 Gonzalo Paniagua Javier <[email protected]>
  1948. * HttpWebRequest.cs: implemented IDisposable, make the request stream
  1949. read only. Changed the way of disposing the socket.
  1950. * HttpWebResponse.cs: wrapped the socket in a write-only NetworkStream,
  1951. handle chunked transfer encoding (no more hangs), added serialization
  1952. stuff, call CheckDisposed at the beginning of methods/properties (not
  1953. in a finally clause).
  1954. 2003-02-17 Nick Drochak <[email protected]>
  1955. * WebClient.cs : Implemented Credentials property.
  1956. 2003-02-04 Gonzalo Paniagua Javier <[email protected]>
  1957. * SocketAddress.cs: byte 1 of the data is the high byte of the family,
  1958. not the size.
  1959. 2003-01-29 Atsushi Enomoto <[email protected]>
  1960. * WebClient.cs : hacked OpenRead, DownloadData and DownloadFile.
  1961. 2002-10-24 Gonzalo Paniagua Javier <[email protected]>
  1962. * HttpWebRequest.cs: applied patch from Tim Haynes
  1963. ([email protected]).
  1964. Avoided double-sending of the request to the server when both
  1965. GetRequestStream() and GetResponse() are called.
  1966. System Header attributes survive the Headers attribute set.
  1967. Added handling of Connection: KeepAlive/Close
  1968. 2002-10-03 Dick Porter <[email protected]>
  1969. * Dns.cs: Fixed GetHostName()
  1970. 2002-09-09 Gonzalo Paniagua Javier <[email protected]>
  1971. * HttpWebRequest.cs:
  1972. * HttpWebResponse.cs: applied another patch from Shahms E. King
  1973. ([email protected]).
  1974. 2002-09-03 Gonzalo Paniagua Javier <[email protected]>
  1975. * HttpWebRequest.cs:
  1976. * HttpWebResponse.cs: applied patch from Shahms E. King
  1977. ([email protected]).
  1978. 2002-05-29 Lawrence Pit <[email protected]>
  1979. * MonoHttpDate.cs: added
  1980. * HttpWebRequest.cs: using MonoHttpDate
  1981. * HttpWebResponse.cs: using MonoHttpDate
  1982. * DnsPermission.cs: correct XML output
  1983. * SocketPermission.cs: correct XML output
  1984. 2002-05-21 Lawrence Pit <[email protected]>
  1985. * WebClient.cs: stubbed
  1986. * WebProxy.cs: fixed bug; had to change internal representation
  1987. of bypasslist to ArrayList, different implementation of checking
  1988. regex's.
  1989. 2002-05-20 Lawrence Pit <[email protected]>
  1990. * WebProxy.cs: added, implemented
  1991. * ServicePoint.cs: implemented most
  1992. * ServicePointManager.cs: implemented
  1993. * HttpWebRequest.cs: started implementation
  1994. * HttpWebResponse.cs: improved disposable routines
  1995. * FileWebRequest.cs: slight improvement of Close method
  1996. 2002-05-19 Lawrence Pit <[email protected]>
  1997. * FileWebRequest.cs: finished implementation of async methods.
  1998. * FileWebResponse.cs: improved disposable routines.
  1999. * IPEndPoint.cs: fixed bug #24666 in Serialize and Create methods,
  2000. byte ordering of address was backwards.
  2001. 2002-05-13 Lawrence Pit <[email protected]>
  2002. * Dns.cs: Reimplemented (simplified and fixed) asynchronous methods by
  2003. relying on standard asynchronous delegate features. Added checks for
  2004. null strings.
  2005. * HttpWebResponse.cs: implemented properties
  2006. * FileWebResponse.cs: improved the way resources are disposed.
  2007. * FileWebRequest.cs: started implementation of asynchronous methods
  2008. * ServicePointManager.cs: implemented properties
  2009. 2002-05-12 Lawrence Pit <[email protected]>
  2010. * HttpWebRequest.cs: properties implemented
  2011. * HttpWebResponse.cs: added
  2012. * GlobalProxySelection.cs: implemented
  2013. * FileWebResponse.cs: added
  2014. * FileWebRequest.cs: some methods implemented
  2015. 2002-05-11 Lawrence Pit <[email protected]>
  2016. * WebHeaderCollection.cs: implemented
  2017. * WebRequest.cs: implemented
  2018. * FileWebRequest.cs and HttpWebRequest.cs stubs added
  2019. 2002-05-09 Lawrence Pit <[email protected]>
  2020. * Rewrote IPAddress.Parse method, passing all unit tests
  2021. 2002-05-09 Lawrence Pit <[email protected]>
  2022. * fixed bug in IPEndPoint.Equals method
  2023. * fixed bug in IPAddress.Parse method
  2024. * fixed bug in IPAddress.SwapLong method
  2025. * fixed several bugs in Cookie.cs
  2026. 2002-05-06 Lawrence Pit <[email protected]>
  2027. * WebRequest.cs: added
  2028. * WebResponse.cs: implemented
  2029. * WebException.cs: implemented
  2030. * WebHeaderCollection.cs: added
  2031. * HttpVersion.cs: implemented
  2032. * HttpContinueDelegate.cs: added
  2033. * IWebProxy.cs: added
  2034. * IWebRequestCreate.cs: added
  2035. * ICertificatePolicy.cs: added
  2036. * ServicePoint.cs: stubbed
  2037. * ServicePointManager.cs: stubbed
  2038. * CookieContainer.cs: added
  2039. * Authorization.cs: implemented
  2040. 2002-05-05 Lawrence Pit <[email protected]>
  2041. * CredentialCache.cs: implemented
  2042. 2002-05-05 Lawrence Pit <[email protected]>
  2043. * IPAddress.cs: fixed IsLoopback, address was already in host order
  2044. 2002-05-05 Lawrence Pit <[email protected]>
  2045. * IPv6Address.cs: added (note: not part of .net spec)
  2046. 2002-05-01 Lawrence Pit <[email protected]>
  2047. * DnsPermission.cs: implemented
  2048. * DnsPermissionAttribute.cs: implemented
  2049. 2002-04-28 Lawrence Pit <[email protected]>
  2050. * EndpointPermission.cs: implemented
  2051. * SocketPermission.cs: implemented
  2052. * SocketPermissionAttribute.cs: implemented
  2053. * ProtocolViolationException.cs: implemented
  2054. * Dns.c: passing w32 error code when no host found
  2055. 2002-04-27 Lawrence Pit <[email protected]>
  2056. * Cookie.cs: implemented
  2057. * CookieCollection.cs: implemented
  2058. * CookieException.cs: implemented
  2059. 2002-04-24 Gonzalo Paniagua Javier <[email protected]>
  2060. * IPAddress.cs: initialize the read only fields with Parse().
  2061. 2002-04-18 Gonzalo Paniagua Javier <[email protected]>
  2062. * IPAddress.cs: little changes to behave as MS.
  2063. 2002-04-18 Gonzalo Paniagua Javier <[email protected]>
  2064. * Dns.cs (Resolve): behave as MS. Agreed with Mads.
  2065. 2002-04-17 Gonzalo Paniagua Javier <[email protected]>
  2066. * IPAddress.cs: the icalls for sockets are endianness-aware. So I
  2067. changed a few things. Also included a workaround for bug #23547.
  2068. 2002-04-15 Gonzalo Paniagua Javier <[email protected]>
  2069. * IPAddress.cs: use System.BitConverter.IsLittleEndian (suggested
  2070. by Paolo) instead of guessing the endianness.
  2071. * SocketAddress.cs: implemented Equals() and GetHashcode().
  2072. 2002-04-15 Gonzalo Paniagua Javier <[email protected]>
  2073. * IPEndPoint.cs: modifications to constructors according to the
  2074. specifications (suggested by Lawrence Pit).
  2075. 2002-04-15 Patrik Torstensson <[email protected]>
  2076. * IPEndPoint.cs: Fixed build breaker.
  2077. 2002-04-15 Gonzalo Paniagua Javier <[email protected]>
  2078. * IPEndPoint.cs: implemented Equals() and GetHashCode(). Now 100%
  2079. complete.
  2080. 2002-04-15 Gonzalo Paniagua Javier <[email protected]>
  2081. * IPAddress.cs: finished all MonoTODO's. Use network order to store
  2082. the address. Check for max and min values in Address:set. IsLoopback()
  2083. returns now true for all 127.x.y.z. Some more checks in Parse ().
  2084. Some changes to behave as MS does.
  2085. 2002-02-24 Duncan Mak <[email protected]>
  2086. * ICredentialLookup.cs: Added the GetCredential method to the
  2087. interface. The interface is named "ICredentials", should this file
  2088. be renamed?
  2089. * NetworkCredential.cs: Added to CVS. Need to investigate on how
  2090. GetCredential() works
  2091. 2002-01-23 Dick Porter <[email protected]>
  2092. * SocketAddress.cs: Implemented.
  2093. * IPEndPoint.cs: Turned 'Address' field into a real property.
  2094. Implemented Create() and Serialize() methods.
  2095. * IPAddress.cs: Fixed class constructor, turned 'Address' field
  2096. into a real property. Removed undocumented "public
  2097. IPAddress(string)" constructor.
  2098. * EndPoint.cs: Implemented. All methods return
  2099. NotSupportedException to enforce subclass overriding.
  2100. * Dns.cs: Replaced fixed-layout Hostent struct and cygwin
  2101. P/Invokes with portable internal calls.
  2102. 2002-01-17 Miguel de Icaza <[email protected]>
  2103. * Dns.cs: Updated to API changes.
  2104. * IPAddress.cs: Updated API. Much left to implement.
  2105. * Dns.cs: Remove IPToString method
  2106. 2002-01-06 Ravi Pratap <[email protected]>
  2107. * Dns.cs, AuthenticationManager.cs, SocketAddress.cs : MonoTODO
  2108. attribute insertion.
  2109. 2001-11-22 Nick Drochak <[email protected]>
  2110. * IPAddress.cs: Fix constructor bug, properly name Address property,
  2111. and use triple-slash for comments.
  2112. 2001-11-20 Miguel de Icaza <[email protected]>
  2113. * IPAddress.cs: Updated to contain Any, Broadcast, Loopback and
  2114. None as suggested by Phillip.
  2115. 2001-09-26 Mads Pultz <[email protected]>
  2116. * Dns.cs: Initial work on BeginGetHostByName and EndGetHostByName implemented.
  2117. 2001-09-24 Mads Pultz <[email protected]>
  2118. * Dns.cs: Minor changes (some print statements removed)
  2119. 2001-09-23 Mads Pultz <[email protected]>
  2120. * Dns.cs: Initial work submitted to repository.
  2121. * IPHostEntry.cs: Initial work submitted to repository.
  2122. 2001-07-12 Sean MacIsaac <[email protected]>
  2123. * Authorization.cs: Fixed compiler error.
  2124. * IAuthenticationModule.cs: Changes for Beta2.
  2125. * IPAddress.cs: Internal storage changed to be uint not int.
  2126. * IPEndPoint.cs: Fixed compiler error.
  2127. * EndPoint.cs: Fixed compiler error.
  2128. * AuthenticationManager.cs: Fixed typo.