CHANGES 151 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714
  1. _ _ ____ _
  2. ___| | | | _ \| |
  3. / __| | | | |_) | |
  4. | (__| |_| | _ <| |___
  5. \___|\___/|_| \_\_____|
  6. Changelog
  7. Version 7.37.1 (16 Jul 2014)
  8. Daniel Stenberg (16 Jul 2014)
  9. - RELEASE-NOTES: synced with 4cb2521595
  10. - test506: verify aa6884845168
  11. After the fixed cookie lock deadlock, this test now passes and it
  12. detects double-locking and double-unlocking of mutexes.
  13. - [Yousuke Kimoto brought this change]
  14. cookie: avoid mutex deadlock
  15. ... by removing the extra mutex locks around th call to
  16. Curl_flush_cookies() which takes care of the locking itself already.
  17. Bug: http://curl.haxx.se/mail/lib-2014-02/0184.html
  18. - gnutls: fix compiler warning
  19. conversion to 'int' from 'long int' may alter its value
  20. Dan Fandrich (15 Jul 2014)
  21. - test320: strip off the actual negotiated cipher width
  22. It's irrelevant to the test, and will change depending on which SSL
  23. library is being used by libcurl.
  24. - gnutls: detect lack of SRP support in GnuTLS at run-time and try without
  25. Reported-by: David Woodhouse
  26. Daniel Stenberg (14 Jul 2014)
  27. - [Michał Górny brought this change]
  28. configure: respect host tool prefix for krb5-config
  29. Use ${host_alias}-krb5-config if available. This improves cross-
  30. compilation support and fixes multilib on Gentoo (at least).
  31. - [David Woodhouse brought this change]
  32. gnutls: handle IP address in cert name check
  33. Before GnuTLS 3.3.6, the gnutls_x509_crt_check_hostname() function
  34. didn't actually check IP addresses in SubjectAltName, even though it was
  35. explicitly documented as doing so. So do it ourselves...
  36. Dan Fandrich (14 Jul 2014)
  37. - build: set _POSIX_PTHREAD_SEMANTICS on Solaris to get proper getpwuid_r
  38. Daniel Stenberg (14 Jul 2014)
  39. - RELEASE-NOTES: next one is called 7.37.1
  40. Dan Fandrich (13 Jul 2014)
  41. - gnutls: improved error message if setting cipher list fails
  42. Reported-by: David Woodhouse
  43. - netrc: fixed thread safety problem by using getpwuid_r if available
  44. The old way using getpwuid could cause problems in programs that enable
  45. reading from netrc files simultaneously in multiple threads.
  46. Reported-by: David Woodhouse
  47. - RELEASE-NOTES: add the reporter of the previous bug fix
  48. - netrc: treat failure to find home dir same as missing netrc file
  49. This previously caused a fatal error (with a confusing error code, at
  50. that).
  51. Reported by: Glen A Johnson Jr.
  52. Steve Holme (12 Jul 2014)
  53. - RELEASE-NOTES: Synced with aaaf9e50ec
  54. - ntlm_wb: Fixed buffer size not being large enough for NTLMv2 sessions
  55. Bug: http://curl.haxx.se/mail/lib-2014-07/0103.html
  56. Reported-by: David Woodhouse
  57. - build: Fixed overridden compiler PDB settings in VC7 to VC12
  58. The curl tool project files for VC7 to VC12 would override the default
  59. setting with the output filename being the same as the linker PDB file.
  60. As such the compiler file would be overwritten with the linker file
  61. for all debug builds.
  62. To avoid this overwrite and for consistency with the libcurl project
  63. files, removed the setting to force the default filename to be used.
  64. Dan Fandrich (12 Jul 2014)
  65. - tests: added globbing keyword to URL globbing tests
  66. - Fixed some "statement not reached" warnings
  67. - gnutls: fixed a couple of uninitialized variable references
  68. - gnutls: fixed compilation against versions < 2.12.0
  69. The AES-GCM ciphers were added to GnuTLS as late as ver. 3.0.1 but
  70. the code path in which they're referenced here is only ever used for
  71. somewhat older GnuTLS versions. This caused undeclared identifier errors
  72. when compiling against those.
  73. - gnutls: explicitly added SRP to the priority string
  74. This seems to have become necessary for SRP support to work starting
  75. with GnuTLS ver. 2.99.0. Since support for SRP was added to GnuTLS
  76. before the function that takes this priority string, there should be no
  77. issue with backward compatibility.
  78. - tests: adjust for capitalization differences in newer gnutls-serv
  79. - test320/1/2/4: fix the port number substitution variables
  80. These tests have been broken since commit 1958fe57 in Oct. 2011
  81. - tests: document more test identifiers and variables
  82. - gnutls: ignore invalid certificate dates with VERIFYPEER disabled
  83. This makes the behaviour consistent with what happens if a date can
  84. be extracted from the certificate but is expired.
  85. Steve Holme (10 Jul 2014)
  86. - CURLOPT_UPLOAD: Corrected argument type
  87. Daniel Stenberg (9 Jul 2014)
  88. - FAQ: expand the thread-safe section
  89. ... with a mention of *NOSIGNAL, based on talk in bug #1386
  90. Dan Fandrich (9 Jul 2014)
  91. - url.c: Fixed memory leak on OOM
  92. This showed itself on some systems with torture failures
  93. in tests 1060 and 1061
  94. - Update instances of some obsolete CURLOPTs to their new names
  95. Daniel Stenberg (5 Jul 2014)
  96. - [Marcel Raad brought this change]
  97. compiler warnings: potentially uninitialized variables
  98. ... pointed out by MSVC2013
  99. Bug: http://curl.haxx.se/bug/view.cgi?id=1391
  100. Kamil Dudka (4 Jul 2014)
  101. - nss: make the list of CRL items global
  102. Otherwise NSS could use an already freed item for another connection.
  103. - nss: fix a memory leak when CURLOPT_CRLFILE is used
  104. - nss: make crl_der allocated on heap
  105. ... and spell it as crl_der instead of crlDER
  106. - nss: let nss_{cache,load}_crl return CURLcode
  107. - tool: oops, forgot to include <plarenas.h>
  108. ... that contains the declaration of PL_ArenaFinish()
  109. - tool: call PL_ArenaFinish() on exit if NSPR is used
  110. This prevents valgrind from reporting still reachable memory allocated
  111. by NSPR arenas (mainly the freelist).
  112. Reported-by: Hubert Kario
  113. Daniel Stenberg (3 Jul 2014)
  114. - [Dimitrios Siganos brought this change]
  115. example: use correct type (long) for CURLOPT_FOLLOWLOCATION
  116. - [Dimitrios Siganos brought this change]
  117. Document type of argument for CURLOPT_FOLLOWLOCATION.
  118. - [Dimitrios Siganos brought this change]
  119. Document type of argument for CURLOPT_ERRORBUFFER.
  120. - [Dimitrios Siganos brought this change]
  121. Document type of argument for CURLOPT_COPYPOSTFIELDS.
  122. - [Dimitrios Siganos brought this change]
  123. Document type of argument for CURLOPT_ADDRESS_SCOPE.
  124. - curl.1: minor language fix
  125. Bug: http://curl.haxx.se/mail/archive-2014-07/0006.html
  126. - [Ray Satiro brought this change]
  127. progress callback: skip last callback update on errors
  128. When an error has been detected, skip the final forced call to the
  129. progress callback by making sure to pass the current return code
  130. variable in the Curl_done() call in the CURLM_STATE_DONE state.
  131. This avoids the "extra" callback that could occur even if you returned
  132. error from the progress callback.
  133. Bug: http://curl.haxx.se/mail/lib-2014-06/0062.html
  134. Reported by: Jonathan Cardoso Machado
  135. Dan Fandrich (2 Jul 2014)
  136. - opts: fixed some CURLOPT references so they get turned into links
  137. Kamil Dudka (2 Jul 2014)
  138. - tool: call PR_Cleanup() on exit if NSPR is used
  139. This prevents valgrind from reporting possibly lost memory that NSPR
  140. uses for file descriptor cache and other globally allocated internal
  141. data structures.
  142. - nss: make the fallback to SSLv3 work again
  143. This feature was unintentionally disabled by commit ff92fcfb.
  144. - nss: do not abort on connection failure
  145. ... due to calling SSL_VersionRangeGet() with NULL file descriptor
  146. reported-by: upstream tests 305 and 404
  147. Dan Fandrich (1 Jul 2014)
  148. - opts: Document the socket callback function parameters
  149. Steve Holme (28 Jun 2014)
  150. - opts: Fixed some typos
  151. Dan Fandrich (25 Jun 2014)
  152. - curl_easy_setopt.3: fixed the error code for an unsupported option
  153. - opts: added some DEFAULT and RETURN VALUE sections
  154. Daniel Stenberg (21 Jun 2014)
  155. - libcurl docs: man page edits
  156. mainly to improve how the web versions render
  157. Dan Fandrich (21 Jun 2014)
  158. - curl_easy_setopt.3: fixed some typos
  159. Daniel Stenberg (21 Jun 2014)
  160. - lib man pages: update easy setopt option references
  161. ... by using the "\fIopt(3)\fP" syntax they will be linked properly when
  162. the web version of the page is generated.
  163. - opts: the CURLOPT_SSL_ENABLE_*PN options are enabled by default
  164. - [Colin Hogben brought this change]
  165. lib: documentation updates in README.hostip
  166. c-ares now does support IPv6;
  167. avoid implying threaded resolver is Windows-only;
  168. two referenced source files were renamed in 7de2f92
  169. - curl_easy_setopt.3: CURLOPT_POSTFIELDS is the exception
  170. ... to the always-copy-char *-argument.
  171. And fix some minor mistakes.
  172. - curl_easy_setopt.3: refer to the individual man pages
  173. With all the new individual option man pages created, this now refers to
  174. each separate one instead of duplicaing the info. Also makes this page
  175. easier to overview.
  176. Dan Fandrich (21 Jun 2014)
  177. - opts: fixed mancheck for out-of-tree builds
  178. Daniel Stenberg (21 Jun 2014)
  179. - curl_easy_setopt.3: shorten
  180. shorten descriptions, mostly refer to the separate descriptions
  181. - CURLOPT_DNS_LOCAL_IP4.3: better short desc
  182. Dan Fandrich (20 Jun 2014)
  183. - opts: document CURLE_OUT_OF_MEMORY among other return values
  184. - opts: fixed some typos
  185. Daniel Stenberg (20 Jun 2014)
  186. - opts: various corrections
  187. - opts: add the rest of the options
  188. ... and fixed mancheck to ignore obsolete options
  189. - opts: the final bunch of options as man pages
  190. Now all current options have their own man pages.
  191. - opts: 37 additional man pages
  192. - CURLOPT_URL: move up the text from "Notes"
  193. - ROADMAP: removed, now ROADMAP.md
  194. - ROADMAP.md: make it markdown formatted
  195. - ROADMAP: initial commit of "curl the next few years"
  196. To be further discussed, debated and edited
  197. - opts: more man pages
  198. - CURLOPT_UNRESTRICTED_AUTH.3: added missing 'T'
  199. - opts: makefile now includes all current man pages
  200. - opts: 11 more man pages
  201. Dan Fandrich (18 Jun 2014)
  202. - opts: document CURLE_OUT_OF_MEMORY as RETURN VALUE
  203. - opts: fixed a couple of typos
  204. Patrick Monnerat (18 Jun 2014)
  205. - OS400: make it compilable again. Make RPG binding up to date.
  206. - buildconf: do not search tools in current directory.
  207. Dan Fandrich (18 Jun 2014)
  208. - curl.h: renamed CURLOPT_DEPRECATEDx to CURLOPT_OBSOLETEx
  209. This is consistent with the existing obsolete error code naming
  210. convention.
  211. Daniel Stenberg (18 Jun 2014)
  212. - opts: 16 more man pages
  213. - opts: more man pages
  214. - CURLOPT_READFUNCTION.3: add short desc
  215. - CURLOPT_LOW_SPEED_LIMIT.3: language
  216. - opts: 4 more man pages
  217. - opts: add all existing man pages to the dist
  218. - libcurl build: use correct dir when cd'ing to opts for pdf building
  219. Dan Fandrich (18 Jun 2014)
  220. - tests: Use CURLOPT_READDATA instead of the obsolete CURLOPT_INFILE
  221. - opts: fixed a few typos
  222. Daniel Stenberg (18 Jun 2014)
  223. - opts: 29 more options as man pages
  224. - curl.h: moved two really old deprecated symbols
  225. ... from the CINIT() enum
  226. - opts: 9 more options as separate man pages
  227. - opts: 3 more options as man pages
  228. - opts: 7 more setopt options as individual man pages
  229. - opts template: provide a filled in error code phrase
  230. - CURLOPT_SOCKOPTFUNCTION.3: clarify return code
  231. - curl.h: reverse the enum/define setup for old symbols
  232. We now provide the "real" names in the CINIT() macro setup for CURLOPT_*
  233. symbols, and we provide backwards compatibility defines for the old
  234. symbols as defines instead of vice versa.
  235. This allows us to better use the CINIT() list to check for existing and
  236. current option names.
  237. - CURLOPT_WRITEDATA.3: move version info to AVAILABILITY
  238. - opts: 4 more options with stand-alone man pages
  239. - CURLOPT_READFUNCTION.3: see also the seekfunction
  240. - CURLOPT_IOCTLFUNCTION.3: fill in short desc
  241. Dan Fandrich (17 Jun 2014)
  242. - CURLOPT_READDATA.3: fixed typo
  243. Daniel Stenberg (17 Jun 2014)
  244. - [Michał Górny brought this change]
  245. tool_metalink: Support polarssl as digest provider
  246. - opts: initial makefile
  247. with a bonus first rough 'mancheck' target to see which man pages that
  248. are still missing
  249. - CURLOPT_IOCTLFUNCTION.3: initial man page
  250. - CURLOPT_WRITEFUNCTION: changed the order of some sentences
  251. First explain the data then describe what the callback should return.
  252. - CURLOPT_WRITEFUNCTION.3: improved language
  253. Suggestions-by: Jeff Pohlmeyer
  254. - opts docs: 3 more options in their own man pages
  255. - template: a template for adding new option man pages
  256. Inludes all the sections to consider.
  257. - CURLOPT_WRITEFUNCTION: add RETURN VALUE and DEFAULT sections
  258. - [MAN-AT-ARMS brought this change]
  259. curlbuild: fix GCC build on SPARC systems without configure script
  260. - CURLOPT_WRITEFUNCTION: initial man page
  261. - CURLOPT_WILDCARDMATCH: initial man page
  262. - CURLOPT_VERBOSE: initial man page
  263. - CURLOPT_NOSIGNAL: initial man page
  264. - CURLOPT_NOPROGRESS: initial man page
  265. - CURLOPT_HEADER: initial man page
  266. Dan Fandrich (15 Jun 2014)
  267. - sasl: Added back qop argument mistakenly removed in e95ca7ce
  268. This caused segfaults on tests 823 869 907.
  269. - test1398: Added test to Makefile.am
  270. - https: Fix build when http2 is disabled
  271. Daniel Stenberg (14 Jun 2014)
  272. - http2: better return code error checking
  273. - [Lindley French brought this change]
  274. conncache: move the connection counter to the cache struct
  275. The static connection counter caused a race condition. Moving the
  276. connection id counter into conncache solves it, as well as simplifying
  277. the related logic.
  278. - http2: avoid segfault when usint the plain-text http2
  279. This regression was introduced when *init was split into *init and
  280. *setup...
  281. Steve Holme (11 Jun 2014)
  282. - RELEASE-NOTES: Synced with 3aa1329e0a
  283. Daniel Stenberg (11 Jun 2014)
  284. - curl_sasl: revert the goto for error bailout
  285. They were added because of an older code path that used allocations and
  286. should not have been left in the code. With this change the logic goes
  287. back to how it was.
  288. - NTLM: set a fake entropy for debug builds with CURL_ENTROPY set
  289. Curl_rand() will return a dummy and repatable random value for this
  290. case. Makes it possible to write test cases that verify output.
  291. Also, fake timestamp with CURL_FORCETIME set.
  292. Only when built debug enabled of course.
  293. Curl_ssl_random() was not used anymore so it has been
  294. removed. Curl_rand() is enough.
  295. create_digest_md5_message: generate base64 instead of hex string
  296. curl_sasl: also fix memory leaks in some OOM situations
  297. Steve Holme (11 Jun 2014)
  298. - tests: Disabled NTLM tests for non-debug builds
  299. Added required "debug" feature, missed in commit 1c9aaa0bac, as NTLMv2
  300. calls Curl_rand() which can only be fixed to a specific entropy in
  301. debug builds.
  302. - Curl_rand: Use a fake entropy for debug builds when CURL_ENTROPY set
  303. Daniel Stenberg (10 Jun 2014)
  304. - [Marcel Raad brought this change]
  305. getinfo: HTTP CONNECT code not reset between transfers
  306. httpproxycode is not reset in Curl_initinfo, so a 407 is not reset even
  307. if curl_easy_reset is called between transfers.
  308. Bug: http://curl.haxx.se/bug/view.cgi?id=1380
  309. - [Alessandro Ghedini brought this change]
  310. transfer: fix info messages when switching method on 301 and 302
  311. The method change is forbidden by the obsolete RFC2616, but libcurl did
  312. it anyway for compatibility reasons. The new RFC7231 allows this
  313. behaviour so there's no need for the scary "Violate RFC 2616/10.3.x"
  314. notice. Also update the comments accordingly.
  315. Steve Holme (6 Jun 2014)
  316. - winbuild: Don't USE_WINSSL when WITH_SSL is being used
  317. Regression of commit d39bbcfa8d when compiling against OpenSSL.
  318. - RELEASE-NOTES: Synced with 99303bcde5
  319. - build: Fixed Visual Studio static OpenSSL builds following commit c50ce85918
  320. - winbuild: Fixed static OpenSSL builds following commit c50ce85918
  321. - config-win32.h: Updated for VC12
  322. Bug: http://curl.haxx.se/bug/view.cgi?id=1378
  323. Reported and Patched-by: Marcel Raad
  324. Daniel Stenberg (4 Jun 2014)
  325. - KNOWN_BUGS: #83 was addressed with commit c50ce859187ca
  326. - Curl_ossl_init: call OPENSSL_config for initing engines
  327. Bug: http://curl.haxx.se/mail/lib-2014-06/0003.html
  328. Reported-by: Дмитрий Фалько
  329. - random: use Curl_rand() for proper random data
  330. The SASL/Digest previously used the current time's seconds +
  331. microseconds to add randomness but it is much better to instead get more
  332. data from Curl_rand().
  333. It will also allow us to easier "fake" that for debug builds on demand
  334. in a future.
  335. Steve Holme (2 Jun 2014)
  336. - curl_sasl: Fixed copy/paste error of now.tv_sec in commit eefeb73af4
  337. Daniel Stenberg (2 Jun 2014)
  338. - RELEASE-NOTES: synced with d603ed67535
  339. - KNOWN_BUGS: #30 was fixed in 0bc4938eeccce, 7.37.0
  340. Steve Holme (1 Jun 2014)
  341. - curl_sasl: Fixed compilation warning under DEBUGBUILD
  342. - tests: Fixed up DIGEST-MD5 tests following commit eefeb73af4
  343. - curl_sasl: Extended native DIGEST-MD5 cnonce to be a 32-byte hex string
  344. Rather than use a short 8-byte hex string, extended the cnonce to be
  345. 32-bytes long, like Windows SSPI does.
  346. Used a combination of random data as well as the current date and
  347. time for the generation.
  348. - curl_sasl_sspi: Fixed corrupt hostname in DIGEST-MD5 SPN generation
  349. Dan Fandrich (29 May 2014)
  350. - tests: Fix portability issue with the tftpd server and timeouts
  351. gcc spit out warning: variable 'x' might be clobbered by 'longjmp' or
  352. 'vfork' messages for a few variables. These automatic variables were
  353. expected to be changed between a setjmp/longjmp and hold their values,
  354. so are now marked volatile.
  355. Steve Holme (28 May 2014)
  356. - RELEASE-NOTES: Synced with 2a615a2b64
  357. - build: Use $(TargetDir) and $(TargetName) macros for VC .lib output files
  358. As with commit 11397eb6dd, use $(TargetDir) and $(TargetName) for the
  359. Import Library output rather than $(OutDir)\$(ProjectName)d.lib and
  360. $(OutDir)\$(ProjectName).lib.
  361. - build: Use $(TargetDir) and $(TargetName) macros for VC .pdb output files
  362. Like with the curl tool project files use $(TargetDir)$(TargetName).pdb
  363. rather than $(OutDir)$(ProjectName)d.pdb for the Program Database File
  364. output.
  365. Daniel Stenberg (28 May 2014)
  366. - gnutls: allow building with nghttp2 but without ALPN support
  367. It might not be the most useful combo, but...
  368. - [Alessandro Ghedini brought this change]
  369. gnutls: don't use deprecated type names anymore
  370. - [Brad Spencer brought this change]
  371. select: with winsock, avoid passing unsupported arguments to select()
  372. "Any two of the parameters, readfds, writefds, or exceptfds, can be
  373. given as null. At least one must be non-null, and any non-null
  374. descriptor set must contain at least one handle to a socket."
  375. http://msdn.microsoft.com/en-ca/library/windows/desktop/ms740141(v=vs.85).aspx
  376. When using select(), cURL doesn't adhere to this (WinSock-specific)
  377. rule, and can ask to monitor empty fd_sets, which leads to select()
  378. returning WSAEINVAL (i.e. EINVAL) and connections failing in mysterious
  379. ways as a result (at least when using the curl_multi_socket_action()
  380. interface).
  381. Bug: http://curl.haxx.se/mail/lib-2014-05/0278.html
  382. - url-parser: only use if_nametoindex if detected by configure
  383. The previous #ifdef detection wasn't good enough.
  384. Bug: http://curl.haxx.se/mail/lib-2014-05/0260.html
  385. Reported-by: Chris Young
  386. - curl_version_info.3: returns a pointer to a static struct
  387. And clarify that age 3 means 7.16.1 or later.
  388. - [Fabian Frank brought this change]
  389. polarssl: add ALPN support
  390. PolarSSL added ALPN support in their 1.3.6 release.
  391. See:
  392. https://polarssl.org/tech-updates/releases/polarssl-1.3.6-released
  393. - curl_easy_reset: reset the URL
  394. Make sure that the URL is reset and cleared.
  395. Bug: http://curl.haxx.se/mail/lib-2014-05/0235.html
  396. Reported-by: Jonathan Cardoso Machado
  397. - configure: fix the nghttp2 detection when not found
  398. - configure: detect nghttp2 by default
  399. - [Tatsuhiro Tsujikawa brought this change]
  400. openssl: Fix uninitialized variable use in NPN callback
  401. OpenSSL passes out and outlen variable uninitialized to
  402. select_next_proto_cb callback function. If the callback function
  403. returns SSL_TLSEXT_ERR_OK, the caller assumes the callback filled
  404. values in out and outlen and processes as such. Previously, if there
  405. is no overlap in protocol lists, curl code does not fill any values in
  406. these variables and returns SSL_TLSEXT_ERR_OK, which means we are
  407. triggering undefined behavior. valgrind warns this.
  408. This patch fixes this issue by fallback to HTTP/1.1 if there is no
  409. overlap.
  410. - curl.1: clarify that -u can't specify a user with colon
  411. Steve Holme (22 May 2014)
  412. - README: Added Test Suite to the TODO list
  413. - build: Use CURLX_* file lists for Visual Studio curl tool project generation
  414. - tool_getparam.c: Fixed compilation warnings
  415. There is an implicit conversion from "unsigned long" to "long"
  416. - RELEASE-NOTES: Synced with f634355868
  417. Dan Fandrich (22 May 2014)
  418. - http: Fix a compiler warning when http2 support is disabled
  419. Steve Holme (22 May 2014)
  420. - build: Fixed incorrect reference to curl_setup.h in Visual Studio files
  421. Fixed a copy / paste error from my 2011 project files.
  422. Nick Zitzmann (21 May 2014)
  423. - darwinssl: fix lint & build warnings in the previous commit
  424. - [Vilmos Nebehaj brought this change]
  425. Add support for --cacert in DarwinSSL.
  426. Security Framework on OS X makes it possible to supply extra anchor (CA)
  427. certificates via the Certificate, Key, and Trust Services API. This
  428. commit makes the '--cacert' option work using this API.
  429. More information:
  430. https://developer.apple.com/library/mac/documentation/security/Reference/certifkeytrustservices/Reference/reference.html
  431. The HTTPS tests now pass on OS X except 314, which requires the '--crl'
  432. option to work.
  433. Steve Holme (22 May 2014)
  434. - http.c: Fixed compilation warning
  435. warning: suggest braces around empty body in an 'else' statement
  436. - bits.close: Fixed compilation warning
  437. warning: implicit declaration of function 'connclose'
  438. Daniel Stenberg (22 May 2014)
  439. - bits.close: introduce connection close tracking
  440. Make all code use connclose() and connkeep() when changing the "close
  441. state" for a connection. These two macros take a string argument with an
  442. explanation, and debug builds of curl will include that in the debug
  443. output. Helps tracking connection re-use/close issues.
  444. Steve Holme (21 May 2014)
  445. - Makefile.inc: Added curlx headers to assist Visual Studio project generation
  446. - build: Renamed CURLX_ONES file list definition to CURLX_CFILES
  447. Renamed the CURLX_ONES file list definition in order to a) try and be
  448. consistent with other file lists and b) to allow for the addition of
  449. the curlx header files, which will assist with Visual Studio project
  450. files generation rather than hard coding those files.
  451. - bump: Start working on the next release
  452. Version 7.37.0 (20 May 2014)
  453. Daniel Stenberg (20 May 2014)
  454. - THANKS: 18 new contributors for 7.37.0
  455. - RELEASE-NOTES: synced with 85f4075bdbf3
  456. Possibly the final update before release...
  457. Steve Holme (20 May 2014)
  458. - README: Added some outstanding tasks to the TODO list
  459. Added a couple of outstanding tasks to the TODO section that we didn't
  460. get time to do before the release.
  461. Daniel Stenberg (20 May 2014)
  462. - http2: make connection re-use work
  463. Http2 connections would wrongly get closed after each individual
  464. request.
  465. Co-authored-by: Tatsuhiro Tsujikawa
  466. Bug: http://curl.haxx.se/bug/view.cgi?id=1374
  467. - [Fabian Frank brought this change]
  468. ALPN: fix typo in http/1.1 identifier
  469. According to https://tools.ietf.org/html/draft-ietf-tls-applayerprotoneg-05
  470. it is "http/1.1" and not "http/1.0".
  471. Steve Holme (20 May 2014)
  472. - build-openssl.bat: Added check for OpenSSL source directory
  473. - build-openssl.bat: Added default source directory when not specified
  474. Added a default source directory so the user doesn't have to specify
  475. one - the same as that, which the Visual Studio project files expect
  476. the OpenSSL dependencies to be in.
  477. - Makefile.am: Fixed missing / in VC10+ project file generation
  478. - INSTALL: Updated MSVC 6 caveats
  479. To use an up to date download link as well as remove duplicate
  480. information.
  481. - INSTALL: Updated for new Visual Studio project files
  482. - build: Slight rename of new LIB_* makefile file variables
  483. In order to try and be consistent between curl and libcurl renamed the
  484. recently introduced LIB_* makefile file variables.
  485. - build: Removed old Visual Studio project files
  486. Daniel Stenberg (18 May 2014)
  487. - maketgz: two more CRLF
  488. grrr, missed them in my previous fix
  489. - test1014: GSS-API is only in curl-config. not in curl
  490. Follow-up to commit 121bcfee5d1. curl-config --features now lists
  491. GSS-API but it is not a listed feature in curl -V. This should probably
  492. be synchronized.
  493. - test1134: verify CREDSPERREQUEST for HTTP
  494. Verifies that the change in 68f0166a92 works as intended and that
  495. different HTTP auth credentials to the same host still re-uses the
  496. connection properly.
  497. - maketgz: remove CRLF newlines
  498. Steve Holme (18 May 2014)
  499. - Makefile.am: Corrected a couple of grammar errors
  500. - Makefile.am: Added new Visual Studio project file generation for curl tool
  501. - Makefile.inc: Added resource file to assist Visual Studio project generation
  502. - [Daniel Stenberg brought this change]
  503. maketgz: run make vc-ide before make dist
  504. To get the VC project files generated before packaging!
  505. - Makefile.am: Added new Visual Studio project file generation for libcurl
  506. - Makefile.am: Removed old Visual Studio project file generation
  507. Daniel Stenberg (17 May 2014)
  508. - RELEASE-NOTES: synced with 831f6dd1d986c9
  509. Steve Holme (17 May 2014)
  510. - build: Fixed another tabulation issue in the Visual Studio file generator
  511. Dan Fandrich (17 May 2014)
  512. - axtls: Fixed too long source line
  513. Daniel Stenberg (17 May 2014)
  514. - configure: add GSS-API to supported features
  515. Bug: http://curl.haxx.se/bug/view.cgi?id=1344
  516. Reported-by: Michael Osipov
  517. - configure: add SPNEGO to supported features
  518. Bug: http://curl.haxx.se/bug/view.cgi?id=1343
  519. Reported-by: Michael Osipov
  520. Dan Fandrich (16 May 2014)
  521. - axtls: Add a TODO to a potential blocking call with no timeout
  522. Daniel Stenberg (16 May 2014)
  523. - curl_easy_getinfo.3: clarify CURLINFO_SIZE_DOWNLOAD
  524. It counts "body" data only, no meta data, no headers.
  525. - curl_easy_setopt.3: prefer XFERINFOFUNCTION to PROGRESSFUNCTION
  526. - HTTP: CREDSPERREQUEST is for HTTP too
  527. Commit 517b06d657ace (in 7.36.0) that brought the CREDSPERREQUEST flag
  528. only set it for HTTPS, making HTTP less good at doing connection re-use
  529. than it should be. Now set it for HTTP as well.
  530. Simple test case
  531. "curl -v -u foo:bar localhost --next -u bar:foo localhos"
  532. Bug: http://curl.haxx.se/mail/lib-2014-05/0127.html
  533. Reported-by: Kamil Dudka
  534. - RELEASE-NOTES: synced with 53a5b95c21586
  535. - CURLINFO_SSL_VERIFYRESULT: assign at first connect call
  536. The variable wasn't assigned at all until step3 which would lead to a
  537. failed connect never assigning the variable and thus returning a bad
  538. value.
  539. Reported-by: Larry Lin
  540. Bug: http://curl.haxx.se/mail/lib-2014-04/0203.html
  541. - timers: fix timer regression involving redirects / reconnects
  542. In commit 0b3750b5c23c25f (released in 7.36.0) we fixed a timeout issue
  543. but instead broke the timings.
  544. To fix this, I introduce a new timestamp to use for the timeouts and
  545. restored the previous timestamp and timestamp position so that the old
  546. timer functionality is restored.
  547. In addition to that, that change also broke connection timeouts for when
  548. more than one connect was used (as it would then count the total time
  549. from the first connect and not for the most recent one). Now
  550. Curl_timeleft() has been modified so that it checks against different
  551. start times depending on which timeout it checks.
  552. Test 1303 is updated accordingly.
  553. Bug: http://curl.haxx.se/mail/lib-2014-05/0147.html
  554. Reported-by: Ryan Braud
  555. Steve Holme (15 May 2014)
  556. - darwinssl: Updated copyright following recent changes
  557. Nick Zitzmann (14 May 2014)
  558. - darwinssl: fix potential crash when attempting to copy an identity
  559. from a P12 file
  560. This could've happened if SecPKCS12Import() returned noErr _and_ no
  561. identity.
  562. Steve Holme (12 May 2014)
  563. - RELEASE-NOTES: Synced with 52d16c84d2
  564. Daniel Stenberg (12 May 2014)
  565. - openssl: unbreak PKCS12 support
  566. Regression introduced in ce362e8eb9c (7.31.0)
  567. Bug: http://curl.haxx.se/bug/view.cgi?id=1371
  568. Reported-by: Dmitry
  569. Steve Holme (11 May 2014)
  570. - Makefile.inc: Added resource file to assist Visual Studio project generation
  571. - build: Fixed some tabulation issues in the Visual Studio file generator
  572. - tests: Fixed up DIGEST-MD5 tests following commit 8342b6e1dc
  573. - sasl: Fixed missing qop in the client's challenge-response message
  574. Whilst the qop directive isn't required to be present in a client's
  575. response, as servers should assume a qop of "auth" if it isn't
  576. specified, some may return authentication failure if it is missing.
  577. - tool_operate.c: Fixed compilation warning
  578. An enumerated type is mixed with another type.
  579. - Makefile.inc: Separated the lib and lib/vtls source file variables
  580. To cater for the automatic generation of the new Visual Studio project
  581. files, moved the lib file list into a separated variable so that lib
  582. and lib/vtls can be referenced independently.
  583. - RELEASE-NOTES: Synced with 0ab2c444b5
  584. - Makefile.b32: Fixed for vtls changes
  585. Follow up fix to commits a47c142a88, 11e8066ef9 and 92b9ae5c5d.
  586. Bug: http://curl.haxx.se/mail/lib-2014-05/0025.html
  587. Reported and assisted by: Jon Torrey
  588. Daniel Stenberg (9 May 2014)
  589. - lib1506: make sure the transfers are not within the same ms
  590. Just to make sure the test is properly repeatable.
  591. Bug: http://curl.haxx.se/mail/lib-2014-05/0081.html
  592. Reported-by: Henrik
  593. - libtests: add a wait_ms() function
  594. This allows a libcurl test to portably sleep for a given number of
  595. milliseconds.
  596. Steve Holme (9 May 2014)
  597. - tool_operate.c: Fixed TAB is white space from commit 5b8ae0a985
  598. - tool_urlglob.c: Fixed compilation warning
  599. An enumerated type is mixed with another type.
  600. - tool_operate.c: Fixed compilation warnings
  601. An enumerated type is mixed with another type.
  602. - getinfo.c: Fixed compilation warning
  603. The indicated statement is not reachable.
  604. Daniel Stenberg (9 May 2014)
  605. - CONTRIBUTE: mention our Bug/Reported-by commit style
  606. Kamil Dudka (9 May 2014)
  607. - http: avoid auth failure on a duplicated header
  608. ... 'WWW-Authenticate: Negotiate' received from server
  609. Reported by: David Woodhouse
  610. Bug: https://bugzilla.redhat.com/1093348
  611. Daniel Stenberg (9 May 2014)
  612. - cacertinmem: fix memory leak
  613. While "just" an example it still isn't nice to leak memory.
  614. Bug: http://curl.haxx.se/bug/view.cgi?id=1368
  615. Fixed-by: Marko
  616. - TODO: firefox will soon support SSL (HTTPS) to proxy
  617. Dan Fandrich (9 May 2014)
  618. - test87: Get rid of extraneous square brackets in tag
  619. Daniel Stenberg (8 May 2014)
  620. - [Patrick Watson brought this change]
  621. mk-ca-bundle: added -p
  622. -p takes a list of Mozilla trust purposes and levels for certificates to
  623. include in output. Takes the form of a comma separated list of
  624. purposes, a colon, and a comma separated list of levels.
  625. - FAQ: Added 5.18 Does libcurl use threads?
  626. Dan Fandrich (7 May 2014)
  627. - RELEASE-NOTES: Added contributor
  628. - [Aaro Koskinen brought this change]
  629. configure: Don't set LD_LIBRARY_PATH when cross-compiling
  630. Most of LD_LIBRARY_PATH adjustments are already guarded, but not all.
  631. The patch fixes cross-compilation failure when libidn is present.
  632. Steve Holme (7 May 2014)
  633. - [Tatsuhiro Tsujikawa brought this change]
  634. http2: Compile with latest nghttp2
  635. Now nghttp2_submit_request returns assigned stream ID, we don't have
  636. to check stream ID using before_stream_send_callback. The
  637. adjust_priority_callback was removed.
  638. - curl.1: Added missing --login-options option
  639. ...and removed ;OPTIONS from --user as that functionality was removed
  640. in 7.34.0.
  641. - tool_help: Fixed missing --login-options option
  642. ...and removed ;OPTIONS from --user as that functionality was removed
  643. in 7.34.0.
  644. - url.c: Fixed compilation warning/error
  645. Depending on compiler line 3505 could generate the following warning or
  646. error:
  647. * warning: ISO C90 forbids mixed declarations and code
  648. * A declaration cannot appear after an executable statement in a block
  649. * error C2275: 'size_t' : illegal use of this type as an expression
  650. - TODO: Fixed some spelling mistakes
  651. - TODO: Add support for concurrent connections in ftpserver.pl
  652. - build: Fixed file format version number in VC12 solution files
  653. Unlike previous versions of Visual Studio the VC12 solution file format
  654. does not increment the format version number, but instead, only changes
  655. the version comment text.
  656. This incorrectly set version number would cause problems for any third
  657. party piece of software that would read the solution file expecting the
  658. version number to be 12.00 and found it to be 13.00, such as some build
  659. accelerators.
  660. Verified against a freshly created solution file which was generated
  661. with VC12.
  662. - [Ivo Bellin Salarin brought this change]
  663. build-openssl.bat: Corrected use of angled brackets in help output
  664. Angled brackets were used in the help output to indicate that the
  665. compiler and platform arguments are mandatory. Unfortunately this
  666. caused a "< was unexpected at this time" error as the characters are
  667. interpreted as re-direction characters when not escaped.
  668. Dan Fandrich (6 May 2014)
  669. - RELEASE-NOTES: changed encoding to UTF-8
  670. Daniel Stenberg (6 May 2014)
  671. - RELEASE-NOTES: synced with 5de8d84098db1bd2
  672. - fix_hostname: strip off a single trailing dot from host name
  673. Primarily for SNI, we need the host name without a trailing dot.
  674. "https://www.example.com." resolves fine but fails on SNI unless the dot
  675. is removed.
  676. Reported-by: Leon Winter
  677. Bug: http://curl.haxx.se/mail/lib-2014-04/0161.html
  678. - curl: bail on cookie use when built with disabled cookies
  679. - [Daniel Johnson brought this change]
  680. Enable poll on darwin13
  681. Poll has long been broken on Mac OS X. Starting with 10.9 (darwin13) it
  682. now works correctly so this patch enables it there.
  683. - curl_easy_setopt.3: added the proto for CURLOPT_SSH_KNOWNHOSTS
  684. Dan Fandrich (5 May 2014)
  685. - tests: Use standard libtest return codes when relevant
  686. - test1513: Don't return an uninitialized variable on init failure
  687. Daniel Stenberg (5 May 2014)
  688. - [Jeff King brought this change]
  689. curl_multi_cleanup: ignore SIGPIPE better
  690. When looping and closing each individual connection left open, the
  691. SIGPIPE ignoring was not done and could thus lead to death by signal 13.
  692. Bug: http://thread.gmane.org/gmane.comp.version-control.git/238242
  693. - TODO: the FTP HOST command is now in RFC 7151
  694. - TODO: Update date and version in man pages
  695. Mentioned in bug #1342
  696. - schannel: don't use the connect-timeout during send
  697. As there's a default connection timeout and this wrongly used the
  698. connection timeout during a transfer after the connection is completed,
  699. this function would trigger timeouts during transfers erroneously.
  700. Bug: http://curl.haxx.se/bug/view.cgi?id=1352
  701. Figured-out-by: Radu Simionescu
  702. - mprintf: allow %.s with data not being zero terminated
  703. If the precision is indeed shorter than the string, don't strlen() to
  704. find the end because that's not how the precision operator works.
  705. I also added a unit test for curl_msnprintf to make sure this works and
  706. that the fix doesn't a few other basic use cases. I found a POSIX
  707. compliance problem that I marked TODO in the unit test, and I figure we
  708. need to add more tests in the future.
  709. Reported-by: Török Edwin
  710. Steve Holme (4 May 2014)
  711. - RELEASE-NOTES: Synced with 4febbedc5a
  712. - curl_ntlm_core: Fixed use of long long for VC6 and VC7
  713. Commit 07b66cbfa4 unfortunately broke native NTLM message support in
  714. compilers, such as VC6, VC7 and others, that don't support long long
  715. type declarations. This commit fixes VC6 and VC7 as they support the
  716. __int64 extension, however, we should consider an additional fix for
  717. other compilers that don't support this.
  718. - config-win32.h: Fixed HAVE_LONGLONG for Visual Studio .NET 2003 and up
  719. Fixed the HAVE_LONGLONG declaration as long long is supported in Visual
  720. Studio .NET 2003 (VC7.1) onwards.
  721. Daniel Stenberg (4 May 2014)
  722. - openssl: biomem->data is not zero terminated
  723. So printf(%s) on it or reading before bounds checking is wrong, fixing
  724. it. Could previously lead to reading out of boundary.
  725. Reported-by: Török Edwin
  726. - BUILD.WINDOWS: update URL for windows prereqs
  727. - easy_perform: spelling mistake in error message
  728. Steve Holme (1 May 2014)
  729. - Makefile.am: Added build-openssl.bat as README file references it
  730. Missed in commit dce748d3f1.
  731. - build: Fixed Visual Studio project file generator missing some files
  732. As of commit 6cdd88f22c the Visual Studio project file generator would
  733. skip the first and last file from each group of files.
  734. - build: Added OpenSSL VC build helper for side-by-side compilations
  735. - build: Added Visual Studio 2003 .NET (VC7.1) project files
  736. Carrying on from commit 11025613b9 added VC7.1 project files which are
  737. capable of supporting side-by-side compilation, as well as support for
  738. some of the third-party libraries curl uses.
  739. Dan Fandrich (1 May 2014)
  740. - test585: Fixed NULL pointer dereference in fopen
  741. Steve Holme (30 Apr 2014)
  742. - build: Fixed generation when source file names contain spaces
  743. This shouldn't happen with the source files in the repository, but
  744. fixed the output when there are spurious files lying around that
  745. contain spaces. For example "pop3 - Copy.c"
  746. By including the offending source file in the project files the user
  747. can then see the file and remove it if necessary.
  748. - build: Added VC7 and VC7.1 support to the project file generator
  749. Note: VC7.1 templates are currently not available.
  750. - build: Added VC6 and VC12 support to the project file generator
  751. - build: Added VC11 support to the project file generator
  752. - build: Added VC9 and VC10 support to the project file generator
  753. - build: Added Visual Studio project file generator
  754. Added a batch file for generating the Visual Studio project files from
  755. the new template files.
  756. - copyright: Updated following recent edits
  757. Dan Fandrich (29 Apr 2014)
  758. - runtests.pl: Improved the check for a crash during torture tests
  759. - Added a few more const where possible
  760. - unit1395: Fixed null pointer dereference on torture test
  761. Daniel Stenberg (27 Apr 2014)
  762. - [Tatsuhiro Tsujikawa brought this change]
  763. http2: Compile with latest nghttp2
  764. commit 6d5f40238028f2d8c (Apr 27) or later nghttp2 is now required
  765. Steve Holme (27 Apr 2014)
  766. - build: Added other VC6 output files to the .gitignore list
  767. - build: Corrected libcurl PDB file name for x64 builds in VC8 through VC12
  768. - build: Added Visual Studio .NET (VC7) project files
  769. Carrying on from commit 11025613b9 added VC7 project files which are
  770. capable of supporting side-by-side compilation, as well as support for
  771. some of the third-party libraries curl uses.
  772. - build: Added Visual Studio 6.0 (VC6) project files
  773. Carrying on from commit 11025613b9 added a more thorough version of
  774. the VC6 project files which are capable of supporting side-by-side
  775. compilation, as well as support for some of the third-party libraries
  776. curl uses.
  777. Daniel Stenberg (26 Apr 2014)
  778. - INFILESIZE: fields in UserDefined must not be changed run-time
  779. set.infilesize in this case was modified in several places, which could
  780. lead to repeated requests using the same handle to get unintendent/wrong
  781. consequences based on what the previous request did!
  782. Kamil Dudka (25 Apr 2014)
  783. - nss: propagate blocking direction from NSPR I/O
  784. ... during the non-blocking SSL handshake
  785. Daniel Stenberg (23 Apr 2014)
  786. - test325: verify --proto-redir https=>http
  787. - handler: make 'protocol' always specified as a single bit
  788. This makes the findprotocol() function work as intended so that libcurl
  789. can properly be restricted to not support HTTP while still supporting
  790. HTTPS - since the HTTPS handler previously set both the HTTP and HTTPS
  791. bits in the protocol field.
  792. This fixes --proto and --proto-redir for most SSL protocols.
  793. This is done by adding a few new convenience defines that groups HTTP
  794. and HTTPS, FTP and FTPS etc that should then be used when the code wants
  795. to check for both protocols at once. PROTO_FAMILY_[protocol] style.
  796. Bug: https://github.com/bagder/curl/pull/97
  797. Reported-by: drizzt
  798. Steve Holme (23 Apr 2014)
  799. - build: Added Visual Studio 2013 (VC12) project files
  800. Carrying on from commit 11025613b9 added VC12 project files which are
  801. capable of supporting side-by-side compilation, 32-bit and 64-bit
  802. builds as well as support for some of the third-party libraries curl
  803. uses.
  804. Dan Fandrich (23 Apr 2014)
  805. - cyassl: Use error-ssl.h when available
  806. Versions since at least 2.9.4 renamed error.h to error-ssl.h, so use
  807. whichever one is available.
  808. Steve Holme (22 Apr 2014)
  809. - RELEASE-NOTES: Synced with 386ed2d590
  810. Daniel Stenberg (22 Apr 2014)
  811. - gtls: fix NULL pointer dereference
  812. gnutls_x509_crt_import() must not be called with a NULL certificate
  813. Bug: http://curl.haxx.se/mail/lib-2014-04/0145.html
  814. Reported-by: Damian Dixon
  815. - curl_global_init_mem: bump initialized even if already initialized
  816. As this makes curl_global_init_mem() behave the same way as
  817. curl_global_init() already does in that aspect - the same number of
  818. curl_global_cleanup() calls is then required to again decrease the
  819. counter and then eventually do the cleanup.
  820. Bug: http://curl.haxx.se/bug/view.cgi?id=1362
  821. Reported-by: Tristan
  822. Kamil Dudka (22 Apr 2014)
  823. - nss: implement non-blocking SSL handshake
  824. - nss: split Curl_nss_connect() into 4 functions
  825. Dan Fandrich (22 Apr 2014)
  826. - tests: Fixed torture test for tests 1526 & 1527
  827. Marc Hoersken (22 Apr 2014)
  828. - sockfilt.c: clean up threaded approach and add documentation
  829. - sockfilt.c: zero initialize variable
  830. - sockfilt.c: fixed getting stuck waiting for MinGW stdin pipe
  831. Daniel Stenberg (22 Apr 2014)
  832. - configure: use the nghttp2 path correctly with pkg-config
  833. When --with-nghttp2 was used (without a given path), the
  834. PKG_CONFIG_LIBDIR varialbe could get clobbered and ruin a proper
  835. detection of the library.
  836. Reported-by: Dilyan Palauzov
  837. Bug: http://curl.haxx.se/mail/lib-2014-04/0159.html
  838. - [Dilyan Palauzov brought this change]
  839. configure: fix wrong comment
  840. copy and paste error
  841. Steve Holme (21 Apr 2014)
  842. - build: Fixed output name for Release builds in VC10 and VC11
  843. Marc Hoersken (20 Apr 2014)
  844. - sockfilt.c: properly handle disk files, pipes and character input
  845. - sockfilt.c: ignore non-key-events and continue waiting for input
  846. - sockfilt.c: free memory in case of memory allocation errors
  847. - multi.c: fix possible invalid memory access in case nfds overflows
  848. ufds might not be allocated in case nfds overflows to zero while
  849. extra_nfds is still non-zero. udfs is then accessed within the
  850. extra_nfds-based for loop.
  851. - netrc.c: fix multiple possible dereferences of null pointers
  852. - parsedate.c: check sscanf result before passing it to strlen
  853. - telnet.c: check sscanf results before passing them to snprintf
  854. - telnet.c: fix possible use of uninitialized variable
  855. - telnet.c: fix possible use of non-null-terminated strings
  856. - url.c: fix possible use of non-null-terminated string with strlen
  857. Follow up on b0e742544be22ede33206a597b22682e51e0c676
  858. - tool_writeout.c: initialize string pointer variable
  859. - tool_formparse.c: fix possible use of non-null-terminated strings
  860. - url.c: fix possible use of non-null-terminated string with strlen
  861. - connect.c: fix multiple possible dereferences of null pointers
  862. In case the first address in the tempaddr array is NULL,
  863. the code would previously dereference an unchecked null pointer.
  864. - tftp.c: fix possible dereference of null pointer
  865. - tool_urlglob.c: added some comments to clarify for loop conditions
  866. I was tempted to change those to >= 0 until I saw that this is
  867. actually a for loop that terminates once i underflows.
  868. - socks_sspi.c: added pointer guards to FreeContextBuffer calls
  869. The FreeContextBuffer SAL declaration does not declare the pointer
  870. as optional, therefore it must not be NULL.
  871. - md5.c: fix use of uninitialized variable
  872. - curl_schannel.c: added explicit cast of structure pointers
  873. - curl_schannel.c: fix possible dereference of null pointer
  874. Steve Holme (18 Apr 2014)
  875. - RELEASE-NOTES: Synced with 33e0cba8f1
  876. - curl_easy_setopt: Updated CURLOPT_URL to include IMAP PARTIAL FETCH example
  877. - imap: Extended FETCH support to include PARTIAL URL specifier
  878. - url.c: Fixed typo in comment
  879. - curl_easy_setopt: Updated CURLOPT_URL to include IMAP query string examples
  880. - test810: Updated to use new IMAP URL query string functionality
  881. - imap: Expanded mailbox SEARCH support to use URL query strings
  882. - imap: Added support for parsing URL query strings
  883. Added support for parsing query strings from the URL as defined by
  884. RFC-5092.
  885. - imap: Introduced the SEARCH state
  886. - imap: Fixed untagged response detection when no data after command
  887. Should a command return untagged responses that contained no data then
  888. the imap_matchresp() function would not detect them as valid responses,
  889. as it wasn't taking the CRLF characters into account at the end of each
  890. line.
  891. - build: Added Visual Studio 2012 (VC11) project files
  892. Carrying on from commit 11025613b9 added VC11 project files which are
  893. capable of supporting side-by-side compilation, 32-bit and 64-bit
  894. builds as well as support for some of the third-party libraries curl
  895. uses.
  896. - build: Corrected Visual Studio solutions for DLL Release x64
  897. Daniel Stenberg (17 Apr 2014)
  898. - README.http2: mention some alt-svc thoughts
  899. Steve Holme (16 Apr 2014)
  900. - Makefile.am: Missed separator in commit fbaa2f8660
  901. - build: Added Visual Studio 2010 (VC10) project files
  902. Carrying on from commit 11025613b9 added VC10 project files which are
  903. capable of supporting side-by-side compilation, 32-bit and 64-bit
  904. builds as well as support for some of the third-party libraries curl
  905. uses.
  906. Dan Fandrich (14 Apr 2014)
  907. - url: only use if_nametoindex() if IFNAMSIZ is available
  908. - symbian: fixed typo in comment
  909. Steve Holme (9 Apr 2014)
  910. - build: Added Visual Studio 2008 (VC9) project files
  911. Carrying on from commit 11025613b9, added VC9 project files which are
  912. capable of supporting side-by-side compilation, 32-bit and 64-bit
  913. builds as well as support for some of the third-party libraries curl
  914. uses.
  915. - sas: Added DIGEST-MD5 qop-option validation in native challange handling
  916. Given that we presently support "auth" and not "auth-int" or "auth-conf"
  917. for native challenge-response messages, added client side validation of
  918. the quality-of-protection options from the server's challenge message.
  919. Daniel Stenberg (8 Apr 2014)
  920. - dist: include the projects/ files in releases
  921. ... the recent MSVC project files added by Steve Holme
  922. - strerror: fix comment about vxworks' strerror_r buffer size
  923. Bug: http://curl.haxx.se/mail/lib-2014-04/0063.html
  924. Reported-by: Jeroen Koekkoek
  925. Steve Holme (6 Apr 2014)
  926. - sasl: Added forward declaration of structures following recent changes
  927. To avoid urldata.h being included from the header file or that the
  928. source file has the correct include order as highlighted by one of
  929. the auto builds recently.
  930. - RELEASE-NOTES: Synced with 5cdb61abb2
  931. - tests: Disabled DIGEST-MD5 tests when running with SSPI enabled
  932. - sasl: Fixed compilation warning
  933. warning: no previous prototype for 'Curl_sasl_create_digest_md5_message'
  934. - sasl: Added curl_memory.h include as per test 1132
  935. - sasl: Fixed compilation warning in SSPI builds
  936. warning: 'sasl_digest_get_key_value' defined but not used
  937. - sasl: Corrected missing free of decoded challenge message from 607883f13c
  938. - sasl: Corrected add of Curl_sasl_decode_digest_md5_message() from 2c49e96092
  939. - sasl: Post DIGEST-MD5 SSPI code tidy up
  940. * Added comments to SSPI NTLM message generation
  941. * Added comments to native DIGEST-MD5 code
  942. * Removed redundant identity pointer
  943. - sasl: Corrected pre-processor inclusion of SSPI based DIGEST-MD5 code
  944. When CURL_DISABLE_CRYPTO_AUTH is defined the DIGEST-MD5 code should not
  945. be included, regardless of whether USE__WINDOWS_SSPI is defined or not.
  946. This is indicated by the definition of USE_HTTP_NEGOTIATE and USE_NTLM
  947. in curl_setup.h.
  948. - sasl: Added support for DIGEST-MD5 via Windows SSPI
  949. - http_negotiate_sspi: Fixed compilation when USE_HTTP_NEGOTIATE not defined
  950. - Makefile.vc6: Added curl_sasl_sspi.c
  951. - Makefile.vc6: Follow up fix to commit 45d3f00803
  952. - ntlm: Moved the identity generation into shared SSPI code
  953. - sasl: Renamed SSPI module following short name clash
  954. - sasl: Added initial stub functions for SSPI DIGEST-MD support
  955. - sasl: Combined DIGEST-MD5 message decoding and generation
  956. Marc Hoersken (5 Apr 2014)
  957. - Makefile.vc6: added warnless.c to fix build
  958. Steve Holme (5 Apr 2014)
  959. - winbuild: Updated the VC++ make instructions following commit 11025613b9
  960. * Added information regarding the February 2003 Platform SDK for VC6
  961. * Updated the introduction to be similar to the IDE projects README
  962. Daniel Stenberg (5 Apr 2014)
  963. - [Tatsuhiro Tsujikawa brought this change]
  964. http2: Compile with current nghttp2, which supports h2-11
  965. Steve Holme (5 Apr 2014)
  966. - winbuild: Added Visual Studio 2005 (VC8) project files
  967. Added a more thorough version of the VC8 project files that exist in
  968. the "vs" folder with the intention to add support for other versions of
  969. Visual Studio. These files support side-by-side compilation, 32-bit and
  970. 64-bit builds as well as support for some of the third-party libraries
  971. curl uses.
  972. Daniel Stenberg (4 Apr 2014)
  973. - curl_easy_setopt: fix wrong version number references
  974. - docs: this is for 7.37.0
  975. And clarify for curl that --proxy-header now must be used for headers
  976. that are meant for a proxy, and they will not be included if the request
  977. is not for a proxy.
  978. - PROXYHEADER: send these headers in "normal" proxy requests too
  979. Updated the docs to clarify and the code accordingly, with test 1528 to
  980. verify:
  981. When CURLHEADER_SEPARATE is set and libcurl is asked to send a request
  982. to a proxy but it isn't CONNECT, then _both_ header lists
  983. (CURLOPT_HTTPHEADER and CURLOPT_PROXYHEADER) will be used since the
  984. single request is then made for both the proxy and the server.
  985. - test1428: verify --proxy-header
  986. - curl.1: documented --proxy-header
  987. - [Maciej Puzio brought this change]
  988. curl: add --proxy-header
  989. - symbols-in-versions: Added CURLHEADER_*
  990. ... and sorted the list
  991. - CURLOPT_HEADEROPT: added
  992. Modified the logic so that CURLOPT_HEADEROPT now controls if PROXYHEADER
  993. is actually used or not.
  994. - CURLOPT_PROXYHEADER: set headers for proxy-only
  995. Includes docs and new test cases: 1525, 1526 and 1527
  996. Co-written-by: Vijay Panghal
  997. - HTTP: don't send Content-Length: 0 _and_ Expect: 100-continue
  998. Without request body there's no point in asking for 100-continue.
  999. Bug: http://curl.haxx.se/bug/view.cgi?id=1349
  1000. Reported-by: JimS
  1001. - ftp: in passive data connect wait for happy eyeballs sockets
  1002. When doing passive FTP, the multi state function needs to extract and
  1003. use the happy eyeballs sockets to wait for to check for completion!
  1004. Bug: http://curl.haxx.se/mail/lib-2014-02/0135.html (ruined)
  1005. Reported-by: Alan
  1006. - http2+openssl: fix compiler warnings in ALPN using code
  1007. Dan Fandrich (3 Apr 2014)
  1008. - tests: unified use of some keywords
  1009. - tests: added some missing closing tags
  1010. Daniel Stenberg (3 Apr 2014)
  1011. - runtests: insist on a <keywords> section
  1012. Since all present tests now have <keywords> listed, this script will now
  1013. refuse to run a given test case if no such section is provided.
  1014. Hopefully this will help us make sure new test cases get keywords added
  1015. at start.
  1016. - tests: add keywords to the last 7 tests lacking them
  1017. Steve Holme (1 Apr 2014)
  1018. - smtp: Fixed login denied with a RFC-821 based server
  1019. In addition to commit fe260b75e7 fixed the same issue for RFC-821 based
  1020. SMTP servers and allow the credientials to be given to curl even though
  1021. they are not used with the server.
  1022. - tests: Added SMTP with credientials test when not supported by server
  1023. Daniel Stenberg (1 Apr 2014)
  1024. - urldata: spellfix comment
  1025. Reported-by: Melissa
  1026. Steve Holme (31 Mar 2014)
  1027. - RELEASE-NOTES: Synced with dd07e79023
  1028. - tests: Added SMTP with credentials test for RFC-821 based server
  1029. Added SMTP (RFC-821 only) based test case as a reference for the fix
  1030. provided by commit fe260b75e7.
  1031. Daniel Stenberg (31 Mar 2014)
  1032. - ipv6: strip off zone identifiers in redirects too
  1033. Follow up to 9317eced984 makes test 1056 work again.
  1034. Dan Fandrich (31 Mar 2014)
  1035. - docs: Removed mention of -g hack when using IPv6 literals
  1036. This limitation was removed in commit 0bc4938e
  1037. Daniel Stenberg (31 Mar 2014)
  1038. - http2: let openssl mention the exact protocol negotiated
  1039. Remove a superfluous "negotiated http2" info line
  1040. - http2: remove _DRAFT09 from the NPN_HTTP2 enum
  1041. We're progressing throught drafts so there's no point in having a fixed
  1042. one in a symbol that'll survive.
  1043. - [Till Maas brought this change]
  1044. URL parser: IPv6 zone identifiers are now supported
  1045. - [Paul Marks brought this change]
  1046. curl: stop interpreting IPv6 literals as glob patterns.
  1047. This makes it possible to fetch from an IPv6 literal without specifying
  1048. the -g option. Globbing remains available elsehwere in the URL.
  1049. For example:
  1050. curl http://[::1]/file[1-3].txt
  1051. This creates no ambiguity, because there is no overlap between the
  1052. syntax of valid globs and valid IPv6 literals. Globs contain hyphens
  1053. and at most 1 colon, while IPv6 literals have no hyphens, and at least 2
  1054. colons.
  1055. The peek_ipv6() parser simply whitelists a set of characters and counts
  1056. colons, because the real validation happens later on. The character set
  1057. includes A-Z, in case someone decides to implement support for scopes
  1058. like [fe80::1%25eth0] in the future.
  1059. Signed-off-by: Paul Marks <pmarks@google.com>
  1060. Steve Holme (30 Mar 2014)
  1061. - test938: Updated to use file input for upload
  1062. As the second URL won't be passed input from stdin.
  1063. - test836: Fixed incorrect username in expected output
  1064. Daniel Stenberg (30 Mar 2014)
  1065. - DISABLED: 836, 882 and 938 hang
  1066. - runtests: check protocol before data
  1067. When the protocol part fails, the data usually does too but the protocol
  1068. part is often more fundamental and often provide the clues you need to
  1069. fix the test case.
  1070. Steve Holme (30 Mar 2014)
  1071. - ftpserver.pl: Extended the full text reply regular expression
  1072. Extended the regex to include other valid characters such as those used
  1073. in the reply text of Test 836.
  1074. Daniel Stenberg (30 Mar 2014)
  1075. - keywords: sort case insensitive
  1076. - tests: remove trailing CRs from keywords
  1077. - keywords: sort keywords alphabetically
  1078. - keywords: don't use STDERR for good info
  1079. Steve Holme (30 Mar 2014)
  1080. - tests: Added email unit tests to verify login credential connection re-use
  1081. - tests: Corrected "APOP" authentication keyword
  1082. - tests: Replaced email authentication keywords with SASL based keywords
  1083. As the email protocols implement SASL authentication rather than IMAP,
  1084. POP3 and SMTP specific authentication, updated the authentication
  1085. keywords to reflect this.
  1086. - tests: Added "Clear Text" authentication keyword
  1087. - tests: Added "SASL" authentication keyword
  1088. - imap-append.c: Fixed compilation errors on some platforms
  1089. In the initializer for len, there is no prototype for "strlen".
  1090. In this statement, there is no prototype for "memcpy".
  1091. - ftpserver.pl: Removed some unused variables
  1092. - ftpserver.pl: Reworked some variable names to be more meaningful
  1093. - ftpserver.pl: Corrected some indentation in senddata()
  1094. Daniel Stenberg (29 Mar 2014)
  1095. - lib1513: fix callback proto to silence warning
  1096. Steve Holme (29 Mar 2014)
  1097. - ftpserver.pl: Added fallback to <data> support when using multiple URLs
  1098. Added support for falling back to <data> when <data1>, <data2>, etc...
  1099. don't exist in the <reply> section of a unit test.
  1100. - ftpserver.pl: Updated email based get reply data code to use new method
  1101. - ftpserver.pl: Fixed syntax error from commit 3a29ee41
  1102. - ftpserver.pl: Updated argument code in STATUS_imap() to be more meaningful
  1103. - ftpserver.pl: Introduced common method for getting a test's reply data
  1104. - smtp: Fixed login denied when server doesn't support AUTH capability
  1105. Specifying user credentials when the SMTP server doesn't support
  1106. authentication would cause curl to display "No known authentication
  1107. mechanisms supported!" and return CURLE_LOGIN_DENIED.
  1108. Reported-by: Tom Sparrow
  1109. Bug: http://curl.haxx.se/mail/lib-2014-03/0173.html
  1110. Daniel Stenberg (28 Mar 2014)
  1111. - [Cody Mack brought this change]
  1112. winbuild: added warnless.c to fix build
  1113. Dan Fandrich (26 Mar 2014)
  1114. - hostcheck: added a system include to define struct in_addr
  1115. - test1397: Fixed compilation with some SSL backends
  1116. The test is only valid when one of four SSL backends is in use,
  1117. and must otherwise return success.
  1118. - test815/816: Use authentication for both URLs
  1119. The improved connection reuse logic would otherwise create a new
  1120. connection for each one, which isn't supported by the test
  1121. server, nor expected by the test.
  1122. Daniel Stenberg (26 Mar 2014)
  1123. - mkhelp: generate code for --disable-manual as well
  1124. This allows configure --disable-manual to run and build without having
  1125. to regenerate the src/tool_hugehelp.c file which otherwise is necessary
  1126. since we ship tarballs with that file present.
  1127. Reported-by: Remi Gacogne
  1128. Bug: http://curl.haxx.se/bug/view.cgi?id=1350
  1129. - bump: start the 7.37.0 race
  1130. Version 7.36.0 (26 Mar 2014)
  1131. Daniel Stenberg (26 Mar 2014)
  1132. - RELEASE-NOTES: 7.36.0
  1133. - [Richard J. Moore brought this change]
  1134. test1397: unit test for certificate name wildcard handling
  1135. - Curl_cert_hostcheck: strip trailing dots in host name and wildcard
  1136. Reported-by: Richard Moore
  1137. - Curl_cert_hostcheck: reject IP address wildcard matches
  1138. There are server certificates used with IP address in the CN field, but
  1139. we MUST not allow wild cart certs for hostnames given as IP addresses
  1140. only. Therefore we must make Curl_cert_hostcheck() fail such attempts.
  1141. Bug: http://curl.haxx.se/docs/adv_20140326B.html
  1142. Reported-by: Richard Moore
  1143. - [Steve Holme brought this change]
  1144. url: Fixed connection re-use when using different log-in credentials
  1145. In addition to FTP, other connection based protocols such as IMAP, POP3,
  1146. SMTP, SCP, SFTP and LDAP require a new connection when different log-in
  1147. credentials are specified. Fixed the detection logic to include these
  1148. other protocols.
  1149. Bug: http://curl.haxx.se/docs/adv_20140326A.html
  1150. - THANKS: 14 new friends from the 7.36.0 announcement
  1151. - RELEASE-NOTES: synced with 3ebfaf6a0399b6a
  1152. Steve Holme (23 Mar 2014)
  1153. - tool_operate: Fixed uninitialised variable under some error situations
  1154. For example when a URL is not specified or the headers file fails to
  1155. open.
  1156. - tool_parsecfg: Reworked error handling from commit fc59a9e1
  1157. - tool_getparam: Removed "dead assignment" code introduced in commit 1a9b58fc
  1158. Daniel Stenberg (22 Mar 2014)
  1159. - [Gisle Vanem brought this change]
  1160. polarssl: avoid extra newlines in debug messages
  1161. The debug messages printed inside PolarSSL always seems to end with a
  1162. newline. So 'infof()' should not add one. Besides the trace 'line'
  1163. should be 'const'.
  1164. - rtsp: parse "Session:" header properly
  1165. The parser skipped the initial letter, which presumably often is
  1166. whitespace but doesn't have to be.
  1167. Reported-by: Mike Hasselberg
  1168. Bug: http://curl.haxx.se/mail/lib-2014-03/0134.html
  1169. - runtests.pl: verify specified test cases
  1170. To better allow arguments like "1 to 9999" without flooding the terminal
  1171. with error messages, the given test cases range is now checked and only
  1172. test numbers with existing files are actually run.
  1173. Dan Fandrich (19 Mar 2014)
  1174. - RELEASE-NOTES: fixed typo
  1175. Daniel Stenberg (19 Mar 2014)
  1176. - trynextip: don't store 'ai' on failed connects...
  1177. It leads to the "next family" tries starting from the wrong point and thus
  1178. fails!
  1179. Bug: http://curl.haxx.se/bug/view.cgi?id=1337
  1180. Reported-by: ricker
  1181. - RELEASE-NOTES: synced with 47f8e99e78c
  1182. - [Gaël PORTAY brought this change]
  1183. polarssl: fix possible handshake timeout issue in multi.
  1184. Because of the socket is unblocking, PolarSSL does need call to getsock to
  1185. get the action to perform in multi environment.
  1186. In some cases, it might happen we have not received yet all data to perform
  1187. the handshake. ssh_handshake returns POLARSSL_ERR_NET_WANT_READ, the state
  1188. is updated but because of the getsock has not the proper #define macro to,
  1189. the library never prevents to select socket for input thus the socket will
  1190. never be awaken when last data is available. Thus it leads to timeout.
  1191. - [Gaël PORTAY brought this change]
  1192. polarssl: break compatibility with version older than 1.3.
  1193. Remove all #ifdef/else/endif macros that ensure compatibility with polarssl
  1194. version previous than 1.3.
  1195. - [Gaël PORTAY brought this change]
  1196. polarssl: drop use of 1.2 compatibility header.
  1197. API has changed since version 1.3. A compatibility header has been created
  1198. to ensure forward compatibility for code using old API:
  1199. * x509 certificate structure has been renamed to from x509_cert to
  1200. x509_crt
  1201. * new dedicated setter for RSA certificates ssl_set_own_cert_rsa,
  1202. ssl_set_own_cert is for generic keys
  1203. * ssl_default_ciphersuites has been replaced by function
  1204. ssl_list_ciphersuites()
  1205. This patch drops the use of the compatibly header.
  1206. - polarssl: added missing end-of-comment from previous commit
  1207. - polarssl: now require 1.3.0+
  1208. Also fixed a function name change in the version requirement bump
  1209. - [hasufell brought this change]
  1210. polarssl: fix compilation
  1211. Rename x509_cert to x509_crt and add "compat-1.2.h"
  1212. include.
  1213. This would still need some more thorough conversion
  1214. in order to drop "compat-1.2.h" include.
  1215. Kamil Dudka (15 Mar 2014)
  1216. - nss: allow to enable/disable new AES GCM cipher-suites
  1217. ... if built against a new enough version of NSS
  1218. - nss: allow to enable/disable new HMAC-SHA256 cipher-suites
  1219. ... if built against a new enough version of NSS
  1220. - nss: do not enable AES cipher-suites by default
  1221. ... but allow them to be enabled/disabled explicitly. The default
  1222. policy should be maintained at the NSS level.
  1223. Dan Fandrich (15 Mar 2014)
  1224. - tests: made the SASL modes separate keywords
  1225. - tests: added missing HTTP NTLM auth keywords
  1226. Also, removed an unneeded strippart
  1227. - tests: disable valgrind on the remaining scp/sftp tests
  1228. - valgrind.supp: added another test 165 suppression
  1229. This one seems to come and go as the optimizer decides how best
  1230. to inline some functions.
  1231. - ssh: prevent a logic error that could result in an infinite loop
  1232. - docs: fixed a bunch of typos
  1233. - test640/1: add tests for --head with sftp and scp
  1234. This option is currently rather useless with these protocols
  1235. when no quote command is given, but it is valid.
  1236. - ssh: removed a redundant close state transition
  1237. - ssh: abort immediately on a header callback error
  1238. Daniel Stenberg (14 Mar 2014)
  1239. - chunked-encoding: provide a readable error string for chunked errors
  1240. - TODO: remove http2, we now have it
  1241. - [Tatsuhiro Tsujikawa brought this change]
  1242. http2: free resources on disconnect
  1243. ... and use Curl_safefree() instead of free()
  1244. - openssl: info massage with SSL version used
  1245. Patch-by: byte_bucket
  1246. Steve Holme (9 Mar 2014)
  1247. - RELEASE-NOTES: Synced with 8ddda0e999
  1248. Daniel Stenberg (9 Mar 2014)
  1249. - README.http2: clarify the build prerequisites
  1250. - SSL-PROBLEMS: add "missing intermediate certificates" piece
  1251. - SSL-PROBLEMS: describes common curl+SSL problems
  1252. Nick Zitzmann (8 Mar 2014)
  1253. - docs: remove documentation on setting up krb4 support
  1254. The information about building with Kerberos4 support was half a year out
  1255. of date. We dropped support for that.
  1256. Daniel Stenberg (6 Mar 2014)
  1257. - ssh: fix compiler warning converting ssize_t to int
  1258. Dan Fandrich (6 Mar 2014)
  1259. - ssh: Fixed a style warning
  1260. Also, combined a couple of #ifdef sections
  1261. - ssh: Pass errors from libssh2_sftp_read up the stack
  1262. Daniel Stenberg (6 Mar 2014)
  1263. - parse_remote_port: error out on illegal port numbers better
  1264. - remote_port: allow connect to port 0
  1265. Port number zero is perfectly allowed to connect to. I moved to storing
  1266. the remote port number in an int so that -1 means undefined and 0-65535
  1267. can be used for legitimate port numbers.
  1268. - multi_runsingle: move timestamp into INIT
  1269. Setting the TIMER_STARTSINGLE timestamp first in CONNECT has the
  1270. drawback that for actions that go back to the CONNECT state, the time
  1271. stamp is reset and for the multi_socket API there's no corresponding
  1272. Curl_expire() then so the timeout logic gets wrong!
  1273. Reported-by: Brad Spencer
  1274. Bug: http://curl.haxx.se/mail/lib-2014-02/0036.html
  1275. - hostcheck: update comment after previous change
  1276. - hostcheck: Curl_cert_hostcheck is not used by NSS builds
  1277. - [Michael Osipov brought this change]
  1278. configure: call it GSS-API
  1279. ... since that’s how the RFC calls it.
  1280. - x509asn: moved out Curl_verifyhost from NSS builds
  1281. ... as it isn't used then!
  1282. - NSS: avoid compiler warnings when built without http2 support
  1283. - [Jiri Malak brought this change]
  1284. Rework Open Watcom make files to use standard Wmake features
  1285. Remove slash/backslash problem, now only slashes are used,
  1286. Wmake automaticaly translate slash/backslash to proper version or tools are not sensitive for it.
  1287. Enable spaces in path.
  1288. Use internal rm command for all host platforms
  1289. Add error message if old Open Watcom version is used. Some old versions exhibit build problems for Curl latest version. Now only versions 1.8, 1.9 and 2.O beta are supported
  1290. - [Jiri Malak brought this change]
  1291. parsedate: Fixed compilation warning
  1292. Remove compilation message for platforms where size of long type
  1293. is equal size of int type.
  1294. Steve Holme (2 Mar 2014)
  1295. - RELEASE-NOTES: Synced with 7fef4016de
  1296. - tool: Do not output libcurl source for the information only parameters
  1297. Ensure a source file isn't generated for the following informational
  1298. command line parameters when --libcurl is specified:
  1299. --help, --manual, --version and --engine list
  1300. As the output would only include a fairly empty looking main() function
  1301. and a call to curl_easy_init() and curl_easy_cleanup() when performed
  1302. with --engine list.
  1303. - tool: Fixed libcurl source output for multiple operations
  1304. Correctly output libcurl source code that includes multiply operations
  1305. as specified by --next. Note that each operation evaluates to a single
  1306. curl_easy_perform() in source code form.
  1307. Also note that the output could be optimised a little so global config
  1308. options are only output once rather than per operation as is presently
  1309. the case.
  1310. - tool_metalink.h: Fixed compilation warning
  1311. warning: declaration of 'struct GlobalConfig' will not be visible
  1312. outside of this function
  1313. - tool: Moved internal variable isatty to the global config
  1314. - tool_operate.c: Fixed compilation error
  1315. incompatible types - from 'OperationConfig *' to 'GlobalConfig *'
  1316. - tool: Moved --libcurl to the global config
  1317. - tool: Moved --progress-bar to the global config
  1318. - tool: Moved --stderr to the global config
  1319. - transfer.c: Fixed non-HTTP2 builds from commit cde0cf7c5e
  1320. Daniel Stenberg (28 Feb 2014)
  1321. - [Tatsuhiro Tsujikawa brought this change]
  1322. Fix bug that HTTP/2 hangs if whole response body is read with headers
  1323. For HTTP/2, we may read up everything including responde body with
  1324. header fields in Curl_http_readwrite_headers. If no content-length is
  1325. provided, curl waits for the connection close, which we emulate it
  1326. using conn->proto.httpc.closed = TRUE. The thing is if we read
  1327. everything, then http2_recv won't be called and we cannot signal the
  1328. HTTP/2 stream has closed. As a workaround, we return nonzero from
  1329. data_pending to call http2_recv.
  1330. - http2: build with current nghttp2 version
  1331. nghttp2 has yet again extended its callback struct and this is an
  1332. attempt to make curl compile with nghttp2 from current git
  1333. Dan Fandrich (28 Feb 2014)
  1334. - tool_main: Fixed a memory leak on main_init error
  1335. Steve Holme (28 Feb 2014)
  1336. - test96: Updated accordly for recent changes
  1337. - tool_cfgable: Code policing of structure pointers
  1338. - tool: Moved --trace and --verbose to the global config
  1339. - tool_main: Forgot to initialise the first operation's global pointer
  1340. - tool: Moved --silient to the global config
  1341. Other global options such as --libcurl, --trace and --verbose to
  1342. follow.
  1343. - tool_cfgable: Added GlobalConfig pointer to OperationConfig
  1344. In order to ease the moving of global options such as the error stream,
  1345. updated the OperationConfig structure to point to the GlobalConfig.
  1346. - tool: Added support to .curlrc for URL specific options
  1347. In addition to adding support for URL specific options via the command
  1348. line with --next it is now possible to specify "next" in .curlrc.
  1349. - tool: Reworked argument parsing to use --next/-:
  1350. Follow up to commit 1a9b58fcb2 to replace the : command line option
  1351. with --next and -:.
  1352. - tool_getparam: Added initial support for --next/-:
  1353. Added initial support for --next/-: which will be used to replace the
  1354. rather confusing : command line operation what was used for the URL
  1355. specific options prototype.
  1356. Dan Fandrich (26 Feb 2014)
  1357. - valgrind.supp: tweaked a test 165 suppression
  1358. A recent change seems to have slightly changed the call stack
  1359. produced by the gcc optimizer.
  1360. nickzman (25 Feb 2014)
  1361. - Merge pull request #93 from d235j/darwinssl_ip_address_fix
  1362. darwinssl: don't omit CN verification when an IP address is used
  1363. Daniel Stenberg (25 Feb 2014)
  1364. - parse_args: fix a too long source code line
  1365. - [naota brought this change]
  1366. configure: Tiny fix to honor POSIX
  1367. Change "==" to "=" to honor POSIX test construction.
  1368. Steve Holme (25 Feb 2014)
  1369. - tool_help: Moved --no-alpn and --no-npn to be listed alphabetically
  1370. ...and added the HTTP suffix as these options are only used for HTTP2
  1371. based connections.
  1372. - tool: Moved --showerror to the global config
  1373. Other global options such as --libcurl, --trace and --verbose to
  1374. follow.
  1375. - tool_getparam: Added global config to getparameter()
  1376. In preparation for parsing global options added the GlobalConfig
  1377. structure to the getparameter() function.
  1378. - tool_getparam.h: Fixed compilation warning
  1379. warning: declaration of 'struct GlobalConfig' will not be visible
  1380. outside of this function
  1381. Marc Hoersken (24 Feb 2014)
  1382. - RELEASE-NOTES: Updated for 63fc8ee7
  1383. Steve Holme (24 Feb 2014)
  1384. - tool_cfgable: Added support for knowing the current operation
  1385. Marc Hoersken (24 Feb 2014)
  1386. - curl_schannel.c: Updated copyright years
  1387. - [David Ryskalczyk brought this change]
  1388. winssl: Enable hostname verification of IP address using SAN or CN
  1389. Original commit message was:
  1390. Don't omit CN verification in SChannel when an IP address is used.
  1391. Side-effect of this change:
  1392. SChannel and CryptoAPI do not support the iPAddress subjectAltName
  1393. according to RFC 2818. If present, SChannel will first compare the
  1394. IP address to the dNSName subjectAltNames and then fallback to the
  1395. most specific Common Name in the Subject field of the certificate.
  1396. This means that after this change curl will not connect to SSL/TLS
  1397. hosts as long as the IP address is not specified in the SAN or CN
  1398. of the server certificate or the verifyhost option is disabled.
  1399. Steve Holme (24 Feb 2014)
  1400. - tool_operate: Moved easy handle cleanup into tool_main
  1401. Marc Hoersken (24 Feb 2014)
  1402. - tool_hugehelp: partially reverted 24e22e10
  1403. Compilation was not possible if manuel is disabled due this error:
  1404. error: macro "hugehelp" passed 1 arguments, but takes just 0
  1405. void hugehelp(void) {}
  1406. Steve Holme (24 Feb 2014)
  1407. - tool_main: Moved easy handle into global config structure
  1408. David Ryskalczyk (23 Feb 2014)
  1409. - Don't omit CN verification in DarwinSSL when an IP address is used.
  1410. Steve Holme (23 Feb 2014)
  1411. - tool: Fixed line longer than 79 characters from commit 705a4cb549
  1412. - tool_main: Corrected typo from commit d6b9f054e9 in Symbian code
  1413. - tool_main: Moved OperateConfig cleanup into main_free()
  1414. - tool_main: Moved initial OperateConfig creation into main_init()
  1415. - tool_cfgable: Added global config structure
  1416. - tool_cfgable: Renamed Configurable structure to OperationConfig
  1417. To allow for the addition of a global config structure and prevent
  1418. confusion between the two.
  1419. - tool: Fixed incorrect return code with --version from commit c10bf9bb36
  1420. - RELEASE-NOTES: Synced with 8c80840d01
  1421. - tool_getparam: Moved tool_help() call into operate()
  1422. - tool_getparam: Moved hugehelp() call into operate()
  1423. - tool_getparam: Moved tool_version_info() call into operate()
  1424. - tool_cfgable: Removed list_engine flag from config structure
  1425. In preparation for separating the global config options from the per
  1426. operation config options, reworked the list engines code to not use a
  1427. member variable in the Configurable structure.
  1428. - tool_operate: Start to use CURLcode rather than int for return codes
  1429. To help assist with the detection of incorrect return codes, as per
  1430. commits ee23d13a79, 33b8960dc8 and aba98991a5, updated the operate
  1431. based functions to return CURLcode error codes.
  1432. - tool: Fixed incorrect return code when setting HTTP request fails
  1433. During initialisation SetHTTPrequest() may fail and cURL would return
  1434. PARAM_BAD_USE, which is equivalent to CURLE_NOT_BUILT_IN in cURL error
  1435. terms.
  1436. Instead, return CURLE_FAILED_INIT as we do for other functions that may
  1437. fail during initialisation.
  1438. - tool_getparam: Moved version information into separate function in tool_help
  1439. - tool_operhlp.h: Fixed compilation warning
  1440. warning: 'struct Configurable' declared inside parameter list
  1441. - tool_operhlp: Consolidated engine output code into tool_help
  1442. - tool_operate: Moved list engines into separate function in tool_help
  1443. Marc Hoersken (22 Feb 2014)
  1444. - RELEASE-NOTES: added note about impact of changes to WinSSL defaults
  1445. - stunnel: regenerated self-signed test certificate with SHA1 hash
  1446. The previous test certificate contained a MD5 hash which is not
  1447. supported using TLSv1.2 with Schannel on Windows 7 or newer.
  1448. See the update to this blog post on IEInternals / MSDN:
  1449. http://blogs.msdn.com/b/ieinternals/archive/2011/03/25/
  1450. misbehaving-https-servers-impair-tls-1.1-and-tls-1.2.aspx
  1451. "Update: If the server negotiates a TLS1.2 connection with a
  1452. Windows 7 or 8 schannel.dll-using client application, and it
  1453. provides a certificate chain which uses the (weak) MD5 hash
  1454. algorithm, the client will abort the connection (TCP/IP FIN)
  1455. upon receipt of the certificate."
  1456. Dan Fandrich (22 Feb 2014)
  1457. - easy: Fixed a memory leak on OOM condition
  1458. Steve Holme (20 Feb 2014)
  1459. - tool_paramhlp: Fixed compilation warnings
  1460. declaration of 'index' shadows a global declaration
  1461. - lib1515.c: Fixed #include path in commit 647f83e809
  1462. Daniel Stenberg (19 Feb 2014)
  1463. - [Maks Naumov brought this change]
  1464. test1515: fix compilation with msvc
  1465. ... or any other systems lacking a native snprintf
  1466. - SFTP: skip reading the dir when NOBODY=1
  1467. When asking for an SFTP directory with NOBODY set, no directory contents
  1468. should be retrieved.
  1469. Bug: http://curl.haxx.se/mail/lib-2014-02/0155.html
  1470. Dan Fandrich (18 Feb 2014)
  1471. - axtls: comment the call ssl_read repeatedly loop
  1472. Kamil Dudka (18 Feb 2014)
  1473. - curl.1: update the description of --tlsv1
  1474. ... and mention the --tlsv1.[0-2] options in the --tslv1 entry
  1475. Reported-by: Hubert Kario
  1476. Daniel Stenberg (18 Feb 2014)
  1477. - curl_version.3: recommend using curl_version_info() instead
  1478. - curl_version_info.3: added *HTTP2
  1479. ... and edited language slightly
  1480. - curl_multi_assign.3: updated language
  1481. - libcurl.3: edited slightly to improve readability
  1482. - curl_easy_perform.3: extended and clarified
  1483. - curl_multi_add_handle.3: clarify multi vs easy use
  1484. it is only WHILE added to a multi handle that it can't be used with the
  1485. easy interface
  1486. - [Tatsuhiro Tsujikawa brought this change]
  1487. http2: Support HTTP POST/PUT
  1488. This patch enables HTTP POST/PUT in HTTP2.
  1489. We disabled Expect header field and chunked transfer encoding
  1490. since HTTP2 forbids them.
  1491. In HTTP1, Curl sends small upload data with request headers, but
  1492. HTTP2 requires upload data must be in DATA frame separately.
  1493. So we added some conditionals to achieve this.
  1494. - RELEASE-NOTES: synced with 854aca5420f
  1495. - multi: ignore sigpipe internally
  1496. When the multi API is used we must also ignore SIGPIPE signals when
  1497. caused by things we do, like they can easily be generated by OpenSSL.
  1498. Dan Fandrich (17 Feb 2014)
  1499. - tests: Made the crypto test feature usable
  1500. This feature specifies the availability of cryptographic
  1501. authentication, which can be disabled at compile-time
  1502. - configure: Fix the --disable-crypto-auth option
  1503. It now disables NTLM and GSS authentication methods, and produces
  1504. compilable code when SSL is enabled.
  1505. Daniel Stenberg (17 Feb 2014)
  1506. - curl_multi_setopt.3: clarify CURLMOPT_MAXCONNECTS
  1507. - [Shao Shuchao brought this change]
  1508. ConnectionDone: default maxconnects to 4 x number of easy handles
  1509. ... as documented!
  1510. - examples: remove all use of CURLM_CALL_MULTI_PERFORM
  1511. ... since it is never returned since a long while back.
  1512. - [Colin Hogben brought this change]
  1513. curl_easy_setopt.3: Add another non-matching hostname
  1514. For the avoidance of doubt, show a domain which contains the no-proxy
  1515. pattern but not at the top level.
  1516. - axtls: bump copyright year
  1517. - [Fabian Frank brought this change]
  1518. axtls: call ssl_read repeatedly
  1519. Perform more work in between sleeps. This is work around the
  1520. fact that axtls does not expose any knowledge about when work needs
  1521. to be performed. Depending on connection and how often perform is
  1522. being called this can save ~25% of time on SSL handshakes (measured
  1523. on 20ms latency connection calling perform roughly every 10ms).
  1524. - [Yehezkel Horowitz brought this change]
  1525. url_easy_setopt.3: Add undocumented values of curl_infotype
  1526. ... for debug function
  1527. - ConnectionExists: re-use connections better
  1528. When allowing NTLM, the re-use connection logic was too focused on
  1529. finding an existing NTLM connection to use and didn't properly allow
  1530. re-use of other ones. This made the logic not re-use perfectly re-usable
  1531. connections.
  1532. Added test case 1418 and 1419 to verify.
  1533. Regression brought in 8ae35102c (curl 7.35.0)
  1534. Reported-by: Jeff King
  1535. Bug: http://thread.gmane.org/gmane.comp.version-control.git/242213
  1536. Steve Holme (16 Feb 2014)
  1537. - tool_paramhlp: Added URL index to password prompt for multiple operations
  1538. Marc Hoersken (16 Feb 2014)
  1539. - sockfilt.c: add undefs which are required after 6239146e
  1540. Steve Holme (16 Feb 2014)
  1541. - warnless: Updated copyright year for recent changes
  1542. Marc Hoersken (16 Feb 2014)
  1543. - warnless: add wrapper function for read and write on Windows
  1544. Steve Holme (16 Feb 2014)
  1545. - examples: Added IMAP LSUB example
  1546. - tool_operate: Changed the required argument check/get to be upfront
  1547. Rather than check for required arguments, and prompt for any host and
  1548. proxy passwords, as each operation is performed, changed the code so
  1549. all configurations are checked before any operations are performed.
  1550. This allows the user to input all the required passwords, for example,
  1551. upfront rather than wait for each operation.
  1552. - tool_operate: Moved required argument getting into separate function
  1553. Dan Fandrich (15 Feb 2014)
  1554. - valgrind: added another test 165 suppression
  1555. This one is needed with the gcc options -fstack-protector-all -O2
  1556. That brings the number of suppressions for test 165 to four, and I
  1557. suspect I could find another two missing without trying very hard. I'm
  1558. beginning to think suppressions isn't the best way to handle these
  1559. kinds of cases.
  1560. Marc Hoersken (15 Feb 2014)
  1561. - testsuite: more Windows line-endings fixes
  1562. - test1114: fix line-endings checks on Windows after 75f00de
  1563. - test1113: fix line-endings checks on Windows after 75f00de5
  1564. - lib1515.c: Added support for Windows using the Sleep function
  1565. - HTTP tests: use CRLF as header seperator according to RFC 2616
  1566. Updates the test suite to handle binary-mode header output.
  1567. - curl: output protocol headers using binary mode
  1568. Since protocol headers contain explicit line-endings there should
  1569. be no automatic conversion to ASCII text or CRLF line-endings.
  1570. This might break third party tools that already depend on this
  1571. behaviour. We might need to introduce an option to make this optional.
  1572. - HTTP tests: use CRLF as header seperator according to RFC 2616
  1573. Changes LF to CRLF and disables automatic output conversion.
  1574. - testsuite: use binary output mode for custom curl test tools
  1575. Do not try to convert line-endings to CRLF on Windows by setting stdout
  1576. to binary mode, just like the curl tool does if --ascii is not specified.
  1577. This should prevent corrupted stdout line-ending output like CRCRLF.
  1578. In order to make the previously naive text-aware tests work with
  1579. binary mode on Windows, text-mode is disabled for them if it is not
  1580. actually part of the test case and line-endings are corrected.
  1581. - testsuite: changed HTTP and RTSP header line-endings to CRLF
  1582. According to RFC 2616 and RFC 2326 individual protocol elements, like
  1583. headers and except the actual content, are terminated by using CRLF.
  1584. Therefore the test data files for these protocols need to contain
  1585. mixed line-endings if the actual protocol elements use CRLF while
  1586. the file uses LF.
  1587. Daniel Stenberg (14 Feb 2014)
  1588. - [Colin Hogben brought this change]
  1589. curl_easy_setopt.3: Fix word order of CURLOPT_PROXY section
  1590. The word CURLOPT_PROXYPORT became detached from its sentence when the
  1591. note about the default was added.
  1592. Patrick Monnerat (14 Feb 2014)
  1593. - OS400: Add new options to RPG binding.
  1594. Dan Fandrich (14 Feb 2014)
  1595. - valgrind: added suppression on optimized code
  1596. gcc 4.7.2 with -O2 will optimize Curl_connect by inlining some
  1597. functions two levels deep, which makes the valgrind suppression
  1598. fail to match. The underlying reason for these idna suppressions is
  1599. a gcc strlen optimization when compiling libidn; compiling it with
  1600. -fno-builtin-strlen makes this suppression unnecessary.
  1601. Daniel Stenberg (14 Feb 2014)
  1602. - [Arvid Norberg brought this change]
  1603. dict: fix memory leak in OOM exit path
  1604. Bug: https://github.com/bagder/curl/pull/90
  1605. - Curl_urldecode: don't allow NULL as receiver
  1606. For a function that returns a decoded version of a string, it seems
  1607. really strange to allow a NULL pointer to get passed in which then
  1608. prevents the decoded data from being returned!
  1609. This functionality was not documented anywhere either.
  1610. If anyone would use it that way, that memory would've been leaked.
  1611. Bug: https://github.com/bagder/curl/pull/90
  1612. Reported-by: Arvid Norberg
  1613. - RELEASE-NOTES: synced with 378af08c992
  1614. - ConnectionExists: reusing possible HTTP+NTLM connections better
  1615. Make sure that the special NTLM magic we do is for HTTP+NTLM only since
  1616. that's where the authenticated connection is a weird non-standard
  1617. paradigm.
  1618. Regression brought in 8ae35102c (curl 7.35.0)
  1619. Bug: http://curl.haxx.se/mail/lib-2014-02/0100.html
  1620. Reported-by: Dan Fandrich
  1621. - [Tiit Pikma brought this change]
  1622. transfer: make Expect: 100-continue timeout configurable.
  1623. Replaced the #define CURL_TIMEOUT_EXPECT_100 in transfer.c with the
  1624. CURLOPT_EXPECT_100_TIMEOUT_MS option to make the timeout configurable.
  1625. - [Thomas Braun brought this change]
  1626. Fix compilation with make mingw32
  1627. The source files from lib/vtls where generated in lib instead of lib/vtls.
  1628. Verified-by: Thomas Braun <thomas.braun@virtuell-zuhause.de>
  1629. - chunked decoder: track overflows correctly
  1630. The code didn't properly check the return codes to detect overflows so
  1631. it could trigger incorrectly. Like on mingw32.
  1632. Regression introduced in 345891edba (curl 7.35.0)
  1633. Bug: http://curl.haxx.se/mail/lib-2014-02/0097.html
  1634. Reported-by: LM
  1635. - [Fabian Frank brought this change]
  1636. curl_easy_setopt.3: add CURL_HTTP_VERSION_2_0
  1637. - [Fabian Frank brought this change]
  1638. openssl: honor --[no-]alpn|npn command line switch
  1639. Disable ALPN or NPN if requested by the user.
  1640. - [Fabian Frank brought this change]
  1641. gtls: honor --[no-]alpn command line switch
  1642. Disable ALPN if requested by the user.
  1643. Dan Fandrich (11 Feb 2014)
  1644. - tests: Disabled broken test 1316
  1645. See http://curl.haxx.se/mail/lib-2014-02/0004.html for a
  1646. discussion on the problem.
  1647. Daniel Stenberg (11 Feb 2014)
  1648. - version: next release will become 7.36.0
  1649. - curl_easy_setopt.3: add CURLOPT_SSL_ENABLE_ALPN/NPN
  1650. Steve Holme (10 Feb 2014)
  1651. - tool_cfgable: Moved easy handle cleanup to fix pingpong logout issues
  1652. Commmit c5f8e2f5f4 removed the easy handle clean-up from tool_operate,
  1653. letting the code that was already present in free_config_fields()
  1654. perform the task. Unfortunately, this wasn't the correct place to do
  1655. this as it broke protocols, that would perform a logout, as the main
  1656. clean-up in tool_main had already been called.
  1657. Dan Fandrich (10 Feb 2014)
  1658. - secureserver: Only set stunnel FIPS option when available
  1659. It seems the fips config option causes an error if FIPS mode was
  1660. not enabled at stunnel compile-time. FIPS support was disabled
  1661. by default in stunnel 5.00, so this is probably really only needed
  1662. on versions between 4.32 and 5.00.
  1663. Daniel Stenberg (10 Feb 2014)
  1664. - [Fabian Frank brought this change]
  1665. NPN/ALPN: allow disabling via command line
  1666. when using --http2 one can now selectively disable NPN or ALPN with
  1667. --no-alpn and --no-npn. for now honored with NSS only.
  1668. TODO: honor this option with GnuTLS and OpenSSL
  1669. - [Fabian Frank brought this change]
  1670. nss: use correct preprocessor macro
  1671. SSL_ENABLE_ALPN can be used for preprocessor ALPN feature detection,
  1672. but not SSL_NEXT_PROTO_SELECTED, since it is an enum value and not a
  1673. preprocessor macro.
  1674. Steve Holme (9 Feb 2014)
  1675. - tests: Added test for IMAP LSUB command
  1676. - tests: Removed test 807 as it has been superseded by tests 815 and 816
  1677. - tests: Updated the titles of tests 815 and 816
  1678. Daniel Stenberg (9 Feb 2014)
  1679. - tool_metalink: fix compiler warning when built without metalink
  1680. Steve Holme (9 Feb 2014)
  1681. - tool_operate: Move the trace and error file closure to tool_cfgable
  1682. - TODO: Removed url-specific options
  1683. - tests: Re-enabled IMAP tests that require URL specific option support
  1684. - RELEASE-NOTES: Synced with 8e62f7a6503a
  1685. Marc Hoersken (9 Feb 2014)
  1686. - secureserver: FIPS option is only supported since stunnel 5.00
  1687. Steve Holme (9 Feb 2014)
  1688. - tool_operate: Added support for performing URL specific operations
  1689. - tool_operate: Let curl handle cleanup take place in config_free()
  1690. Dan Fandrich (9 Feb 2014)
  1691. - formdata: Must use Curl_safefree instead of free
  1692. Daniel Stenberg (8 Feb 2014)
  1693. - test96: updated according to recent changes
  1694. - runtests: allow <strippart> to remove lines
  1695. For verify file, if the strippart condition removes the line completely
  1696. it is now removed from the array.
  1697. Steve Holme (8 Feb 2014)
  1698. - tool_getparam: Added support for parsing of specific URL options
  1699. Dan Fandrich (8 Feb 2014)
  1700. - secureserver: Disable FIPS mode for stunnel
  1701. It's unnecessary for curl testing, and it can otherwise cause
  1702. stunnel to fail to start if OpenSSL doesn't support FIPS mode.
  1703. - formdata: Fixed memory leak on OOM condition
  1704. - runtests: Disable valgrind when debugging
  1705. This was already mostly being done, except that analysis after the
  1706. test still assumed that the valgrind log files would be available. An
  1707. alternative way to handle the valgrind + gdb combination could be to
  1708. enable one of the valgrind debugger hooks.
  1709. Steve Holme (7 Feb 2014)
  1710. - tool_cfgable: For consistency renamed init_config() to config_init()
  1711. - tool_cfgable: Introduced config_free() function
  1712. Daniel Stenberg (7 Feb 2014)
  1713. - --help: add missing --tlsv1.x options
  1714. Steve Holme (7 Feb 2014)
  1715. - lib1515.c: Fixed various compilation warnings
  1716. lib1515.c:38:26 warning: unused parameter 'curl'
  1717. lib1515.c:38:81 warning: unused parameter 'ptr'
  1718. lib1515.c:38:5 warning: no previous prototype for 'debug_callback'
  1719. lib1515.c:46:5 warning: no previous prototype for 'do_one_request'
  1720. lib1515.c:120:3 warning: ISO C90 forbids mixed declarations and code
  1721. As well as some code policing such as white space and braces.
  1722. Daniel Stenberg (7 Feb 2014)
  1723. - http2: updated README after NSS addition
  1724. Changed the support to a little matrix and added brief explanation of
  1725. what ALPN and NPN are for.
  1726. - nss: support pre-ALPN versions
  1727. - [Fabian Frank brought this change]
  1728. nss: ALPN and NPN support
  1729. Add ALPN and NPN support for NSS. This allows cURL to negotiate
  1730. HTTP/2.0 connections when built with NSS.
  1731. - formpost: use semicolon in multipart/mixed
  1732. Not comma, which is an inconsistency and a mistake probably inherited
  1733. from the examples section of RFC1867.
  1734. This bug has been present since the day curl started to support
  1735. multipart formposts, back in the 90s.
  1736. Reported-by: Rob Davies
  1737. Bug: http://curl.haxx.se/bug/view.cgi?id=1333
  1738. Dan Fandrich (6 Feb 2014)
  1739. - tests: Document use of the MEMDEBUG_LOG_SYNC macro
  1740. - ssh: Fixed a NULL pointer dereference on OOM condition
  1741. Steve Holme (6 Feb 2014)
  1742. - nss: Updated copyright year for recent edits
  1743. Daniel Stenberg (6 Feb 2014)
  1744. - [Remi Gacogne brought this change]
  1745. 100-continue: fix timeout condition
  1746. When using the multi socket interface, libcurl calls the
  1747. curl_multi_timer_callback asking to be woken up after
  1748. CURL_TIMEOUT_EXPECT_100 milliseconds.
  1749. After the timeout has expired, calling curl_multi_socket_action with
  1750. CURL_SOCKET_TIMEOUT as sockfd leads libcurl to check expired
  1751. timeouts. When handling the 100-continue one, the following check in
  1752. Curl_readwrite() fails if exactly CURL_TIMEOUT_EXPECT_100 milliseconds
  1753. passed since the timeout has been set!
  1754. It seems logical to consider that having waited for exactly
  1755. CURL_TIMEOUT_EXPECT_100 ms is enough.
  1756. Bug: http://curl.haxx.se/bug/view.cgi?id=1334
  1757. - [Fabian Frank brought this change]
  1758. nss: prefer highest available TLS version
  1759. Offer TLSv1.0 to 1.2 by default, still fall back to SSLv3
  1760. if --tlsv1[.N] was not specified on the command line.
  1761. - [Romulo A. Ceccon brought this change]
  1762. tests: add test for bug #1327 (dns cache timeout)
  1763. Fix for bug #1303 (030a2b8cb) was not complete.
  1764. libcurl still pruned DNS entries added manually
  1765. after detecting a dead connection. This test
  1766. checks such behavior.
  1767. - [Romulo A. Ceccon brought this change]
  1768. tests: add test for bug #1303 (dns cache timeout)
  1769. Test-case 1515 reproduces bug #1303, where libcurl
  1770. would incorrectly prune DNS entries added via
  1771. CURLOPT_RESOLVE after the DNS_CACHE_TIMEOUT had
  1772. expired.
  1773. - http2: spell fixed README and added version requirement
  1774. Steve Holme (6 Feb 2014)
  1775. - tool_operate: Removed unused argument parameters from operate_do()
  1776. - tool_operate: Moved list SSL engines code into operate()
  1777. - tool_operate: Moved argument parsing into operate()
  1778. Daniel Stenberg (5 Feb 2014)
  1779. - runtests: add suppression generator help
  1780. Leave the valgrind --gen-suppressions option in there, commented, to
  1781. make it easier for next update.
  1782. - valgrind: updated suppressions file
  1783. The call stack was modified in 2dc7ad23 so the supressions didn't work
  1784. anymore.
  1785. - runtests: detect 'ares' better
  1786. ... caused false detections of the threaded resolver otherwise
  1787. Steve Holme (5 Feb 2014)
  1788. - tool_operate: Moved .curlrc parsing code into operate()
  1789. - tool_operate: Moved locale setup code into operate_init()
  1790. Daniel Stenberg (5 Feb 2014)
  1791. - http2: minor update of the README
  1792. - [Fabian Frank brought this change]
  1793. http2: rely on content-encoding header
  1794. A server might respond with a content-encoding header and a response
  1795. that was encoded accordingly in HTTP-draft-09/2.0 mode, even if the
  1796. client did not send an accept-encoding header earlier. The server might
  1797. not send a content-encoding header if the identity encoding was used to
  1798. encode the response.
  1799. See:
  1800. http://tools.ietf.org/html/draft-ietf-httpbis-http2-09#section-9.3
  1801. Dan Fandrich (4 Feb 2014)
  1802. - tool_operate: shortened too-long source line
  1803. Steve Holme (4 Feb 2014)
  1804. - tool_operate: Introduced operate_free() function
  1805. - tool_operate: Introduced operate_init() function
  1806. - tool_operate: Introduced new operate() function
  1807. Daniel Stenberg (4 Feb 2014)
  1808. - http2: enforce gzip auto-decompress
  1809. As this is mandated by the http2 spec draft-09
  1810. - [Tatsuhiro Tsujikawa brought this change]
  1811. http2: handle incoming data larger than remaining buffer
  1812. - [Tatsuhiro Tsujikawa brought this change]
  1813. http2: Check stream ID we are interested in
  1814. - [Tatsuhiro Tsujikawa brought this change]
  1815. http2: store response header in temporary buffer
  1816. - [Tatsuhiro Tsujikawa brought this change]
  1817. HTTP2: add layer between existing http and socket(TLS) layer
  1818. This patch chooses different approach to integrate HTTP2 into HTTP curl
  1819. stack. The idea is that we insert HTTP2 layer between HTTP code and
  1820. socket(TLS) layer. When HTTP2 is initialized (either in NPN or Upgrade),
  1821. we replace the Curl_recv/Curl_send callbacks with HTTP2's, but keep the
  1822. original callbacks in http_conn struct. When sending serialized data by
  1823. nghttp2, we use original Curl_send callback. Likewise, when reading data
  1824. from network, we use original Curl_recv callback. In this way we can
  1825. treat both TLS and non-TLS connections.
  1826. With this patch, one can transfer contents from https://twitter.com and
  1827. from nghttp2 test server in plain HTTP as well.
  1828. The code still has rough edges. The notable one is I could not figure
  1829. out how to call nghttp2_session_send() when underlying socket is
  1830. writable.
  1831. - [Fabian Frank brought this change]
  1832. gtls: add ALPN support
  1833. Add ALPN support when using GnuTLS >= 3.2.0. This allows
  1834. libcurl to negotiate HTTP/2.0 for https connections when
  1835. built with GnuTLS.
  1836. See:
  1837. http://www.gnutls.org/manual/gnutls.html#Application-Layer-Protocol-Negotiation-_0028ALPN_0029
  1838. http://tools.ietf.org/html/draft-ietf-tls-applayerprotoneg-04
  1839. Steve Holme (3 Feb 2014)
  1840. - tool_operate: Moved libcurl information gathering to tool_main
  1841. Daniel Stenberg (3 Feb 2014)
  1842. - [Fabian Frank brought this change]
  1843. openssl: add ALPN support
  1844. Add ALPN support when using OpenSSL. This will offer ALPN and NPN to the
  1845. server, who can respond with either one or none of the two. OpenSSL >=
  1846. 1.0.2 is required, which means as of today obtaining a snapshot from
  1847. ftp://ftp.openssl.org/snapshot/.
  1848. See:
  1849. http://tools.ietf.org/html/draft-ietf-tls-applayerprotoneg-04
  1850. https://github.com/openssl/openssl/blob/ba168244a14bbd056e502d7daa04cae4aabe9d0d/ssl/ssl_lib.c#L1787
  1851. Steve Holme (3 Feb 2014)
  1852. - tool_operate: Moved command line argument parsing into separate function
  1853. - tool_operate: Simplified parse .curlrc decision logic
  1854. - tool_operate: Moved main initialisation and cleanup code into tool_main
  1855. - tool_main: Fixed compilation warning from commit 0104678c79
  1856. no previous prototype for function 'memory_tracking_init'
  1857. - tool_main: Changed stack based config struct to be heap based
  1858. Dan Fandrich (3 Feb 2014)
  1859. - tests: Moved some comments so the test data files parse as XML
  1860. Steve Holme (2 Feb 2014)
  1861. - tool_operate: Moved memory tracking initialisation into tool_main
  1862. - tests: Fixed test172 cookie expiry
  1863. The test contains a cookie jar file where one of the cookies has an
  1864. expiry date of 1391252187 -- Sat, 1 Feb 2014 10:56:27 GMT which has
  1865. now expired. Updated to Wed, 14 Oct 2037 16:36:33 GMT as per test
  1866. 179.
  1867. Reported-by: Adam Sampson
  1868. Bug: http://curl.haxx.se/bug/view.cgi?id=1330
  1869. - tool_operate: Moved initial config setup into new init_config() function
  1870. - tool_main: Moved config struct initialisation into a separate function
  1871. In preparation for adding URL specific options moved the initialisation
  1872. of the Configurable structure into a separate function in tool_cfgable.
  1873. Marc Hoersken (1 Feb 2014)
  1874. - test 500: workaround low timer resolution on Windows
  1875. Since the timer resolution is lower, there are actually cases that
  1876. the compared values are equal. Therefore we check for previous
  1877. timestamps being greater than the current one instead.
  1878. - test suite: stop conversion of valid output to CRLF on Windows
  1879. Since the output isn't actually being written in text-mode and it
  1880. was rather used as a workaround, disable text-mode for these tests.
  1881. - HTTP tests: use CRLF as header seperator according to RFC 2616
  1882. - FTP tests: enable text-mode for more datacheck sections
  1883. - FTP tests: enable text-mode for data and datacheck sections
  1884. - runtests.pl: added support for text-mode within datacheck section
  1885. - ftpserver.pl: directory LISTings use [CR][LF] for ASCII transfer
  1886. According to section 2.2 of RFC959 the End-of-Line is defined as:
  1887. The end-of-line sequence defines the separation of printing
  1888. lines. The sequence is Carriage Return, followed by Line Feed.
  1889. Verified by sniffing traffic between a Windows FTP client (FileZilla)
  1890. and Unix-hosted FTP server (ProFTPD).
  1891. - runtests.pl: reverse line-ending conversion on Windows
  1892. It makes more sense to convert the expected output to [CR][LF] on
  1893. Windows than to force the actual, probably correct, output to [LF].
  1894. This way it is actually possible to see if curl outputs the correct
  1895. line-ending excepted by a text-aware test case.
  1896. - winssl: improved default SSL/TLS protocol selection
  1897. For some reason Windows 7 SP1 chooses TLS 1.0 instead of TLS 1.2
  1898. if it is not explicitly enabled within grbitEnabledProtocols.
  1899. More information can be found on MSDN:
  1900. http://msdn.microsoft.com/library/windows/desktop/aa379810.aspx
  1901. Steve Holme (31 Jan 2014)
  1902. - INSTALL: Corrected mentioned version number as release 7.34.1 became 7.35.0
  1903. - RELEASE-NOTES: Synced with 0f213fdca1
  1904. Dan Fandrich (31 Jan 2014)
  1905. - pipeline: Fixed a NULL pointer dereference on OOM
  1906. - tests: make the authorization retry tests pass the torture tests
  1907. - ftp: fixed a memory leak on wildcard error path
  1908. - netrc: Fixed a memory leak in an OOM condition
  1909. Steve Holme (30 Jan 2014)
  1910. - ntlm: Fixed a memory leak when using NTLM with a proxy server
  1911. - tests: Missed updating a type-3 message in commit 1c9aaa0bac
  1912. Daniel Stenberg (30 Jan 2014)
  1913. - http2: fix size check in on_data_chunk_recv
  1914. - http2: add CRLF when first data arrives
  1915. Steve Holme (30 Jan 2014)
  1916. - tests: Updated NTLM tests for NTLMv2 type-3 message
  1917. Daniel Stenberg (30 Jan 2014)
  1918. - [Tatsuhiro Tsujikawa brought this change]
  1919. http2_recv: Return written length on CURLE_AGAIN
  1920. - [Tatsuhiro Tsujikawa brought this change]
  1921. http2: Use nghttp2_session_mem_recv and nghttp2_session_upgrade
  1922. - http2: call it "HTTP 2" and not 2.0
  1923. The minor version will be dropped for HTTP 2 so it will make sense to
  1924. avoid using it in option names etc.
  1925. - http2: basic version of receiving DATA
  1926. - http2: convert HEADER frames to HTTP1-like headers
  1927. ... and then go through the "normal" HTTP engine.
  1928. - http2: fix EWOULDBLOCK in recv_callback()
  1929. - http2: do the POST Upgrade dance properly
  1930. Steve Holme (30 Jan 2014)
  1931. - ntlm: Use static client nonce for the test suite
  1932. Daniel Stenberg (30 Jan 2014)
  1933. - http2.h: provide empty macros for non-http2 builds
  1934. - [Fabian Frank brought this change]
  1935. http2: switch into http2 mode if NPN indicates
  1936. Check the NPN result before preparing an HTTP request and switch into
  1937. HTTP/2.0 mode if necessary. This is a work in progress, the actual code
  1938. to prepare and send the request using nghttp2 is still missing from
  1939. Curl_http2_send_request().
  1940. - http2: s/Curl_http2_request/Curl_http2_request_upgrade
  1941. To better reflect its purpose
  1942. - http2-openssl: verify that NPN functionality is present
  1943. - [Fabian Frank brought this change]
  1944. openssl: set up hooks with to perform NPN
  1945. NPN is what is available in the wild today to negotiate SPDY or HTTP/2.0
  1946. connections. It is expected to be replaced by ALPN in the future. If
  1947. HTTP/2.0 is negotiated, this is indicated for the entire connection and
  1948. http.c is expected to initialize itself for HTTP/2.0 instead of
  1949. HTTP/1.1.
  1950. see:
  1951. http://technotes.googlecode.com/git/nextprotoneg.html
  1952. http://tools.ietf.org/html/draft-ietf-tls-applayerprotoneg-04
  1953. - http2: added stubs for all nghttp2 callbacks
  1954. This makes it easier to trace what's happening.
  1955. - http2: use FIRSTSOCKET instead of 0 to index the sockets array
  1956. - http2: receive and log the received header frames
  1957. - http2_recv: log nghttp2 return codes for debugging purposes
  1958. - HTTP2: reject nghttp2 versions before 0.3.0
  1959. - [Gisle Vanem brought this change]
  1960. http2: adjusted to newer nghttp2_session_callbacks struct
  1961. the number of elements in the 'nghttp2_session_callbacks' structure is
  1962. now reduced by 2 in version 0.3.0 (I'm not sure when the change
  1963. happened, but checking for ver 0.3.0 work for me).
  1964. - [Gisle Vanem brought this change]
  1965. HTTP2: Wrong NgHTTP2 user-data
  1966. Something is wrong in 'userp' for the HTTP2 recv_callback(). The
  1967. session is created using bogus user-data; '&conn' and not 'conn'.
  1968. I noticed this since the socket-value in Curl_read_plain() was set to a
  1969. impossible high value.
  1970. - NTLM: error: conversion to 'int' from 'long int' may alter its value
  1971. Fixed two compiler nits
  1972. Steve Holme (29 Jan 2014)
  1973. - ntlm: Coding style policing dating back to 2011
  1974. - ntlm: Use a timestamp of 01/01/1970 for the test suite
  1975. - ntlm: Updated Curl_ntlm_core_mk_ntlmv2_resp() to use local variables
  1976. ...until the function is successful when it returns them in the out
  1977. parameters.
  1978. - ntlm: Added cross platform support for writing NTLMv2 timestamp in buffer
  1979. Added conversion functions write32_le() and write64_le() to ensure the
  1980. NTLMv2 timestamp is always written in little-endian.
  1981. - [Prash Dush brought this change]
  1982. ntlm: Added support for NTLMv2
  1983. Kamil Dudka (29 Jan 2014)
  1984. - nss: do not use the NSS_ENABLE_ECC define
  1985. It is not provided by NSS public headers.
  1986. Bug: https://bugzilla.redhat.com/1058776
  1987. - nss: do not fail if NSS does not implement a cipher
  1988. ... that the user does not ask for
  1989. Daniel Stenberg (29 Jan 2014)
  1990. - http2: switch recv/send functions to http2 ones after 101
  1991. - http2: handle 101 responses and switch to HTTP2
  1992. - examples: gitignore more binaries
  1993. - bump: start working on 7.35.1
  1994. - THANKS: 19 new contributors from the 7.35.0 release notes
  1995. Version 7.35.0 (29 Jan 2014)
  1996. Daniel Stenberg (29 Jan 2014)
  1997. - RELEASE-NOTES: done for 7.35.0
  1998. Dan Fandrich (29 Jan 2014)
  1999. - tests: make a few lib15?? tests pass the OOM torture tests
  2000. - lib1900: make the test pass the OOM torture tests
  2001. - oauth2: Fixed a memory leak in an OOM condition
  2002. - unit1304: make the test pass the OOM torture tests
  2003. - unit1396: make the test pass the OOM torture tests
  2004. Daniel Stenberg (28 Jan 2014)
  2005. - [Romulo A. Ceccon brought this change]
  2006. hostip: don't remove DNS entries that are in use
  2007. hostcache_timestamp_remove() should remove old *unused* entries from the
  2008. host cache, but it never checked whether the entry was actually in
  2009. use. This complements commit 030a2b8cb.
  2010. Bug: http://curl.haxx.se/bug/view.cgi?id=1327
  2011. Dan Fandrich (28 Jan 2014)
  2012. - RELEASE-NOTES: changed encoding to UTF-8 like previous releases
  2013. Daniel Stenberg (28 Jan 2014)
  2014. - TFTP: fix crash on time-out
  2015. tftp_done() can get called with its TFTP state pointer still being NULL
  2016. on an early time-out, which caused a segfault when dereferenced.
  2017. Reported-by: Glenn Sheridan
  2018. Bug: http://curl.haxx.se/mail/lib-2014-01/0246.html
  2019. Steve Holme (28 Jan 2014)
  2020. - RELEASE-NOTES: Synced with 5a47062cada9
  2021. Daniel Stenberg (28 Jan 2014)
  2022. - [Maks Naumov brought this change]
  2023. getpass: fix password parsing from console
  2024. Incorrect password if use backspace while entered the password.
  2025. Regression from f7bfdbabf2d5398f4c266eabb0992a04af661f22
  2026. The '?:' operator has lower priority than the '-' operator
  2027. Dan Fandrich (26 Jan 2014)
  2028. - docs/INSTALL: Updated example minimal binary sizes
  2029. Marc Hoersken (26 Jan 2014)
  2030. - testsuite: visualize line-endings in output comparison diffs
  2031. - sockfilt.c: follow up cleanup commit on 49b63cf3
  2032. - http-pipe tests: use text as output data mode to support Windows
  2033. - sockfilt.c: fixed and simplified Windows select function
  2034. Since the previous complex select function with initial support for
  2035. non-socket file descriptors, did not actually work correctly for
  2036. Console handles, this change simplifies the whole procedure by using
  2037. an internal waiting thread for the stdin console handle.
  2038. The previous implementation made it continuously trigger for the stdin
  2039. handle if it was being redirected to a parent process instead of
  2040. an actual Console input window.
  2041. This approach supports actual Console input handles as well as
  2042. anonymous Pipe handles which are used during input redirection.
  2043. It depends on the fact that ReadFile supports trying to read zero bytes
  2044. which makes it wait for the handle to become ready for reading.
  2045. - http_pipe.py: replaced epoll with select to support Windows
  2046. Removed Unix-specific functionality in order to support Windows:
  2047. - select.epoll replaced with select.select
  2048. - SocketServer.ForkingMixIn replaced with SocketServer.ForkingMixIn
  2049. - socket.MSG_DONTWAIT replaced with socket.setblocking(False)
  2050. Even though epoll has a better performance and improved socket handling
  2051. than select, this change should not affect the actual test case.
  2052. Dan Fandrich (25 Jan 2014)
  2053. - tests: Added missing HTTP proxy keywords
  2054. - tests: added missing <features> http to a number of tests
  2055. - tests: Added a keyword for tests depending on internal info logs
  2056. - runtests: Don't log command every torture iteration in verbose
  2057. - tests: Added missing http feature to tests 509 & 1513
  2058. - netrc: Fixed a memory and file descriptor leak on OOM
  2059. - test1514: Used the macros for host and port number
  2060. - multi: Fixed a memory leak on OOM condition
  2061. Daniel Stenberg (23 Jan 2014)
  2062. - curl_easy_setopt.3: remove what auth types that work for CURLOPT_PROXYAUTH
  2063. The list was out of date and the paragraph already refers to the
  2064. CURLOPT_HTTPAUTH explanation. All the auth bits are explained properly
  2065. there.
  2066. It also removes the ambiguity for what the "added" phrase refers to.
  2067. This change based on pull request #85 on github
  2068. URL: https://github.com/bagder/curl/pull/85
  2069. Reported-by: gnawhleinad
  2070. Dan Fandrich (22 Jan 2014)
  2071. - test1514: Got rid of a non-const initializer C99ism
  2072. Steve Holme (21 Jan 2014)
  2073. - RELEASE-NOTES: added another missing bug ref
  2074. Daniel Stenberg (21 Jan 2014)
  2075. - RELEASE-NOTES: added missing bug ref
  2076. - [Fabian Frank brought this change]
  2077. axtls: fix compiler warning on conversion ssize_t => int
  2078. - [Fabian Frank brought this change]
  2079. SFTP: stat remote file also when CURLOPT_NOBODY is 1
  2080. Make it possible to call
  2081. curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &filesize)
  2082. and related functions on remote sftp:// files, without downloading them.
  2083. Reported-by: Yingwei Liu
  2084. Bug: http://curl.haxx.se/mail/lib-2014-01/0139.html
  2085. - RELEASE-NOTES: synced with 12ecd56da77
  2086. - contributors.sh: output list RELEASE-NOTES formatted
  2087. - [Cédric Deltheil brought this change]
  2088. test1514: added - no more negative Content-Length (HTTP POST)
  2089. This covers changes from commit afd288b2.
  2090. - [Cédric Deltheil brought this change]
  2091. HTTP POST: omit Content-Length if data size is unknown
  2092. This prevents sending a `Content-Length: -1` header, e.g this ocurred
  2093. with the following combination:
  2094. * standard HTTP POST (no chunked encoding),
  2095. * user-defined read function set,
  2096. * `CURLOPT_POSTFIELDSIZE(_LARGE)` NOT set.
  2097. With this fix it now behaves like HTTP PUT.
  2098. - [Fabian Frank brought this change]
  2099. disable GnuTLS insecure ciphers
  2100. Make GnuTLS old and new consistent, specify the desired protocol, cipher
  2101. and certificate type in always in both modes. Disable insecure ciphers
  2102. as reported by howsmyssl.com. Honor not only --sslv3, but also the
  2103. --tlsv1[.N] switches.
  2104. Related Bug: http://curl.haxx.se/bug/view.cgi?id=1323
  2105. - curl_getdate.3: edited, removed references to pre 7.12.2 functionality
  2106. - gtls: fix compiler warnings on conversions size_t => unsigned int
  2107. Steve Holme (19 Jan 2014)
  2108. - tool: Fixed incorrect return code if password prompting runs out of memory
  2109. Due to the changes in commit 3c929ff9f6ea and lack of subsequent
  2110. updates, curl could return a CURLE_FTP_ACCEPT_FAILED error if
  2111. checkpasswd() ran out of memory in versions 7.33.0 and 7.34.0.
  2112. Updated the function declaration and return code to return
  2113. CURLE_OUT_OF_MEMORY and CURLE_OK where appropriate.
  2114. - RELEASE-NOTES: Synced with 2cac75c4e400
  2115. - http_chunks.c: Fixed compilation warnings under some 32-bit systems
  2116. conversion from 'curl_off_t' to 'size_t', possible loss of data
  2117. Where curl_off_t is a 64-bit word and size_t is 32-bit - for example
  2118. with 32-bit Windows builds.
  2119. - tool: Fixed incorrect return code if command line parser runs out of memory
  2120. In the rare instance where getparameter() may return PARAM_NO_MEM whilst
  2121. parsing a URL, cURL would return this error code, which is equivalent to
  2122. CURLE_FTP_ACCEPT_FAILED in cURL error codes terms.
  2123. Instead, return CURLE_FAILED_INIT and output the failure reason as per
  2124. the other usage of getparameter().
  2125. Daniel Stenberg (18 Jan 2014)
  2126. - [Tobias Markus brought this change]
  2127. Subject: progress bar: increase update frequency to 10Hz
  2128. Increasing the update frequency of the progress bar to 10Hz greatly
  2129. improves the visual appearance of the progress bar (at least in my
  2130. impression).
  2131. Signed-off-by: Tobias Markus <tobias@markus-regensburg.de>
  2132. - [Tobias Markus brought this change]
  2133. progress bar: always update when at 100%
  2134. Currently, the progress bar is updated at 5Hz. Because it is often not
  2135. updated to 100% when the download is finished and curl exits, the bar
  2136. is often "stuck" at 90-something, thus irritating the user.
  2137. This patch fixes this by always updating the progress bar (instead of
  2138. waiting for 200ms to have elapsed) while the download is finished but
  2139. curl has not yet exited. This should not greatly affect performance
  2140. because that moment is rather short.
  2141. Signed-off-by: Tobias Markus <tobias@markus-regensburg.de>
  2142. Steve Holme (18 Jan 2014)
  2143. - win32: Added additional preprocessor check for Version Helper API
  2144. A follow up patch to commit d2671340a613 as _WIN32_WINNT_WIN2K and
  2145. _WIN32_WINNT_WIN2K may not be defined on all systems.
  2146. - win32: Corrected the preprocessor check for Version Helper API
  2147. Following some auto build failures after commit c7a76bb056f31e changed
  2148. the preprocessor check to use _WIN32_WINNT.
  2149. Daniel Stenberg (17 Jan 2014)
  2150. - cookie: max-age fixes
  2151. 1 - allow >31 bit max-age values
  2152. 2 - don't overflow on extremely large max-age values when we add the
  2153. value to the current time
  2154. 3 - make sure max-age takes precedence over expires as dictated by
  2155. RFC6265
  2156. Bug: http://curl.haxx.se/mail/lib-2014-01/0130.html
  2157. Reported-by: Chen Prog
  2158. - test1417: verify chunked-encoding transfer without CR
  2159. As was introduced in 8f6b4be8af04
  2160. - chunked parsing: relax the CR strictness
  2161. Allow for chunked-encoding data to get parsed with only LF line endings.
  2162. This is allowed by browsers.
  2163. - test1416: verify the chunked size overflow detection
  2164. - chunked-parser: abort on overflows, allow 64 bit chunks
  2165. Dan Fandrich (17 Jan 2014)
  2166. - Fixed some XML syntax issues in the test data
  2167. Also, make the ftp server return a canned response that doesn't
  2168. cause XML verification problems. Although the test file format
  2169. isn't technically XML, it's still handy to be able to use XML
  2170. tools to verify and manipulate them.
  2171. Daniel Stenberg (16 Jan 2014)
  2172. - [Michael Osipov brought this change]
  2173. configure: fix gssapi linking on HP-UX
  2174. The issue is with HP-UX that is comes with HP flavor of MIT
  2175. Kerberos. This means that there is no krb5-config and the lib is called
  2176. libgss.so
  2177. Bug: http://curl.haxx.se/bug/view.cgi?id=1321
  2178. - Curl_cookie_add: remove 'now' from curl_getdate() call
  2179. The now argument is unused by curl_getdate()
  2180. Steve Holme (15 Jan 2014)
  2181. - pop3-dele.c: Added missing CURLOPT_NOBODY following feedback
  2182. Daniel Stenberg (16 Jan 2014)
  2183. - connect.c:942:84: warning: Longer than 79 columns
  2184. Steve Holme (15 Jan 2014)
  2185. - connect.c: Corrected version compare in commit c7a76bb056f31e
  2186. - RELEASE-NOTES: Synced with c7a76bb056f31e
  2187. - win32: Fixed use of deprecated function 'GetVersionInfoEx' for VC12
  2188. Starting with Visual Studio 2013 (VC12) and Windows 8.1 the
  2189. GetVersionInfoEx() function has been marked as deprecated and it's
  2190. return value atered. Updated connect.c and curl_sspi.c to use
  2191. VerifyVersionInfo() where possible, which has been available since
  2192. Windows 2000.
  2193. Daniel Stenberg (14 Jan 2014)
  2194. - curl_easy_setopt.3: mention how to unset CURLOPT_INFILESIZE*
  2195. - TODO: Allow SSL (HTTPS) to proxy
  2196. - TODO: remove FTP proxy and more SSL libraries
  2197. - TODO: Detect when called from witin callbacks
  2198. Marc Hoersken (13 Jan 2014)
  2199. - secureserver.pl: follow up fix for 87ade5f
  2200. Since /dev/stdout is not always emulated on Windows,
  2201. just skip the output option on Windows.
  2202. MinGW/msys support /dev/stdout only from a new login shell.
  2203. Daniel Stenberg (13 Jan 2014)
  2204. - [Colin Hogben brought this change]
  2205. error message: Sensible message on timeout when transfer size unknown
  2206. A transfer timeout could result in an error message such as "Operation
  2207. timed out after 3000 milliseconds with 19 bytes of -1 received". This
  2208. patch removes the non-sensical "of -1" when the size of the transfer
  2209. is unknown, mirroring the logic in lib/transfer.c
  2210. Marc Hoersken (13 Jan 2014)
  2211. - secureserver.pl: added full support for tstunnel on Windows
  2212. tstunnel on Windows does not support the pid option and is unable
  2213. to write to an output log that is already being used as a redirection
  2214. target for stdout. Therefore it does now output all log data to stdout
  2215. by default and secureserver.pl creates a fake pidfile on Windows.
  2216. Steve Holme (12 Jan 2014)
  2217. - examples: Fixed compilation errors
  2218. error: 'MULTI_PERFORM_HANG_TIMEOUT' undeclared
  2219. - imap-multi.c: Corrected typo
  2220. - smtp-multi.c: Minor coding style tidyup following POP3 and IMAP additions
  2221. - examples: Added IMAP multi example
  2222. - pop3-multi.c: Corrected copy/paste typo
  2223. - examples: Added POP3 multi example
  2224. - examples: Added comments to SMTP multi example based on other MAIL examples
  2225. - examples: Removed user information and TLS setup from SMTP multi example
  2226. Simplified the SMTP multi example as this example should demonstrate
  2227. the differences the easy and multi interfaces rather than introduce new
  2228. concepts such as user authentication and TLS which are shown in the TLS
  2229. and SSL examples.
  2230. - examples: Updated SMTP MAIL example to return libcurl result code
  2231. - examples: Synchronised comments between SMTP MAIL examples
  2232. - examples: Updated SMTP MAIL example to use a read function for data
  2233. Updated to read data from a callback rather than from stdio as this is
  2234. more realistic to most use cases.
  2235. Daniel Stenberg (12 Jan 2014)
  2236. - OpenSSL: deselect weak ciphers by default
  2237. By default even recent versions of OpenSSL support and accept both
  2238. "export strength" ciphers, small-bitsize ciphers as well as downright
  2239. deprecated ones.
  2240. This change sets a default cipher set that avoids the worst ciphers, and
  2241. subsequently makes https://www.howsmyssl.com/a/check no longer grade
  2242. curl/OpenSSL connects as 'Bad'.
  2243. Bug: http://curl.haxx.se/bug/view.cgi?id=1323
  2244. Reported-by: Jeff Hodges
  2245. - multi: remove MULTI_TIMEOUT_INACCURACY
  2246. With the recently added timeout "reminder" functionality, there's no
  2247. reason left for us to execute timeout code before the time is
  2248. ripe. Simplifies the handling too.
  2249. This will make the *TIMEOUT and *CONNECTTIMEOUT options more accurate
  2250. again, which probably is most important when the *_MS versions are used.
  2251. In multi_socket, make sure to update 'now' after having handled activity
  2252. on a socket.
  2253. Steve Holme (11 Jan 2014)
  2254. - Makefile.dist: Added support for VC7
  2255. Currently VC7 and VC7.1 builds have to be ran with the VC variable set
  2256. to vc6 which is not only inconsistent with the nmake winbuild system
  2257. but also with newer versions of Visual Studio supported by this file.
  2258. Note: This doesn't break the build for anyone still running with the
  2259. VC variable set to vc6 or not set (which defaults to vc6).
  2260. - RELEASE-NOTES: Synced with 980659a2caa285
  2261. Daniel Stenberg (10 Jan 2014)
  2262. - multi_socket: remind app if timeout didn't run
  2263. BACKGROUND:
  2264. We have learned that on some systems timeout timers are inaccurate and
  2265. might occasionally fire off too early. To make the multi_socket API work
  2266. with this, we made libcurl execute timeout actions a bit early too if
  2267. they are within our MULTI_TIMEOUT_INACCURACY. (added in commit
  2268. 2c72732ebf, present since 7.21.0)
  2269. Switching everything to the multi API made this inaccuracy problem
  2270. slightly more notable as now everyone can be affected.
  2271. Recently (commit 21091549c02) we tweaked that inaccuracy value to make
  2272. timeouts more accurate and made it platform specific. We also figured
  2273. out that we have code at places that check for fixed timeout values so
  2274. they MUST NOT run too early as then they will not trigger at all (see
  2275. commit be28223f35 and a691e044705) - so there are definitately problems
  2276. with running timeouts before they're supposed to run. (We've handled
  2277. that so far by adding the inaccuracy margin to those specific timeouts.)
  2278. The libcurl multi_socket API tells the application with a callback that
  2279. a timeout expires in N milliseconds (and it explicitly will not tell it
  2280. again for the same timeout), and the application is then supposed to
  2281. call libcurl when that timeout expires. When libcurl subsequently gets
  2282. called with curl_multi_socket_action(...CURL_SOCKET_TIMEOUT...), it
  2283. knows that the application thinks the timeout expired - and alas, if it
  2284. is within the inaccuracy level libcurl will run code handling that
  2285. handle.
  2286. If the application says CURL_SOCKET_TIMEOUT to libcurl and _isn't_
  2287. within the inaccuracy level, libcurl will not consider the timeout
  2288. expired and it will not tell the application again since the timeout
  2289. value is still the same.
  2290. NOW:
  2291. This change introduces a modified behavior here. If the application says
  2292. CURL_SOCKET_TIMEOUT and libcurl finds no timeout code to run, it will
  2293. inform the application about the timeout value - *again* even if it is
  2294. the same timeout that it already told about before (although libcurl
  2295. will of course tell it the updated time so that it'll still get the
  2296. correct remaining time). This way, we will not risk that the application
  2297. believes it has done its job and libcurl thinks the time hasn't come yet
  2298. to run any code and both just sit waiting. This also allows us to
  2299. decrease the MULTI_TIMEOUT_INACCURACY margin, but that will be handled
  2300. in a separate commit.
  2301. A repeated timeout update to the application risk that the timeout will
  2302. then fire again immediately and we have what basically is a busy-loop
  2303. until the time is fine even for libcurl. If that becomes a problem, we
  2304. need to address it.
  2305. - threaded-resolver: never use NULL hints with getaddrinfo
  2306. The net effect of this bug as it appeared to users, would be that
  2307. libcurl would timeout in the connect phase.
  2308. When disabling IPv6 use but still using getaddrinfo, libcurl would
  2309. wrongly not init the "hints" struct field in init_thread_sync() which
  2310. would subsequently lead to a getaddrinfo() invoke with a zeroed hints
  2311. with ai_socktype set to 0 instead of SOCK_STREAM. This would lead to
  2312. different behaviors on different platforms but basically incorrect
  2313. output.
  2314. This code was introduced in 483ff1ca75cbea, released in curl 7.20.0.
  2315. This bug became a problem now due to the happy eyeballs code and how
  2316. libcurl now traverses the getaddrinfo() results differently.
  2317. Bug: http://curl.haxx.se/mail/lib-2014-01/0061.html
  2318. Reported-by: Fabian Frank
  2319. Debugged-by: Fabian Frank
  2320. Nick Zitzmann (9 Jan 2014)
  2321. - darwinssl: un-break Leopard build after PKCS#12 change
  2322. It turns out errSecDecode wasn't defined in Leopard's headers. So
  2323. we use the enum's value instead.
  2324. Bug: http://curl.haxx.se/mail/lib-2013-12/0150.html
  2325. Reported by: Abram Pousada
  2326. Daniel Stenberg (8 Jan 2014)
  2327. - Curl_updateconninfo: don't do anything for UDP "connections"
  2328. getpeername() doesn't work for UDP sockets since they're not connected
  2329. Reported-by: Priyanka Shah
  2330. Bug: http://curl.haxx.se/mail/archive-2014-01/0016.html
  2331. - info: remove debug output
  2332. Removed some of the infof() calls that were added with the recent
  2333. pipeline improvements but they're not useful to the vast majority of
  2334. readers and the pipelining seems to fundamentaly work - the debugging
  2335. outputs can easily be added there if debugging these functions is needed
  2336. again.
  2337. - runtests: disable memory tracking with threaded resolver
  2338. The built-in memory debug system doesn't work with multi-threaded use so
  2339. instead of causing annoying false positives, disable the memory tracking
  2340. if the threaded resolver is used.
  2341. - trynextip: fix build for non-IPV6 capable systems
  2342. AF_INET6 may not exist then
  2343. Patched-by: Iida Yosiaki
  2344. Bug: http://curl.haxx.se/bug/view.cgi?id=1322
  2345. Steve Holme (8 Jan 2014)
  2346. - makefile: Added support for VC12
  2347. - makefile: Added support for VC11
  2348. - winbuild: Follow up fix for a47c142a88c0, 11e8066ef956 and 92b9ae5c5d59
  2349. Daniel Stenberg (7 Jan 2014)
  2350. - mk-ca-bundle.1: document -d
  2351. Steve Holme (7 Jan 2014)
  2352. - RELEASE-NOTES: Synced with 8ae35102c43d8d
  2353. Daniel Stenberg (7 Jan 2014)
  2354. - ConnectionExists: fix NTLM check for new connection
  2355. When the requested authentication bitmask includes NTLM, we cannot
  2356. re-use a connection for another username/password as we then risk
  2357. re-using NTLM (connection-based auth).
  2358. This has the unfortunate downside that if you include NTLM as a possible
  2359. auth, you cannot re-use connections for other usernames/passwords even
  2360. if NTLM doesn't end up the auth type used.
  2361. Reported-by: Paras S
  2362. Patched-by: Paras S
  2363. Bug: http://curl.haxx.se/mail/lib-2014-01/0046.html
  2364. Steve Holme (5 Jan 2014)
  2365. - examples: Added required libcurl version information to SMTP examples
  2366. Daniel Stenberg (5 Jan 2014)
  2367. - mk-ca-bundle.pl: avoid warnings with -d without parameter
  2368. - [Leif W brought this change]
  2369. mk-ca-bundle: introduces -d and warns about using this script
  2370. Steve Holme (5 Jan 2014)
  2371. - Makefile: Added missing WinSSL and x64 configurations
  2372. Marc Hoersken (5 Jan 2014)
  2373. - docs/INTERNALS: follow up fix for 11e8066 and 92b9ae5
  2374. - packages: follow up fix for a47c142, 11e8066 and 92b9ae5
  2375. - multi.c: fix possible dereference of null pointer
  2376. Steve Holme (5 Jan 2014)
  2377. - Examples: Renamed SMTP MAIL example to match other email examples
  2378. - examples: Added POP3 TLS example
  2379. - examples: Added IMAP NOOP example
  2380. - examples: Added POP3 NOOP example
  2381. - pop3-stat.c: Corrected small typo from commit 91d62e9abd761c
  2382. - examples: Added POP3 STAT example
  2383. - examples: Added POP3 TOP example
  2384. - examples: Added POP3 DELE example
  2385. - examples: Added POP3 UIDL example
  2386. - examples: Added POP3 RETR example
  2387. - examples: Added return of error code in POP3 examples
  2388. - runtests.pl: Updated copyright year after edit from d718abd968aeb4
  2389. - examples: Reworked POP3 examples for additional upcoming POP3 examples
  2390. - examples: Added SMTP SSL example
  2391. - examples: Added IMAP SSL and TLS examples
  2392. Marc Hoersken (5 Jan 2014)
  2393. - runtests.pl: check for tstunnel command on Windows
  2394. The Windows console version of stunnel is called "tstunnel", while
  2395. running "stunnel" on Windows spawns a new console window which
  2396. cannot be handled by the testsuite.
  2397. - testcurl.pl: always show the last 5 commits even with --nogitpull
  2398. Daniel Stenberg (4 Jan 2014)
  2399. - ftp tests: provide LIST responses in the test file itself
  2400. Previously LIST always returned a fixed hardcoded list that the ftp
  2401. server code knew about, mostly since the server didn't get any test case
  2402. number in the LIST scenario. Starting now, doing a CWD to a directory
  2403. named test-[number] will make the test server remember that number and
  2404. consider it a test case so that a subsequent LIST command will send the
  2405. <data> section of that test case back.
  2406. It allows LIST tests to be made more similar to how all other tests
  2407. work.
  2408. Test 100 was updated to provide its own directory listing.
  2409. Steve Holme (4 Jan 2014)
  2410. - examples: Standardised username and password settings for all email examples
  2411. Replaced the use of CURLOPT_USERPWD for the preferred CURLOPT_USERNAME
  2412. and CURLOPT_PASSWORD options and used the same username and password for
  2413. all email examples which is the same as that used in the test suite.
  2414. - Updated copyright year for recent changes
  2415. Marc Hoersken (4 Jan 2014)
  2416. - secureserver.pl: support for stunnel-path with nun-alphanum chars
  2417. This is desired to support stunnel installations on Windows.
  2418. - conncache.c: fix possible dereference of null pointer
  2419. - docs: primarily refer to schannel as WinSSL
  2420. Steve Holme (4 Jan 2014)
  2421. - examples: Added IMAP COPY example
  2422. - examples: Added IMAP DELETE example
  2423. - examples: Added IMAP CREATE example
  2424. Daniel Stenberg (4 Jan 2014)
  2425. - FTP parselist: fix "total" parser
  2426. A regression introduced in 7f3b87d8782eae1 (present in the 7.21.4 release)
  2427. broke the total parser. Now skip the whitespace and the digits.
  2428. Reported-by: Justin Maggard
  2429. Bug: http://curl.haxx.se/mail/lib-2014-01/0019.html
  2430. - test1513: fix spelling
  2431. Marc Hoersken (3 Jan 2014)
  2432. - Makefile.vc6: follow up fix for 11e8066 and 92b9ae5
  2433. Daniel Stenberg (3 Jan 2014)
  2434. - test1513: added - verify early progress callback return fail
  2435. Verify the change brought in commit 8e11731653061. It makes sure that
  2436. returning a failure from the progress callback even very early results
  2437. in the correct return code.
  2438. - progresscallback: make CURLE_ABORTED_BY_CALLBACK get returned better
  2439. When the progress callback returned 1 at a very early state, the code
  2440. would not make CURLE_ABORTED_BY_CALLBACK get returned but the process
  2441. would still be interrupted. In the HTTP case, this would then cause a
  2442. CURLE_GOT_NOTHING to erroneously get returned instead.
  2443. Reported-by: Petr Novak
  2444. Bug: http://curl.haxx.se/bug/view.cgi?id=1318
  2445. Marc Hoersken (3 Jan 2014)
  2446. - unittests: do not include curl_memory.h
  2447. memdebug.h already contains all required definitions and including
  2448. curl_memory.h causes errors like the following:
  2449. tests/unit/unit1394.c:119: undefined reference to `Curl_cfree'
  2450. tests/unit/unit1394.c:120: undefined reference to `Curl_cfree'
  2451. Daniel Stenberg (3 Jan 2014)
  2452. - pipeline: remove print_pipeline()
  2453. This is a debug function only and serves no purpose in production code,
  2454. it only slows things down. I left the code #ifdef'ed for possible future
  2455. pipeline debugging.
  2456. Also, this was a global function without proper namespace usage.
  2457. Reported-by: He Qin
  2458. Bug: http://curl.haxx.se/bug/view.cgi?id=1320
  2459. - openssl: allow explicit sslv2 selection
  2460. If OpenSSL is built to support SSLv2 this brings back the ability to
  2461. explicitly select that as a protocol level.
  2462. Reported-by: Steve Holme
  2463. Bug: http://curl.haxx.se/mail/lib-2014-01/0013.html
  2464. Steve Holme (2 Jan 2014)
  2465. - Bumped copyright year to 2014
  2466. - Updated copyright year for recent changes
  2467. Marc Hoersken (3 Jan 2014)
  2468. - vtls/nssg.h: fixed include references to moved file
  2469. Daniel Stenberg (3 Jan 2014)
  2470. - [Christian Weisgerber brought this change]
  2471. curl_easy_setopt.3: fix formatting mistakes
  2472. This fixes two markup typos I noticed in curl_easy_setopt.3. (The use
  2473. of bold vs. italics seems a bit inconsistent in that page, but it should
  2474. at least be valid man syntax.)
  2475. - [Barry Abrahamson brought this change]
  2476. OpenSSL: Fix forcing SSLv3 connections
  2477. Some feedback provided by byte_bucket on IRC pointed out that commit
  2478. db11750cfa5b1 wasn’t really correct because it allows for “upgrading” to a
  2479. newer protocol when it should be only allowing for SSLv3.
  2480. This change fixes that.
  2481. When SSLv3 connection is forced, don't allow SSL negotiations for newer
  2482. versions. Feedback provided by byte_bucket in #curl. This behavior is
  2483. also consistent with the other force flags like --tlsv1.1 which doesn't
  2484. allow for TLSv1.2 negotiation, etc
  2485. Feedback-by: byte_bucket
  2486. Bug: http://curl.haxx.se/bug/view.cgi?id=1319
  2487. Guenter Knauf (2 Jan 2014)
  2488. - Trial to fix the nmake Makefile for vtls files.
  2489. Steve Holme (2 Jan 2014)
  2490. - examples: Added IMAP SEARCH example
  2491. - examples: Added IMAP EXAMINE mailbox folder example
  2492. Guenter Knauf (2 Jan 2014)
  2493. - Fix NetWare build for vtls files.
  2494. Daniel Stenberg (1 Jan 2014)
  2495. - CMakeLists.txt: add standard curl source code header
  2496. - CMakeLists.txt: add warning about the cmake build's state
  2497. Steve Holme (1 Jan 2014)
  2498. - examples: Updated SMTP multi example to be more realistic
  2499. Updated the contents of the email and payload callback as per the IMAP
  2500. and other SMTP examples.
  2501. Daniel Stenberg (1 Jan 2014)
  2502. - [Barry Abrahamson brought this change]
  2503. OpenSSL: Fix forcing SSLv3 connections
  2504. Since ad34a2d5c87c7f4b14e8dded3 (present in 7.34.0 release) forcing
  2505. SSLv3 will always return the error "curl: (35) Unsupported SSL protocol
  2506. version" Can be replicated with `curl -I -3 https://www.google.com/`.
  2507. This fix simply allows for v3 to be forced.
  2508. Steve Holme (1 Jan 2014)
  2509. - examples: Corrected unescaped backslash in imap-store.c
  2510. - examples: Update SMTP TLS example mail content to be RFC-2821 compliant
  2511. ...and made some minor coding style changes to better match the curl
  2512. coding standards as well as the other email related examples.
  2513. - examples: Added IMAP APPEND example
  2514. - examples: Added IMAP STORE example
  2515. - RELEASE-NOTES: Synced with 7de2e032584d44
  2516. - examples: Added IMAP LIST mailbox example
  2517. - examples: Updated IMAP fetch example for libcurl 7.30.0
  2518. - examples: Rename before adding additional email examples
  2519. - examples: Added SMTP EXPN command example
  2520. - examples: Added SMTP email verification example
  2521. - imap: Fixed line length warning
  2522. - mprintf: Replaced internal usage of FORMAT_OFF_T and FORMAT_OFF_TU
  2523. Following commit 0aafd77fa4c6f2, replaced the internal usage of
  2524. FORMAT_OFF_T and FORMAT_OFF_TU with the external versions that we
  2525. expect API programmers to use.
  2526. This negates the need for separate definitions which were subtly
  2527. different under different platforms/compilers.
  2528. - examples: Updated copyright year for recent edits
  2529. - examples: Corrected incorrect indentation in smtp-multi.c
  2530. - examples: Updated SMTP examples to set CURLOPT_UPLOAD
  2531. - mprintf: Added support for I, I32 and I64 size specifiers
  2532. Added support to the built-in printf() replacement functions, for these
  2533. non-ANSI extensions when compiling under Visual Studio, Borland, Watcom
  2534. and MinGW.
  2535. This fixes problems when generating libcurl source code that contains
  2536. curl_off_t variables.
  2537. - curl_easy_setopt.3: Added SMTP information to CURLOPT_INFILESIZE_LARGE
  2538. Although added to CURLOPT_INFILESIZE in commit ee3d3adc6fe155 it was
  2539. never added to CURLOPT_INFILESIZE_LARGE.
  2540. - tests: Disabled NTLM tests when running with SSPI enabled
  2541. - connect.c: Fixed compilation warning
  2542. warning: 'res' may be used uninitialized in this function
  2543. - runtests.pl: Fixed slightly incorrect regex in commit 28dd47d4d41900
  2544. - [Björn Stenberg brought this change]
  2545. connect: Try all addresses in first connection attempt
  2546. Fixes a bug when all addresses in the first family fail immediately, due
  2547. to "Network unreachable" for example, curl would hang and never try the
  2548. next address family.
  2549. Iterate through all address families when to trying establish the first
  2550. connection attempt.
  2551. Bug: http://curl.haxx.se/bug/view.cgi?id=1315
  2552. Reported-by: Michal Górny and Anthony G. Basile
  2553. - runtests.pl: Optimised feature present checking code
  2554. ...to exclude not present features.
  2555. - runtests.pl: Added the ability to run tests when a feature is not present
  2556. - ftpserver.pl: Fixed compilation error
  2557. Unmatched right curly bracket at line 758, at end of line
  2558. - ftpserver.pl: Reworked SMTP verified server detection
  2559. Following the addition of informational commands to the SMTP protocol,
  2560. the test server is no longer required to return the verified server
  2561. information in responses that curl only outputs in verbose mode.
  2562. Instead, a similar detection mechanism to that used by FTP, IMAP and
  2563. POP3 can now be used.
  2564. - sendf.c: Fixed compilation warning from f2d234a4dd9bcc
  2565. sendf.c:450:81: warning: Longer than 79 columns
  2566. - FILE: Fixed sending of data would always return CURLE_WRITE_ERROR
  2567. Introduced in commit 2a4ee0d2215556 sending of data via the FILE
  2568. protocol would always return CURLE_WRITE_ERROR regardless of whether
  2569. CURL_WRITEFUNC_PAUSE was returned from the callback function or not.
  2570. Daniel Stenberg (26 Dec 2013)
  2571. - FILE: we don't support paused transfers using this protocol
  2572. Make sure that we detect such attempts and return a proper error code
  2573. instead of silently handling this in problematic ways.
  2574. Updated the documentation to mention this limitation.
  2575. Bug: http://curl.haxx.se/bug/view.cgi?id=1286
  2576. Steve Holme (26 Dec 2013)
  2577. - vtls: Updated comments referencing sslgen.c and ssluse.c
  2578. - vtls: Fixed up include of vtls.h
  2579. Daniel Stenberg (25 Dec 2013)
  2580. - curl_dofree: allow free(NULL)
  2581. Previously this memdebug free() replacement didn't properly work with a
  2582. NULL argument which has made us write code that avoids calling
  2583. free(NULL) - which causes some extra nuisance and unnecessary code.
  2584. Starting now, we should allow free(NULL) even when built with the
  2585. memdebug system enabled.
  2586. free(NULL) is permitted by POSIX
  2587. Steve Holme (25 Dec 2013)
  2588. - RELEASE-NOTES: Synced with 0ff0a994ada62a
  2589. Daniel Stenberg (25 Dec 2013)
  2590. - Curl_thread_create: use Curl_safefree to allow NULL better
  2591. free() itself allows a NULL input but our memory debug system requires
  2592. Curl_safefree() to be used instead when a "legitimate" NULL may be freed. Like
  2593. in the code here.
  2594. Pointed-out-by: Steve Holme
  2595. - [Luke Dashjr brought this change]
  2596. threaded resolver: Use pthread_t * for curl_thread_t
  2597. ... since pthread_t may be non-scalar and/or may represent a real thread
  2598. with scalar 0.
  2599. Bug: http://curl.haxx.se/bug/view.cgi?id=1314
  2600. Steve Holme (24 Dec 2013)
  2601. - imap: Fixed auth preference not being honored when CAPABILITY not supported
  2602. If a user indicated they preferred to authenticate using a SASL
  2603. mechanism, but SASL authentication wasn't supported by the server, curl
  2604. would always fall back to clear text when CAPABILITY wasn't supported,
  2605. even though the user didn't want to use this.
  2606. - pop3: Fixed auth preference not being honored when CAPA not supported
  2607. If a user indicated they preferred to authenticate using APOP or a SASL
  2608. mechanism, but neither were supported by the server, curl would always
  2609. fall back to clear text when CAPA wasn't supported, even though the
  2610. user didn't want to use this.
  2611. This also fixes the auto build failure caused by commit 6f2d5f0562f64a.
  2612. Daniel Stenberg (24 Dec 2013)
  2613. - TheArtOfHttpScripting: major update, converted layout and more
  2614. - Curl_pp_readresp: use memmove not memcpy, possibly overlapping areas
  2615. Fixes commit 1deac31eba7
  2616. Steve Holme (24 Dec 2013)
  2617. - RELEASE-NOTES: Corrected copy/paste typo
  2618. - pop3: Fixed APOP being determined by CAPA response rather than by timestamp
  2619. This commit replaces that of 9f260b5d6610f3 because according to RFC-2449,
  2620. section 6, there is no APOP capability "...even though APOP is an
  2621. optional command in [POP3]. Clients discover server support of APOP by
  2622. the presence in the greeting banner of an initial challenge enclosed in
  2623. angle brackets."
  2624. - tests: Removed APOP timestamp from default server greeting
  2625. - test936: Corrected login details from commit 7246255416617a
  2626. - ftpserver.pl: Updated custom full text REPLY regex
  2627. SASL downgrade tests: 833, 835, 879, 881, 935 and 937 would fail as
  2628. they contained a minus sign in their authentication mechanism and this
  2629. would be missed by the custom reply parser.
  2630. - tests: Corrected syntax error from commit 7246255416617a
  2631. - tests: Added SMTP SASL downgrade tests
  2632. - tests: Added POP3 SASL downgrade tests
  2633. - tests: Added IMAP SASL downgrade tests
  2634. Daniel Stenberg (22 Dec 2013)
  2635. - docs: mention CURLOPT_MAX_RECV/SEND_SPEED_LARGE don't work for FILE://
  2636. - FILE: don't wait due to CURLOPT_MAX_RECV_SPEED_LARGE
  2637. The FILE:// code doesn't support this option - and it doesn't make sense
  2638. to support it as long as it works as it does since then it'd only block
  2639. even longer.
  2640. But: setting CURLOPT_MAX_RECV_SPEED_LARGE would make the transfer first
  2641. get done and then libcurl would wait until the average speed would get
  2642. low enough. This happened because the transfer happens completely in the
  2643. DO state for FILE:// but then it would still unconditionally continue in
  2644. to the PERFORM state where the speed check is made.
  2645. Starting now, the code will skip from DO_DONE to DONE immediately if no
  2646. socket is set to be recv()ed or send()ed to.
  2647. Bug: http://curl.haxx.se/bug/view.cgi?id=1312
  2648. Reported-by: Mohammad AlSaleh
  2649. Steve Holme (22 Dec 2013)
  2650. - ftpserver.pl: Fixed runtime warning from commit 7da9c95bcf1fe6
  2651. Use of uninitialized value $FTPARG in concatenation (.) or string at
  2652. line 3255.
  2653. - ftpserver.pl: Added the ability to send custom full text replies
  2654. - ftpserver.pl: Added the ability to specify custom full text replies
  2655. - ftpserver.pl: Renamed commandreply variable from customreply
  2656. - tests: Added SASL cancellation keywords
  2657. Added SASL CANCELLATION keywords to differentiate these tests from the
  2658. upcoming SASL downgrade tests.
  2659. - email: Fixed segfault introduced in commit 195b63f99c2fe3
  2660. Daniel Stenberg (22 Dec 2013)
  2661. - code police: fix indent level to silence checksrc complaints
  2662. Steve Holme (21 Dec 2013)
  2663. - email: Extended the login options to support multiple auth mechanisms
  2664. Daniel Stenberg (22 Dec 2013)
  2665. - Curl_pp_readresp: replace stupid loop with memcpy
  2666. - Curl_pp_readresp: zero terminate line
  2667. The comment in the code mentions the zero terminating after having
  2668. copied data, but it mistakingly zero terminated the source data and not
  2669. the destination! This caused the test 864 problem discussed on the list:
  2670. http://curl.haxx.se/mail/lib-2013-12/0113.html
  2671. Signed-off-by: Daniel Stenberg <daniel@haxx.se>
  2672. Steve Holme (21 Dec 2013)
  2673. - Revert "pop3: Added debug information to assist with test864 failure"
  2674. This reverts commit 727d798d680f29c8b3cb7d7f03d6b6a3eb4356da.
  2675. - pop3: Added debug information to assist with test864 failure
  2676. - RELEASE-NOTES: Synced with 812c5ace759d04
  2677. - pop3: Fixed APOP timestamp detection from commit 1cfb436a2f1795
  2678. Daniel Stenberg (20 Dec 2013)
  2679. - Makefile.inc: use standard source header
  2680. - Makefile.inc: specify the vtls sources+headers separately
  2681. - vtls: renamed sslgen.[ch] to vtls.[ch]
  2682. - openssl: renamed backend files to openssl.[ch]
  2683. - vtls: moved all TLS/SSL source and header files into subdir
  2684. - vtls: created subdir, moved sslgen.[ch] there, updated all include lines
  2685. Steve Holme (20 Dec 2013)
  2686. - pop3: Fixed selection of APOP when server replies with an invalid timestamp
  2687. Although highlighted by a bug in commit 1cfb436a2f1795, APOP
  2688. authentication could be chosen if the server was to reply with an empty
  2689. or missing timestamp in the server greeting and APOP was given in the
  2690. capability list by the server.
  2691. - pop3: Fixed processing of more than one response when sent in same packet
  2692. Added a loop to pop3_statemach_act() in which Curl_pp_readresp() is
  2693. called until the cache is drained. Without this multiple responses
  2694. received in a single packet could result in a hang or delay.
  2695. - pop3: Moved CAPA response handling to pop3_state_capa_resp()
  2696. Similar to the processing of untagged CAPABILITY responses in IMAP and
  2697. multi-line EHLO responses in SMTP, moved the processing of multi-line
  2698. CAPA responses to pop3_state_capa_resp().
  2699. - pop3: Moved APOP detection into pop3_state_servergreet_resp()
  2700. In an effort to reduce what pop3_endofresp() does and bring the POP3
  2701. source back inline with the IMAP and SMTP protocols, moved the APOP
  2702. detection into pop3_state_servergreet_resp().
  2703. - curl_easy_setopt: Fixed OAuth 2.0 Bearer option name
  2704. Bug: http://curl.haxx.se/bug/view.cgi?id=1313
  2705. Reported-by: Viktor Szakáts
  2706. Daniel Stenberg (18 Dec 2013)
  2707. - curl.1: remove URL encoding phrase from --data description
  2708. ... it could be misleading a reader into thinking it _has_ to be encoded.
  2709. Steve Holme (18 Dec 2013)
  2710. - imap/pop3/smtp: Added support for SASL authentication downgrades
  2711. Added support for downgrading the SASL authentication mechanism when the
  2712. decoding of CRAM-MD5, DIGEST-MD5 and NTLM messages fails. This enhances
  2713. the previously added support for graceful cancellation by allowing the
  2714. client to retry a lesser SASL mechanism such as LOGIN or PLAIN, or even
  2715. APOP / clear text (in the case of POP3 and IMAP) when supported by the
  2716. server.
  2717. Daniel Stenberg (18 Dec 2013)
  2718. - RELEASE-PROCEDURE: new document
  2719. - gitignore: ignore .dirstamp files
  2720. - smtp: fix compiler warning
  2721. smtp.c:478:21: error: unused variable 'smtpc' [-Werror=unused-variable]
  2722. Steve Holme (18 Dec 2013)
  2723. - smtp: Moved the calculation of SASL login details into a separate function
  2724. - pop3: Moved the calculation of SASL login details into a separate function
  2725. - imap: Moved the calculation of SASL login details into a separate function
  2726. - smtp: Moved the sending of the AUTH command into a separate function
  2727. - pop3: Moved the sending of the AUTH command into a separate function
  2728. - imap: Moved the sending of the AUTHENICATE command into a separate function
  2729. - email: Renamed *_perform_authenticate() functions
  2730. In preparation for the upcoming SASL downgrade feature renamed the
  2731. imap__perform_authenticate(), pop3__perform_authenticate() and
  2732. smtp__perform_authenticate() functions.
  2733. Daniel Stenberg (17 Dec 2013)
  2734. - bump: start working on the next release
  2735. Version 7.34.0 (16 Dec 2013)
  2736. Daniel Stenberg (16 Dec 2013)
  2737. - RELEASE-NOTES: synced with c0ef05e67
  2738. ... for the pending 7.34.0 release
  2739. Upped the contributor count
  2740. - THANKS: add contributors from 7.34.0 release
  2741. 24 new great friends
  2742. - gtls: respect *VERIFYHOST independently of *VERIFYPEER
  2743. Security flaw CVE-2013-6422
  2744. This is conceptually the same problem and fix that 3c3622b6 brought to the
  2745. OpenSSL backend and that resulted in CVE-2013-4545.
  2746. This version of the problem was independently introduced to the GnuTLS
  2747. backend with commit 59cf93cc, present in the code since the libcurl
  2748. 7.21.4 release.
  2749. Advisory: http://curl.haxx.se/docs/adv_20131217.html
  2750. Bug: http://curl.haxx.se/mail/lib-2013-11/0214.html
  2751. Reported-by: Marc Deslauriers
  2752. - curl.1 document -J doesn't %-decode
  2753. ...also added as KNOWN_BUG #87 with reference to bug #1294
  2754. - multi: add timer inaccuracy margin to timeout/connecttimeout
  2755. Since all systems have inaccuracy in the timeout handling it is
  2756. imperative that we add an inaccuracy margin to the general timeout and
  2757. connecttimeout handling with the multi interface. This way, when the
  2758. timeout fires we should be fairly sure that it has passed the timeout
  2759. value and will be suitably detected.
  2760. For cases where the timeout fire before the actual timeout, we would
  2761. otherwise consume the timeout action and still not run the timeout code
  2762. since the condition wasn't met.
  2763. Reported-by: He Qin
  2764. Bug: http://curl.haxx.se/bug/view.cgi?id=1298
  2765. - RELEASE-NOTES: synced with dd4d9ea542
  2766. - curl_easy_setopt: clarify some USERPWD and PROXYUSERPWD details
  2767. - login options: remove the ;[options] support from CURLOPT_USERPWD
  2768. To avoid the regression when users pass in passwords containing semi-
  2769. colons, we now drop the ability to set the login options with the same
  2770. options. Support for login options in CURLOPT_USERPWD was added in
  2771. 7.31.0.
  2772. Test case 83 was modified to verify that colons and semi-colons can be
  2773. used as part of the password when using -u (CURLOPT_USERPWD).
  2774. Bug: http://curl.haxx.se/bug/view.cgi?id=1311
  2775. Reported-by: Petr Bahula
  2776. Assisted-by: Steve Holme
  2777. Signed-off-by: Daniel Stenberg <daniel@haxx.se>
  2778. Steve Holme (14 Dec 2013)
  2779. - imap: Fixed exclude of clear text when using auth=* in commit 75cd7fd66762bb
  2780. It is not 100% clear whether * should include clear text LOGIN or not
  2781. from RFC-5092, however, including it is then consistent with current
  2782. POP3 behaviour where clear text, APOP or SASL may be chosen.
  2783. - imap: Fixed incorrect fallback to clear text authentication
  2784. If a specific SASL authentication mechanism was requested by the user
  2785. as part of the login options but wasn't supported by the server then
  2786. curl would fallback to clear text, when it shouldn't, rather than
  2787. reporting "No known authentication mechanisms supported" as the POP3
  2788. and SMTP protocols do.
  2789. Daniel Stenberg (11 Dec 2013)
  2790. - [Eric Lubin brought this change]
  2791. parsedate: avoid integer overflow
  2792. In C, signed integer overflow is undefined behavior. Thus, the compiler
  2793. is allowed to assume that it will not occur. In the check for an
  2794. overflow, the developer assumes that the signed integer of type time_t
  2795. will wrap around if it overflows. However, this behavior is undefined in
  2796. the C standard. Thus, when the compiler sees this, it simplifies t +
  2797. delta < t to delta < 0. Since delta > 0 and delta < 0 can't both be
  2798. true, the entire if statement is optimized out under certain
  2799. optimization levels. Thus, the parsedate function would return
  2800. PARSEDATE_OK with an undefined value in the time, instead of return -1 =
  2801. PARSEDATE_FAIL.
  2802. - parseconfig: warn if unquoted white spaces are detected
  2803. Commit 0db811b6 made some existing config files pass on unexpected
  2804. values to libcurl that made it somewhat hard to track down what was
  2805. really going on.
  2806. This code detects unquoted white spaces in the parameter when parsing a
  2807. config file as that would be one symptom and it is generally a bad
  2808. syntax anyway.
  2809. - RELEASE-NOTES: recount contributors and libcurl options
  2810. - RELEASE-NOTES: synced with c4f46e97ca6c
  2811. - [James Dury brought this change]
  2812. TFTP: let tftp_multi_statemach()'s return codes through
  2813. It would otherwise always clobber the return code with new function
  2814. calls and it couldn't return timeout etc.
  2815. Bug: http://curl.haxx.se/bug/view.cgi?id=1310
  2816. Nick Zitzmann (7 Dec 2013)
  2817. - [Melissa Mears brought this change]
  2818. darwinssl: Fix #if 10.6.0 for SecKeychainSearch
  2819. The comment here says that SecKeychainSearch causes a deprecation
  2820. warning when used with a minimum Mac OS X SDK version of 10.7.0, which
  2821. is correct. However, the #if guard did not match. It was intended to
  2822. only use the code if 10.6.0 support was enabled, but it had 10.7.0
  2823. instead. This caused a warning if the minimum was exactly 10.7.0.
  2824. Daniel Stenberg (6 Dec 2013)
  2825. - [Christian Weisgerber brought this change]
  2826. curl.h: <sys/select.h> for OpenBSD
  2827. curl.h should also include <sys/select.h> on OpenBSD to reliably
  2828. pull in select(). Typically, including <sys/time.h> will be enough,
  2829. but not if strict standards-compliance is requested (e.g. by defining
  2830. _XOPEN_SOURCE).
  2831. - digest: fix CURLAUTH_DIGEST_IE
  2832. The URI that is passed in as part of the Authorization: header needs to
  2833. be cut off at '?' if CURLAUTH_DIGEST_IE is set. Previously the code only
  2834. did when calculating the MD5sum.
  2835. Bug: http://curl.haxx.se/bug/view.cgi?id=1308
  2836. Patched-by: Sergey Tatarincev
  2837. - Curl_is_connected: use proxy name in error message when proxy is used
  2838. (bug introduced in 255826c4, never present in a release)
  2839. Reported-by: Dima Tisnek
  2840. Bug: http://curl.haxx.se/mail/lib-2013-12/0006.html
  2841. Steve Holme (4 Dec 2013)
  2842. - imap/pop3: Post graceful cancellation consistency changes
  2843. - [Melissa Mears brought this change]
  2844. pop3: Fix POP3_TYPE_ANY signed compilation warning
  2845. POP3_TYPE_ANY, or ~0, is written to pop3c->preftype in lib/pop3c.c, an
  2846. unsigned int variable. The result of ~0 is -1, which caused a warning
  2847. due to writing a negative number to an unsigned variable. To fix this,
  2848. make the expression ~0U so that its value is considered the unsigned
  2849. number UINT_MAX which is what SASL_AUTH_ANY does in curl_sasl.h.
  2850. Kamil Dudka (2 Dec 2013)
  2851. - tool_metalink: do not use HAVE_NSS_INITCONTEXT
  2852. ... no longer provided by the configure script
  2853. - nss: make sure that 'sslver' is always initialized
  2854. - nss: unconditionally require NSS_InitContext()
  2855. ... since we depend on NSS 3.14+ because of SSL_VersionRangeSet() anyway
  2856. - nss: allow to use TLS > 1.0 if built against recent NSS
  2857. Bug: http://curl.haxx.se/mail/lib-2013-11/0162.html
  2858. - nss: put SSL version selection into separate fnc
  2859. - nss: use a better API for controlling SSL version
  2860. This change introduces a dependency on NSS 3.14+.
  2861. Patrick Monnerat (2 Dec 2013)
  2862. - OS400: sync wrappers and RPG binding.
  2863. Steve Holme (1 Dec 2013)
  2864. - multi.c: Fixed compilation warning
  2865. warning: declaration of 'pipe' shadows a global declaration
  2866. - RELEASE-NOTES: Synced with ad3836448efbb7
  2867. - base64: Corrected typo from commit f3ee587775c88a
  2868. - base64: Post extended extended validation tidy up
  2869. Reduced the separate processing of the last quantum to be performed in
  2870. the main decoding loop and renamed some variables for consistency.
  2871. - base64: Extended validation to look for invalid characters
  2872. Extended the basic validation in commit e17c1b25bc33eb to return a
  2873. failure when invalid base64 characters are included.
  2874. - base64: Post basic validation tidy up
  2875. Due to the length checks introduced in commit e17c1b25bc33eb there is no
  2876. need to allow for extra space in the output buffer for a non-padded last
  2877. quantum.
  2878. - curl_easy_getinfo: Post CURLINFO_TLS_SESSION tidy up
  2879. 1) Renamed curl_tlsinfo to curl_tlssessioninfo as discussed on the
  2880. mailing list.
  2881. 2) Renamed curl_ssl_backend to curl_sslbackend so it doesn't follow our
  2882. function naming convention.
  2883. 3) Updated sessioninfo.c example accordingly.
  2884. Daniel Stenberg (29 Nov 2013)
  2885. - parseconfig: dash options can't specified with colon or equals
  2886. Bug: http://curl.haxx.se/bug/view.cgi?id=1297
  2887. Reported-by: Michael Osipov
  2888. - curl.1: -G also takes --data-urlencode data
  2889. - globbing: curl glob counter mismatch with {} list use
  2890. The "fixed string" function wrongly bumped the "urlnum" counter which
  2891. made curl output the total number of URLs wrong when using
  2892. {one,two,three} lists in globs.
  2893. Reported-by: Michael-O
  2894. Bug: http://curl.haxx.se/bug/view.cgi?id=1305
  2895. Steve Holme (28 Nov 2013)
  2896. - [Christian Grothoff brought this change]
  2897. sessioninfo.c: Added sample code for CURLINFO_TLS_SESSION
  2898. Added a simple example to show how one can use CURLINFO_TLS_SESSION for
  2899. obtaining extensive TLS certificate information.
  2900. - multi.c: Fixed compilation error introduced in commit a900d45489fc14
  2901. Systems that define SIGPIPE_VARIABLE as a noop would not compile as
  2902. restore_pipe was defined afterwards.
  2903. - [Christian Grothoff brought this change]
  2904. curl_easy_getopt: Handle API violation gracefully
  2905. This fixes a NULL dereference in the case where the client asks for
  2906. CURLINFO_TLS_SESSION data after the (TLS) session has already been
  2907. destroyed (i.e. curl_easy_perform has already completed for this
  2908. handle). Instead of crashing, we now return a CURLSSLBACKEND_NONE
  2909. error.
  2910. - KNOWN_BUGS: #86: Disconnect commands may not be sent by IMAP, POP3 and SMTP
  2911. Daniel Stenberg (27 Nov 2013)
  2912. - [Jeff King brought this change]
  2913. curl_multi_cleanup: ignore SIGPIPE
  2914. This is an extension to the fix in 7d80ed64e43515. We may
  2915. call Curl_disconnect() while cleaning up the multi handle,
  2916. which could lead to openssl sending packets, which could get
  2917. a SIGPIPE.
  2918. Signed-off-by: Jeff King <peff@peff.net>
  2919. - [Jeff King brought this change]
  2920. sigpipe: factor out sigpipe_reset from easy.c
  2921. Commit 7d80ed64e43515 introduced some helpers to handle
  2922. sigpipe in easy.c. However, that fix was incomplete, and we
  2923. need to add more callers in other files. The first step is
  2924. making the helpers globally accessible.
  2925. Since the functions are small and should generally end up
  2926. inlined anyway, we simply define them in the header as
  2927. static functions.
  2928. Signed-off-by: Jeff King <peff@peff.net>
  2929. - [Björn Stenberg brought this change]
  2930. connect: Try next ip directly after immediate connect fail
  2931. This fixes a rare Happy Eyeballs bug where if the first IP family runs
  2932. out of addresses before the second-family-timer fires, and the second
  2933. IP family's first connect fails immediately, no further IPs of the
  2934. second family are attempted.
  2935. - hostip: don't prune DNS cache entries that are in use
  2936. When adding entries to the DNS cache with CURLOPT_RESOLVE, they are
  2937. marked 'inuse' forever to prevent them from ever being removed in normal
  2938. operations. Still, the code that pruned out-of-date DNS entries didn't
  2939. care for the 'inuse' struct field and pruned it anyway!
  2940. Reported-by: Romulo A. Ceccon
  2941. Bug: http://curl.haxx.se/bug/view.cgi?id=1303
  2942. Steve Holme (24 Nov 2013)
  2943. - RELEASE-NOTES: Synced with 35e476a3f6cdd5