ReleaseNotes 1.0 MB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486
  1. This document summarizes new features and bugfixes in each stable
  2. release of Tor. If you want to see more detailed descriptions of the
  3. changes in each development snapshot, see the ChangeLog file.
  4. Changes in version 0.3.4.9 - 2018-11-02
  5. Tor 0.3.4.9 is the second stable release in its series; it backports
  6. numerous fixes, including a fix for a bandwidth management bug that
  7. was causing memory exhaustion on relays. Anyone running an earlier
  8. version of Tor 0.3.4.9 should upgrade.
  9. o Major bugfixes (compilation, backport from 0.3.5.3-alpha):
  10. - Fix compilation on ARM (and other less-used CPUs) when compiling
  11. with OpenSSL before 1.1. Fixes bug 27781; bugfix on 0.3.4.1-alpha.
  12. o Major bugfixes (mainloop, bootstrap, backport from 0.3.5.3-alpha):
  13. - Make sure Tor bootstraps and works properly if only the
  14. ControlPort is set. Prior to this fix, Tor would only bootstrap
  15. when a client port was set (Socks, Trans, NATD, DNS or HTTPTunnel
  16. port). Fixes bug 27849; bugfix on 0.3.4.1-alpha.
  17. o Major bugfixes (relay, backport from 0.3.5.3-alpha):
  18. - When our write bandwidth limit is exhausted, stop writing on the
  19. connection. Previously, we had a typo in the code that would make
  20. us stop reading instead, leading to relay connections being stuck
  21. indefinitely and consuming kernel RAM. Fixes bug 28089; bugfix
  22. on 0.3.4.1-alpha.
  23. o Major bugfixes (restart-in-process, backport from 0.3.5.1-alpha):
  24. - Fix a use-after-free error that could be caused by passing Tor an
  25. impossible set of options that would fail during options_act().
  26. Fixes bug 27708; bugfix on 0.3.3.1-alpha.
  27. o Minor features (continuous integration, backport from 0.3.5.1-alpha):
  28. - Don't do a distcheck with --disable-module-dirauth in Travis.
  29. Implements ticket 27252.
  30. - Only run one online rust build in Travis, to reduce network
  31. errors. Skip offline rust builds on Travis for Linux gcc, because
  32. they're redundant. Implements ticket 27252.
  33. - Skip gcc on OSX in Travis CI, because it's rarely used. Skip a
  34. duplicate hardening-off build in Travis on Tor 0.2.9. Skip gcc on
  35. Linux with default settings, because all the non-default builds
  36. use gcc on Linux. Implements ticket 27252.
  37. o Minor features (continuous integration, backport from 0.3.5.3-alpha):
  38. - Use the Travis Homebrew addon to install packages on macOS during
  39. Travis CI. The package list is the same, but the Homebrew addon
  40. does not do a `brew update` by default. Implements ticket 27738.
  41. o Minor features (geoip):
  42. - Update geoip and geoip6 to the October 9 2018 Maxmind GeoLite2
  43. Country database. Closes ticket 27991.
  44. o Minor bugfixes (32-bit OSX and iOS, timing, backport from 0.3.5.2-alpha):
  45. - Fix an integer overflow bug in our optimized 32-bit millisecond-
  46. difference algorithm for 32-bit Apple platforms. Previously, it
  47. would overflow when calculating the difference between two times
  48. more than 47 days apart. Fixes part of bug 27139; bugfix
  49. on 0.3.4.1-alpha.
  50. - Improve the precision of our 32-bit millisecond difference
  51. algorithm for 32-bit Apple platforms. Fixes part of bug 27139;
  52. bugfix on 0.3.4.1-alpha.
  53. - Relax the tolerance on the mainloop/update_time_jumps test when
  54. running on 32-bit Apple platforms. Fixes part of bug 27139; bugfix
  55. on 0.3.4.1-alpha.
  56. o Minor bugfixes (C correctness, to appear in 0.3.5.4-alpha):
  57. - Avoid undefined behavior in an end-of-string check when parsing
  58. the BEGIN line in a directory object. Fixes bug 28202; bugfix
  59. on 0.2.0.3-alpha.
  60. o Minor bugfixes (CI, appveyor, to appear in 0.3.5.4-alpha):
  61. - Only install the necessary mingw packages during our appveyor
  62. builds. This change makes the build a little faster, and prevents
  63. a conflict with a preinstalled mingw openssl that appveyor now
  64. ships. Fixes bugs 27943 and 27765; bugfix on 0.3.4.2-alpha.
  65. o Minor bugfixes (code safety, backport from 0.3.5.3-alpha):
  66. - Rewrite our assertion macros so that they no longer suppress the
  67. compiler's -Wparentheses warnings. Fixes bug 27709; bugfix
  68. o Minor bugfixes (continuous integration, backport from 0.3.5.1-alpha):
  69. - Stop reinstalling identical packages in our Windows CI. Fixes bug
  70. 27464; bugfix on 0.3.4.1-alpha.
  71. o Minor bugfixes (directory authority, to appear in 0.3.5.4-alpha):
  72. - Log additional info when we get a relay that shares an ed25519 ID
  73. with a different relay, instead making a BUG() warning. Fixes bug
  74. 27800; bugfix on 0.3.2.1-alpha.
  75. o Minor bugfixes (directory connection shutdown, backport from 0.3.5.1-alpha):
  76. - Avoid a double-close when shutting down a stalled directory
  77. connection. Fixes bug 26896; bugfix on 0.3.4.1-alpha.
  78. o Minor bugfixes (HTTP tunnel, backport from 0.3.5.1-alpha):
  79. - Fix a bug warning when closing an HTTP tunnel connection due to an
  80. HTTP request we couldn't handle. Fixes bug 26470; bugfix
  81. on 0.3.2.1-alpha.
  82. o Minor bugfixes (netflow padding, backport from 0.3.5.1-alpha):
  83. - Ensure circuitmux queues are empty before scheduling or sending
  84. padding. Fixes bug 25505; bugfix on 0.3.1.1-alpha.
  85. o Minor bugfixes (onion service v3, backport from 0.3.5.1-alpha):
  86. - When the onion service directory can't be created or has the wrong
  87. permissions, do not log a stack trace. Fixes bug 27335; bugfix
  88. on 0.3.2.1-alpha.
  89. o Minor bugfixes (onion service v3, backport from 0.3.5.2-alpha):
  90. - Close all SOCKS request (for the same .onion) if the newly fetched
  91. descriptor is unusable. Before that, we would close only the first
  92. one leaving the other hanging and let to time out by themselves.
  93. Fixes bug 27410; bugfix on 0.3.2.1-alpha.
  94. o Minor bugfixes (onion service v3, backport from 0.3.5.3-alpha):
  95. - When selecting a v3 rendezvous point, don't only look at the
  96. protover, but also check whether the curve25519 onion key is
  97. present. This way we avoid picking a relay that supports the v3
  98. rendezvous but for which we don't have the microdescriptor. Fixes
  99. bug 27797; bugfix on 0.3.2.1-alpha.
  100. o Minor bugfixes (protover, backport from 0.3.5.3-alpha):
  101. - Reject protocol names containing bytes other than alphanumeric
  102. characters and hyphens ([A-Za-z0-9-]). Fixes bug 27316; bugfix
  103. on 0.2.9.4-alpha.
  104. o Minor bugfixes (rust, backport from 0.3.5.1-alpha):
  105. - Compute protover votes correctly in the rust version of the
  106. protover code. Previously, the protover rewrite in 24031 allowed
  107. repeated votes from the same voter for the same protocol version
  108. to be counted multiple times in protover_compute_vote(). Fixes bug
  109. 27649; bugfix on 0.3.3.5-rc.
  110. - Reject protover names that contain invalid characters. Fixes bug
  111. 27687; bugfix on 0.3.3.1-alpha.
  112. o Minor bugfixes (rust, backport from 0.3.5.2-alpha):
  113. - protover_all_supported() would attempt to allocate up to 16GB on
  114. some inputs, leading to a potential memory DoS. Fixes bug 27206;
  115. bugfix on 0.3.3.5-rc.
  116. o Minor bugfixes (rust, directory authority, to appear in 0.3.5.4-alpha):
  117. - Fix an API mismatch in the rust implementation of
  118. protover_compute_vote(). This bug could have caused crashes on any
  119. directory authorities running Tor with Rust (which we do not yet
  120. recommend). Fixes bug 27741; bugfix on 0.3.3.6.
  121. o Minor bugfixes (rust, to appear in 0.3.5.4-alpha):
  122. - Fix a potential null dereference in protover_all_supported(). Add
  123. a test for it. Fixes bug 27804; bugfix on 0.3.3.1-alpha.
  124. - Return a string that can be safely freed by C code, not one
  125. created by the rust allocator, in protover_all_supported(). Fixes
  126. bug 27740; bugfix on 0.3.3.1-alpha.
  127. o Minor bugfixes (testing, backport from 0.3.5.1-alpha):
  128. - If a unit test running in a subprocess exits abnormally or with a
  129. nonzero status code, treat the test as having failed, even if the
  130. test reported success. Without this fix, memory leaks don't cause
  131. the tests to fail, even with LeakSanitizer. Fixes bug 27658;
  132. bugfix on 0.2.2.4-alpha.
  133. o Minor bugfixes (testing, backport from 0.3.5.3-alpha):
  134. - Make the hs_service tests use the same time source when creating
  135. the introduction point and when testing it. Now tests work better
  136. on very slow systems like ARM or Travis. Fixes bug 27810; bugfix
  137. on 0.3.2.1-alpha.
  138. o Minor bugfixes (testing, to appear in 0.3.5.4-alpha):
  139. - Treat backtrace test failures as expected on BSD-derived systems
  140. (NetBSD, OpenBSD, and macOS/Darwin) until we solve bug 17808.
  141. (FreeBSD failures have been treated as expected since 18204 in
  142. 0.2.8.) Fixes bug 27948; bugfix on 0.2.5.2-alpha.
  143. Changes in version 0.2.9.17 - 2018-09-10
  144. Tor 0.2.9.17 backports numerous bugfixes from later versions of Tor.
  145. o Minor features (compatibility, backport from 0.3.4.8):
  146. - Tell OpenSSL to maintain backward compatibility with previous
  147. RSA1024/DH1024 users in Tor. With OpenSSL 1.1.1-pre6, these
  148. ciphers are disabled by default. Closes ticket 27344.
  149. o Minor features (continuous integration, backport from 0.3.4.7-rc):
  150. - Enable macOS builds in our Travis CI configuration. Closes
  151. ticket 24629.
  152. - Install libcap-dev and libseccomp2-dev so these optional
  153. dependencies get tested on Travis CI. Closes ticket 26560.
  154. - Run asciidoc during Travis CI. Implements ticket 27087.
  155. - Use ccache in our Travis CI configuration. Closes ticket 26952.
  156. o Minor features (geoip):
  157. - Update geoip and geoip6 to the August 7 2018 Maxmind GeoLite2
  158. Country database. Closes ticket 27089.
  159. o Minor bugfixes (compilation, backport from 0.3.4.6-rc):
  160. - When compiling with --enable-openbsd-malloc or --enable-tcmalloc,
  161. tell the compiler not to include the system malloc implementation.
  162. Fixes bug 20424; bugfix on 0.2.0.20-rc.
  163. o Minor bugfixes (compilation, backport from 0.3.4.7-rc):
  164. - Silence a spurious compiler warning on the GetAdaptersAddresses
  165. function pointer cast. This issue is already fixed by 26481 in
  166. 0.3.5 and later, by removing the lookup and cast. Fixes bug 27465;
  167. bugfix on 0.2.3.11-alpha.
  168. - Stop calling SetProcessDEPPolicy() on 64-bit Windows. It is not
  169. supported, and always fails. Some compilers warn about the
  170. function pointer cast on 64-bit Windows. Fixes bug 27461; bugfix
  171. on 0.2.2.23-alpha.
  172. o Minor bugfixes (compilation, windows, backport from 0.3.4.7-rc):
  173. - Don't link or search for pthreads when building for Windows, even
  174. if we are using build environment (like mingw) that provides a
  175. pthreads library. Fixes bug 27081; bugfix on 0.1.0.1-rc.
  176. o Minor bugfixes (continuous integration, backport from 0.3.4.6-rc):
  177. - Skip a pair of unreliable key generation tests on Windows, until
  178. the underlying issue in bug 26076 is resolved. Fixes bug 26830 and
  179. bug 26853; bugfix on 0.2.7.3-rc and 0.3.2.1-alpha respectively.
  180. o Minor bugfixes (continuous integration, backport from 0.3.4.7-rc):
  181. - Pass the module flags to distcheck configure, and log the flags
  182. before running configure. (Backported to 0.2.9 and later as a
  183. precaution.) Fixes bug 27088; bugfix on 0.3.4.1-alpha.
  184. o Minor bugfixes (continuous integration, backport from 0.3.4.8):
  185. - When a Travis build fails, and showing a log fails, keep trying to
  186. show the other logs. Fixes bug 27453; bugfix on 0.3.4.7-rc.
  187. - When we use echo in Travis, don't pass a --flag as the first
  188. argument. Fixes bug 27418; bugfix on 0.3.4.7-rc.
  189. o Minor bugfixes (directory authority, backport from 0.3.4.6-rc):
  190. - When voting for recommended versions, make sure that all of the
  191. versions are well-formed and parsable. Fixes bug 26485; bugfix
  192. on 0.1.1.6-alpha.
  193. o Minor bugfixes (linux seccomp2 sandbox, backport from 0.3.4.7-rc):
  194. - Fix a bug in out sandboxing rules for the openat() syscall.
  195. Previously, no openat() call would be permitted, which would break
  196. filesystem operations on recent glibc versions. Fixes bug 25440;
  197. bugfix on 0.2.9.15. Diagnosis and patch from Daniel Pinto.
  198. o Minor bugfixes (onion services, backport from 0.3.4.8):
  199. - Silence a spurious compiler warning in
  200. rend_client_send_introduction(). Fixes bug 27463; bugfix
  201. on 0.1.1.2-alpha.
  202. o Minor bugfixes (single onion services, Tor2web, backport from 0.3.4.6-rc):
  203. - Log a protocol warning when single onion services or Tor2web clients
  204. fail to authenticate direct connections to relays.
  205. Fixes bug 26924; bugfix on 0.2.9.1-alpha.
  206. o Minor bugfixes (testing, backport from 0.3.4.6-rc):
  207. - Disable core dumps in test_bt.sh, to avoid failures in "make
  208. distcheck". Fixes bug 26787; bugfix on 0.2.5.2-alpha.
  209. o Minor bugfixes (testing, chutney, backport from 0.3.4.8):
  210. - Before running make test-network-all, delete old logs and test
  211. result files, to avoid spurious failures. Fixes bug 27295; bugfix
  212. on 0.2.7.3-rc.
  213. o Minor bugfixes (testing, openssl compatibility, backport from 0.3.4.7-rc):
  214. - Our "tortls/cert_matches_key" unit test no longer relies on
  215. OpenSSL internals. Previously, it relied on unsupported OpenSSL
  216. behavior in a way that caused it to crash with OpenSSL 1.0.2p.
  217. Fixes bug 27226; bugfix on 0.2.5.1-alpha.
  218. o Minor bugfixes (Windows, compilation, backport from 0.3.4.7-rc):
  219. - Silence a compilation warning on MSVC 2017 and clang-cl. Fixes bug
  220. 27185; bugfix on 0.2.2.2-alpha.
  221. Changes in version 0.3.2.12 - 2018-09-10
  222. Tor 0.3.2.12 backport numerous fixes from later versions of Tor.
  223. o Minor features (compatibility, backport from 0.3.4.8):
  224. - Tell OpenSSL to maintain backward compatibility with previous
  225. RSA1024/DH1024 users in Tor. With OpenSSL 1.1.1-pre6, these
  226. ciphers are disabled by default. Closes ticket 27344.
  227. o Minor features (continuous integration, backport from 0.3.4.7-rc):
  228. - Enable macOS builds in our Travis CI configuration. Closes
  229. ticket 24629.
  230. - Install libcap-dev and libseccomp2-dev so these optional
  231. dependencies get tested on Travis CI. Closes ticket 26560.
  232. - Run asciidoc during Travis CI. Implements ticket 27087.
  233. - Use ccache in our Travis CI configuration. Closes ticket 26952.
  234. o Minor features (continuous integration, rust, backport from 0.3.4.7-rc):
  235. - Use cargo cache in our Travis CI configuration. Closes
  236. ticket 26952.
  237. o Minor features (controller, backport from 0.3.4.6-rc):
  238. - The control port now exposes the list of HTTPTunnelPorts and
  239. ExtOrPorts via GETINFO net/listeners/httptunnel and
  240. net/listeners/extor respectively. Closes ticket 26647.
  241. o Minor features (directory authorities, backport from 0.3.4.7-rc):
  242. - Authorities no longer vote to make the subprotocol version
  243. "LinkAuth=1" a requirement: it is unsupportable with NSS, and
  244. hasn't been needed since Tor 0.3.0.1-alpha. Closes ticket 27286.
  245. o Minor features (geoip):
  246. - Update geoip and geoip6 to the August 7 2018 Maxmind GeoLite2
  247. Country database. Closes ticket 27089.
  248. o Minor bugfixes (compilation, backport from 0.3.4.6-rc):
  249. - When compiling with --enable-openbsd-malloc or --enable-tcmalloc,
  250. tell the compiler not to include the system malloc implementation.
  251. Fixes bug 20424; bugfix on 0.2.0.20-rc.
  252. - Don't try to use a pragma to temporarily disable the
  253. -Wunused-const-variable warning if the compiler doesn't support
  254. it. Fixes bug 26785; bugfix on 0.3.2.11.
  255. o Minor bugfixes (compilation, backport from 0.3.4.7-rc):
  256. - Silence a spurious compiler warning on the GetAdaptersAddresses
  257. function pointer cast. This issue is already fixed by 26481 in
  258. 0.3.5 and later, by removing the lookup and cast. Fixes bug 27465;
  259. bugfix on 0.2.3.11-alpha.
  260. - Stop calling SetProcessDEPPolicy() on 64-bit Windows. It is not
  261. supported, and always fails. Some compilers warn about the
  262. function pointer cast on 64-bit Windows. Fixes bug 27461; bugfix
  263. on 0.2.2.23-alpha.
  264. o Minor bugfixes (compilation, windows, backport from 0.3.4.7-rc):
  265. - Don't link or search for pthreads when building for Windows, even
  266. if we are using build environment (like mingw) that provides a
  267. pthreads library. Fixes bug 27081; bugfix on 0.1.0.1-rc.
  268. o Minor bugfixes (continuous integration, backport from 0.3.4.6-rc):
  269. - Skip a pair of unreliable key generation tests on Windows, until
  270. the underlying issue in bug 26076 is resolved. Fixes bug 26830 and
  271. bug 26853; bugfix on 0.2.7.3-rc and 0.3.2.1-alpha respectively.
  272. o Minor bugfixes (continuous integration, backport from 0.3.4.7-rc):
  273. - Build with zstd on macOS. Fixes bug 27090; bugfix on 0.3.1.5-alpha.
  274. - Pass the module flags to distcheck configure, and log the flags
  275. before running configure. (Backported to 0.2.9 and later as a
  276. precaution.) Fixes bug 27088; bugfix on 0.3.4.1-alpha.
  277. o Minor bugfixes (continuous integration, backport from 0.3.4.8):
  278. - When a Travis build fails, and showing a log fails, keep trying to
  279. show the other logs. Fixes bug 27453; bugfix on 0.3.4.7-rc.
  280. - When we use echo in Travis, don't pass a --flag as the first
  281. argument. Fixes bug 27418; bugfix on 0.3.4.7-rc.
  282. o Minor bugfixes (directory authority, backport from 0.3.4.6-rc):
  283. - When voting for recommended versions, make sure that all of the
  284. versions are well-formed and parsable. Fixes bug 26485; bugfix
  285. on 0.1.1.6-alpha.
  286. o Minor bugfixes (linux seccomp2 sandbox, backport from 0.3.4.7-rc):
  287. - Fix a bug in out sandboxing rules for the openat() syscall.
  288. Previously, no openat() call would be permitted, which would break
  289. filesystem operations on recent glibc versions. Fixes bug 25440;
  290. bugfix on 0.2.9.15. Diagnosis and patch from Daniel Pinto.
  291. o Minor bugfixes (logging, backport from 0.3.4.6-rc):
  292. - Improve the log message when connection initiators fail to
  293. authenticate direct connections to relays. Fixes bug 26927; bugfix
  294. on 0.3.0.1-alpha.
  295. o Minor bugfixes (onion services, backport from 0.3.4.7-rc):
  296. - Fix bug that causes services to not ever rotate their descriptors
  297. if they were getting SIGHUPed often. Fixes bug 26932; bugfix
  298. on 0.3.2.1-alpha.
  299. o Minor bugfixes (onion services, backport from 0.3.4.8):
  300. - Silence a spurious compiler warning in
  301. rend_client_send_introduction(). Fixes bug 27463; bugfix
  302. on 0.1.1.2-alpha.
  303. o Minor bugfixes (rust, backport from 0.3.4.7-rc):
  304. - Backport test_rust.sh from master. Fixes bug 26497; bugfix
  305. on 0.3.1.5-alpha.
  306. - Consistently use ../../.. as a fallback for $abs_top_srcdir in
  307. test_rust.sh. Fixes bug 27093; bugfix on 0.3.4.3-alpha.
  308. - Stop setting $CARGO_HOME. cargo will use the user's $CARGO_HOME, or
  309. $HOME/.cargo by default. Fixes bug 26497; bugfix on 0.3.1.5-alpha.
  310. o Minor bugfixes (single onion services, Tor2web, backport from 0.3.4.6-rc):
  311. - Log a protocol warning when single onion services or Tor2web clients
  312. fail to authenticate direct connections to relays.
  313. Fixes bug 26924; bugfix on 0.2.9.1-alpha.
  314. o Minor bugfixes (testing, backport from 0.3.4.6-rc):
  315. - Disable core dumps in test_bt.sh, to avoid failures in "make
  316. distcheck". Fixes bug 26787; bugfix on 0.2.5.2-alpha.
  317. o Minor bugfixes (testing, chutney, backport from 0.3.4.8):
  318. - When running make test-network-all, use the mixed+hs-v2 network.
  319. (A previous fix to chutney removed v3 onion services from the
  320. mixed+hs-v23 network, so seeing "mixed+hs-v23" in tests is
  321. confusing.) Fixes bug 27345; bugfix on 0.3.2.1-alpha.
  322. - Before running make test-network-all, delete old logs and test
  323. result files, to avoid spurious failures. Fixes bug 27295; bugfix
  324. on 0.2.7.3-rc.
  325. o Minor bugfixes (testing, openssl compatibility):
  326. - Our "tortls/cert_matches_key" unit test no longer relies on OpenSSL
  327. internals. Previously, it relied on unsupported OpenSSL behavior in
  328. a way that caused it to crash with OpenSSL 1.0.2p. Fixes bug 27226;
  329. bugfix on 0.2.5.1-alpha.
  330. o Minor bugfixes (testing, openssl compatibility, backport from 0.3.4.7-rc):
  331. - Our "tortls/cert_matches_key" unit test no longer relies on
  332. OpenSSL internals. Previously, it relied on unsupported OpenSSL
  333. behavior in a way that caused it to crash with OpenSSL 1.0.2p.
  334. Fixes bug 27226; bugfix on 0.2.5.1-alpha.
  335. o Minor bugfixes (Windows, compilation, backport from 0.3.4.7-rc):
  336. - Silence a compilation warning on MSVC 2017 and clang-cl. Fixes bug
  337. 27185; bugfix on 0.2.2.2-alpha.
  338. Changes in version 0.3.3.10 - 2018-09-10
  339. Tor 0.3.3.10 backports numerous fixes from later versions of Tor.
  340. o Minor features (bug workaround, backport from 0.3.4.7-rc):
  341. - Compile correctly on systems that provide the C11 stdatomic.h
  342. header, but where C11 atomic functions don't actually compile.
  343. Closes ticket 26779; workaround for Debian issue 903709.
  344. o Minor features (compatibility, backport from 0.3.4.8):
  345. - Tell OpenSSL to maintain backward compatibility with previous
  346. RSA1024/DH1024 users in Tor. With OpenSSL 1.1.1-pre6, these
  347. ciphers are disabled by default. Closes ticket 27344.
  348. o Minor features (continuous integration, backport from 0.3.4.7-rc):
  349. - Backport Travis rust distcheck to 0.3.3. Closes ticket 24629.
  350. - Enable macOS builds in our Travis CI configuration. Closes
  351. ticket 24629.
  352. - Install libcap-dev and libseccomp2-dev so these optional
  353. dependencies get tested on Travis CI. Closes ticket 26560.
  354. - Run asciidoc during Travis CI. Implements ticket 27087.
  355. - Use ccache in our Travis CI configuration. Closes ticket 26952.
  356. o Minor features (continuous integration, rust, backport from 0.3.4.7-rc):
  357. - Use cargo cache in our Travis CI configuration. Closes
  358. ticket 26952.
  359. o Minor features (controller, backport from 0.3.4.6-rc):
  360. - The control port now exposes the list of HTTPTunnelPorts and
  361. ExtOrPorts via GETINFO net/listeners/httptunnel and
  362. net/listeners/extor respectively. Closes ticket 26647.
  363. o Minor features (directory authorities, backport from 0.3.4.7-rc):
  364. - Authorities no longer vote to make the subprotocol version
  365. "LinkAuth=1" a requirement: it is unsupportable with NSS, and
  366. hasn't been needed since Tor 0.3.0.1-alpha. Closes ticket 27286.
  367. o Minor features (geoip):
  368. - Update geoip and geoip6 to the August 7 2018 Maxmind GeoLite2
  369. Country database. Closes ticket 27089.
  370. o Minor bugfixes (compilation, backport from 0.3.4.6-rc):
  371. - When compiling with --enable-openbsd-malloc or --enable-tcmalloc,
  372. tell the compiler not to include the system malloc implementation.
  373. Fixes bug 20424; bugfix on 0.2.0.20-rc.
  374. - Don't try to use a pragma to temporarily disable the
  375. -Wunused-const-variable warning if the compiler doesn't support
  376. it. Fixes bug 26785; bugfix on 0.3.2.11.
  377. o Minor bugfixes (compilation, backport from 0.3.4.7-rc):
  378. - Silence a spurious compiler warning on the GetAdaptersAddresses
  379. function pointer cast. This issue is already fixed by 26481 in
  380. 0.3.5 and later, by removing the lookup and cast. Fixes bug 27465;
  381. bugfix on 0.2.3.11-alpha.
  382. - Stop calling SetProcessDEPPolicy() on 64-bit Windows. It is not
  383. supported, and always fails. Some compilers warn about the
  384. function pointer cast on 64-bit Windows. Fixes bug 27461; bugfix
  385. on 0.2.2.23-alpha.
  386. o Minor bugfixes (compilation, windows, backport from 0.3.4.7-rc):
  387. - Don't link or search for pthreads when building for Windows, even
  388. if we are using build environment (like mingw) that provides a
  389. pthreads library. Fixes bug 27081; bugfix on 0.1.0.1-rc.
  390. o Minor bugfixes (continuous integration, backport from 0.3.4.6-rc):
  391. - Skip a pair of unreliable key generation tests on Windows, until
  392. the underlying issue in bug 26076 is resolved. Fixes bug 26830 and
  393. bug 26853; bugfix on 0.2.7.3-rc and 0.3.2.1-alpha respectively.
  394. o Minor bugfixes (continuous integration, backport from 0.3.4.7-rc):
  395. - Build with zstd on macOS. Fixes bug 27090; bugfix on 0.3.1.5-alpha.
  396. - Pass the module flags to distcheck configure, and log the flags
  397. before running configure. (Backported to 0.2.9 and later as a
  398. precaution.) Fixes bug 27088; bugfix on 0.3.4.1-alpha.
  399. o Minor bugfixes (continuous integration, backport from 0.3.4.8):
  400. - When a Travis build fails, and showing a log fails, keep trying to
  401. show the other logs. Fixes bug 27453; bugfix on 0.3.4.7-rc.
  402. - When we use echo in Travis, don't pass a --flag as the first
  403. argument. Fixes bug 27418; bugfix on 0.3.4.7-rc.
  404. o Minor bugfixes (directory authority, backport from 0.3.4.6-rc):
  405. - When voting for recommended versions, make sure that all of the
  406. versions are well-formed and parsable. Fixes bug 26485; bugfix
  407. on 0.1.1.6-alpha.
  408. o Minor bugfixes (in-process restart, backport from 0.3.4.7-rc):
  409. - Always call tor_free_all() when leaving tor_run_main(). When we
  410. did not, restarting tor in-process would cause an assertion
  411. failure. Fixes bug 26948; bugfix on 0.3.3.1-alpha.
  412. o Minor bugfixes (linux seccomp2 sandbox, backport from 0.3.4.7-rc):
  413. - Fix a bug in our sandboxing rules for the openat() syscall.
  414. Previously, no openat() call would be permitted, which would break
  415. filesystem operations on recent glibc versions. Fixes bug 25440;
  416. bugfix on 0.2.9.15. Diagnosis and patch from Daniel Pinto.
  417. o Minor bugfixes (logging, backport from 0.3.4.6-rc):
  418. - Improve the log message when connection initiators fail to
  419. authenticate direct connections to relays. Fixes bug 26927; bugfix
  420. on 0.3.0.1-alpha.
  421. o Minor bugfixes (onion services, backport from 0.3.4.7-rc):
  422. - Fix bug that causes services to not ever rotate their descriptors
  423. if they were getting SIGHUPed often. Fixes bug 26932; bugfix
  424. on 0.3.2.1-alpha.
  425. o Minor bugfixes (onion services, backport from 0.3.4.8):
  426. - Silence a spurious compiler warning in
  427. rend_client_send_introduction(). Fixes bug 27463; bugfix
  428. on 0.1.1.2-alpha.
  429. o Minor bugfixes (portability, backport from 0.3.4.6-rc):
  430. - Work around two different bugs in the OS X 10.10 and later SDKs
  431. that would prevent us from successfully targeting earlier versions
  432. of OS X. Fixes bug 26876; bugfix on 0.3.3.1-alpha.
  433. o Minor bugfixes (portability, backport from 0.3.4.7-rc):
  434. - Fix compilation of the unit tests on GNU/Hurd, which does not
  435. define PATH_MAX. Fixes bug 26873; bugfix on 0.3.3.1-alpha. Patch
  436. from "paulusASol".
  437. o Minor bugfixes (rust, backport from 0.3.4.7-rc):
  438. - Backport test_rust.sh from master. Fixes bug 26497; bugfix
  439. on 0.3.1.5-alpha.
  440. - Consistently use ../../.. as a fallback for $abs_top_srcdir in
  441. test_rust.sh. Fixes bug 27093; bugfix on 0.3.4.3-alpha.
  442. - Protover parsing was accepting the presence of whitespace in
  443. version strings, which the C implementation would choke on, e.g.
  444. "Desc=1\t,2". Fixes bug 27177; bugfix on 0.3.3.5-rc.
  445. - Protover parsing was ignoring a 2nd hyphen and everything after
  446. it, accepting entries like "Link=1-5-foo". Fixes bug 27164; bugfix
  447. on 0.3.3.1-alpha.
  448. - Stop setting $CARGO_HOME. cargo will use the user's $CARGO_HOME, or
  449. $HOME/.cargo by default. Fixes bug 26497; bugfix on 0.3.1.5-alpha.
  450. - cd to ${abs_top_builddir}/src/rust before running cargo in
  451. src/test/test_rust.sh. This makes the working directory consistent
  452. between builds and tests. Fixes bug 26497; bugfix on 0.3.3.2-alpha.
  453. o Minor bugfixes (single onion services, Tor2web, backport from 0.3.4.6-rc):
  454. - Log a protocol warning when single onion services or Tor2web clients
  455. fail to authenticate direct connections to relays.
  456. Fixes bug 26924; bugfix on 0.2.9.1-alpha.
  457. o Minor bugfixes (testing, backport from 0.3.4.6-rc):
  458. - Disable core dumps in test_bt.sh, to avoid failures in "make
  459. distcheck". Fixes bug 26787; bugfix on 0.2.5.2-alpha.
  460. o Minor bugfixes (testing, chutney, backport from 0.3.4.8):
  461. - When running make test-network-all, use the mixed+hs-v2 network.
  462. (A previous fix to chutney removed v3 onion services from the
  463. mixed+hs-v23 network, so seeing "mixed+hs-v23" in tests is
  464. confusing.) Fixes bug 27345; bugfix on 0.3.2.1-alpha.
  465. - Before running make test-network-all, delete old logs and test
  466. result files, to avoid spurious failures. Fixes bug 27295; bugfix
  467. on 0.2.7.3-rc.
  468. o Minor bugfixes (testing, openssl compatibility, backport from 0.3.4.7-rc):
  469. - Our "tortls/cert_matches_key" unit test no longer relies on
  470. OpenSSL internals. Previously, it relied on unsupported OpenSSL
  471. behavior in a way that caused it to crash with OpenSSL 1.0.2p.
  472. Fixes bug 27226; bugfix on 0.2.5.1-alpha.
  473. o Minor bugfixes (v3 onion services, backport from 0.3.4.6-rc):
  474. - Stop sending ed25519 link specifiers in v3 onion service introduce
  475. cells and descriptors, when the rendezvous or introduction point
  476. doesn't support ed25519 link authentication. Fixes bug 26627;
  477. bugfix on 0.3.2.4-alpha.
  478. o Minor bugfixes (Windows, compilation, backport from 0.3.4.7-rc):
  479. - Silence a compilation warning on MSVC 2017 and clang-cl. Fixes bug
  480. 27185; bugfix on 0.2.2.2-alpha.
  481. Changes in version 0.3.4.8 - 2018-09-10
  482. Tor 0.3.4.8 is the first stable release in its series; it includes
  483. compilation and portability fixes.
  484. The Tor 0.3.4 series includes improvements for running Tor in
  485. low-power and embedded environments, which should help performance in
  486. general. We've begun work on better modularity, and included preliminary
  487. changes on the directory authority side to accommodate a new bandwidth
  488. measurement system. We've also integrated more continuous-integration
  489. systems into our development process, and made corresponding changes to
  490. Tor's testing infrastructure. Finally, we've continued to refine
  491. our anti-denial-of-service code.
  492. Below are the changes since 0.3.3.9. For a list of only the changes
  493. since 0.3.4.7-rc, see the ChangeLog file.
  494. o New system requirements:
  495. - Tor no longer tries to support old operating systems without
  496. mmap() or some local equivalent. Apparently, compilation on such
  497. systems has been broken for some time, without anybody noticing or
  498. complaining. Closes ticket 25398.
  499. o Major features (directory authority, modularization):
  500. - The directory authority subsystem has been modularized. The code
  501. is now located in src/or/dirauth/, and is compiled in by default.
  502. To disable the module, the configure option
  503. --disable-module-dirauth has been added. This module may be
  504. disabled by default in some future release. Closes ticket 25610.
  505. o Major features (main loop, CPU usage):
  506. - When Tor is disabled (via DisableNetwork or via hibernation), it
  507. no longer needs to run any per-second events. This change should
  508. make it easier for mobile applications to disable Tor while the
  509. device is sleeping, or Tor is not running. Closes ticket 26063.
  510. - Tor no longer enables all of its periodic events by default.
  511. Previously, Tor would enable all possible main loop events,
  512. regardless of whether it needed them. Furthermore, many of these
  513. events are now disabled when Tor is hibernating or DisableNetwork
  514. is set. This is a big step towards reducing client CPU usage by
  515. reducing the amount of wake-ups the daemon does. Closes tickets
  516. 25376 and 25762.
  517. - The bandwidth-limitation logic has been refactored so that
  518. bandwidth calculations are performed on-demand, rather than every
  519. TokenBucketRefillInterval milliseconds. This change should improve
  520. the granularity of our bandwidth calculations, and limit the
  521. number of times that the Tor process needs to wake up when it is
  522. idle. Closes ticket 25373.
  523. - Move responsibility for many operations from a once-per-second
  524. callback to a callback that is only scheduled as needed. Moving
  525. this functionality has allowed us to disable the callback when
  526. Tor's network is disabled. Once enough items are removed from our
  527. once-per-second callback, we can eliminate it entirely to conserve
  528. CPU when idle. The functionality removed includes: closing
  529. connections, circuits, and channels (ticket 25932); consensus
  530. voting (25937); flushing log callbacks (25951); honoring delayed
  531. SIGNEWNYM requests (25949); rescanning the consensus cache
  532. (25931); saving the state file to disk (25948); warning relay
  533. operators about unreachable ports (25952); and keeping track of
  534. Tor's uptime (26009).
  535. o Minor features (accounting):
  536. - When Tor becomes dormant, it now uses a scheduled event to wake up
  537. at the right time. Previously, we would use the per-second timer
  538. to check whether to wake up, but we no longer have any per-second
  539. timers enabled when the network is disabled. Closes ticket 26064.
  540. o Minor features (bug workaround):
  541. - Compile correctly on systems that provide the C11 stdatomic.h
  542. header, but where C11 atomic functions don't actually compile.
  543. Closes ticket 26779; workaround for Debian issue 903709.
  544. o Minor features (code quality):
  545. - Add optional spell-checking for the Tor codebase, using the
  546. "misspell" program. To use this feature, run "make check-typos".
  547. Closes ticket 25024.
  548. o Minor features (compatibility):
  549. - Tell OpenSSL to maintain backward compatibility with previous
  550. RSA1024/DH1024 users in Tor. With OpenSSL 1.1.1-pre6, these
  551. ciphers are disabled by default. Closes ticket 27344.
  552. - Tor now detects versions of OpenSSL 1.1.0 and later compiled with
  553. the no-deprecated option, and builds correctly with them. Closes
  554. tickets 19429, 19981, and 25353.
  555. o Minor features (compilation):
  556. - When compiling with --enable-openbsd-malloc or --enable-tcmalloc,
  557. tell the compiler not to include the system malloc implementation.
  558. Fixes bug 20424; bugfix on 0.2.0.20-rc.
  559. - Don't try to use a pragma to temporarily disable the
  560. -Wunused-const-variable warning if the compiler doesn't support
  561. it. Fixes bug 26785; bugfix on 0.3.2.11.
  562. - When building Tor, prefer to use Python 3 over Python 2, and more
  563. recent (contemplated) versions over older ones. Closes
  564. ticket 26372.
  565. o Minor features (compression, zstd):
  566. - When running with zstd, Tor now considers using advanced functions
  567. that the zstd maintainers have labeled as potentially unstable. To
  568. prevent breakage, Tor will only use this functionality when the
  569. runtime version of the zstd library matches the version with which
  570. Tor was compiled. Closes ticket 25162.
  571. o Minor features (configuration):
  572. - The "DownloadSchedule" options have been renamed to end with
  573. "DownloadInitialDelay". The old names are still allowed, but will
  574. produce a warning. Comma-separated lists are still permitted for
  575. these options, but all values after the first are ignored (as they
  576. have been since 0.2.9). Closes ticket 23354.
  577. o Minor features (continuous integration):
  578. - Log the compiler path and version during Appveyor builds.
  579. Implements ticket 27449.
  580. - Show config.log and test-suite.log after failed Appveyor builds.
  581. Also upload the zipped full logs as a build artifact. Implements
  582. ticket 27430.
  583. - Backport Travis rust distcheck to 0.3.3. Closes ticket 24629.
  584. - Enable macOS builds in our Travis CI configuration. Closes
  585. ticket 24629.
  586. - Install libcap-dev and libseccomp2-dev so these optional
  587. dependencies get tested on Travis CI. Closes ticket 26560.
  588. - Only post Appveyor IRC notifications when the build fails.
  589. Implements ticket 27275.
  590. - Run asciidoc during Travis CI. Implements ticket 27087.
  591. - Use ccache in our Travis CI configuration. Closes ticket 26952.
  592. - Add the necessary configuration files for continuous integration
  593. testing on Windows, via the Appveyor platform. Closes ticket
  594. 25549. Patches from Marcin Cieślak and Isis Lovecruft.
  595. o Minor features (continuous integration, rust):
  596. - Use cargo cache in our Travis CI configuration. Closes
  597. ticket 26952.
  598. o Minor features (control port):
  599. - Introduce GETINFO "current-time/{local,utc}" to return the local
  600. and UTC times respectively in ISO format. This helps a controller
  601. like Tor Browser detect a time-related error. Closes ticket 25511.
  602. Patch by Neel Chauhan.
  603. - Introduce new fields to the CIRC_BW event. There are two new
  604. fields in each of the read and written directions. The DELIVERED
  605. fields report the total valid data on the circuit, as measured by
  606. the payload sizes of verified and error-checked relay command
  607. cells. The OVERHEAD fields report the total unused bytes in each
  608. of these cells. Closes ticket 25903.
  609. o Minor features (controller):
  610. - The control port now exposes the list of HTTPTunnelPorts and
  611. ExtOrPorts via GETINFO net/listeners/httptunnel and
  612. net/listeners/extor respectively. Closes ticket 26647.
  613. o Minor features (directory authorities):
  614. - Stop warning about incomplete bw lines before the first complete
  615. bw line has been found, so that additional header lines can be
  616. ignored. Fixes bug 25960; bugfix on 0.2.2.1-alpha
  617. - Authorities no longer vote to make the subprotocol version
  618. "LinkAuth=1" a requirement: it is unsupportable with NSS, and
  619. hasn't been needed since Tor 0.3.0.1-alpha. Closes ticket 27286.
  620. o Minor features (directory authority):
  621. - Directory authorities now open their key-pinning files as O_SYNC,
  622. to limit their chances of accidentally writing partial lines.
  623. Closes ticket 23909.
  624. o Minor features (directory authority, forward compatibility):
  625. - Make the lines of the measured bandwidth file able to contain
  626. their entries in any order. Previously, the node_id entry needed
  627. to come first. Closes ticket 26004.
  628. o Minor features (entry guards):
  629. - Introduce a new torrc option NumPrimaryGuards for controlling the
  630. number of primary guards. Closes ticket 25843.
  631. o Minor features (geoip):
  632. - Update geoip and geoip6 to the August 7 2018 Maxmind GeoLite2
  633. Country database. Closes ticket 27089.
  634. o Minor features (performance):
  635. - Avoid a needless call to malloc() when processing an incoming
  636. relay cell. Closes ticket 24914.
  637. - Make our timing-wheel code run a tiny bit faster on 32-bit
  638. platforms, by preferring 32-bit math to 64-bit. Closes
  639. ticket 24688.
  640. - Avoid a needless malloc()/free() pair every time we handle an ntor
  641. handshake. Closes ticket 25150.
  642. o Minor features (Rust, portability):
  643. - Rust cross-compilation is now supported. Closes ticket 25895.
  644. o Minor features (testing):
  645. - Add a unit test for voting_schedule_get_start_of_next_interval().
  646. Closes ticket 26014, and helps make unit test coverage
  647. more deterministic.
  648. - A new unittests module specifically for testing the functions in
  649. the (new-ish) bridges.c module has been created with new
  650. unittests, raising the code coverage percentages. Closes 25425.
  651. - We now have improved testing for addressmap_get_virtual_address()
  652. function. This should improve our test coverage, and make our test
  653. coverage more deterministic. Closes ticket 25993.
  654. o Minor features (timekeeping, circuit scheduling):
  655. - When keeping track of how busy each circuit have been recently on
  656. a given connection, use coarse-grained monotonic timers rather
  657. than gettimeofday(). This change should marginally increase
  658. accuracy and performance. Implements part of ticket 25927.
  659. o Minor features (unit tests):
  660. - Test complete bandwidth measurements files, and test that
  661. incomplete bandwidth lines only give warnings when the end of the
  662. header has not been detected. Fixes bug 25947; bugfix
  663. on 0.2.2.1-alpha
  664. o Minor bugfixes (bandwidth management):
  665. - Consider ourselves "low on write bandwidth" if we have exhausted
  666. our write bandwidth some time in the last second. This was the
  667. documented behavior before, but the actual behavior was to change
  668. this value every TokenBucketRefillInterval. Fixes bug 25828;
  669. bugfix on 0.2.3.5-alpha.
  670. o Minor bugfixes (C correctness):
  671. - Add a missing lock acquisition in the shutdown code of the control
  672. subsystem. Fixes bug 25675; bugfix on 0.2.7.3-rc. Found by
  673. Coverity; this is CID 1433643.
  674. o Minor bugfixes (code style):
  675. - Fixed multiple includes of transports.h in src/or/connection.c
  676. Fixes bug 25261; bugfix on 0.2.5.1-alpha.
  677. - Remove the unused variable n_possible from the function
  678. channel_get_for_extend(). Fixes bug 25645; bugfix on 0.2.4.4-alpha
  679. o Minor bugfixes (compilation):
  680. - Silence a spurious compiler warning on the GetAdaptersAddresses
  681. function pointer cast. This issue is already fixed by 26481 in
  682. 0.3.5 and later, by removing the lookup and cast. Fixes bug 27465;
  683. bugfix on 0.2.3.11-alpha.
  684. - Stop calling SetProcessDEPPolicy() on 64-bit Windows. It is not
  685. supported, and always fails. Some compilers warn about the
  686. function pointer cast on 64-bit Windows. Fixes bug 27461; bugfix
  687. on 0.2.2.23-alpha.
  688. - Fix a compilation warning on some versions of GCC when building
  689. code that calls routerinfo_get_my_routerinfo() twice, assuming
  690. that the second call will succeed if the first one did. Fixes bug
  691. 26269; bugfix on 0.2.8.2-alpha.
  692. - Refrain from compiling unit testing related object files when
  693. --disable-unittests is set to configure script. Fixes bug 24891;
  694. bugfix on 0.2.5.1-alpha.
  695. - The --enable-fatal-warnings flag now affects Rust code as well.
  696. Closes ticket 26245.
  697. - Avoid a compiler warning when casting the return value of
  698. smartlist_len() to double with DEBUG_SMARTLIST enabled. Fixes bug
  699. 26283; bugfix on 0.2.4.10-alpha.
  700. o Minor bugfixes (compilation, windows):
  701. - Don't link or search for pthreads when building for Windows, even
  702. if we are using build environment (like mingw) that provides a
  703. pthreads library. Fixes bug 27081; bugfix on 0.1.0.1-rc.
  704. o Minor bugfixes (continuous integration):
  705. - Build with zstd on macOS. Fixes bug 27090; bugfix on 0.3.1.5-alpha.
  706. - Skip a pair of unreliable key generation tests on Windows, until
  707. the underlying issue in bug 26076 is resolved. Fixes bug 26830 and
  708. bug 26853; bugfix on 0.2.7.3-rc and 0.3.2.1-alpha respectively.
  709. o Minor bugfixes (control port):
  710. - Respond with more human-readable error messages to GETINFO exit-
  711. policy/* requests. Also, let controller know if an error is
  712. transient (response code 551) or not (response code 552). Fixes
  713. bug 25852; bugfix on 0.2.8.1-alpha.
  714. - Parse the "HSADDRESS=" parameter in HSPOST commands properly.
  715. Previously, it was misparsed and ignored. Fixes bug 26523; bugfix
  716. on 0.3.3.1-alpha. Patch by "akwizgran".
  717. - Make CIRC_BW event reflect the total of all data sent on a
  718. circuit, including padding and dropped cells. Also fix a mis-
  719. counting bug when STREAM_BW events were enabled. Fixes bug 25400;
  720. bugfix on 0.2.5.2-alpha.
  721. o Minor bugfixes (correctness, flow control):
  722. - Upon receiving a stream-level SENDME cell, verify that our window
  723. has not grown too large. Fixes bug 26214; bugfix on svn
  724. r54 (pre-0.0.1).
  725. o Minor bugfixes (directory authority):
  726. - When voting for recommended versions, make sure that all of the
  727. versions are well-formed and parsable. Fixes bug 26485; bugfix
  728. on 0.1.1.6-alpha.
  729. o Minor bugfixes (directory client):
  730. - When unverified-consensus is verified, rename it to cached-
  731. consenus. Fixes bug 4187; bugfix on 0.2.0.3-alpha.
  732. - Fixed launching a certificate fetch always during the scheduled
  733. periodic consensus fetch by fetching only in those cases when
  734. consensus are waiting for certs. Fixes bug 24740; bugfix
  735. on 0.2.9.1-alpha.
  736. o Minor bugfixes (error reporting):
  737. - Improve tolerance for directory authorities with skewed clocks.
  738. Previously, an authority with a clock more than 60 seconds ahead
  739. could cause a client with a correct clock to warn that the
  740. client's clock was behind. Now the clocks of a majority of
  741. directory authorities have to be ahead of the client before this
  742. warning will occur. Fixes bug 25756; bugfix on 0.2.2.25-alpha.
  743. o Minor bugfixes (in-process restart):
  744. - Always call tor_free_all() when leaving tor_run_main(). When we
  745. did not, restarting tor in-process would cause an assertion
  746. failure. Fixes bug 26948; bugfix on 0.3.3.1-alpha.
  747. o Minor bugfixes (Linux seccomp2 sandbox):
  748. - Fix a bug in our sandboxing rules for the openat() syscall.
  749. Previously, no openat() call would be permitted, which would break
  750. filesystem operations on recent glibc versions. Fixes bug 25440;
  751. bugfix on 0.2.9.15. Diagnosis and patch from Daniel Pinto.
  752. o Minor bugfixes (logging):
  753. - Improve the log message when connection initiators fail to
  754. authenticate direct connections to relays. Fixes bug 26927; bugfix
  755. on 0.3.0.1-alpha.
  756. o Minor bugfixes (onion services):
  757. - Silence a spurious compiler warning in
  758. rend_client_send_introduction(). Fixes bug 27463; bugfix
  759. on 0.1.1.2-alpha.
  760. - Fix bug that causes services to not ever rotate their descriptors
  761. if they were getting SIGHUPed often. Fixes bug 26932; bugfix
  762. on 0.3.2.1-alpha.
  763. - Recompute some consensus information after detecting a clock jump,
  764. or after transitioning from a non-live consensus to a live
  765. consensus. We do this to avoid having an outdated state, and
  766. miscalculating the index for next-generation onion services. Fixes
  767. bug 24977; bugfix on 0.3.2.1-alpha.
  768. o Minor bugfixes (portability):
  769. - Fix compilation of the unit tests on GNU/Hurd, which does not
  770. define PATH_MAX. Fixes bug 26873; bugfix on 0.3.3.1-alpha. Patch
  771. from "paulusASol".
  772. - Work around two different bugs in the OS X 10.10 and later SDKs
  773. that would prevent us from successfully targeting earlier versions
  774. of OS X. Fixes bug 26876; bugfix on 0.3.3.1-alpha.
  775. - Do not align mmap length, as it is not required by POSIX, and the
  776. getpagesize function is deprecated. Fixes bug 25399; bugfix
  777. on 0.1.1.23.
  778. o Minor bugfixes (portability, FreeBSD):
  779. - In have_enough_mem_for_dircache(), the variable DIRCACHE_MIN_MEM_MB
  780. does not stringify on FreeBSD, so we switch to tor_asprintf().
  781. Fixes bug 20887; bugfix on 0.2.8.1-alpha. Patch by Neel Chauhan.
  782. o Minor bugfixes (relay statistics):
  783. - When a relay is collecting internal statistics about how many
  784. create cell requests it has seen of each type, accurately count
  785. the requests from relays that temporarily fall out of the
  786. consensus. (To be extra conservative, we were already ignoring
  787. requests from clients in our counts, and we continue ignoring them
  788. here.) Fixes bug 24910; bugfix on 0.2.4.17-rc.
  789. o Minor bugfixes (rust):
  790. - Backport test_rust.sh from master. Fixes bug 26497; bugfix
  791. on 0.3.1.5-alpha.
  792. - Protover parsing was accepting the presence of whitespace in
  793. version strings, which the C implementation would choke on, e.g.
  794. "Desc=1\t,2". Fixes bug 27177; bugfix on 0.3.3.5-rc.
  795. - Protover parsing was ignoring a 2nd hyphen and everything after
  796. it, accepting entries like "Link=1-5-foo". Fixes bug 27164; bugfix
  797. on 0.3.3.1-alpha.
  798. - Stop setting $CARGO_HOME. cargo will use the user's $CARGO_HOME, or
  799. $HOME/.cargo by default. Fixes bug 26497; bugfix on 0.3.1.5-alpha.
  800. - cd to ${abs_top_builddir}/src/rust before running cargo in
  801. src/test/test_rust.sh. This makes the working directory consistent
  802. between builds and tests. Fixes bug 26497; bugfix on 0.3.3.2-alpha.
  803. o Minor bugfixes (single onion services, Tor2web):
  804. - Log a protocol warning when single onion services or Tor2web
  805. clients fail to authenticate direct connections to relays. Fixes
  806. bug 26924; bugfix on 0.2.9.1-alpha.
  807. o Minor bugfixes (test coverage tools):
  808. - Update our "cov-diff" script to handle output from the latest
  809. version of gcov, and to remove extraneous timestamp information
  810. from its output. Fixes bugs 26101 and 26102; bugfix
  811. on 0.2.5.1-alpha.
  812. o Minor bugfixes (testing):
  813. - Disable core dumps in test_bt.sh, to avoid failures in "make
  814. distcheck". Fixes bug 26787; bugfix on 0.2.5.2-alpha.
  815. - When testing workqueue event-cancellation, make sure that we
  816. actually cancel an event, and that cancel each event with equal
  817. probability. (It was previously possible, though extremely
  818. unlikely, for our event-canceling test not to cancel any events.)
  819. Fixes bug 26008; bugfix on 0.2.6.3-alpha.
  820. - Repeat part of the test in test_client_pick_intro() a number of
  821. times, to give it consistent coverage. Fixes bug 25996; bugfix
  822. on 0.3.2.1-alpha.
  823. - Remove randomness from the hs_common/responsible_hsdirs test, so
  824. that it always takes the same path through the function it tests.
  825. Fixes bug 25997; bugfix on 0.3.2.1-alpha.
  826. - Change the behavior of the "channel/outbound" test so that it
  827. never causes a 10-second rollover for the EWMA circuitmux code.
  828. Previously, this behavior would happen randomly, and result in
  829. fluctuating test coverage. Fixes bug 25994; bugfix
  830. on 0.3.3.1-alpha.
  831. - Use X509_new() to allocate certificates that will be freed later
  832. with X509_free(). Previously, some parts of the unit tests had
  833. used tor_malloc_zero(), which is incorrect, and which caused test
  834. failures on Windows when they were built with extra hardening.
  835. Fixes bugs 25943 and 25944; bugfix on 0.2.8.1-alpha. Patch by
  836. Marcin Cieślak.
  837. - While running the circuit_timeout test, fix the PRNG to a
  838. deterministic AES stream, so that the test coverage from this test
  839. will itself be deterministic. Fixes bug 25995; bugfix
  840. on 0.2.2.2-alpha.
  841. o Minor bugfixes (testing, bootstrap):
  842. - When calculating bootstrap progress, check exit policies and the
  843. exit flag. Previously, Tor would only check the exit flag, which
  844. caused race conditions in small and fast networks like chutney.
  845. Fixes bug 27236; bugfix on 0.2.6.3-alpha.
  846. o Minor bugfixes (testing, chutney):
  847. - When running make test-network-all, use the mixed+hs-v2 network.
  848. (A previous fix to chutney removed v3 onion services from the
  849. mixed+hs-v23 network, so seeing "mixed+hs-v23" in tests is
  850. confusing.) Fixes bug 27345; bugfix on 0.3.2.1-alpha.
  851. - Before running make test-network-all, delete old logs and test
  852. result files, to avoid spurious failures. Fixes bug 27295; bugfix
  853. on 0.2.7.3-rc.
  854. o Minor bugfixes (testing, openssl compatibility):
  855. - Our "tortls/cert_matches_key" unit test no longer relies on
  856. OpenSSL internals. Previously, it relied on unsupported OpenSSL
  857. behavior in a way that caused it to crash with OpenSSL 1.0.2p.
  858. Fixes bug 27226; bugfix on 0.2.5.1-alpha.
  859. o Minor bugfixes (v3 onion services):
  860. - Stop sending ed25519 link specifiers in v3 onion service introduce
  861. cells and descriptors, when the rendezvous or introduction point
  862. doesn't support ed25519 link authentication. Fixes bug 26627;
  863. bugfix on 0.3.2.4-alpha.
  864. o Minor bugfixes (vanguards):
  865. - Allow the last hop in a vanguard circuit to be the same as our
  866. first, to prevent the adversary from influencing guard node choice
  867. by choice of last hop. Also prevent the creation of A - B - A
  868. paths, or A - A paths, which are forbidden by relays. Fixes bug
  869. 25870; bugfix on 0.3.3.1-alpha.
  870. o Minor bugfixes (Windows, compilation):
  871. - Silence a compilation warning on MSVC 2017 and clang-cl. Fixes bug
  872. 27185; bugfix on 0.2.2.2-alpha.
  873. o Code simplification and refactoring:
  874. - Remove duplicate code in parse_{c,s}method_line and bootstrap
  875. their functionalities into a single function. Fixes bug 6236;
  876. bugfix on 0.2.3.6-alpha.
  877. - We remove the PortForwsrding and PortForwardingHelper options,
  878. related functions, and the port_forwarding tests. These options
  879. were used by the now-deprecated Vidalia to help ordinary users
  880. become Tor relays or bridges. Closes ticket 25409. Patch by
  881. Neel Chauhan.
  882. - In order to make the OR and dir checking function in router.c less
  883. confusing we renamed some functions and
  884. consider_testing_reachability() has been split into
  885. router_should_check_reachability() and
  886. router_do_reachability_checks(). Also we improved the documentation
  887. in some functions. Closes ticket 18918.
  888. - Initial work to isolate Libevent usage to a handful of modules in
  889. our codebase, to simplify our call structure, and so that we can
  890. more easily change event loops in the future if needed. Closes
  891. ticket 23750.
  892. - Introduce a function to call getsockname() and return tor_addr_t,
  893. to save a little complexity throughout the codebase. Closes
  894. ticket 18105.
  895. - Make hsdir_index in node_t a hsdir_index_t rather than a pointer
  896. as hsdir_index is always present. Also, we move hsdir_index_t into
  897. or.h. Closes ticket 23094. Patch by Neel Chauhan.
  898. - Merge functions used for describing nodes and suppress the
  899. functions that do not allocate memory for the output buffer
  900. string. NODE_DESC_BUF_LEN constant and format_node_description()
  901. function cannot be used externally from router.c module anymore.
  902. Closes ticket 25432. Patch by valentecaio.
  903. - Our main loop has been simplified so that all important operations
  904. happen inside events. Previously, some operations had to happen
  905. outside the event loop, to prevent infinite sequences of event
  906. activations. Closes ticket 25374.
  907. - Put a SHA1 public key digest in hs_service_intro_point_t, and use
  908. it in register_intro_circ() and service_intro_point_new(). This
  909. prevents the digest from being re-calculated each time. Closes
  910. ticket 23107. Patch by Neel Chauhan.
  911. - Refactor token-bucket implementations to use a common backend.
  912. Closes ticket 25766.
  913. - Remove extern declaration of stats_n_seconds_working variable from
  914. main, protecting its accesses with get_uptime() and reset_uptime()
  915. functions. Closes ticket 25081, patch by “valentecaio”.
  916. - Remove our previous logic for "cached gettimeofday()" -- our
  917. coarse monotonic timers are fast enough for this purpose, and far
  918. less error-prone. Implements part of ticket 25927.
  919. - Remove the return value for fascist_firewall_choose_address_base(),
  920. and sister functions such as fascist_firewall_choose_address_node()
  921. and fascist_firewall_choose_address_rs(). Also, while we're here,
  922. initialize the ap argument as leaving it uninitialized can pose a
  923. security hazard. Closes ticket 24734. Patch by Neel Chauhan.
  924. - Rename two fields of connection_t struct. timestamp_lastwritten is
  925. renamed to timestamp_last_write_allowed and timestamp_lastread is
  926. renamed to timestamp_last_read_allowed. Closes ticket 24714, patch
  927. by "valentecaio".
  928. - Since Tor requires C99, remove our old workaround code for libc
  929. implementations where free(NULL) doesn't work. Closes ticket 24484.
  930. - Use our standard rate-limiting code to deal with excessive
  931. libevent failures, rather than the hand-rolled logic we had
  932. before. Closes ticket 26016.
  933. - We remove the return value of node_get_prim_orport() and
  934. node_get_prim_dirport(), and introduce node_get_prim_orport() in
  935. node_ipv6_or_preferred() and node_ipv6_dir_preferred() in order to
  936. check for a null address. Closes ticket 23873. Patch by
  937. Neel Chauhan.
  938. - We switch to should_record_bridge_info() in
  939. geoip_note_client_seen() and options_need_geoip_info() instead of
  940. accessing the configuration values directly. Fixes bug 25290;
  941. bugfix on 0.2.1.6-alpha. Patch by Neel Chauhan.
  942. o Deprecated features:
  943. - As we are not recommending 0.2.5 anymore, we require relays that
  944. once had an ed25519 key associated with their RSA key to always
  945. have that key, instead of allowing them to drop back to a version
  946. that didn't support ed25519. This means they need to use a new RSA
  947. key if they want to downgrade to an older version of tor without
  948. ed25519. Closes ticket 20522.
  949. o Removed features:
  950. - Directory authorities will no longer support voting according to
  951. any consensus method before consensus method 25. This keeps
  952. authorities compatible with all authorities running 0.2.9.8 and
  953. later, and does not break any clients or relays. Implements ticket
  954. 24378 and proposal 290.
  955. - The PortForwarding and PortForwardingHelper features have been
  956. removed. The reasoning is, given that implementations of NAT
  957. traversal protocols within common consumer grade routers are
  958. frequently buggy, and that the target audience for a NAT punching
  959. feature is a perhaps less-technically-inclined relay operator,
  960. when the helper fails to setup traversal the problems are usually
  961. deep, ugly, and very router specific, making them horrendously
  962. impossible for technical support to reliable assist with, and thus
  963. resulting in frustration all around. Unfortunately, relay
  964. operators who would like to run relays behind NATs will need to
  965. become more familiar with the port forwarding configurations on
  966. their local router. Closes 25409.
  967. - The TestingEnableTbEmptyEvent option has been removed. It was used
  968. in testing simulations to measure how often connection buckets
  969. were emptied, in order to improve our scheduling, but it has not
  970. been actively used in years. Closes ticket 25760.
  971. - The old "round-robin" circuit multiplexer (circuitmux)
  972. implementation has been removed, along with a fairly large set of
  973. code that existed to support it. It has not been the default
  974. circuitmux since we introduced the "EWMA" circuitmux in 0.2.4.x,
  975. but it still required an unreasonable amount of memory and CPU.
  976. Closes ticket 25268.
  977. Changes in version 0.3.3.9 - 2018-07-13
  978. Tor 0.3.3.9 moves to a new bridge authority, meaning people running
  979. bridge relays should upgrade.
  980. o Directory authority changes:
  981. - The "Bifroest" bridge authority has been retired; the new bridge
  982. authority is "Serge", and it is operated by George from the
  983. TorBSD project. Closes ticket 26771.
  984. Changes in version 0.3.2.11 - 2018-07-13
  985. Tor 0.3.2.11 moves to a new bridge authority, meaning people running
  986. bridge relays should upgrade. We also take this opportunity to backport
  987. other minor fixes.
  988. o Directory authority changes:
  989. - The "Bifroest" bridge authority has been retired; the new bridge
  990. authority is "Serge", and it is operated by George from the
  991. TorBSD project. Closes ticket 26771.
  992. o Directory authority changes (backport from 0.3.3.7):
  993. - Add an IPv6 address for the "dannenberg" directory authority.
  994. Closes ticket 26343.
  995. o Major bugfixes (directory authorities, backport from 0.3.4.1-alpha):
  996. - When directory authorities read a zero-byte bandwidth file, they
  997. would previously log a warning with the contents of an
  998. uninitialised buffer. They now log a warning about the empty file
  999. instead. Fixes bug 26007; bugfix on 0.2.2.1-alpha.
  1000. o Major bugfixes (onion service, backport from 0.3.4.1-alpha):
  1001. - Correctly detect when onion services get disabled after HUP. Fixes
  1002. bug 25761; bugfix on 0.3.2.1.
  1003. o Minor features (sandbox, backport from 0.3.3.4-alpha):
  1004. - Explicitly permit the poll() system call when the Linux
  1005. seccomp2-based sandbox is enabled: apparently, some versions of
  1006. libc use poll() when calling getpwnam(). Closes ticket 25313.
  1007. o Minor feature (continuous integration, backport from 0.3.3.5-rc):
  1008. - Update the Travis CI configuration to use the stable Rust channel,
  1009. now that we have decided to require that. Closes ticket 25714.
  1010. o Minor features (continuous integration, backport from 0.3.4.1-alpha):
  1011. - Our .travis.yml configuration now includes support for testing the
  1012. results of "make distcheck". (It's not uncommon for "make check"
  1013. to pass but "make distcheck" to fail.) Closes ticket 25814.
  1014. - Our Travis CI configuration now integrates with the Coveralls
  1015. coverage analysis tool. Closes ticket 25818.
  1016. o Minor features (relay, diagnostic, backport from 0.3.4.3-alpha):
  1017. - Add several checks to detect whether Tor relays are uploading
  1018. their descriptors without specifying why they regenerated them.
  1019. Diagnostic for ticket 25686.
  1020. o Minor features (compilation, backport from 0.3.4.4-rc):
  1021. - When building Tor, prefer to use Python 3 over Python 2, and more
  1022. recent (contemplated) versions over older ones. Closes
  1023. ticket 26372.
  1024. o Minor features (geoip):
  1025. - Update geoip and geoip6 to the July 3 2018 Maxmind GeoLite2
  1026. Country database. Closes ticket 26674.
  1027. o Minor bugfixes (correctness, client, backport from 0.3.4.1-alpha):
  1028. - Upon receiving a malformed connected cell, stop processing the
  1029. cell immediately. Previously we would mark the connection for
  1030. close, but continue processing the cell as if the connection were
  1031. open. Fixes bug 26072; bugfix on 0.2.4.7-alpha.
  1032. o Minor bugfixes (Linux seccomp2 sandbox, backport from 0.3.4.1-alpha):
  1033. - Allow the nanosleep() system call, which glibc uses to implement
  1034. sleep() and usleep(). Fixes bug 24969; bugfix on 0.2.5.1-alpha.
  1035. o Minor bugfixes (testing, compatibility, backport from 0.3.4.4-rc):
  1036. - When running the hs_ntor_ref.py test, make sure only to pass
  1037. strings (rather than "bytes" objects) to the Python subprocess
  1038. module. Python 3 on Windows seems to require this. Fixes bug
  1039. 26535; bugfix on 0.3.1.1-alpha.
  1040. - When running the ntor_ref.py test, make sure only to pass strings
  1041. (rather than "bytes" objects) to the Python subprocess module.
  1042. Python 3 on Windows seems to require this. Fixes bug 26535; bugfix
  1043. on 0.2.5.5-alpha.
  1044. o Minor bugfixes (compatibility, openssl, backport from 0.3.4.2-alpha):
  1045. - Work around a change in OpenSSL 1.1.1 where return values that
  1046. would previously indicate "no password" now indicate an empty
  1047. password. Without this workaround, Tor instances running with
  1048. OpenSSL 1.1.1 would accept descriptors that other Tor instances
  1049. would reject. Fixes bug 26116; bugfix on 0.2.5.16.
  1050. o Minor bugfixes (documentation, backport from 0.3.3.5-rc):
  1051. - Document that the PerConnBW{Rate,Burst} options will fall back to
  1052. their corresponding consensus parameters only if those parameters
  1053. are set. Previously we had claimed that these values would always
  1054. be set in the consensus. Fixes bug 25296; bugfix on 0.2.2.7-alpha.
  1055. o Minor bugfixes (compilation, backport from 0.3.4.4-rc):
  1056. - Fix a compilation warning on some versions of GCC when building
  1057. code that calls routerinfo_get_my_routerinfo() twice, assuming
  1058. that the second call will succeed if the first one did. Fixes bug
  1059. 26269; bugfix on 0.2.8.2-alpha.
  1060. o Minor bugfixes (client, backport from 0.3.4.1-alpha):
  1061. - Don't consider Tor running as a client if the ControlPort is open,
  1062. but no actual client ports are open. Fixes bug 26062; bugfix
  1063. on 0.2.9.4-alpha.
  1064. o Minor bugfixes (hardening, backport from 0.3.4.2-alpha):
  1065. - Prevent a possible out-of-bounds smartlist read in
  1066. protover_compute_vote(). Fixes bug 26196; bugfix on 0.2.9.4-alpha.
  1067. o Minor bugfixes (C correctness, backport from 0.3.3.4-alpha):
  1068. - Fix a very unlikely (impossible, we believe) null pointer
  1069. dereference. Fixes bug 25629; bugfix on 0.2.9.15. Found by
  1070. Coverity; this is CID 1430932.
  1071. o Minor bugfixes (onion service, backport from 0.3.4.1-alpha):
  1072. - Fix a memory leak when a v3 onion service is configured and gets a
  1073. SIGHUP signal. Fixes bug 25901; bugfix on 0.3.2.1-alpha.
  1074. - When parsing the descriptor signature, look for the token plus an
  1075. extra white-space at the end. This is more correct but also will
  1076. allow us to support new fields that might start with "signature".
  1077. Fixes bug 26069; bugfix on 0.3.0.1-alpha.
  1078. o Minor bugfixes (relay, backport from 0.3.4.3-alpha):
  1079. - Relays now correctly block attempts to re-extend to the previous
  1080. relay by Ed25519 identity. Previously they would warn in this
  1081. case, but not actually reject the attempt. Fixes bug 26158; bugfix
  1082. on 0.3.0.1-alpha.
  1083. o Minor bugfixes (relay, crash, backport from 0.3.4.1-alpha):
  1084. - Avoid a crash when running with DirPort set but ORPort turned off.
  1085. Fixes a case of bug 23693; bugfix on 0.3.1.1-alpha.
  1086. o Minor bugfixes (compilation, backport from 0.3.4.2-alpha):
  1087. - Silence unused-const-variable warnings in zstd.h with some GCC
  1088. versions. Fixes bug 26272; bugfix on 0.3.1.1-alpha.
  1089. o Minor bugfixes (testing, backport from 0.3.3.4-alpha):
  1090. - Avoid intermittent test failures due to a test that had relied on
  1091. onion service introduction point creation finishing within 5
  1092. seconds of real clock time. Fixes bug 25450; bugfix
  1093. on 0.3.1.3-alpha.
  1094. o Minor bugfixes (compilation, backport from 0.3.3.4-alpha):
  1095. - Fix a C99 compliance issue in our configuration script that caused
  1096. compilation issues when compiling Tor with certain versions of
  1097. xtools. Fixes bug 25474; bugfix on 0.3.2.5-alpha.
  1098. o Minor bugfixes (memory, correctness, backport from 0.3.4.4-rc):
  1099. - Fix a number of small memory leaks identified by coverity. Fixes
  1100. bug 26467; bugfix on numerous Tor versions.
  1101. o Code simplification and refactoring (backport from 0.3.3.5-rc):
  1102. - Move the list of default directory authorities to its own file.
  1103. Closes ticket 24854. Patch by "beastr0".
  1104. Changes in version 0.2.9.16 - 2018-07-13
  1105. Tor 0.2.9.16 moves to a new bridge authority, meaning people running
  1106. bridge relays should upgrade. We also take this opportunity to backport
  1107. other minor fixes.
  1108. o Directory authority changes:
  1109. - The "Bifroest" bridge authority has been retired; the new bridge
  1110. authority is "Serge", and it is operated by George from the
  1111. TorBSD project. Closes ticket 26771.
  1112. o Directory authority changes (backport from 0.3.3.7):
  1113. - Add an IPv6 address for the "dannenberg" directory authority.
  1114. Closes ticket 26343.
  1115. o Major bugfixes (directory authorities, backport from 0.3.4.1-alpha):
  1116. - When directory authorities read a zero-byte bandwidth file, they
  1117. would previously log a warning with the contents of an
  1118. uninitialised buffer. They now log a warning about the empty file
  1119. instead. Fixes bug 26007; bugfix on 0.2.2.1-alpha.
  1120. o Minor features (sandbox, backport from 0.3.3.4-alpha):
  1121. - Explicitly permit the poll() system call when the Linux
  1122. seccomp2-based sandbox is enabled: apparently, some versions of
  1123. libc use poll() when calling getpwnam(). Closes ticket 25313.
  1124. o Minor features (continuous integration, backport from 0.3.4.1-alpha):
  1125. - Our .travis.yml configuration now includes support for testing the
  1126. results of "make distcheck". (It's not uncommon for "make check"
  1127. to pass but "make distcheck" to fail.) Closes ticket 25814.
  1128. - Our Travis CI configuration now integrates with the Coveralls
  1129. coverage analysis tool. Closes ticket 25818.
  1130. o Minor features (compilation, backport from 0.3.4.4-rc):
  1131. - When building Tor, prefer to use Python 3 over Python 2, and more
  1132. recent (contemplated) versions over older ones. Closes
  1133. ticket 26372.
  1134. o Minor features (geoip):
  1135. - Update geoip and geoip6 to the July 3 2018 Maxmind GeoLite2
  1136. Country database. Closes ticket 26674.
  1137. o Minor bugfixes (correctness, client, backport from 0.3.4.1-alpha):
  1138. - Upon receiving a malformed connected cell, stop processing the
  1139. cell immediately. Previously we would mark the connection for
  1140. close, but continue processing the cell as if the connection were
  1141. open. Fixes bug 26072; bugfix on 0.2.4.7-alpha.
  1142. o Minor bugfixes (Linux seccomp2 sandbox, backport from 0.3.4.1-alpha):
  1143. - Allow the nanosleep() system call, which glibc uses to implement
  1144. sleep() and usleep(). Fixes bug 24969; bugfix on 0.2.5.1-alpha.
  1145. o Minor bugfixes (testing, compatibility, backport from 0.3.4.4-rc):
  1146. - When running the ntor_ref.py test, make sure only to pass strings
  1147. (rather than "bytes" objects) to the Python subprocess module.
  1148. Python 3 on Windows seems to require this. Fixes bug 26535; bugfix
  1149. on 0.2.5.5-alpha.
  1150. o Minor bugfixes (compatibility, openssl, backport from 0.3.4.2-alpha):
  1151. - Work around a change in OpenSSL 1.1.1 where return values that
  1152. would previously indicate "no password" now indicate an empty
  1153. password. Without this workaround, Tor instances running with
  1154. OpenSSL 1.1.1 would accept descriptors that other Tor instances
  1155. would reject. Fixes bug 26116; bugfix on 0.2.5.16.
  1156. o Minor bugfixes (compilation, backport from 0.3.4.4-rc):
  1157. - Fix a compilation warning on some versions of GCC when building
  1158. code that calls routerinfo_get_my_routerinfo() twice, assuming
  1159. that the second call will succeed if the first one did. Fixes bug
  1160. 26269; bugfix on 0.2.8.2-alpha.
  1161. o Minor bugfixes (client, backport from 0.3.4.1-alpha):
  1162. - Don't consider Tor running as a client if the ControlPort is open,
  1163. but no actual client ports are open. Fixes bug 26062; bugfix
  1164. on 0.2.9.4-alpha.
  1165. o Minor bugfixes (hardening, backport from 0.3.4.2-alpha):
  1166. - Prevent a possible out-of-bounds smartlist read in
  1167. protover_compute_vote(). Fixes bug 26196; bugfix on 0.2.9.4-alpha.
  1168. o Minor bugfixes (C correctness, backport from 0.3.3.4-alpha):
  1169. - Fix a very unlikely (impossible, we believe) null pointer
  1170. dereference. Fixes bug 25629; bugfix on 0.2.9.15. Found by
  1171. Coverity; this is CID 1430932.
  1172. o Minor bugfixes (memory, correctness, backport from 0.3.4.4-rc):
  1173. - Fix a number of small memory leaks identified by coverity. Fixes
  1174. bug 26467; bugfix on numerous Tor versions.
  1175. o Code simplification and refactoring (backport from 0.3.3.5-rc):
  1176. - Move the list of default directory authorities to its own file.
  1177. Closes ticket 24854. Patch by "beastr0".
  1178. Changes in version 0.3.3.8 - 2018-07-09
  1179. Tor 0.3.3.8 backports several changes from the 0.3.4.x series, including
  1180. fixes for a memory leak affecting directory authorities.
  1181. o Major bugfixes (directory authority, backport from 0.3.4.3-alpha):
  1182. - Stop leaking memory on directory authorities when planning to
  1183. vote. This bug was crashing authorities by exhausting their
  1184. memory. Fixes bug 26435; bugfix on 0.3.3.6.
  1185. o Major bugfixes (rust, testing, backport from 0.3.4.3-alpha):
  1186. - Make sure that failing tests in Rust will actually cause the build
  1187. to fail: previously, they were ignored. Fixes bug 26258; bugfix
  1188. on 0.3.3.4-alpha.
  1189. o Minor features (compilation, backport from 0.3.4.4-rc):
  1190. - When building Tor, prefer to use Python 3 over Python 2, and more
  1191. recent (contemplated) versions over older ones. Closes
  1192. ticket 26372.
  1193. o Minor features (geoip):
  1194. - Update geoip and geoip6 to the July 3 2018 Maxmind GeoLite2
  1195. Country database. Closes ticket 26674.
  1196. o Minor features (relay, diagnostic, backport from 0.3.4.3-alpha):
  1197. - Add several checks to detect whether Tor relays are uploading
  1198. their descriptors without specifying why they regenerated them.
  1199. Diagnostic for ticket 25686.
  1200. o Minor bugfixes (circuit path selection, backport from 0.3.4.1-alpha):
  1201. - Don't count path selection failures as circuit build failures.
  1202. This change should eliminate cases where Tor blames its guard or
  1203. the network for situations like insufficient microdescriptors
  1204. and/or overly restrictive torrc settings. Fixes bug 25705; bugfix
  1205. on 0.3.3.1-alpha.
  1206. o Minor bugfixes (compilation, backport from 0.3.4.4-rc):
  1207. - Fix a compilation warning on some versions of GCC when building
  1208. code that calls routerinfo_get_my_routerinfo() twice, assuming
  1209. that the second call will succeed if the first one did. Fixes bug
  1210. 26269; bugfix on 0.2.8.2-alpha.
  1211. o Minor bugfixes (control port, backport from 0.3.4.4-rc):
  1212. - Handle the HSADDRESS= argument to the HSPOST command properly.
  1213. (Previously, this argument was misparsed and thus ignored.) Fixes
  1214. bug 26523; bugfix on 0.3.3.1-alpha. Patch by "akwizgran".
  1215. o Minor bugfixes (memory, correctness, backport from 0.3.4.4-rc):
  1216. - Fix a number of small memory leaks identified by coverity. Fixes
  1217. bug 26467; bugfix on numerous Tor versions.
  1218. o Minor bugfixes (relay, backport from 0.3.4.3-alpha):
  1219. - Relays now correctly block attempts to re-extend to the previous
  1220. relay by Ed25519 identity. Previously they would warn in this
  1221. case, but not actually reject the attempt. Fixes bug 26158; bugfix
  1222. on 0.3.0.1-alpha.
  1223. o Minor bugfixes (restart-in-process, backport from 0.3.4.1-alpha):
  1224. - When shutting down, Tor now clears all the flags in the control.c
  1225. module. This should prevent a bug where authentication cookies are
  1226. not generated on restart. Fixes bug 25512; bugfix on 0.3.3.1-alpha.
  1227. o Minor bugfixes (testing, compatibility, backport from 0.3.4.4-rc):
  1228. - When running the hs_ntor_ref.py test, make sure only to pass
  1229. strings (rather than "bytes" objects) to the Python subprocess
  1230. module. Python 3 on Windows seems to require this. Fixes bug
  1231. 26535; bugfix on 0.3.1.1-alpha.
  1232. - When running the ntor_ref.py test, make sure only to pass strings
  1233. (rather than "bytes" objects) to the Python subprocess module.
  1234. Python 3 on Windows seems to require this. Fixes bug 26535; bugfix
  1235. on 0.2.5.5-alpha.
  1236. Changes in version 0.3.3.7 - 2018-06-12
  1237. Tor 0.3.3.7 backports several changes from the 0.3.4.x series, including
  1238. fixes for bugs affecting compatibility and stability.
  1239. o Directory authority changes:
  1240. - Add an IPv6 address for the "dannenberg" directory authority.
  1241. Closes ticket 26343.
  1242. o Minor features (geoip):
  1243. - Update geoip and geoip6 to the June 7 2018 Maxmind GeoLite2
  1244. Country database. Closes ticket 26351.
  1245. o Minor bugfixes (compatibility, openssl, backport from 0.3.4.2-alpha):
  1246. - Work around a change in OpenSSL 1.1.1 where return values that
  1247. would previously indicate "no password" now indicate an empty
  1248. password. Without this workaround, Tor instances running with
  1249. OpenSSL 1.1.1 would accept descriptors that other Tor instances
  1250. would reject. Fixes bug 26116; bugfix on 0.2.5.16.
  1251. o Minor bugfixes (compilation, backport from 0.3.4.2-alpha):
  1252. - Silence unused-const-variable warnings in zstd.h with some GCC
  1253. versions. Fixes bug 26272; bugfix on 0.3.1.1-alpha.
  1254. o Minor bugfixes (controller, backport from 0.3.4.2-alpha):
  1255. - Improve accuracy of the BUILDTIMEOUT_SET control port event's
  1256. TIMEOUT_RATE and CLOSE_RATE fields. (We were previously
  1257. miscounting the total number of circuits for these field values.)
  1258. Fixes bug 26121; bugfix on 0.3.3.1-alpha.
  1259. o Minor bugfixes (hardening, backport from 0.3.4.2-alpha):
  1260. - Prevent a possible out-of-bounds smartlist read in
  1261. protover_compute_vote(). Fixes bug 26196; bugfix on 0.2.9.4-alpha.
  1262. o Minor bugfixes (path selection, backport from 0.3.4.1-alpha):
  1263. - Only select relays when they have the descriptors we prefer to use
  1264. for them. This change fixes a bug where we could select a relay
  1265. because it had _some_ descriptor, but reject it later with a
  1266. nonfatal assertion error because it didn't have the exact one we
  1267. wanted. Fixes bugs 25691 and 25692; bugfix on 0.3.3.4-alpha.
  1268. Changes in version 0.3.3.6 - 2018-05-22
  1269. Tor 0.3.3.6 is the first stable release in the 0.3.3 series. It
  1270. backports several important fixes from the 0.3.4.1-alpha.
  1271. The Tor 0.3.3 series includes controller support and other
  1272. improvements for v3 onion services, official support for embedding Tor
  1273. within other applications, and our first non-trivial module written in
  1274. the Rust programming language. (Rust is still not enabled by default
  1275. when building Tor.) And as usual, there are numerous other smaller
  1276. bugfixes, features, and improvements.
  1277. Below are the changes since 0.3.2.10. For a list of only the changes
  1278. since 0.3.3.5-rc, see the ChangeLog file.
  1279. o New system requirements:
  1280. - When built with Rust, Tor now depends on version 0.2.39 of the
  1281. libc crate. Closes tickets 25310 and 25664.
  1282. o Major features (embedding):
  1283. - There is now a documented stable API for programs that need to
  1284. embed Tor. See tor_api.h for full documentation and known bugs.
  1285. Closes ticket 23684.
  1286. - Tor now has support for restarting in the same process.
  1287. Controllers that run Tor using the "tor_api.h" interface can now
  1288. restart Tor after Tor has exited. This support is incomplete,
  1289. however: we fixed crash bugs that prevented it from working at
  1290. all, but many bugs probably remain, including a possibility of
  1291. security issues. Implements ticket 24581.
  1292. o Major features (IPv6, directory documents):
  1293. - Add consensus method 27, which adds IPv6 ORPorts to the microdesc
  1294. consensus. This information makes it easier for IPv6 clients to
  1295. bootstrap and choose reachable entry guards. Implements
  1296. ticket 23826.
  1297. - Add consensus method 28, which removes IPv6 ORPorts from
  1298. microdescriptors. Now that the consensus contains IPv6 ORPorts,
  1299. they are redundant in microdescs. This change will be used by Tor
  1300. clients on 0.2.8.x and later. (That is to say, with all Tor
  1301. clients that have IPv6 bootstrap and guard support.) Implements
  1302. ticket 23828.
  1303. - Expand the documentation for AuthDirHasIPv6Connectivity when it is
  1304. set by different numbers of authorities. Fixes 23870
  1305. on 0.2.4.1-alpha.
  1306. o Major features (onion service v3, control port):
  1307. - The control port now supports commands and events for v3 onion
  1308. services. It is now possible to create ephemeral v3 services using
  1309. ADD_ONION. Additionally, several events (HS_DESC, HS_DESC_CONTENT,
  1310. CIRC and CIRC_MINOR) and commands (GETINFO, HSPOST, ADD_ONION and
  1311. DEL_ONION) have been extended to support v3 onion services. Closes
  1312. ticket 20699; implements proposal 284.
  1313. o Major features (onion services):
  1314. - Provide torrc options to pin the second and third hops of onion
  1315. service circuits to a list of nodes. The option HSLayer2Guards
  1316. pins the second hop, and the option HSLayer3Guards pins the third
  1317. hop. These options are for use in conjunction with experiments
  1318. with "vanguards" for preventing guard enumeration attacks. Closes
  1319. ticket 13837.
  1320. - When v3 onion service clients send introduce cells, they now
  1321. include the IPv6 address of the rendezvous point, if it has one.
  1322. Current v3 onion services running 0.3.2 ignore IPv6 addresses, but
  1323. in future Tor versions, IPv6-only v3 single onion services will be
  1324. able to use IPv6 addresses to connect directly to the rendezvous
  1325. point. Closes ticket 23577. Patch by Neel Chauhan.
  1326. o Major features (relay):
  1327. - Implement an option, ReducedExitPolicy, to allow an Tor exit relay
  1328. operator to use a more reasonable ("reduced") exit policy, rather
  1329. than the default one. If you want to run an exit node without
  1330. thinking too hard about which ports to allow, this one is for you.
  1331. Closes ticket 13605. Patch from Neel Chauhan.
  1332. o Major features (rust, portability, experimental):
  1333. - Tor now ships with an optional implementation of one of its
  1334. smaller modules (protover.c) in the Rust programming language. To
  1335. try it out, install a Rust build environment, and configure Tor
  1336. with "--enable-rust --enable-cargo-online-mode". This should not
  1337. cause any user-visible changes, but should help us gain more
  1338. experience with Rust, and plan future Rust integration work.
  1339. Implementation by Chelsea Komlo. Closes ticket 22840.
  1340. o Major bugfixes (directory authorities, security, backport from 0.3.4.1-alpha):
  1341. - When directory authorities read a zero-byte bandwidth file, they
  1342. would previously log a warning with the contents of an
  1343. uninitialised buffer. They now log a warning about the empty file
  1344. instead. Fixes bug 26007; bugfix on 0.2.2.1-alpha.
  1345. o Major bugfixes (security, directory authority, denial-of-service):
  1346. - Fix a bug that could have allowed an attacker to force a directory
  1347. authority to use up all its RAM by passing it a maliciously
  1348. crafted protocol versions string. Fixes bug 25517; bugfix on
  1349. 0.2.9.4-alpha. This issue is also tracked as TROVE-2018-005.
  1350. o Major bugfixes (crash, backport from 0.3.4.1-alpha):
  1351. - Avoid a rare assertion failure in the circuit build timeout code
  1352. if we fail to allow any circuits to actually complete. Fixes bug
  1353. 25733; bugfix on 0.2.2.2-alpha.
  1354. o Major bugfixes (netflow padding):
  1355. - Stop adding unneeded channel padding right after we finish
  1356. flushing to a connection that has been trying to flush for many
  1357. seconds. Instead, treat all partial or complete flushes as
  1358. activity on the channel, which will defer the time until we need
  1359. to add padding. This fix should resolve confusing and scary log
  1360. messages like "Channel padding timeout scheduled 221453ms in the
  1361. past." Fixes bug 22212; bugfix on 0.3.1.1-alpha.
  1362. o Major bugfixes (networking):
  1363. - Tor will no longer reject IPv6 address strings from Tor Browser
  1364. when they are passed as hostnames in SOCKS5 requests. Fixes bug
  1365. 25036, bugfix on Tor 0.3.1.2.
  1366. o Major bugfixes (onion service, backport from 0.3.4.1-alpha):
  1367. - Correctly detect when onion services get disabled after HUP. Fixes
  1368. bug 25761; bugfix on 0.3.2.1.
  1369. o Major bugfixes (performance, load balancing):
  1370. - Directory authorities no longer vote in favor of the Guard flag
  1371. for relays without directory support. Starting in Tor
  1372. 0.3.0.1-alpha, clients have been avoiding using such relays in the
  1373. Guard position, leading to increasingly broken load balancing for
  1374. the 5%-or-so of Guards that don't advertise directory support.
  1375. Fixes bug 22310; bugfix on 0.3.0.6.
  1376. o Major bugfixes (relay):
  1377. - If we have failed to connect to a relay and received a connection
  1378. refused, timeout, or similar error (at the TCP level), do not try
  1379. that same address/port again for 60 seconds after the failure has
  1380. occurred. Fixes bug 24767; bugfix on 0.0.6.
  1381. o Major bugfixes (relay, denial of service, backport from 0.3.4.1-alpha):
  1382. - Impose a limit on circuit cell queue size. The limit can be
  1383. controlled by a consensus parameter. Fixes bug 25226; bugfix
  1384. on 0.2.4.14-alpha.
  1385. o Minor features (cleanup):
  1386. - Tor now deletes the CookieAuthFile and ExtORPortCookieAuthFile
  1387. when it stops. Closes ticket 23271.
  1388. o Minor features (compatibility, backport from 0.3.4.1-alpha):
  1389. - Avoid some compilation warnings with recent versions of LibreSSL.
  1390. Closes ticket 26006.
  1391. o Minor features (config options):
  1392. - Change the way the default value for MaxMemInQueues is calculated.
  1393. We now use 40% of the hardware RAM if the system has 8 GB RAM or
  1394. more. Otherwise we use the former value of 75%. Closes
  1395. ticket 24782.
  1396. o Minor features (continuous integration):
  1397. - Update the Travis CI configuration to use the stable Rust channel,
  1398. now that we have decided to require that. Closes ticket 25714.
  1399. o Minor features (continuous integration, backport from 0.3.4.1-alpha):
  1400. - Our .travis.yml configuration now includes support for testing the
  1401. results of "make distcheck". (It's not uncommon for "make check"
  1402. to pass but "make distcheck" to fail.) Closes ticket 25814.
  1403. - Our Travis CI configuration now integrates with the Coveralls
  1404. coverage analysis tool. Closes ticket 25818.
  1405. o Minor features (defensive programming):
  1406. - Most of the functions in Tor that free objects have been replaced
  1407. with macros that free the objects and set the corresponding
  1408. pointers to NULL. This change should help prevent a large class of
  1409. dangling pointer bugs. Closes ticket 24337.
  1410. - Where possible, the tor_free() macro now only evaluates its input
  1411. once. Part of ticket 24337.
  1412. - Check that microdesc ed25519 ids are non-zero in
  1413. node_get_ed25519_id() before returning them. Implements ticket
  1414. 24001, patch by "aruna1234".
  1415. o Minor features (directory authority):
  1416. - When directory authorities are unable to add signatures to a
  1417. pending consensus, log the reason why. Closes ticket 24849.
  1418. o Minor features (embedding):
  1419. - Tor can now start with a preauthenticated control connection
  1420. created by the process that launched it. This feature is meant for
  1421. use by programs that want to launch and manage a Tor process
  1422. without allowing other programs to manage it as well. For more
  1423. information, see the __OwningControllerFD option documented in
  1424. control-spec.txt. Closes ticket 23900.
  1425. - On most errors that would cause Tor to exit, it now tries to
  1426. return from the tor_main() function, rather than calling the
  1427. system exit() function. Most users won't notice a difference here,
  1428. but it should be significant for programs that run Tor inside a
  1429. separate thread: they should now be able to survive Tor's exit
  1430. conditions rather than having Tor shut down the entire process.
  1431. Closes ticket 23848.
  1432. - Applications that want to embed Tor can now tell Tor not to
  1433. register any of its own POSIX signal handlers, using the
  1434. __DisableSignalHandlers option. Closes ticket 24588.
  1435. o Minor features (fallback directory list):
  1436. - Avoid selecting fallbacks that change their IP addresses too
  1437. often. Select more fallbacks by ignoring the Guard flag, and
  1438. allowing lower cutoffs for the Running and V2Dir flags. Also allow
  1439. a lower bandwidth, and a higher number of fallbacks per operator
  1440. (5% of the list). Implements ticket 24785.
  1441. - Update the fallback whitelist and blacklist based on opt-ins and
  1442. relay changes. Closes tickets 22321, 24678, 22527, 24135,
  1443. and 24695.
  1444. o Minor features (fallback directory mirror configuration):
  1445. - Add a nickname to each fallback in a C comment. This makes it
  1446. easier for operators to find their relays, and allows stem to use
  1447. nicknames to identify fallbacks. Implements ticket 24600.
  1448. - Add a type and version header to the fallback directory mirror
  1449. file. Also add a delimiter to the end of each fallback entry. This
  1450. helps external parsers like stem and Relay Search. Implements
  1451. ticket 24725.
  1452. - Add an extrainfo cache flag for each fallback in a C comment. This
  1453. allows stem to use fallbacks to fetch extra-info documents, rather
  1454. than using authorities. Implements ticket 22759.
  1455. - Add the generateFallbackDirLine.py script for automatically
  1456. generating fallback directory mirror lines from relay fingerprints.
  1457. No more typos! Add the lookupFallbackDirContact.py script for
  1458. automatically looking up operator contact info from relay
  1459. fingerprints. Implements ticket 24706, patch by teor and atagar.
  1460. - Reject any fallback directory mirror that serves an expired
  1461. consensus. Implements ticket 20942, patch by "minik".
  1462. - Remove commas and equals signs from external string inputs to the
  1463. fallback list. This avoids format confusion attacks. Implements
  1464. ticket 24726.
  1465. - Remove the "weight=10" line from fallback directory mirror
  1466. entries. Ticket 24681 will maintain the current fallback weights
  1467. by changing Tor's default fallback weight to 10. Implements
  1468. ticket 24679.
  1469. - Stop logging excessive information about fallback netblocks.
  1470. Implements ticket 24791.
  1471. o Minor features (forward-compatibility):
  1472. - If a relay supports some link authentication protocol that we do
  1473. not recognize, then include that relay's ed25519 key when telling
  1474. other relays to extend to it. Previously, we treated future
  1475. versions as if they were too old to support ed25519 link
  1476. authentication. Closes ticket 20895.
  1477. o Minor features (geoip):
  1478. - Update geoip and geoip6 to the May 1 2018 Maxmind GeoLite2 Country
  1479. database. Closes ticket 26104.
  1480. o Minor features (heartbeat):
  1481. - Add onion service information to our heartbeat logs, displaying
  1482. stats about the activity of configured onion services. Closes
  1483. ticket 24896.
  1484. o Minor features (instrumentation, development):
  1485. - Add the MainloopStats option to allow developers to get
  1486. instrumentation information from the main event loop via the
  1487. heartbeat messages. We hope to use this to improve Tor's behavior
  1488. when it's trying to sleep. Closes ticket 24605.
  1489. o Minor features (IPv6):
  1490. - Make IPv6-only clients wait for microdescs for relays, even if we
  1491. were previously using descriptors (or were using them as a bridge)
  1492. and have a cached descriptor for them. Implements ticket 23827.
  1493. - When a consensus has IPv6 ORPorts, make IPv6-only clients use
  1494. them, rather than waiting to download microdescriptors. Implements
  1495. ticket 23827.
  1496. o Minor features (log messages):
  1497. - Improve log message in the out-of-memory handler to include
  1498. information about memory usage from the different compression
  1499. backends. Closes ticket 25372.
  1500. - Improve a warning message that happens when we fail to re-parse an
  1501. old router because of an expired certificate. Closes ticket 20020.
  1502. - Make the log more quantitative when we hit MaxMemInQueues
  1503. threshold exposing some values. Closes ticket 24501.
  1504. o Minor features (logging):
  1505. - Clarify the log messages produced when getrandom() or a related
  1506. entropy-generation mechanism gives an error. Closes ticket 25120.
  1507. - Added support for the Android logging subsystem. Closes
  1508. ticket 24362.
  1509. o Minor features (performance):
  1510. - Support predictive circuit building for onion service circuits
  1511. with multiple layers of guards. Closes ticket 23101.
  1512. - Use stdatomic.h where available, rather than mutexes, to implement
  1513. atomic_counter_t. Closes ticket 23953.
  1514. o Minor features (performance, 32-bit):
  1515. - Improve performance on 32-bit systems by avoiding 64-bit division
  1516. when calculating the timestamp in milliseconds for channel padding
  1517. computations. Implements ticket 24613.
  1518. - Improve performance on 32-bit systems by avoiding 64-bit division
  1519. when timestamping cells and buffer chunks for OOM calculations.
  1520. Implements ticket 24374.
  1521. o Minor features (performance, OSX, iOS):
  1522. - Use the mach_approximate_time() function (when available) to
  1523. implement coarse monotonic time. Having a coarse time function
  1524. should avoid a large number of system calls, and improve
  1525. performance slightly, especially under load. Closes ticket 24427.
  1526. o Minor features (performance, windows):
  1527. - Improve performance on Windows Vista and Windows 7 by adjusting
  1528. TCP send window size according to the recommendation from
  1529. SIO_IDEAL_SEND_BACKLOG_QUERY. Closes ticket 22798. Patch
  1530. from Vort.
  1531. o Minor features (sandbox):
  1532. - Explicitly permit the poll() system call when the Linux
  1533. seccomp2-based sandbox is enabled: apparently, some versions of
  1534. libc use poll() when calling getpwnam(). Closes ticket 25313.
  1535. o Minor features (storage, configuration):
  1536. - Users can store cached directory documents somewhere other than
  1537. the DataDirectory by using the CacheDirectory option. Similarly,
  1538. the storage location for relay's keys can be overridden with the
  1539. KeyDirectory option. Closes ticket 22703.
  1540. o Minor features (testing):
  1541. - Add a "make test-rust" target to run the rust tests only. Closes
  1542. ticket 25071.
  1543. o Minor features (testing, debugging, embedding):
  1544. - For development purposes, Tor now has a mode in which it runs for
  1545. a few seconds, then stops, and starts again without exiting the
  1546. process. This mode is meant to help us debug various issues with
  1547. ticket 23847. To use this feature, compile with
  1548. --enable-restart-debugging, and set the TOR_DEBUG_RESTART
  1549. environment variable. This is expected to crash a lot, and is
  1550. really meant for developers only. It will likely be removed in a
  1551. future release. Implements ticket 24583.
  1552. o Minor bugfixes (build, rust):
  1553. - Fix output of autoconf checks to display success messages for Rust
  1554. dependencies and a suitable rustc compiler version. Fixes bug
  1555. 24612; bugfix on 0.3.1.3-alpha.
  1556. - Don't pass the --quiet option to cargo: it seems to suppress some
  1557. errors, which is not what we want to do when building. Fixes bug
  1558. 24518; bugfix on 0.3.1.7.
  1559. - Build correctly when building from outside Tor's source tree with
  1560. the TOR_RUST_DEPENDENCIES option set. Fixes bug 22768; bugfix
  1561. on 0.3.1.7.
  1562. o Minor bugfixes (C correctness):
  1563. - Fix a very unlikely (impossible, we believe) null pointer
  1564. dereference. Fixes bug 25629; bugfix on 0.2.9.15. Found by
  1565. Coverity; this is CID 1430932.
  1566. o Minor bugfixes (channel, client):
  1567. - Better identify client connection when reporting to the geoip
  1568. client cache. Fixes bug 24904; bugfix on 0.3.1.7.
  1569. o Minor bugfixes (circuit, cannibalization):
  1570. - Don't cannibalize preemptively-built circuits if we no longer
  1571. recognize their first hop. This situation can happen if our Guard
  1572. relay went off the consensus after the circuit was created. Fixes
  1573. bug 24469; bugfix on 0.0.6.
  1574. o Minor bugfixes (client, backport from 0.3.4.1-alpha):
  1575. - Don't consider Tor running as a client if the ControlPort is open,
  1576. but no actual client ports are open. Fixes bug 26062; bugfix
  1577. on 0.2.9.4-alpha.
  1578. o Minor bugfixes (compilation):
  1579. - Fix a C99 compliance issue in our configuration script that caused
  1580. compilation issues when compiling Tor with certain versions of
  1581. xtools. Fixes bug 25474; bugfix on 0.3.2.5-alpha.
  1582. o Minor bugfixes (controller):
  1583. - Restore the correct operation of the RESOLVE command, which had
  1584. been broken since we added the ability to enable/disable DNS on
  1585. specific listener ports. Fixes bug 25617; bugfix on 0.2.9.3-alpha.
  1586. - Avoid a (nonfatal) assertion failure when extending a one-hop
  1587. circuit from the controller to become a multihop circuit. Fixes
  1588. bug 24903; bugfix on 0.2.5.2-alpha.
  1589. o Minor bugfixes (correctness):
  1590. - Remove a nonworking, unnecessary check to see whether a circuit
  1591. hop's identity digest was set when the circuit failed. Fixes bug
  1592. 24927; bugfix on 0.2.4.4-alpha.
  1593. o Minor bugfixes (correctness, client, backport from 0.3.4.1-alpha):
  1594. - Upon receiving a malformed connected cell, stop processing the
  1595. cell immediately. Previously we would mark the connection for
  1596. close, but continue processing the cell as if the connection were
  1597. open. Fixes bug 26072; bugfix on 0.2.4.7-alpha.
  1598. o Minor bugfixes (directory authorities, IPv6):
  1599. - When creating a routerstatus (vote) from a routerinfo (descriptor),
  1600. set the IPv6 address to the unspecified IPv6 address, and
  1601. explicitly initialize the port to zero. Fixes bug 24488; bugfix
  1602. on 0.2.4.1-alpha.
  1603. o Minor bugfixes (documentation):
  1604. - Document that the PerConnBW{Rate,Burst} options will fall back to
  1605. their corresponding consensus parameters only if those parameters
  1606. are set. Previously we had claimed that these values would always
  1607. be set in the consensus. Fixes bug 25296; bugfix on 0.2.2.7-alpha.
  1608. o Minor bugfixes (documentation, backport from 0.3.4.1-alpha):
  1609. - Stop saying in the manual that clients cache ipv4 dns answers from
  1610. exit relays. We haven't used them since 0.2.6.3-alpha, and in
  1611. ticket 24050 we stopped even caching them as of 0.3.2.6-alpha, but
  1612. we forgot to say so in the man page. Fixes bug 26052; bugfix
  1613. on 0.3.2.6-alpha.
  1614. o Minor bugfixes (exit relay DNS retries):
  1615. - Re-attempt timed-out DNS queries 3 times before failure, since our
  1616. timeout is 5 seconds for them, but clients wait 10-15. Also allow
  1617. slightly more timeouts per resolver when an exit has multiple
  1618. resolvers configured. Fixes bug 21394; bugfix on 0.3.1.9.
  1619. o Minor bugfixes (fallback directory mirrors):
  1620. - Make updateFallbackDirs.py search harder for python. (Some OSs
  1621. don't put it in /usr/bin.) Fixes bug 24708; bugfix
  1622. on 0.2.8.1-alpha.
  1623. o Minor bugfixes (hibernation, bandwidth accounting, shutdown):
  1624. - When hibernating, close connections normally and allow them to
  1625. flush. Fixes bug 23571; bugfix on 0.2.4.7-alpha. Also fixes
  1626. bug 7267.
  1627. - Do not attempt to launch self-reachability tests when entering
  1628. hibernation. Fixes a case of bug 12062; bugfix on 0.0.9pre5.
  1629. - Resolve several bugs related to descriptor fetching on bridge
  1630. clients with bandwidth accounting enabled. (This combination is
  1631. not recommended!) Fixes a case of bug 12062; bugfix
  1632. on 0.2.0.3-alpha.
  1633. - When hibernating, do not attempt to launch DNS checks. Fixes a
  1634. case of bug 12062; bugfix on 0.1.2.2-alpha.
  1635. - When hibernating, do not try to upload or download descriptors.
  1636. Fixes a case of bug 12062; bugfix on 0.0.9pre5.
  1637. o Minor bugfixes (IPv6, bridges):
  1638. - Tor now always sets IPv6 preferences for bridges. Fixes bug 24573;
  1639. bugfix on 0.2.8.2-alpha.
  1640. - Tor now sets IPv6 address in the routerstatus as well as in the
  1641. router descriptors when updating addresses for a bridge. Closes
  1642. ticket 24572; bugfix on 0.2.4.5-alpha. Patch by "ffmancera".
  1643. o Minor bugfixes (Linux seccomp2 sandbox):
  1644. - When running with the sandbox enabled, reload configuration files
  1645. correctly even when %include was used. Previously we would crash.
  1646. Fixes bug 22605; bugfix on 0.3.1. Patch from Daniel Pinto.
  1647. o Minor bugfixes (Linux seccomp2 sandbox, backport from 0.3.4.1-alpha):
  1648. - Allow the nanosleep() system call, which glibc uses to implement
  1649. sleep() and usleep(). Fixes bug 24969; bugfix on 0.2.5.1-alpha.
  1650. o Minor bugfixes (logging):
  1651. - Fix a (mostly harmless) race condition when invoking
  1652. LOG_PROTOCOL_WARN message from a subthread while the torrc options
  1653. are changing. Fixes bug 23954; bugfix on 0.1.1.9-alpha.
  1654. o Minor bugfixes (man page, SocksPort):
  1655. - Remove dead code from the old "SocksSocket" option, and rename
  1656. SocksSocketsGroupWritable to UnixSocksGroupWritable. The old
  1657. option still works, but is deprecated. Fixes bug 24343; bugfix
  1658. on 0.2.6.3.
  1659. o Minor bugfixes (memory leaks):
  1660. - Avoid possible at-exit memory leaks related to use of Libevent's
  1661. event_base_once() function. (This function tends to leak memory if
  1662. the event_base is closed before the event fires.) Fixes bug 24584;
  1663. bugfix on 0.2.8.1-alpha.
  1664. - Fix a harmless memory leak in tor-resolve. Fixes bug 24582; bugfix
  1665. on 0.2.1.1-alpha.
  1666. o Minor bugfixes (network IPv6 test):
  1667. - Tor's test scripts now check if "ping -6 ::1" works when the user
  1668. runs "make test-network-all". Fixes bug 24677; bugfix on
  1669. 0.2.9.3-alpha. Patch by "ffmancera".
  1670. o Minor bugfixes (networking):
  1671. - string_is_valid_hostname() will not consider IP strings to be
  1672. valid hostnames. Fixes bug 25055; bugfix on Tor 0.2.5.5.
  1673. o Minor bugfixes (onion service v3):
  1674. - Avoid an assertion failure when the next onion service descriptor
  1675. rotation type is out of sync with the consensus's valid-after
  1676. time. Instead, log a warning message with extra information, so we
  1677. can better hunt down the cause of this assertion. Fixes bug 25306;
  1678. bugfix on 0.3.2.1-alpha.
  1679. o Minor bugfixes (onion service, backport from 0.3.4.1-alpha):
  1680. - Fix a memory leak when a v3 onion service is configured and gets a
  1681. SIGHUP signal. Fixes bug 25901; bugfix on 0.3.2.1-alpha.
  1682. - When parsing the descriptor signature, look for the token plus an
  1683. extra white-space at the end. This is more correct but also will
  1684. allow us to support new fields that might start with "signature".
  1685. Fixes bug 26069; bugfix on 0.3.0.1-alpha.
  1686. o Minor bugfixes (onion services):
  1687. - If we are configured to offer a single onion service, don't log
  1688. long-term established one hop rendezvous points in the heartbeat.
  1689. Fixes bug 25116; bugfix on 0.2.9.6-rc.
  1690. o Minor bugfixes (performance):
  1691. - Reduce the number of circuits that will be opened at once during
  1692. the circuit build timeout phase. This is done by increasing the
  1693. idle timeout to 3 minutes, and lowering the maximum number of
  1694. concurrent learning circuits to 10. Fixes bug 24769; bugfix
  1695. on 0.3.1.1-alpha.
  1696. - Avoid calling protocol_list_supports_protocol() from inside tight
  1697. loops when running with cached routerinfo_t objects. Instead,
  1698. summarize the relevant protocols as flags in the routerinfo_t, as
  1699. we do for routerstatus_t objects. This change simplifies our code
  1700. a little, and saves a large amount of short-term memory allocation
  1701. operations. Fixes bug 25008; bugfix on 0.2.9.4-alpha.
  1702. o Minor bugfixes (performance, timeouts):
  1703. - Consider circuits for timeout as soon as they complete a hop. This
  1704. is more accurate than applying the timeout in
  1705. circuit_expire_building() because that function is only called
  1706. once per second, which is now too slow for typical timeouts on the
  1707. current network. Fixes bug 23114; bugfix on 0.2.2.2-alpha.
  1708. - Use onion service circuits (and other circuits longer than 3 hops)
  1709. to calculate a circuit build timeout. Previously, Tor only
  1710. calculated its build timeout based on circuits that planned to be
  1711. exactly 3 hops long. With this change, we include measurements
  1712. from all circuits at the point where they complete their third
  1713. hop. Fixes bug 23100; bugfix on 0.2.2.2-alpha.
  1714. o Minor bugfixes (relay, crash, backport from 0.3.4.1-alpha):
  1715. - Avoid a crash when running with DirPort set but ORPort turned off.
  1716. Fixes a case of bug 23693; bugfix on 0.3.1.1-alpha.
  1717. o Minor bugfixes (Rust FFI):
  1718. - Fix a minor memory leak which would happen whenever the C code
  1719. would call the Rust implementation of
  1720. protover_get_supported_protocols(). This was due to the C version
  1721. returning a static string, whereas the Rust version newly allocated
  1722. a CString to pass across the FFI boundary. Consequently, the C
  1723. code was not expecting to need to free() what it was given. Fixes
  1724. bug 25127; bugfix on 0.3.2.1-alpha.
  1725. o Minor bugfixes (spelling):
  1726. - Use the "misspell" tool to detect and fix typos throughout the
  1727. source code. Fixes bug 23650; bugfix on various versions of Tor.
  1728. Patch from Deepesh Pathak.
  1729. o Minor bugfixes (testing):
  1730. - Avoid intermittent test failures due to a test that had relied on
  1731. onion service introduction point creation finishing within 5
  1732. seconds of real clock time. Fixes bug 25450; bugfix
  1733. on 0.3.1.3-alpha.
  1734. - Give out Exit flags in bootstrapping networks. Fixes bug 24137;
  1735. bugfix on 0.2.3.1-alpha.
  1736. o Minor bugfixes (unit test, monotonic time):
  1737. - Increase a constant (1msec to 10msec) in the monotonic time test
  1738. that makes sure the nsec/usec/msec times read are synchronized.
  1739. This change was needed to accommodate slow systems like armel or
  1740. when the clock_gettime() is not a VDSO on the running kernel.
  1741. Fixes bug 25113; bugfix on 0.2.9.1.
  1742. o Code simplification and refactoring:
  1743. - Move the list of default directory authorities to its own file.
  1744. Closes ticket 24854. Patch by "beastr0".
  1745. - Remove the old (deterministic) directory retry logic entirely:
  1746. We've used exponential backoff exclusively for some time. Closes
  1747. ticket 23814.
  1748. - Remove the unused nodelist_recompute_all_hsdir_indices(). Closes
  1749. ticket 25108.
  1750. - Remove a series of counters used to track circuit extend attempts
  1751. and connection status but that in reality we aren't using for
  1752. anything other than stats logged by a SIGUSR1 signal. Closes
  1753. ticket 25163.
  1754. - Remove /usr/athena from search path in configure.ac. Closes
  1755. ticket 24363.
  1756. - Remove duplicate code in node_has_curve25519_onion_key() and
  1757. node_get_curve25519_onion_key(), and add a check for a zero
  1758. microdesc curve25519 onion key. Closes ticket 23966, patch by
  1759. "aruna1234" and teor.
  1760. - Rewrite channel_rsa_id_group_set_badness to reduce temporary
  1761. memory allocations with large numbers of OR connections (e.g.
  1762. relays). Closes ticket 24119.
  1763. - Separate the function that deletes ephemeral files when Tor
  1764. stops gracefully.
  1765. - Small changes to Tor's buf_t API to make it suitable for use as a
  1766. general-purpose safe string constructor. Closes ticket 22342.
  1767. - Switch -Wnormalized=id to -Wnormalized=nfkc in configure.ac to
  1768. avoid source code identifier confusion. Closes ticket 24467.
  1769. - The tor_git_revision[] constant no longer needs to be redeclared
  1770. by everything that links against the rest of Tor. Done as part of
  1771. ticket 23845, to simplify our external API.
  1772. - We make extend_info_from_node() use node_get_curve25519_onion_key()
  1773. introduced in ticket 23577 to access the curve25519 public keys
  1774. rather than accessing it directly. Closes ticket 23760. Patch by
  1775. Neel Chauhan.
  1776. - Add a function to log channels' scheduler state changes to aid
  1777. debugging efforts. Closes ticket 24531.
  1778. o Documentation:
  1779. - Improved the documentation of AccountingStart parameter. Closes
  1780. ticket 23635.
  1781. - Update the documentation for "Log" to include the current list of
  1782. logging domains. Closes ticket 25378.
  1783. - Add documentation on how to build tor with Rust dependencies
  1784. without having to be online. Closes ticket 22907; bugfix
  1785. on 0.3.0.3-alpha.
  1786. - Clarify the behavior of RelayBandwidth{Rate,Burst} with client
  1787. traffic. Closes ticket 24318.
  1788. - Document that OutboundBindAddress doesn't apply to DNS requests.
  1789. Closes ticket 22145. Patch from Aruna Maurya.
  1790. o Code simplification and refactoring (channels):
  1791. - Remove the incoming and outgoing channel queues. These were never
  1792. used, but still took up a step in our fast path.
  1793. - The majority of the channel unit tests have been rewritten and the
  1794. code coverage has now been raised to 83.6% for channel.c. Closes
  1795. ticket 23709.
  1796. - Remove other dead code from the channel subsystem: All together,
  1797. this cleanup has removed more than 1500 lines of code overall and
  1798. adding very little except for unit test.
  1799. o Code simplification and refactoring (circuit rendezvous):
  1800. - Split the client-side rendezvous circuit lookup into two
  1801. functions: one that returns only established circuits and another
  1802. that returns all kinds of circuits. Closes ticket 23459.
  1803. o Code simplification and refactoring (controller):
  1804. - Make most of the variables in networkstatus_getinfo_by_purpose()
  1805. const. Implements ticket 24489.
  1806. o Documentation (backport from 0.3.4.1-alpha):
  1807. - Correct an IPv6 error in the documentation for ExitPolicy. Closes
  1808. ticket 25857. Patch from "CTassisF".
  1809. o Documentation (man page):
  1810. - The HiddenServiceVersion torrc option accepts only one number:
  1811. either version 2 or 3. Closes ticket 25026; bugfix
  1812. on 0.3.2.2-alpha.
  1813. o Documentation (manpage, denial of service):
  1814. - Provide more detail about the denial-of-service options, by
  1815. listing each mitigation and explaining how they relate. Closes
  1816. ticket 25248.
  1817. Changes in version 0.3.1.10 - 2018-03-03
  1818. Tor 0.3.1.10 backports a number of bugfixes, including important fixes for
  1819. security issues.
  1820. It includes an important security fix for a remote crash attack
  1821. against directory authorities, tracked as TROVE-2018-001.
  1822. This release also backports our new system for improved resistance to
  1823. denial-of-service attacks against relays.
  1824. This release also fixes several minor bugs and annoyances from
  1825. earlier releases.
  1826. All directory authorities should upgrade to one of the versions
  1827. released today. Relays running 0.3.1.x may wish to update to one of
  1828. the versions released today, for the DoS mitigations.
  1829. Please note: according to our release calendar, Tor 0.3.1 will no
  1830. longer be supported after 1 July 2018. If you will be running Tor
  1831. after that date, you should make sure to plan to upgrade to the latest
  1832. stable version, or downgrade to 0.2.9 (which will receive long-term
  1833. support).
  1834. o Major bugfixes (denial-of-service, directory authority, backport from 0.3.3.3-alpha):
  1835. - Fix a protocol-list handling bug that could be used to remotely crash
  1836. directory authorities with a null-pointer exception. Fixes bug 25074;
  1837. bugfix on 0.2.9.4-alpha. Also tracked as TROVE-2018-001 and
  1838. CVE-2018-0490.
  1839. o Major features (denial-of-service mitigation, backport from 0.3.3.2-alpha):
  1840. - Give relays some defenses against the recent network overload. We
  1841. start with three defenses (default parameters in parentheses).
  1842. First: if a single client address makes too many concurrent
  1843. connections (>100), hang up on further connections. Second: if a
  1844. single client address makes circuits too quickly (more than 3 per
  1845. second, with an allowed burst of 90) while also having too many
  1846. connections open (3), refuse new create cells for the next while
  1847. (1-2 hours). Third: if a client asks to establish a rendezvous
  1848. point to you directly, ignore the request. These defenses can be
  1849. manually controlled by new torrc options, but relays will also
  1850. take guidance from consensus parameters, so there's no need to
  1851. configure anything manually. Implements ticket 24902.
  1852. o Minor features (linux seccomp2 sandbox, backport from 0.3.2.5-alpha):
  1853. - Update the sandbox rules so that they should now work correctly
  1854. with Glibc 2.26. Closes ticket 24315.
  1855. o Major bugfixes (onion services, retry behavior, backport from 0.3.3.1-alpha):
  1856. - Fix an "off by 2" error in counting rendezvous failures on the
  1857. onion service side. While we thought we would stop the rendezvous
  1858. attempt after one failed circuit, we were actually making three
  1859. circuit attempts before giving up. Now switch to a default of 2,
  1860. and allow the consensus parameter "hs_service_max_rdv_failures" to
  1861. override. Fixes bug 24895; bugfix on 0.0.6.
  1862. o Major bugfixes (protocol versions, backport from 0.3.3.2-alpha):
  1863. - Add Link protocol version 5 to the supported protocols list. Fixes
  1864. bug 25070; bugfix on 0.3.1.1-alpha.
  1865. o Major bugfixes (relay, backport from 0.3.3.1-alpha):
  1866. - Fix a set of false positives where relays would consider
  1867. connections to other relays as being client-only connections (and
  1868. thus e.g. deserving different link padding schemes) if those
  1869. relays fell out of the consensus briefly. Now we look only at the
  1870. initial handshake and whether the connection authenticated as a
  1871. relay. Fixes bug 24898; bugfix on 0.3.1.1-alpha.
  1872. o Minor features (denial-of-service avoidance, backport from 0.3.3.2-alpha):
  1873. - Make our OOM handler aware of the geoip client history cache so it
  1874. doesn't fill up the memory. This check is important for IPv6 and
  1875. our DoS mitigation subsystem. Closes ticket 25122.
  1876. o Minor feature (relay statistics, backport from 0.3.2.6-alpha):
  1877. - Change relay bandwidth reporting stats interval from 4 hours to 24
  1878. hours in order to reduce the efficiency of guard discovery
  1879. attacks. Fixes ticket 23856.
  1880. o Minor features (compatibility, OpenSSL, backport from 0.3.3.3-alpha):
  1881. - Tor will now support TLS1.3 once OpenSSL 1.1.1 is released.
  1882. Previous versions of Tor would not have worked with OpenSSL 1.1.1,
  1883. since they neither disabled TLS 1.3 nor enabled any of the
  1884. ciphersuites it requires. Now we enable the TLS 1.3 ciphersuites.
  1885. Closes ticket 24978.
  1886. o Minor features (fallback directory mirrors, backport from 0.3.2.9):
  1887. - The fallback directory list has been re-generated based on the
  1888. current status of the network. Tor uses fallback directories to
  1889. bootstrap when it doesn't yet have up-to-date directory
  1890. information. Closes ticket 24801.
  1891. - Make the default DirAuthorityFallbackRate 0.1, so that clients
  1892. prefer to bootstrap from fallback directory mirrors. This is a
  1893. follow-up to 24679, which removed weights from the default
  1894. fallbacks. Implements ticket 24681.
  1895. o Minor features (geoip):
  1896. - Update geoip and geoip6 to the February 7 2018 Maxmind GeoLite2
  1897. Country database.
  1898. o Minor bugfix (channel connection, backport from 0.3.3.2-alpha):
  1899. - Use the actual observed address of an incoming relay connection,
  1900. not the canonical address of the relay from its descriptor, when
  1901. making decisions about how to handle the incoming connection.
  1902. Fixes bug 24952; bugfix on 0.2.4.11-alpha. Patch by "ffmancera".
  1903. o Minor bugfix (directory authority, backport from 0.3.3.2-alpha):
  1904. - Directory authorities, when refusing a descriptor from a rejected
  1905. relay, now explicitly tell the relay (in its logs) to set a valid
  1906. ContactInfo address and contact the bad-relays@ mailing list.
  1907. Fixes bug 25170; bugfix on 0.2.9.1.
  1908. o Minor bugfixes (address selection, backport from 0.3.2.9):
  1909. - When the fascist_firewall_choose_address_ functions don't find a
  1910. reachable address, set the returned address to the null address
  1911. and port. This is a precautionary measure, because some callers do
  1912. not check the return value. Fixes bug 24736; bugfix
  1913. on 0.2.8.2-alpha.
  1914. o Major bugfixes (bootstrapping, backport from 0.3.2.5-alpha):
  1915. - Fetch descriptors aggressively whenever we lack enough to build
  1916. circuits, regardless of how many descriptors we are missing.
  1917. Previously, we would delay launching the fetch when we had fewer
  1918. than 15 missing descriptors, even if some of those descriptors
  1919. were blocking circuits from building. Fixes bug 23985; bugfix on
  1920. 0.1.1.11-alpha. The effects of this bug became worse in
  1921. 0.3.0.3-alpha, when we began treating missing descriptors from our
  1922. primary guards as a reason to delay circuits.
  1923. - Don't try fetching microdescriptors from relays that have failed
  1924. to deliver them in the past. Fixes bug 23817; bugfix
  1925. on 0.3.0.1-alpha.
  1926. o Minor bugfixes (compilation, backport from 0.3.2.7-rc):
  1927. - Fix a signed/unsigned comparison warning introduced by our fix to
  1928. TROVE-2017-009. Fixes bug 24480; bugfix on 0.2.5.16.
  1929. o Minor bugfixes (control port, linux seccomp2 sandbox, backport from 0.3.2.5-alpha):
  1930. - Avoid a crash when attempting to use the seccomp2 sandbox together
  1931. with the OwningControllerProcess feature. Fixes bug 24198; bugfix
  1932. on 0.2.5.1-alpha.
  1933. o Minor bugfixes (denial-of-service, backport from 0.3.3.3-alpha):
  1934. - Fix a possible crash on malformed consensus. If a consensus had
  1935. contained an unparseable protocol line, it could have made clients
  1936. and relays crash with a null-pointer exception. To exploit this
  1937. issue, however, an attacker would need to be able to subvert the
  1938. directory authority system. Fixes bug 25251; bugfix on
  1939. 0.2.9.4-alpha. Also tracked as TROVE-2018-004.
  1940. o Minor bugfixes (directory cache, backport from 0.3.2.5-alpha):
  1941. - Recover better from empty or corrupt files in the consensus cache
  1942. directory. Fixes bug 24099; bugfix on 0.3.1.1-alpha.
  1943. - When a consensus diff calculation is only partially successful,
  1944. only record the successful parts as having succeeded. Partial
  1945. success can happen if (for example) one compression method fails
  1946. but the others succeed. Previously we misrecorded all the
  1947. calculations as having succeeded, which would later cause a
  1948. nonfatal assertion failure. Fixes bug 24086; bugfix
  1949. on 0.3.1.1-alpha.
  1950. o Minor bugfixes (entry guards, backport from 0.3.2.3-alpha):
  1951. - Tor now updates its guard state when it reads a consensus
  1952. regardless of whether it's missing descriptors. That makes tor use
  1953. its primary guards to fetch descriptors in some edge cases where
  1954. it would previously have used fallback directories. Fixes bug
  1955. 23862; bugfix on 0.3.0.1-alpha.
  1956. o Minor bugfixes (logging, backport from 0.3.3.2-alpha):
  1957. - Don't treat inability to store a cached consensus object as a bug:
  1958. it can happen normally when we are out of disk space. Fixes bug
  1959. 24859; bugfix on 0.3.1.1-alpha.
  1960. o Minor bugfixes (memory usage, backport from 0.3.2.8-rc):
  1961. - When queuing DESTROY cells on a channel, only queue the circuit-id
  1962. and reason fields: not the entire 514-byte cell. This fix should
  1963. help mitigate any bugs or attacks that fill up these queues, and
  1964. free more RAM for other uses. Fixes bug 24666; bugfix
  1965. on 0.2.5.1-alpha.
  1966. o Minor bugfixes (network layer, backport from 0.3.2.5-alpha):
  1967. - When closing a connection via close_connection_immediately(), we
  1968. mark it as "not blocked on bandwidth", to prevent later calls from
  1969. trying to unblock it, and give it permission to read. This fixes a
  1970. backtrace warning that can happen on relays under various
  1971. circumstances. Fixes bug 24167; bugfix on 0.1.0.1-rc.
  1972. o Minor bugfixes (path selection, backport from 0.3.2.4-alpha):
  1973. - When selecting relays by bandwidth, avoid a rounding error that
  1974. could sometimes cause load to be imbalanced incorrectly.
  1975. Previously, we would always round upwards; now, we round towards
  1976. the nearest integer. This had the biggest effect when a relay's
  1977. weight adjustments should have given it weight 0, but it got
  1978. weight 1 instead. Fixes bug 23318; bugfix on 0.2.4.3-alpha.
  1979. - When calculating the fraction of nodes that have descriptors, and
  1980. all nodes in the network have zero bandwidths, count the number of
  1981. nodes instead. Fixes bug 23318; bugfix on 0.2.4.10-alpha.
  1982. - Actually log the total bandwidth in compute_weighted_bandwidths().
  1983. Fixes bug 24170; bugfix on 0.2.4.3-alpha.
  1984. o Minor bugfixes (performance, fragile-hardening, backport from 0.3.3.1-alpha):
  1985. - Improve the performance of our consensus-diff application code
  1986. when Tor is built with the --enable-fragile-hardening option set.
  1987. Fixes bug 24826; bugfix on 0.3.1.1-alpha.
  1988. o Minor bugfixes (OSX, backport from 0.3.3.1-alpha):
  1989. - Don't exit the Tor process if setrlimit() fails to change the file
  1990. limit (which can happen sometimes on some versions of OSX). Fixes
  1991. bug 21074; bugfix on 0.0.9pre5.
  1992. o Minor bugfixes (portability, msvc, backport from 0.3.2.9):
  1993. - Fix a bug in the bit-counting parts of our timing-wheel code on
  1994. MSVC. (Note that MSVC is still not a supported build platform, due
  1995. to cyptographic timing channel risks.) Fixes bug 24633; bugfix
  1996. on 0.2.9.1-alpha.
  1997. o Minor bugfixes (relay, partial backport):
  1998. - Make the internal channel_is_client() function look at what sort
  1999. of connection handshake the other side used, rather than whether
  2000. the other side ever sent a create_fast cell to us. Backports part
  2001. of the fixes from bugs 22805 and 24898.
  2002. o Minor bugfixes (spec conformance, backport from 0.3.3.3-alpha):
  2003. - Forbid "-0" as a protocol version. Fixes part of bug 25249; bugfix on
  2004. 0.2.9.4-alpha.
  2005. - Forbid UINT32_MAX as a protocol version. Fixes part of bug 25249;
  2006. bugfix on 0.2.9.4-alpha.
  2007. o Code simplification and refactoring (backport from 0.3.3.3-alpha):
  2008. - Update the "rust dependencies" submodule to be a project-level
  2009. repository, rather than a user repository. Closes ticket 25323.
  2010. Changes in version 0.2.9.15 - 2018-03-03
  2011. Tor 0.2.9.15 backports important security and stability bugfixes from
  2012. later Tor releases.
  2013. It includes an important security fix for a remote crash attack
  2014. against directory authorities, tracked as TROVE-2018-001.
  2015. This release also backports our new system for improved resistance to
  2016. denial-of-service attacks against relays.
  2017. This release also fixes several minor bugs and annoyances from
  2018. earlier releases.
  2019. All directory authorities should upgrade to one of the versions
  2020. released today. Relays running 0.2.9.x may wish to update to one of
  2021. the versions released today, for the DoS mitigations.
  2022. o Major bugfixes (denial-of-service, directory authority, backport from 0.3.3.3-alpha):
  2023. - Fix a protocol-list handling bug that could be used to remotely crash
  2024. directory authorities with a null-pointer exception. Fixes bug 25074;
  2025. bugfix on 0.2.9.4-alpha. Also tracked as TROVE-2018-001 and
  2026. CVE-2018-0490.
  2027. o Major features (denial-of-service mitigation):
  2028. - Give relays some defenses against the recent network overload. We
  2029. start with three defenses (default parameters in parentheses).
  2030. First: if a single client address makes too many concurrent
  2031. connections (>100), hang up on further connections. Second: if a
  2032. single client address makes circuits too quickly (more than 3 per
  2033. second, with an allowed burst of 90) while also having too many
  2034. connections open (3), refuse new create cells for the next while
  2035. (1-2 hours). Third: if a client asks to establish a rendezvous
  2036. point to you directly, ignore the request. These defenses can be
  2037. manually controlled by new torrc options, but relays will also
  2038. take guidance from consensus parameters, so there's no need to
  2039. configure anything manually. Implements ticket 24902.
  2040. o Major bugfixes (bootstrapping):
  2041. - Fetch descriptors aggressively whenever we lack enough to build
  2042. circuits, regardless of how many descriptors we are missing.
  2043. Previously, we would delay launching the fetch when we had fewer
  2044. than 15 missing descriptors, even if some of those descriptors
  2045. were blocking circuits from building. Fixes bug 23985; bugfix on
  2046. 0.1.1.11-alpha. The effects of this bug became worse in
  2047. 0.3.0.3-alpha, when we began treating missing descriptors from our
  2048. primary guards as a reason to delay circuits.
  2049. o Major bugfixes (onion services, retry behavior):
  2050. - Fix an "off by 2" error in counting rendezvous failures on the
  2051. onion service side. While we thought we would stop the rendezvous
  2052. attempt after one failed circuit, we were actually making three
  2053. circuit attempts before giving up. Now switch to a default of 2,
  2054. and allow the consensus parameter "hs_service_max_rdv_failures" to
  2055. override. Fixes bug 24895; bugfix on 0.0.6.
  2056. o Minor feature (relay statistics):
  2057. - Change relay bandwidth reporting stats interval from 4 hours to 24
  2058. hours in order to reduce the efficiency of guard discovery
  2059. attacks. Fixes ticket 23856.
  2060. o Minor features (compatibility, OpenSSL):
  2061. - Tor will now support TLS1.3 once OpenSSL 1.1.1 is released.
  2062. Previous versions of Tor would not have worked with OpenSSL 1.1.1,
  2063. since they neither disabled TLS 1.3 nor enabled any of the
  2064. ciphersuites it requires. Now we enable the TLS 1.3 ciphersuites.
  2065. Closes ticket 24978.
  2066. o Minor features (denial-of-service avoidance):
  2067. - Make our OOM handler aware of the geoip client history cache so it
  2068. doesn't fill up the memory. This check is important for IPv6 and
  2069. our DoS mitigation subsystem. Closes ticket 25122.
  2070. o Minor features (fallback directory mirrors):
  2071. - The fallback directory list has been re-generated based on the
  2072. current status of the network. Tor uses fallback directories to
  2073. bootstrap when it doesn't yet have up-to-date directory
  2074. information. Closes ticket 24801.
  2075. - Make the default DirAuthorityFallbackRate 0.1, so that clients
  2076. prefer to bootstrap from fallback directory mirrors. This is a
  2077. follow-up to 24679, which removed weights from the default
  2078. fallbacks. Implements ticket 24681.
  2079. o Minor features (geoip):
  2080. - Update geoip and geoip6 to the February 7 2018 Maxmind GeoLite2
  2081. Country database.
  2082. o Minor features (linux seccomp2 sandbox):
  2083. - Update the sandbox rules so that they should now work correctly
  2084. with Glibc 2.26. Closes ticket 24315.
  2085. o Minor bugfix (channel connection):
  2086. - Use the actual observed address of an incoming relay connection,
  2087. not the canonical address of the relay from its descriptor, when
  2088. making decisions about how to handle the incoming connection.
  2089. Fixes bug 24952; bugfix on 0.2.4.11-alpha. Patch by "ffmancera".
  2090. o Minor bugfix (directory authority):
  2091. - Directory authorities, when refusing a descriptor from a rejected
  2092. relay, now explicitly tell the relay (in its logs) to set a valid
  2093. ContactInfo address and contact the bad-relays@ mailing list.
  2094. Fixes bug 25170; bugfix on 0.2.9.1.
  2095. o Minor bugfixes (address selection):
  2096. - When the fascist_firewall_choose_address_ functions don't find a
  2097. reachable address, set the returned address to the null address
  2098. and port. This is a precautionary measure, because some callers do
  2099. not check the return value. Fixes bug 24736; bugfix
  2100. on 0.2.8.2-alpha.
  2101. o Minor bugfixes (compilation):
  2102. - Fix a signed/unsigned comparison warning introduced by our fix to
  2103. TROVE-2017-009. Fixes bug 24480; bugfix on 0.2.5.16.
  2104. o Minor bugfixes (control port, linux seccomp2 sandbox):
  2105. - Avoid a crash when attempting to use the seccomp2 sandbox together
  2106. with the OwningControllerProcess feature. Fixes bug 24198; bugfix
  2107. on 0.2.5.1-alpha.
  2108. o Minor bugfixes (denial-of-service, backport from 0.3.3.3-alpha):
  2109. - Fix a possible crash on malformed consensus. If a consensus had
  2110. contained an unparseable protocol line, it could have made clients
  2111. and relays crash with a null-pointer exception. To exploit this
  2112. issue, however, an attacker would need to be able to subvert the
  2113. directory authority system. Fixes bug 25251; bugfix on
  2114. 0.2.9.4-alpha. Also tracked as TROVE-2018-004.
  2115. o Minor bugfixes (memory usage):
  2116. - When queuing DESTROY cells on a channel, only queue the circuit-id
  2117. and reason fields: not the entire 514-byte cell. This fix should
  2118. help mitigate any bugs or attacks that fill up these queues, and
  2119. free more RAM for other uses. Fixes bug 24666; bugfix
  2120. on 0.2.5.1-alpha.
  2121. o Minor bugfixes (network layer):
  2122. - When closing a connection via close_connection_immediately(), we
  2123. mark it as "not blocked on bandwidth", to prevent later calls from
  2124. trying to unblock it, and give it permission to read. This fixes a
  2125. backtrace warning that can happen on relays under various
  2126. circumstances. Fixes bug 24167; bugfix on 0.1.0.1-rc.
  2127. o Minor bugfixes (OSX):
  2128. - Don't exit the Tor process if setrlimit() fails to change the file
  2129. limit (which can happen sometimes on some versions of OSX). Fixes
  2130. bug 21074; bugfix on 0.0.9pre5.
  2131. o Minor bugfixes (path selection):
  2132. - When selecting relays by bandwidth, avoid a rounding error that
  2133. could sometimes cause load to be imbalanced incorrectly.
  2134. Previously, we would always round upwards; now, we round towards
  2135. the nearest integer. This had the biggest effect when a relay's
  2136. weight adjustments should have given it weight 0, but it got
  2137. weight 1 instead. Fixes bug 23318; bugfix on 0.2.4.3-alpha.
  2138. - When calculating the fraction of nodes that have descriptors, and
  2139. all nodes in the network have zero bandwidths, count the number of
  2140. nodes instead. Fixes bug 23318; bugfix on 0.2.4.10-alpha.
  2141. - Actually log the total bandwidth in compute_weighted_bandwidths().
  2142. Fixes bug 24170; bugfix on 0.2.4.3-alpha.
  2143. o Minor bugfixes (portability, msvc):
  2144. - Fix a bug in the bit-counting parts of our timing-wheel code on
  2145. MSVC. (Note that MSVC is still not a supported build platform, due
  2146. to cryptographic timing channel risks.) Fixes bug 24633; bugfix
  2147. on 0.2.9.1-alpha.
  2148. o Minor bugfixes (relay):
  2149. - Make the internal channel_is_client() function look at what sort
  2150. of connection handshake the other side used, rather than whether
  2151. the other side ever sent a create_fast cell to us. Backports part
  2152. of the fixes from bugs 22805 and 24898.
  2153. o Minor bugfixes (spec conformance, backport from 0.3.3.3-alpha):
  2154. - Forbid "-0" as a protocol version. Fixes part of bug 25249; bugfix on
  2155. 0.2.9.4-alpha.
  2156. - Forbid UINT32_MAX as a protocol version. Fixes part of bug 25249;
  2157. bugfix on 0.2.9.4-alpha.
  2158. Changes in version 0.3.2.10 - 2018-03-03
  2159. Tor 0.3.2.10 is the second stable release in the 0.3.2 series. It
  2160. backports a number of bugfixes, including important fixes for security
  2161. issues.
  2162. It includes an important security fix for a remote crash attack
  2163. against directory authorities, tracked as TROVE-2018-001.
  2164. Additionally, it backports a fix for a bug whose severity we have
  2165. upgraded: Bug 24700, which was fixed in 0.3.3.2-alpha, can be remotely
  2166. triggered in order to crash relays with a use-after-free pattern. As
  2167. such, we are now tracking that bug as TROVE-2018-002 and
  2168. CVE-2018-0491, and backporting it to earlier releases. This bug
  2169. affected versions 0.3.2.1-alpha through 0.3.2.9, as well as version
  2170. 0.3.3.1-alpha.
  2171. This release also backports our new system for improved resistance to
  2172. denial-of-service attacks against relays.
  2173. This release also fixes several minor bugs and annoyances from
  2174. earlier releases.
  2175. Relays running 0.3.2.x SHOULD upgrade to one of the versions released
  2176. today, for the fix to TROVE-2018-002. Directory authorities should
  2177. also upgrade. (Relays on earlier versions might want to update too for
  2178. the DoS mitigations.)
  2179. o Major bugfixes (denial-of-service, directory authority, backport from 0.3.3.3-alpha):
  2180. - Fix a protocol-list handling bug that could be used to remotely crash
  2181. directory authorities with a null-pointer exception. Fixes bug 25074;
  2182. bugfix on 0.2.9.4-alpha. Also tracked as TROVE-2018-001 and
  2183. CVE-2018-0490.
  2184. o Major bugfixes (scheduler, KIST, denial-of-service, backport from 0.3.3.2-alpha):
  2185. - Avoid adding the same channel twice in the KIST scheduler pending
  2186. list, which could lead to remote denial-of-service use-after-free
  2187. attacks against relays. Fixes bug 24700; bugfix on 0.3.2.1-alpha.
  2188. o Major features (denial-of-service mitigation, backport from 0.3.3.2-alpha):
  2189. - Give relays some defenses against the recent network overload. We
  2190. start with three defenses (default parameters in parentheses).
  2191. First: if a single client address makes too many concurrent
  2192. connections (>100), hang up on further connections. Second: if a
  2193. single client address makes circuits too quickly (more than 3 per
  2194. second, with an allowed burst of 90) while also having too many
  2195. connections open (3), refuse new create cells for the next while
  2196. (1-2 hours). Third: if a client asks to establish a rendezvous
  2197. point to you directly, ignore the request. These defenses can be
  2198. manually controlled by new torrc options, but relays will also
  2199. take guidance from consensus parameters, so there's no need to
  2200. configure anything manually. Implements ticket 24902.
  2201. o Major bugfixes (onion services, retry behavior, backport from 0.3.3.1-alpha):
  2202. - Fix an "off by 2" error in counting rendezvous failures on the
  2203. onion service side. While we thought we would stop the rendezvous
  2204. attempt after one failed circuit, we were actually making three
  2205. circuit attempts before giving up. Now switch to a default of 2,
  2206. and allow the consensus parameter "hs_service_max_rdv_failures" to
  2207. override. Fixes bug 24895; bugfix on 0.0.6.
  2208. - New-style (v3) onion services now obey the "max rendezvous circuit
  2209. attempts" logic. Previously they would make as many rendezvous
  2210. circuit attempts as they could fit in the MAX_REND_TIMEOUT second
  2211. window before giving up. Fixes bug 24894; bugfix on 0.3.2.1-alpha.
  2212. o Major bugfixes (protocol versions, backport from 0.3.3.2-alpha):
  2213. - Add Link protocol version 5 to the supported protocols list. Fixes
  2214. bug 25070; bugfix on 0.3.1.1-alpha.
  2215. o Major bugfixes (relay, backport from 0.3.3.1-alpha):
  2216. - Fix a set of false positives where relays would consider
  2217. connections to other relays as being client-only connections (and
  2218. thus e.g. deserving different link padding schemes) if those
  2219. relays fell out of the consensus briefly. Now we look only at the
  2220. initial handshake and whether the connection authenticated as a
  2221. relay. Fixes bug 24898; bugfix on 0.3.1.1-alpha.
  2222. o Major bugfixes (scheduler, consensus, backport from 0.3.3.2-alpha):
  2223. - The scheduler subsystem was failing to promptly notice changes in
  2224. consensus parameters, making it harder to switch schedulers
  2225. network-wide. Fixes bug 24975; bugfix on 0.3.2.1-alpha.
  2226. o Minor features (denial-of-service avoidance, backport from 0.3.3.2-alpha):
  2227. - Make our OOM handler aware of the geoip client history cache so it
  2228. doesn't fill up the memory. This check is important for IPv6 and
  2229. our DoS mitigation subsystem. Closes ticket 25122.
  2230. o Minor features (compatibility, OpenSSL, backport from 0.3.3.3-alpha):
  2231. - Tor will now support TLS1.3 once OpenSSL 1.1.1 is released.
  2232. Previous versions of Tor would not have worked with OpenSSL 1.1.1,
  2233. since they neither disabled TLS 1.3 nor enabled any of the
  2234. ciphersuites it requires. Now we enable the TLS 1.3 ciphersuites.
  2235. Closes ticket 24978.
  2236. o Minor features (geoip):
  2237. - Update geoip and geoip6 to the February 7 2018 Maxmind GeoLite2
  2238. Country database.
  2239. o Minor features (logging, diagnostic, backport from 0.3.3.2-alpha):
  2240. - When logging a failure to create an onion service's descriptor,
  2241. also log what the problem with the descriptor was. Diagnostic
  2242. for ticket 24972.
  2243. o Minor bugfix (channel connection, backport from 0.3.3.2-alpha):
  2244. - Use the actual observed address of an incoming relay connection,
  2245. not the canonical address of the relay from its descriptor, when
  2246. making decisions about how to handle the incoming connection.
  2247. Fixes bug 24952; bugfix on 0.2.4.11-alpha. Patch by "ffmancera".
  2248. o Minor bugfixes (denial-of-service, backport from 0.3.3.3-alpha):
  2249. - Fix a possible crash on malformed consensus. If a consensus had
  2250. contained an unparseable protocol line, it could have made clients
  2251. and relays crash with a null-pointer exception. To exploit this
  2252. issue, however, an attacker would need to be able to subvert the
  2253. directory authority system. Fixes bug 25251; bugfix on
  2254. 0.2.9.4-alpha. Also tracked as TROVE-2018-004.
  2255. o Minor bugfix (directory authority, backport from 0.3.3.2-alpha):
  2256. - Directory authorities, when refusing a descriptor from a rejected
  2257. relay, now explicitly tell the relay (in its logs) to set a valid
  2258. ContactInfo address and contact the bad-relays@ mailing list.
  2259. Fixes bug 25170; bugfix on 0.2.9.1.
  2260. o Minor bugfixes (build, rust, backport from 0.3.3.1-alpha):
  2261. - When building with Rust on OSX, link against libresolv, to work
  2262. around the issue at https://github.com/rust-lang/rust/issues/46797.
  2263. Fixes bug 24652; bugfix on 0.3.1.1-alpha.
  2264. o Minor bugfixes (onion services, backport from 0.3.3.2-alpha):
  2265. - Remove a BUG() statement when a client fetches an onion descriptor
  2266. that has a lower revision counter than the one in its cache. This
  2267. can happen in normal circumstances due to HSDir desync. Fixes bug
  2268. 24976; bugfix on 0.3.2.1-alpha.
  2269. o Minor bugfixes (logging, backport from 0.3.3.2-alpha):
  2270. - Don't treat inability to store a cached consensus object as a bug:
  2271. it can happen normally when we are out of disk space. Fixes bug
  2272. 24859; bugfix on 0.3.1.1-alpha.
  2273. o Minor bugfixes (performance, fragile-hardening, backport from 0.3.3.1-alpha):
  2274. - Improve the performance of our consensus-diff application code
  2275. when Tor is built with the --enable-fragile-hardening option set.
  2276. Fixes bug 24826; bugfix on 0.3.1.1-alpha.
  2277. o Minor bugfixes (OSX, backport from 0.3.3.1-alpha):
  2278. - Don't exit the Tor process if setrlimit() fails to change the file
  2279. limit (which can happen sometimes on some versions of OSX). Fixes
  2280. bug 21074; bugfix on 0.0.9pre5.
  2281. o Minor bugfixes (spec conformance, backport from 0.3.3.3-alpha):
  2282. - Forbid "-0" as a protocol version. Fixes part of bug 25249; bugfix on
  2283. 0.2.9.4-alpha.
  2284. - Forbid UINT32_MAX as a protocol version. Fixes part of bug 25249;
  2285. bugfix on 0.2.9.4-alpha.
  2286. o Minor bugfixes (testing, backport from 0.3.3.1-alpha):
  2287. - Fix a memory leak in the scheduler/loop_kist unit test. Fixes bug
  2288. 25005; bugfix on 0.3.2.7-rc.
  2289. o Minor bugfixes (v3 onion services, backport from 0.3.3.2-alpha):
  2290. - Look at the "HSRend" protocol version, not the "HSDir" protocol
  2291. version, when deciding whether a consensus entry can support the
  2292. v3 onion service protocol as a rendezvous point. Fixes bug 25105;
  2293. bugfix on 0.3.2.1-alpha.
  2294. o Code simplification and refactoring (backport from 0.3.3.3-alpha):
  2295. - Update the "rust dependencies" submodule to be a project-level
  2296. repository, rather than a user repository. Closes ticket 25323.
  2297. o Documentation (backport from 0.3.3.1-alpha)
  2298. - Document that operators who run more than one relay or bridge are
  2299. expected to set MyFamily and ContactInfo correctly. Closes
  2300. ticket 24526.
  2301. Changes in version 0.3.2.9 - 2018-01-09
  2302. Tor 0.3.2.9 is the first stable release in the 0.3.2 series.
  2303. The 0.3.2 series includes our long-anticipated new onion service
  2304. design, with numerous security features. (For more information, see
  2305. our blog post at https://blog.torproject.org/fall-harvest.) We also
  2306. have a new circuit scheduler algorithm for improved performance on
  2307. relays everywhere (see https://blog.torproject.org/kist-and-tell),
  2308. along with many smaller features and bugfixes.
  2309. Per our stable release policy, we plan to support each stable release
  2310. series for at least the next nine months, or for three months after
  2311. the first stable release of the next series: whichever is longer. If
  2312. you need a release with long-term support, we recommend that you stay
  2313. with the 0.2.9 series.
  2314. Below is a list of the changes since 0.3.1.7. For a list of all
  2315. changes since 0.3.2.8-rc, see the ChangeLog file.
  2316. o Directory authority changes:
  2317. - Add "Bastet" as a ninth directory authority to the default list.
  2318. Closes ticket 23910.
  2319. - The directory authority "Longclaw" has changed its IP address.
  2320. Closes ticket 23592.
  2321. - Remove longclaw's IPv6 address, as it will soon change. Authority
  2322. IPv6 addresses were originally added in 0.2.8.1-alpha. This leaves
  2323. 3/8 directory authorities with IPv6 addresses, but there are also
  2324. 52 fallback directory mirrors with IPv6 addresses. Resolves 19760.
  2325. - Add an IPv6 address for the "bastet" directory authority. Closes
  2326. ticket 24394.
  2327. o Major features (next-generation onion services):
  2328. - Tor now supports the next-generation onion services protocol for
  2329. clients and services! As part of this release, the core of
  2330. proposal 224 has been implemented and is available for
  2331. experimentation and testing by our users. This newer version of
  2332. onion services ("v3") features many improvements over the legacy
  2333. system, including:
  2334. a) Better crypto (replaced SHA1/DH/RSA1024
  2335. with SHA3/ed25519/curve25519)
  2336. b) Improved directory protocol, leaking much less information to
  2337. directory servers.
  2338. c) Improved directory protocol, with smaller surface for
  2339. targeted attacks.
  2340. d) Better onion address security against impersonation.
  2341. e) More extensible introduction/rendezvous protocol.
  2342. f) A cleaner and more modular codebase.
  2343. You can identify a next-generation onion address by its length:
  2344. they are 56 characters long, as in
  2345. "4acth47i6kxnvkewtm6q7ib2s3ufpo5sqbsnzjpbi7utijcltosqemad.onion".
  2346. In the future, we will release more options and features for v3
  2347. onion services, but we first need a testing period, so that the
  2348. current codebase matures and becomes more robust. Planned features
  2349. include: offline keys, advanced client authorization, improved
  2350. guard algorithms, and statistics. For full details, see
  2351. proposal 224.
  2352. Legacy ("v2") onion services will still work for the foreseeable
  2353. future, and will remain the default until this new codebase gets
  2354. tested and hardened. Service operators who want to experiment with
  2355. the new system can use the 'HiddenServiceVersion 3' torrc
  2356. directive along with the regular onion service configuration
  2357. options. For more information, see our blog post at
  2358. "https://blog.torproject.org/fall-harvest". Enjoy!
  2359. o Major feature (scheduler, channel):
  2360. - Tor now uses new schedulers to decide which circuits should
  2361. deliver cells first, in order to improve congestion at relays. The
  2362. first type is called "KIST" ("Kernel Informed Socket Transport"),
  2363. and is only available on Linux-like systems: it uses feedback from
  2364. the kernel to prevent the kernel's TCP buffers from growing too
  2365. full. The second new scheduler type is called "KISTLite": it
  2366. behaves the same as KIST, but runs on systems without kernel
  2367. support for inspecting TCP implementation details. The old
  2368. scheduler is still available, under the name "Vanilla". To change
  2369. the default scheduler preference order, use the new "Schedulers"
  2370. option. (The default preference order is "KIST,KISTLite,Vanilla".)
  2371. Matt Traudt implemented KIST, based on research by Rob Jansen,
  2372. John Geddes, Christ Wacek, Micah Sherr, and Paul Syverson. For
  2373. more information, see the design paper at
  2374. http://www.robgjansen.com/publications/kist-sec2014.pdf and the
  2375. followup implementation paper at https://arxiv.org/abs/1709.01044.
  2376. Closes ticket 12541. For more information, see our blog post at
  2377. "https://blog.torproject.org/kist-and-tell".
  2378. o Major bugfixes (security, general):
  2379. - Fix a denial of service bug where an attacker could use a
  2380. malformed directory object to cause a Tor instance to pause while
  2381. OpenSSL would try to read a passphrase from the terminal. (Tor
  2382. instances run without a terminal, which is the case for most Tor
  2383. packages, are not impacted.) Fixes bug 24246; bugfix on every
  2384. version of Tor. Also tracked as TROVE-2017-011 and CVE-2017-8821.
  2385. Found by OSS-Fuzz as testcase 6360145429790720.
  2386. o Major bugfixes (security, directory authority):
  2387. - Fix a denial of service issue where an attacker could crash a
  2388. directory authority using a malformed router descriptor. Fixes bug
  2389. 24245; bugfix on 0.2.9.4-alpha. Also tracked as TROVE-2017-010
  2390. and CVE-2017-8820.
  2391. o Major bugfixes (security, onion service v2):
  2392. - Fix a use-after-free error that could crash v2 Tor onion services
  2393. when they failed to open circuits while expiring introduction
  2394. points. Fixes bug 24313; bugfix on 0.2.7.2-alpha. This issue is
  2395. also tracked as TROVE-2017-013 and CVE-2017-8823.
  2396. - When checking for replays in the INTRODUCE1 cell data for a
  2397. (legacy) onion service, correctly detect replays in the RSA-
  2398. encrypted part of the cell. We were previously checking for
  2399. replays on the entire cell, but those can be circumvented due to
  2400. the malleability of Tor's legacy hybrid encryption. This fix helps
  2401. prevent a traffic confirmation attack. Fixes bug 24244; bugfix on
  2402. 0.2.4.1-alpha. This issue is also tracked as TROVE-2017-009
  2403. and CVE-2017-8819.
  2404. o Major bugfixes (security, relay):
  2405. - When running as a relay, make sure that we never build a path
  2406. through ourselves, even in the case where we have somehow lost the
  2407. version of our descriptor appearing in the consensus. Fixes part
  2408. of bug 21534; bugfix on 0.2.0.1-alpha. This issue is also tracked
  2409. as TROVE-2017-012 and CVE-2017-8822.
  2410. - When running as a relay, make sure that we never choose ourselves
  2411. as a guard. Fixes part of bug 21534; bugfix on 0.3.0.1-alpha. This
  2412. issue is also tracked as TROVE-2017-012 and CVE-2017-8822.
  2413. o Major bugfixes (bootstrapping):
  2414. - Fetch descriptors aggressively whenever we lack enough to build
  2415. circuits, regardless of how many descriptors we are missing.
  2416. Previously, we would delay launching the fetch when we had fewer
  2417. than 15 missing descriptors, even if some of those descriptors
  2418. were blocking circuits from building. Fixes bug 23985; bugfix on
  2419. 0.1.1.11-alpha. The effects of this bug became worse in
  2420. 0.3.0.3-alpha, when we began treating missing descriptors from our
  2421. primary guards as a reason to delay circuits.
  2422. - Don't try fetching microdescriptors from relays that have failed
  2423. to deliver them in the past. Fixes bug 23817; bugfix
  2424. on 0.3.0.1-alpha.
  2425. o Major bugfixes (circuit prediction):
  2426. - Fix circuit prediction logic so that a client doesn't treat a port
  2427. as being "handled" by a circuit if that circuit already has
  2428. isolation settings on it. This change should make Tor clients more
  2429. responsive by improving their chances of having a pre-created
  2430. circuit ready for use when a request arrives. Fixes bug 18859;
  2431. bugfix on 0.2.3.3-alpha.
  2432. o Major bugfixes (exit relays, DNS):
  2433. - Fix an issue causing DNS to fail on high-bandwidth exit nodes,
  2434. making them nearly unusable. Fixes bugs 21394 and 18580; bugfix on
  2435. 0.1.2.2-alpha, which introduced eventdns. Thanks to Dhalgren for
  2436. identifying and finding a workaround to this bug and to Moritz,
  2437. Arthur Edelstein, and Roger for helping to track it down and
  2438. analyze it.
  2439. o Major bugfixes (relay, crash, assertion failure):
  2440. - Fix a timing-based assertion failure that could occur when the
  2441. circuit out-of-memory handler freed a connection's output buffer.
  2442. Fixes bug 23690; bugfix on 0.2.6.1-alpha.
  2443. o Major bugfixes (usability, control port):
  2444. - Report trusted clock skew indications as bootstrap errors, so
  2445. controllers can more easily alert users when their clocks are
  2446. wrong. Fixes bug 23506; bugfix on 0.1.2.6-alpha.
  2447. o Minor features (bridge):
  2448. - Bridge relays can now set the BridgeDistribution config option to
  2449. add a "bridge-distribution-request" line to their bridge
  2450. descriptor, which tells BridgeDB how they'd like their bridge
  2451. address to be given out. (Note that as of Oct 2017, BridgeDB does
  2452. not yet implement this feature.) As a side benefit, this feature
  2453. provides a way to distinguish bridge descriptors from non-bridge
  2454. descriptors. Implements tickets 18329.
  2455. - When handling the USERADDR command on an ExtOrPort, warn when the
  2456. transports provides a USERADDR with no port. In a future version,
  2457. USERADDR commands of this format may be rejected. Detects problems
  2458. related to ticket 23080.
  2459. o Minor features (bug detection):
  2460. - Log a warning message with a stack trace for any attempt to call
  2461. get_options() during option validation. This pattern has caused
  2462. subtle bugs in the past. Closes ticket 22281.
  2463. o Minor features (build, compilation):
  2464. - The "check-changes" feature is now part of the "make check" tests;
  2465. we'll use it to try to prevent misformed changes files from
  2466. accumulating. Closes ticket 23564.
  2467. - Tor builds should now fail if there are any mismatches between the
  2468. C type representing a configuration variable and the C type the
  2469. data-driven parser uses to store a value there. Previously, we
  2470. needed to check these by hand, which sometimes led to mistakes.
  2471. Closes ticket 23643.
  2472. o Minor features (client):
  2473. - You can now use Tor as a tunneled HTTP proxy: use the new
  2474. HTTPTunnelPort option to open a port that accepts HTTP CONNECT
  2475. requests. Closes ticket 22407.
  2476. - Add an extra check to make sure that we always use the newer guard
  2477. selection code for picking our guards. Closes ticket 22779.
  2478. - When downloading (micro)descriptors, don't split the list into
  2479. multiple requests unless we want at least 32 descriptors.
  2480. Previously, we split at 4, not 32, which led to significant
  2481. overhead in HTTP request size and degradation in compression
  2482. performance. Closes ticket 23220.
  2483. - Improve log messages when missing descriptors for primary guards.
  2484. Resolves ticket 23670.
  2485. o Minor features (command line):
  2486. - Add a new commandline option, --key-expiration, which prints when
  2487. the current signing key is going to expire. Implements ticket
  2488. 17639; patch by Isis Lovecruft.
  2489. o Minor features (control port):
  2490. - If an application tries to use the control port as an HTTP proxy,
  2491. respond with a meaningful "This is the Tor control port" message,
  2492. and log the event. Closes ticket 1667. Patch from Ravi
  2493. Chandra Padmala.
  2494. - Provide better error message for GETINFO desc/(id|name) when not
  2495. fetching router descriptors. Closes ticket 5847. Patch by
  2496. Kevin Butler.
  2497. - Add GETINFO "{desc,md}/download-enabled", to inform the controller
  2498. whether Tor will try to download router descriptors and
  2499. microdescriptors respectively. Closes ticket 22684.
  2500. - Added new GETINFO targets "ip-to-country/{ipv4,ipv6}-available",
  2501. so controllers can tell whether the geoip databases are loaded.
  2502. Closes ticket 23237.
  2503. - Adds a timestamp field to the CIRC_BW and STREAM_BW bandwidth
  2504. events. Closes ticket 19254. Patch by "DonnchaC".
  2505. o Minor features (development support):
  2506. - Developers can now generate a call-graph for Tor using the
  2507. "calltool" python program, which post-processes object dumps. It
  2508. should work okay on many Linux and OSX platforms, and might work
  2509. elsewhere too. To run it, install calltool from
  2510. https://gitweb.torproject.org/user/nickm/calltool.git and run
  2511. "make callgraph". Closes ticket 19307.
  2512. o Minor features (directory authority):
  2513. - Make the "Exit" flag assignment only depend on whether the exit
  2514. policy allows connections to ports 80 and 443. Previously relays
  2515. would get the Exit flag if they allowed connections to one of
  2516. these ports and also port 6667. Resolves ticket 23637.
  2517. o Minor features (ed25519):
  2518. - Add validation function to checks for torsion components in
  2519. ed25519 public keys, used by prop224 client-side code. Closes
  2520. ticket 22006. Math help by Ian Goldberg.
  2521. o Minor features (exit relay, DNS):
  2522. - Improve the clarity and safety of the log message from evdns when
  2523. receiving an apparently spoofed DNS reply. Closes ticket 3056.
  2524. o Minor features (fallback directory mirrors):
  2525. - The fallback directory list has been re-generated based on the
  2526. current status of the network. Tor uses fallback directories to
  2527. bootstrap when it doesn't yet have up-to-date directory
  2528. information. Closes ticket 24801.
  2529. - Make the default DirAuthorityFallbackRate 0.1, so that clients
  2530. prefer to bootstrap from fallback directory mirrors. This is a
  2531. follow-up to 24679, which removed weights from the default
  2532. fallbacks. Implements ticket 24681.
  2533. o Minor features (geoip):
  2534. - Update geoip and geoip6 to the January 5 2018 Maxmind GeoLite2
  2535. Country database.
  2536. o Minor features (integration, hardening):
  2537. - Add a new NoExec option to prevent Tor from running other
  2538. programs. When this option is set to 1, Tor will never try to run
  2539. another program, regardless of the settings of
  2540. PortForwardingHelper, ClientTransportPlugin, or
  2541. ServerTransportPlugin. Once NoExec is set, it cannot be disabled
  2542. without restarting Tor. Closes ticket 22976.
  2543. o Minor features (linux seccomp2 sandbox):
  2544. - Update the sandbox rules so that they should now work correctly
  2545. with Glibc 2.26. Closes ticket 24315.
  2546. o Minor features (logging):
  2547. - Provide better warnings when the getrandom() syscall fails. Closes
  2548. ticket 24500.
  2549. - Downgrade a pair of log messages that could occur when an exit's
  2550. resolver gave us an unusual (but not forbidden) response. Closes
  2551. ticket 24097.
  2552. - Improve the message we log when re-enabling circuit build timeouts
  2553. after having received a consensus. Closes ticket 20963.
  2554. - Log more circuit information whenever we are about to try to
  2555. package a relay cell on a circuit with a nonexistent n_chan.
  2556. Attempt to diagnose ticket 8185.
  2557. - Improve info-level log identification of particular circuits, to
  2558. help with debugging. Closes ticket 23645.
  2559. - Improve the warning message for specifying a relay by nickname.
  2560. The previous message implied that nickname registration was still
  2561. part of the Tor network design, which it isn't. Closes
  2562. ticket 20488.
  2563. - If the sandbox filter fails to load, suggest to the user that
  2564. their kernel might not support seccomp2. Closes ticket 23090.
  2565. o Minor features (onion service, circuit, logging):
  2566. - Improve logging of many callsite in the circuit subsystem to print
  2567. the circuit identifier(s).
  2568. - Log when we cleanup an intro point from a service so we know when
  2569. and for what reason it happened. Closes ticket 23604.
  2570. o Minor features (portability):
  2571. - Tor now compiles correctly on arm64 with libseccomp-dev installed.
  2572. (It doesn't yet work with the sandbox enabled.) Closes
  2573. ticket 24424.
  2574. - Check at configure time whether uint8_t is the same type as
  2575. unsigned char. Lots of existing code already makes this
  2576. assumption, and there could be strict aliasing issues if the
  2577. assumption is violated. Closes ticket 22410.
  2578. o Minor features (relay):
  2579. - When choosing which circuits can be expired as unused, consider
  2580. circuits from clients even if those clients used regular CREATE
  2581. cells to make them; and do not consider circuits from relays even
  2582. if they were made with CREATE_FAST. Part of ticket 22805.
  2583. - Reject attempts to use relative file paths when RunAsDaemon is
  2584. set. Previously, Tor would accept these, but the directory-
  2585. changing step of RunAsDaemon would give strange and/or confusing
  2586. results. Closes ticket 22731.
  2587. o Minor features (relay statistics):
  2588. - Change relay bandwidth reporting stats interval from 4 hours to 24
  2589. hours in order to reduce the efficiency of guard discovery
  2590. attacks. Fixes ticket 23856.
  2591. o Minor features (reverted deprecations):
  2592. - The ClientDNSRejectInternalAddresses flag can once again be set in
  2593. non-testing Tor networks, so long as they do not use the default
  2594. directory authorities. This change also removes the deprecation of
  2595. this flag from 0.2.9.2-alpha. Closes ticket 21031.
  2596. o Minor features (robustness):
  2597. - Change several fatal assertions when flushing buffers into non-
  2598. fatal assertions, to prevent any recurrence of 23690.
  2599. o Minor features (startup, safety):
  2600. - When configured to write a PID file, Tor now exits if it is unable
  2601. to do so. Previously, it would warn and continue. Closes
  2602. ticket 20119.
  2603. o Minor features (static analysis):
  2604. - The BUG() macro has been changed slightly so that Coverity no
  2605. longer complains about dead code if the bug is impossible. Closes
  2606. ticket 23054.
  2607. o Minor features (testing):
  2608. - Our fuzzing tests now test the encrypted portions of v3 onion
  2609. service descriptors. Implements more of 21509.
  2610. - Add a unit test to make sure that our own generated platform
  2611. string will be accepted by directory authorities. Closes
  2612. ticket 22109.
  2613. - The default chutney network tests now include tests for the v3
  2614. onion service design. Make sure you have the latest version of
  2615. chutney if you want to run these. Closes ticket 22437.
  2616. - Add a unit test to verify that we can parse a hardcoded v2 onion
  2617. service descriptor. Closes ticket 15554.
  2618. o Minor bugfixes (address selection):
  2619. - When the fascist_firewall_choose_address_ functions don't find a
  2620. reachable address, set the returned address to the null address
  2621. and port. This is a precautionary measure, because some callers do
  2622. not check the return value. Fixes bug 24736; bugfix
  2623. on 0.2.8.2-alpha.
  2624. o Minor bugfixes (bootstrapping):
  2625. - When warning about state file clock skew, report the correct
  2626. direction for the detected skew. Fixes bug 23606; bugfix
  2627. on 0.2.8.1-alpha.
  2628. o Minor bugfixes (bridge clients, bootstrap):
  2629. - Retry directory downloads when we get our first bridge descriptor
  2630. during bootstrap or while reconnecting to the network. Keep
  2631. retrying every time we get a bridge descriptor, until we have a
  2632. reachable bridge. Fixes part of bug 24367; bugfix on 0.2.0.3-alpha.
  2633. - Stop delaying bridge descriptor fetches when we have cached bridge
  2634. descriptors. Instead, only delay bridge descriptor fetches when we
  2635. have at least one reachable bridge. Fixes part of bug 24367;
  2636. bugfix on 0.2.0.3-alpha.
  2637. - Stop delaying directory fetches when we have cached bridge
  2638. descriptors. Instead, only delay bridge descriptor fetches when
  2639. all our bridges are definitely unreachable. Fixes part of bug
  2640. 24367; bugfix on 0.2.0.3-alpha.
  2641. o Minor bugfixes (bridge):
  2642. - Overwrite the bridge address earlier in the process of retrieving
  2643. its descriptor, to make sure we reach it on the configured
  2644. address. Fixes bug 20532; bugfix on 0.2.0.10-alpha.
  2645. o Minor bugfixes (build, compilation):
  2646. - Fix a compilation warning when building with zstd support on
  2647. 32-bit platforms. Fixes bug 23568; bugfix on 0.3.1.1-alpha. Found
  2648. and fixed by Andreas Stieger.
  2649. - When searching for OpenSSL, don't accept any OpenSSL library that
  2650. lacks TLSv1_1_method(): Tor doesn't build with those versions.
  2651. Additionally, look in /usr/local/opt/openssl, if it's present.
  2652. These changes together repair the default build on OSX systems
  2653. with Homebrew installed. Fixes bug 23602; bugfix on 0.2.7.2-alpha.
  2654. - Fix a signed/unsigned comparison warning introduced by our fix to
  2655. TROVE-2017-009. Fixes bug 24480; bugfix on 0.2.5.16.
  2656. - Fix a memory leak warning in one of the libevent-related
  2657. configuration tests that could occur when manually specifying
  2658. -fsanitize=address. Fixes bug 24279; bugfix on 0.3.0.2-alpha.
  2659. Found and patched by Alex Xu.
  2660. - Fix unused-variable warnings in donna's Curve25519 SSE2 code.
  2661. Fixes bug 22895; bugfix on 0.2.7.2-alpha.
  2662. o Minor bugfixes (certificate handling):
  2663. - Fix a time handling bug in Tor certificates set to expire after
  2664. the year 2106. Fixes bug 23055; bugfix on 0.3.0.1-alpha. Found by
  2665. Coverity as CID 1415728.
  2666. o Minor bugfixes (client):
  2667. - By default, do not enable storage of client-side DNS values. These
  2668. values were unused by default previously, but they should not have
  2669. been cached at all. Fixes bug 24050; bugfix on 0.2.6.3-alpha.
  2670. o Minor bugfixes (client, usability):
  2671. - Refrain from needlessly rejecting SOCKS5-with-hostnames and
  2672. SOCKS4a requests that contain IP address strings, even when
  2673. SafeSocks in enabled, as this prevents user from connecting to
  2674. known IP addresses without relying on DNS for resolving. SafeSocks
  2675. still rejects SOCKS connections that connect to IP addresses when
  2676. those addresses are _not_ encoded as hostnames. Fixes bug 22461;
  2677. bugfix on Tor 0.2.6.2-alpha.
  2678. o Minor bugfixes (code correctness):
  2679. - Call htons() in extend_cell_format() for encoding a 16-bit value.
  2680. Previously we used ntohs(), which happens to behave the same on
  2681. all the platforms we support, but which isn't really correct.
  2682. Fixes bug 23106; bugfix on 0.2.4.8-alpha.
  2683. - For defense-in-depth, make the controller's write_escaped_data()
  2684. function robust to extremely long inputs. Fixes bug 19281; bugfix
  2685. on 0.1.1.1-alpha. Reported by Guido Vranken.
  2686. - Fix several places in our codebase where a C compiler would be
  2687. likely to eliminate a check, based on assuming that undefined
  2688. behavior had not happened elsewhere in the code. These cases are
  2689. usually a sign of redundant checking or dubious arithmetic. Found
  2690. by Georg Koppen using the "STACK" tool from Wang, Zeldovich,
  2691. Kaashoek, and Solar-Lezama. Fixes bug 24423; bugfix on various
  2692. Tor versions.
  2693. o Minor bugfixes (compression):
  2694. - Handle a pathological case when decompressing Zstandard data when
  2695. the output buffer size is zero. Fixes bug 23551; bugfix
  2696. on 0.3.1.1-alpha.
  2697. o Minor bugfixes (consensus expiry):
  2698. - Check for adequate directory information correctly. Previously, Tor
  2699. would reconsider whether it had sufficient directory information
  2700. every 2 minutes. Fixes bug 23091; bugfix on 0.2.0.19-alpha.
  2701. o Minor bugfixes (control port, linux seccomp2 sandbox):
  2702. - Avoid a crash when attempting to use the seccomp2 sandbox together
  2703. with the OwningControllerProcess feature. Fixes bug 24198; bugfix
  2704. on 0.2.5.1-alpha.
  2705. o Minor bugfixes (control port, onion services):
  2706. - Report "FAILED" instead of "UPLOAD_FAILED" "FAILED" for the
  2707. HS_DESC event when a service is not able to upload a descriptor.
  2708. Fixes bug 24230; bugfix on 0.2.7.1-alpha.
  2709. o Minor bugfixes (directory cache):
  2710. - Recover better from empty or corrupt files in the consensus cache
  2711. directory. Fixes bug 24099; bugfix on 0.3.1.1-alpha.
  2712. - When a consensus diff calculation is only partially successful,
  2713. only record the successful parts as having succeeded. Partial
  2714. success can happen if (for example) one compression method fails
  2715. but the others succeed. Previously we misrecorded all the
  2716. calculations as having succeeded, which would later cause a
  2717. nonfatal assertion failure. Fixes bug 24086; bugfix
  2718. on 0.3.1.1-alpha.
  2719. o Minor bugfixes (directory client):
  2720. - On failure to download directory information, delay retry attempts
  2721. by a random amount based on the "decorrelated jitter" algorithm.
  2722. Our previous delay algorithm tended to produce extra-long delays
  2723. too easily. Fixes bug 23816; bugfix on 0.2.9.1-alpha.
  2724. o Minor bugfixes (directory protocol):
  2725. - Directory servers now include a "Date:" http header for response
  2726. codes other than 200. Clients starting with a skewed clock and a
  2727. recent consensus were getting "304 Not modified" responses from
  2728. directory authorities, so without the Date header, the client
  2729. would never hear about a wrong clock. Fixes bug 23499; bugfix
  2730. on 0.0.8rc1.
  2731. - Make clients wait for 6 seconds before trying to download a
  2732. consensus from an authority. Fixes bug 17750; bugfix
  2733. on 0.2.8.1-alpha.
  2734. o Minor bugfixes (documentation):
  2735. - Document better how to read gcov, and what our gcov postprocessing
  2736. scripts do. Fixes bug 23739; bugfix on 0.2.9.1-alpha.
  2737. - Fix manpage to not refer to the obsolete (and misspelled)
  2738. UseEntryGuardsAsDirectoryGuards parameter in the description of
  2739. NumDirectoryGuards. Fixes bug 23611; bugfix on 0.2.4.8-alpha.
  2740. o Minor bugfixes (DoS-resistance):
  2741. - If future code asks if there are any running bridges, without
  2742. checking if bridges are enabled, log a BUG warning rather than
  2743. crashing. Fixes bug 23524; bugfix on 0.3.0.1-alpha.
  2744. o Minor bugfixes (entry guards):
  2745. - Tor now updates its guard state when it reads a consensus
  2746. regardless of whether it's missing descriptors. That makes tor use
  2747. its primary guards to fetch descriptors in some edge cases where
  2748. it would previously have used fallback directories. Fixes bug
  2749. 23862; bugfix on 0.3.0.1-alpha.
  2750. o Minor bugfixes (format strictness):
  2751. - Restrict several data formats to decimal. Previously, the
  2752. BuildTimeHistogram entries in the state file, the "bw=" entries in
  2753. the bandwidth authority file, and the process IDs passed to the
  2754. __OwningControllerProcess option could all be specified in hex or
  2755. octal as well as in decimal. This was not an intentional feature.
  2756. Fixes bug 22802; bugfixes on 0.2.2.1-alpha, 0.2.2.2-alpha,
  2757. and 0.2.2.28-beta.
  2758. o Minor bugfixes (heartbeat):
  2759. - If we fail to write a heartbeat message, schedule a retry for the
  2760. minimum heartbeat interval number of seconds in the future. Fixes
  2761. bug 19476; bugfix on 0.2.3.1-alpha.
  2762. o Minor bugfixes (logging):
  2763. - Suppress a log notice when relay descriptors arrive. We already
  2764. have a bootstrap progress for this so no need to log notice
  2765. everytime tor receives relay descriptors. Microdescriptors behave
  2766. the same. Fixes bug 23861; bugfix on 0.2.8.2-alpha.
  2767. - Remove duplicate log messages regarding opening non-local
  2768. SocksPorts upon parsing config and opening listeners at startup.
  2769. Fixes bug 4019; bugfix on 0.2.3.3-alpha.
  2770. - Use a more comprehensible log message when telling the user
  2771. they've excluded every running exit node. Fixes bug 7890; bugfix
  2772. on 0.2.2.25-alpha.
  2773. - When logging the number of descriptors we intend to download per
  2774. directory request, do not log a number higher than then the number
  2775. of descriptors we're fetching in total. Fixes bug 19648; bugfix
  2776. on 0.1.1.8-alpha.
  2777. - When warning about a directory owned by the wrong user, log the
  2778. actual name of the user owning the directory. Previously, we'd log
  2779. the name of the process owner twice. Fixes bug 23487; bugfix
  2780. on 0.2.9.1-alpha.
  2781. - Fix some messages on unexpected errors from the seccomp2 library.
  2782. Fixes bug 22750; bugfix on 0.2.5.1-alpha. Patch from "cypherpunks".
  2783. - The tor specification says hop counts are 1-based, so fix two log
  2784. messages that mistakenly logged 0-based hop counts. Fixes bug
  2785. 18982; bugfix on 0.2.6.2-alpha and 0.2.4.5-alpha. Patch by teor.
  2786. Credit to Xiaofan Li for reporting this issue.
  2787. o Minor bugfixes (logging, relay shutdown, annoyance):
  2788. - When a circuit is marked for close, do not attempt to package any
  2789. cells for channels on that circuit. Previously, we would detect
  2790. this condition lower in the call stack, when we noticed that the
  2791. circuit had no attached channel, and log an annoying message.
  2792. Fixes bug 8185; bugfix on 0.2.5.4-alpha.
  2793. o Minor bugfixes (memory safety, defensive programming):
  2794. - Clear the target address when node_get_prim_orport() returns
  2795. early. Fixes bug 23874; bugfix on 0.2.8.2-alpha.
  2796. o Minor bugfixes (memory usage):
  2797. - When queuing DESTROY cells on a channel, only queue the circuit-id
  2798. and reason fields: not the entire 514-byte cell. This fix should
  2799. help mitigate any bugs or attacks that fill up these queues, and
  2800. free more RAM for other uses. Fixes bug 24666; bugfix
  2801. on 0.2.5.1-alpha.
  2802. o Minor bugfixes (network layer):
  2803. - When closing a connection via close_connection_immediately(), we
  2804. mark it as "not blocked on bandwidth", to prevent later calls from
  2805. trying to unblock it, and give it permission to read. This fixes a
  2806. backtrace warning that can happen on relays under various
  2807. circumstances. Fixes bug 24167; bugfix on 0.1.0.1-rc.
  2808. o Minor bugfixes (onion services):
  2809. - The introduction circuit was being timed out too quickly while
  2810. waiting for the rendezvous circuit to complete. Keep the intro
  2811. circuit around longer instead of timing out and reopening new ones
  2812. constantly. Fixes bug 23681; bugfix on 0.2.4.8-alpha.
  2813. - Rename the consensus parameter "hsdir-interval" to "hsdir_interval"
  2814. so it matches dir-spec.txt. Fixes bug 24262; bugfix
  2815. on 0.3.1.1-alpha.
  2816. - When handling multiple SOCKS request for the same .onion address,
  2817. only fetch the service descriptor once.
  2818. - Avoid a possible double close of a circuit by the intro point on
  2819. error of sending the INTRO_ESTABLISHED cell. Fixes bug 23610;
  2820. bugfix on 0.3.0.1-alpha.
  2821. - When reloading configured onion services, copy all information
  2822. from the old service object. Previously, some data was omitted,
  2823. causing delays in descriptor upload, and other bugs. Fixes bug
  2824. 23790; bugfix on 0.2.1.9-alpha.
  2825. o Minor bugfixes (path selection):
  2826. - When selecting relays by bandwidth, avoid a rounding error that
  2827. could sometimes cause load to be imbalanced incorrectly.
  2828. Previously, we would always round upwards; now, we round towards
  2829. the nearest integer. This had the biggest effect when a relay's
  2830. weight adjustments should have given it weight 0, but it got
  2831. weight 1 instead. Fixes bug 23318; bugfix on 0.2.4.3-alpha.
  2832. - When calculating the fraction of nodes that have descriptors, and
  2833. all nodes in the network have zero bandwidths, count the number of
  2834. nodes instead. Fixes bug 23318; bugfix on 0.2.4.10-alpha.
  2835. - Actually log the total bandwidth in compute_weighted_bandwidths().
  2836. Fixes bug 24170; bugfix on 0.2.4.3-alpha.
  2837. o Minor bugfixes (portability):
  2838. - Stop using the PATH_MAX variable, which is not defined on GNU
  2839. Hurd. Fixes bug 23098; bugfix on 0.3.1.1-alpha.
  2840. - Fix a bug in the bit-counting parts of our timing-wheel code on
  2841. MSVC. (Note that MSVC is still not a supported build platform, due
  2842. to cryptographic timing channel risks.) Fixes bug 24633; bugfix
  2843. on 0.2.9.1-alpha.
  2844. o Minor bugfixes (relay):
  2845. - When uploading our descriptor for the first time after startup,
  2846. report the reason for uploading as "Tor just started" rather than
  2847. leaving it blank. Fixes bug 22885; bugfix on 0.2.3.4-alpha.
  2848. - Avoid unnecessary calls to directory_fetches_from_authorities() on
  2849. relays, to prevent spurious address resolutions and descriptor
  2850. rebuilds. This is a mitigation for bug 21789. Fixes bug 23470;
  2851. bugfix on in 0.2.8.1-alpha.
  2852. - Avoid a crash when transitioning from client mode to bridge mode.
  2853. Previously, we would launch the worker threads whenever our
  2854. "public server" mode changed, but not when our "server" mode
  2855. changed. Fixes bug 23693; bugfix on 0.2.6.3-alpha.
  2856. o Minor bugfixes (testing):
  2857. - Fix a spurious fuzzing-only use of an uninitialized value. Found
  2858. by Brian Carpenter. Fixes bug 24082; bugfix on 0.3.0.3-alpha.
  2859. - Test that IPv6-only clients can use microdescriptors when running
  2860. "make test-network-all". Requires chutney master 61c28b9 or later.
  2861. Closes ticket 24109.
  2862. - Prevent scripts/test/coverage from attempting to move gcov output
  2863. to the root directory. Fixes bug 23741; bugfix on 0.2.5.1-alpha.
  2864. - Capture and detect several "Result does not fit" warnings in unit
  2865. tests on platforms with 32-bit time_t. Fixes bug 21800; bugfix
  2866. on 0.2.9.3-alpha.
  2867. - Fix additional channelpadding unit test failures by using mocked
  2868. time instead of actual time for all tests. Fixes bug 23608; bugfix
  2869. on 0.3.1.1-alpha.
  2870. - Fix a bug in our fuzzing mock replacement for crypto_pk_checksig(),
  2871. to correctly handle cases where a caller gives it an RSA key of
  2872. under 160 bits. (This is not actually a bug in Tor itself, but
  2873. rather in our fuzzing code.) Fixes bug 24247; bugfix on
  2874. 0.3.0.3-alpha. Found by OSS-Fuzz as issue 4177.
  2875. - Fix a broken unit test for the OutboundAddress option: the parsing
  2876. function was never returning an error on failure. Fixes bug 23366;
  2877. bugfix on 0.3.0.3-alpha.
  2878. - Fix a signed-integer overflow in the unit tests for
  2879. dir/download_status_random_backoff, which was untriggered until we
  2880. fixed bug 17750. Fixes bug 22924; bugfix on 0.2.9.1-alpha.
  2881. o Minor bugfixes (usability, control port):
  2882. - Stop making an unnecessary routerlist check in NETINFO clock skew
  2883. detection; this was preventing clients from reporting NETINFO clock
  2884. skew to controllers. Fixes bug 23532; bugfix on 0.2.4.4-alpha.
  2885. o Code simplification and refactoring:
  2886. - Remove various ways of testing circuits and connections for
  2887. "clientness"; instead, favor channel_is_client(). Part of
  2888. ticket 22805.
  2889. - Extract the code for handling newly-open channels into a separate
  2890. function from the general code to handle channel state
  2891. transitions. This change simplifies our callgraph, reducing the
  2892. size of the largest strongly connected component by roughly a
  2893. factor of two. Closes ticket 22608.
  2894. - Remove dead code for largely unused statistics on the number of
  2895. times we've attempted various public key operations. Fixes bug
  2896. 19871; bugfix on 0.1.2.4-alpha. Fix by Isis Lovecruft.
  2897. - Remove several now-obsolete functions for asking about old
  2898. variants directory authority status. Closes ticket 22311; patch
  2899. from "huyvq".
  2900. - Remove some of the code that once supported "Named" and "Unnamed"
  2901. routers. Authorities no longer vote for these flags. Closes
  2902. ticket 22215.
  2903. - Rename the obsolete malleable hybrid_encrypt functions used in TAP
  2904. and old hidden services, to indicate that they aren't suitable for
  2905. new protocols or formats. Closes ticket 23026.
  2906. - Replace our STRUCT_OFFSET() macro with offsetof(). Closes ticket
  2907. 22521. Patch from Neel Chauhan.
  2908. - Split the enormous circuit_send_next_onion_skin() function into
  2909. multiple subfunctions. Closes ticket 22804.
  2910. - Split the portions of the buffer.c module that handle particular
  2911. protocols into separate modules. Part of ticket 23149.
  2912. - Use our test macros more consistently, to produce more useful
  2913. error messages when our unit tests fail. Add coccinelle patches to
  2914. allow us to re-check for test macro uses. Closes ticket 22497.
  2915. o Deprecated features:
  2916. - The ReachableDirAddresses and ClientPreferIPv6DirPort options are
  2917. now deprecated; they do not apply to relays, and they have had no
  2918. effect on clients since 0.2.8.x. Closes ticket 19704.
  2919. - Deprecate HTTPProxy/HTTPProxyAuthenticator config options. They
  2920. only applies to direct unencrypted HTTP connections to your
  2921. directory server, which your Tor probably isn't using. Closes
  2922. ticket 20575.
  2923. o Documentation:
  2924. - Add notes in man page regarding OS support for the various
  2925. scheduler types. Attempt to use less jargon in the scheduler
  2926. section. Closes ticket 24254.
  2927. - Clarify that the Address option is entirely about setting an
  2928. advertised IPv4 address. Closes ticket 18891.
  2929. - Clarify the manpage's use of the term "address" to clarify what
  2930. kind of address is intended. Closes ticket 21405.
  2931. - Document that onion service subdomains are allowed, and ignored.
  2932. Closes ticket 18736.
  2933. - Clarify in the manual that "Sandbox 1" is only supported on Linux
  2934. kernels. Closes ticket 22677.
  2935. - Document all values of PublishServerDescriptor in the manpage.
  2936. Closes ticket 15645.
  2937. - Improve the documentation for the directory port part of the
  2938. DirAuthority line. Closes ticket 20152.
  2939. - Restore documentation for the authorities' "approved-routers"
  2940. file. Closes ticket 21148.
  2941. o Removed features:
  2942. - The AllowDotExit option has been removed as unsafe. It has been
  2943. deprecated since 0.2.9.2-alpha. Closes ticket 23426.
  2944. - The ClientDNSRejectInternalAddresses flag can no longer be set on
  2945. non-testing networks. It has been deprecated since 0.2.9.2-alpha.
  2946. Closes ticket 21031.
  2947. - The controller API no longer includes an AUTHDIR_NEWDESCS event:
  2948. nobody was using it any longer. Closes ticket 22377.
  2949. Changes in version 0.3.1.9 - 2017-12-01:
  2950. Tor 0.3.1.9 backports important security and stability fixes from the
  2951. 0.3.2 development series. All Tor users should upgrade to this
  2952. release, or to another of the releases coming out today.
  2953. o Major bugfixes (security, backport from 0.3.2.6-alpha):
  2954. - Fix a denial of service bug where an attacker could use a
  2955. malformed directory object to cause a Tor instance to pause while
  2956. OpenSSL would try to read a passphrase from the terminal. (Tor
  2957. instances run without a terminal, which is the case for most Tor
  2958. packages, are not impacted.) Fixes bug 24246; bugfix on every
  2959. version of Tor. Also tracked as TROVE-2017-011 and CVE-2017-8821.
  2960. Found by OSS-Fuzz as testcase 6360145429790720.
  2961. - Fix a denial of service issue where an attacker could crash a
  2962. directory authority using a malformed router descriptor. Fixes bug
  2963. 24245; bugfix on 0.2.9.4-alpha. Also tracked as TROVE-2017-010
  2964. and CVE-2017-8820.
  2965. - When checking for replays in the INTRODUCE1 cell data for a
  2966. (legacy) onion service, correctly detect replays in the RSA-
  2967. encrypted part of the cell. We were previously checking for
  2968. replays on the entire cell, but those can be circumvented due to
  2969. the malleability of Tor's legacy hybrid encryption. This fix helps
  2970. prevent a traffic confirmation attack. Fixes bug 24244; bugfix on
  2971. 0.2.4.1-alpha. This issue is also tracked as TROVE-2017-009
  2972. and CVE-2017-8819.
  2973. o Major bugfixes (security, onion service v2, backport from 0.3.2.6-alpha):
  2974. - Fix a use-after-free error that could crash v2 Tor onion services
  2975. when they failed to open circuits while expiring introduction
  2976. points. Fixes bug 24313; bugfix on 0.2.7.2-alpha. This issue is
  2977. also tracked as TROVE-2017-013 and CVE-2017-8823.
  2978. o Major bugfixes (security, relay, backport from 0.3.2.6-alpha):
  2979. - When running as a relay, make sure that we never build a path
  2980. through ourselves, even in the case where we have somehow lost the
  2981. version of our descriptor appearing in the consensus. Fixes part
  2982. of bug 21534; bugfix on 0.2.0.1-alpha. This issue is also tracked
  2983. as TROVE-2017-012 and CVE-2017-8822.
  2984. - When running as a relay, make sure that we never choose ourselves
  2985. as a guard. Fixes part of bug 21534; bugfix on 0.3.0.1-alpha. This
  2986. issue is also tracked as TROVE-2017-012 and CVE-2017-8822.
  2987. o Major bugfixes (exit relays, DNS, backport from 0.3.2.4-alpha):
  2988. - Fix an issue causing DNS to fail on high-bandwidth exit nodes,
  2989. making them nearly unusable. Fixes bugs 21394 and 18580; bugfix on
  2990. 0.1.2.2-alpha, which introduced eventdns. Thanks to Dhalgren for
  2991. identifying and finding a workaround to this bug and to Moritz,
  2992. Arthur Edelstein, and Roger for helping to track it down and
  2993. analyze it.
  2994. o Minor features (bridge):
  2995. - Bridges now include notice in their descriptors that they are
  2996. bridges, and notice of their distribution status, based on their
  2997. publication settings. Implements ticket 18329. For more fine-
  2998. grained control of how a bridge is distributed, upgrade to 0.3.2.x
  2999. or later.
  3000. o Minor features (directory authority, backport from 0.3.2.6-alpha):
  3001. - Add an IPv6 address for the "bastet" directory authority. Closes
  3002. ticket 24394.
  3003. o Minor features (geoip):
  3004. - Update geoip and geoip6 to the November 6 2017 Maxmind GeoLite2
  3005. Country database.
  3006. o Minor bugfix (relay address resolution, backport from 0.3.2.1-alpha):
  3007. - Avoid unnecessary calls to directory_fetches_from_authorities() on
  3008. relays, to prevent spurious address resolutions and descriptor
  3009. rebuilds. This is a mitigation for bug 21789. Fixes bug 23470;
  3010. bugfix on in 0.2.8.1-alpha.
  3011. o Minor bugfixes (compilation, backport from 0.3.2.1-alpha):
  3012. - Fix unused variable warnings in donna's Curve25519 SSE2 code.
  3013. Fixes bug 22895; bugfix on 0.2.7.2-alpha.
  3014. o Minor bugfixes (logging, relay shutdown, annoyance, backport from 0.3.2.2-alpha):
  3015. - When a circuit is marked for close, do not attempt to package any
  3016. cells for channels on that circuit. Previously, we would detect
  3017. this condition lower in the call stack, when we noticed that the
  3018. circuit had no attached channel, and log an annoying message.
  3019. Fixes bug 8185; bugfix on 0.2.5.4-alpha.
  3020. o Minor bugfixes (onion service, backport from 0.3.2.5-alpha):
  3021. - Rename the consensus parameter "hsdir-interval" to "hsdir_interval"
  3022. so it matches dir-spec.txt. Fixes bug 24262; bugfix
  3023. on 0.3.1.1-alpha.
  3024. o Minor bugfixes (relay, crash, backport from 0.3.2.4-alpha):
  3025. - Avoid a crash when transitioning from client mode to bridge mode.
  3026. Previously, we would launch the worker threads whenever our
  3027. "public server" mode changed, but not when our "server" mode
  3028. changed. Fixes bug 23693; bugfix on 0.2.6.3-alpha.
  3029. Changes in version 0.3.0.13 - 2017-12-01
  3030. Tor 0.3.0.13 backports important security and stability bugfixes from
  3031. later Tor releases. All Tor users should upgrade to this release, or
  3032. to another of the releases coming out today.
  3033. Note: the Tor 0.3.0 series will no longer be supported after 26 Jan
  3034. 2018. If you need a release with long-term support, please stick with
  3035. the 0.2.9 series. Otherwise, please upgrade to 0.3.1 or later.
  3036. o Major bugfixes (security, backport from 0.3.2.6-alpha):
  3037. - Fix a denial of service bug where an attacker could use a
  3038. malformed directory object to cause a Tor instance to pause while
  3039. OpenSSL would try to read a passphrase from the terminal. (Tor
  3040. instances run without a terminal, which is the case for most Tor
  3041. packages, are not impacted.) Fixes bug 24246; bugfix on every
  3042. version of Tor. Also tracked as TROVE-2017-011 and CVE-2017-8821.
  3043. Found by OSS-Fuzz as testcase 6360145429790720.
  3044. - Fix a denial of service issue where an attacker could crash a
  3045. directory authority using a malformed router descriptor. Fixes bug
  3046. 24245; bugfix on 0.2.9.4-alpha. Also tracked as TROVE-2017-010
  3047. and CVE-2017-8820.
  3048. - When checking for replays in the INTRODUCE1 cell data for a
  3049. (legacy) onion service, correctly detect replays in the RSA-
  3050. encrypted part of the cell. We were previously checking for
  3051. replays on the entire cell, but those can be circumvented due to
  3052. the malleability of Tor's legacy hybrid encryption. This fix helps
  3053. prevent a traffic confirmation attack. Fixes bug 24244; bugfix on
  3054. 0.2.4.1-alpha. This issue is also tracked as TROVE-2017-009
  3055. and CVE-2017-8819.
  3056. o Major bugfixes (security, onion service v2, backport from 0.3.2.6-alpha):
  3057. - Fix a use-after-free error that could crash v2 Tor onion services
  3058. when they failed to open circuits while expiring introduction
  3059. points. Fixes bug 24313; bugfix on 0.2.7.2-alpha. This issue is
  3060. also tracked as TROVE-2017-013 and CVE-2017-8823.
  3061. o Major bugfixes (security, relay, backport from 0.3.2.6-alpha):
  3062. - When running as a relay, make sure that we never build a path
  3063. through ourselves, even in the case where we have somehow lost the
  3064. version of our descriptor appearing in the consensus. Fixes part
  3065. of bug 21534; bugfix on 0.2.0.1-alpha. This issue is also tracked
  3066. as TROVE-2017-012 and CVE-2017-8822.
  3067. - When running as a relay, make sure that we never choose ourselves
  3068. as a guard. Fixes part of bug 21534; bugfix on 0.3.0.1-alpha. This
  3069. issue is also tracked as TROVE-2017-012 and CVE-2017-8822.
  3070. o Major bugfixes (exit relays, DNS, backport from 0.3.2.4-alpha):
  3071. - Fix an issue causing DNS to fail on high-bandwidth exit nodes,
  3072. making them nearly unusable. Fixes bugs 21394 and 18580; bugfix on
  3073. 0.1.2.2-alpha, which introduced eventdns. Thanks to Dhalgren for
  3074. identifying and finding a workaround to this bug and to Moritz,
  3075. Arthur Edelstein, and Roger for helping to track it down and
  3076. analyze it.
  3077. o Minor features (security, windows, backport from 0.3.1.1-alpha):
  3078. - Enable a couple of pieces of Windows hardening: one
  3079. (HeapEnableTerminationOnCorruption) that has been on-by-default
  3080. since Windows 8, and unavailable before Windows 7; and one
  3081. (PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION) which we believe doesn't
  3082. affect us, but shouldn't do any harm. Closes ticket 21953.
  3083. o Minor features (bridge, backport from 0.3.1.9):
  3084. - Bridges now include notice in their descriptors that they are
  3085. bridges, and notice of their distribution status, based on their
  3086. publication settings. Implements ticket 18329. For more fine-
  3087. grained control of how a bridge is distributed, upgrade to 0.3.2.x
  3088. or later.
  3089. o Minor features (directory authority, backport from 0.3.2.6-alpha):
  3090. - Add an IPv6 address for the "bastet" directory authority. Closes
  3091. ticket 24394.
  3092. o Minor features (geoip):
  3093. - Update geoip and geoip6 to the November 6 2017 Maxmind GeoLite2
  3094. Country database.
  3095. o Minor bugfix (relay address resolution, backport from 0.3.2.1-alpha):
  3096. - Avoid unnecessary calls to directory_fetches_from_authorities() on
  3097. relays, to prevent spurious address resolutions and descriptor
  3098. rebuilds. This is a mitigation for bug 21789. Fixes bug 23470;
  3099. bugfix on in 0.2.8.1-alpha.
  3100. o Minor bugfixes (compilation, backport from 0.3.2.1-alpha):
  3101. - Fix unused variable warnings in donna's Curve25519 SSE2 code.
  3102. Fixes bug 22895; bugfix on 0.2.7.2-alpha.
  3103. o Minor bugfixes (logging, relay shutdown, annoyance, backport from 0.3.2.2-alpha):
  3104. - When a circuit is marked for close, do not attempt to package any
  3105. cells for channels on that circuit. Previously, we would detect
  3106. this condition lower in the call stack, when we noticed that the
  3107. circuit had no attached channel, and log an annoying message.
  3108. Fixes bug 8185; bugfix on 0.2.5.4-alpha.
  3109. o Minor bugfixes (relay, crash, backport from 0.3.2.4-alpha):
  3110. - Avoid a crash when transitioning from client mode to bridge mode.
  3111. Previously, we would launch the worker threads whenever our
  3112. "public server" mode changed, but not when our "server" mode
  3113. changed. Fixes bug 23693; bugfix on 0.2.6.3-alpha.
  3114. o Minor bugfixes (testing, backport from 0.3.1.6-rc):
  3115. - Fix an undersized buffer in test-memwipe.c. Fixes bug 23291;
  3116. bugfix on 0.2.7.2-alpha. Found and patched by Ties Stuij.
  3117. Changes in version 0.2.9.14 - 2017-12-01
  3118. Tor 0.3.0.13 backports important security and stability bugfixes from
  3119. later Tor releases. All Tor users should upgrade to this release, or
  3120. to another of the releases coming out today.
  3121. o Major bugfixes (exit relays, DNS, backport from 0.3.2.4-alpha):
  3122. - Fix an issue causing DNS to fail on high-bandwidth exit nodes,
  3123. making them nearly unusable. Fixes bugs 21394 and 18580; bugfix on
  3124. 0.1.2.2-alpha, which introduced eventdns. Thanks to Dhalgren for
  3125. identifying and finding a workaround to this bug and to Moritz,
  3126. Arthur Edelstein, and Roger for helping to track it down and
  3127. analyze it.
  3128. o Major bugfixes (security, backport from 0.3.2.6-alpha):
  3129. - Fix a denial of service bug where an attacker could use a
  3130. malformed directory object to cause a Tor instance to pause while
  3131. OpenSSL would try to read a passphrase from the terminal. (Tor
  3132. instances run without a terminal, which is the case for most Tor
  3133. packages, are not impacted.) Fixes bug 24246; bugfix on every
  3134. version of Tor. Also tracked as TROVE-2017-011 and CVE-2017-8821.
  3135. Found by OSS-Fuzz as testcase 6360145429790720.
  3136. - Fix a denial of service issue where an attacker could crash a
  3137. directory authority using a malformed router descriptor. Fixes bug
  3138. 24245; bugfix on 0.2.9.4-alpha. Also tracked as TROVE-2017-010
  3139. and CVE-2017-8820.
  3140. - When checking for replays in the INTRODUCE1 cell data for a
  3141. (legacy) onion service, correctly detect replays in the RSA-
  3142. encrypted part of the cell. We were previously checking for
  3143. replays on the entire cell, but those can be circumvented due to
  3144. the malleability of Tor's legacy hybrid encryption. This fix helps
  3145. prevent a traffic confirmation attack. Fixes bug 24244; bugfix on
  3146. 0.2.4.1-alpha. This issue is also tracked as TROVE-2017-009
  3147. and CVE-2017-8819.
  3148. o Major bugfixes (security, onion service v2, backport from 0.3.2.6-alpha):
  3149. - Fix a use-after-free error that could crash v2 Tor onion services
  3150. when they failed to open circuits while expiring introduction
  3151. points. Fixes bug 24313; bugfix on 0.2.7.2-alpha. This issue is
  3152. also tracked as TROVE-2017-013 and CVE-2017-8823.
  3153. o Major bugfixes (security, relay, backport from 0.3.2.6-alpha):
  3154. - When running as a relay, make sure that we never build a path
  3155. through ourselves, even in the case where we have somehow lost the
  3156. version of our descriptor appearing in the consensus. Fixes part
  3157. of bug 21534; bugfix on 0.2.0.1-alpha. This issue is also tracked
  3158. as TROVE-2017-012 and CVE-2017-8822.
  3159. o Minor features (bridge, backport from 0.3.1.9):
  3160. - Bridges now include notice in their descriptors that they are
  3161. bridges, and notice of their distribution status, based on their
  3162. publication settings. Implements ticket 18329. For more fine-
  3163. grained control of how a bridge is distributed, upgrade to 0.3.2.x
  3164. or later.
  3165. o Minor features (directory authority, backport from 0.3.2.6-alpha):
  3166. - Add an IPv6 address for the "bastet" directory authority. Closes
  3167. ticket 24394.
  3168. o Minor features (geoip):
  3169. - Update geoip and geoip6 to the November 6 2017 Maxmind GeoLite2
  3170. Country database.
  3171. o Minor features (security, windows, backport from 0.3.1.1-alpha):
  3172. - Enable a couple of pieces of Windows hardening: one
  3173. (HeapEnableTerminationOnCorruption) that has been on-by-default
  3174. since Windows 8, and unavailable before Windows 7; and one
  3175. (PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION) which we believe doesn't
  3176. affect us, but shouldn't do any harm. Closes ticket 21953.
  3177. o Minor bugfix (relay address resolution, backport from 0.3.2.1-alpha):
  3178. - Avoid unnecessary calls to directory_fetches_from_authorities() on
  3179. relays, to prevent spurious address resolutions and descriptor
  3180. rebuilds. This is a mitigation for bug 21789. Fixes bug 23470;
  3181. bugfix on in 0.2.8.1-alpha.
  3182. o Minor bugfixes (compilation, backport from 0.3.2.1-alpha):
  3183. - Fix unused variable warnings in donna's Curve25519 SSE2 code.
  3184. Fixes bug 22895; bugfix on 0.2.7.2-alpha.
  3185. o Minor bugfixes (logging, relay shutdown, annoyance, backport from 0.3.2.2-alpha):
  3186. - When a circuit is marked for close, do not attempt to package any
  3187. cells for channels on that circuit. Previously, we would detect
  3188. this condition lower in the call stack, when we noticed that the
  3189. circuit had no attached channel, and log an annoying message.
  3190. Fixes bug 8185; bugfix on 0.2.5.4-alpha.
  3191. o Minor bugfixes (relay, crash, backport from 0.3.2.4-alpha):
  3192. - Avoid a crash when transitioning from client mode to bridge mode.
  3193. Previously, we would launch the worker threads whenever our
  3194. "public server" mode changed, but not when our "server" mode
  3195. changed. Fixes bug 23693; bugfix on 0.2.6.3-alpha.
  3196. o Minor bugfixes (testing, backport from 0.3.1.6-rc):
  3197. - Fix an undersized buffer in test-memwipe.c. Fixes bug 23291;
  3198. bugfix on 0.2.7.2-alpha. Found and patched by Ties Stuij.
  3199. Changes in version 0.2.8.17 - 2017-12-01
  3200. Tor 0.2.8.17 backports important security and stability bugfixes from
  3201. later Tor releases. All Tor users should upgrade to this release, or
  3202. to another of the releases coming out today.
  3203. Note: the Tor 0.2.8 series will no longer be supported after 1 Jan
  3204. 2018. If you need a release with long-term support, please upgrade with
  3205. the 0.2.9 series. Otherwise, please upgrade to 0.3.1 or later.
  3206. o Major bugfixes (security, backport from 0.3.2.6-alpha):
  3207. - Fix a denial of service bug where an attacker could use a
  3208. malformed directory object to cause a Tor instance to pause while
  3209. OpenSSL would try to read a passphrase from the terminal. (Tor
  3210. instances run without a terminal, which is the case for most Tor
  3211. packages, are not impacted.) Fixes bug 24246; bugfix on every
  3212. version of Tor. Also tracked as TROVE-2017-011 and CVE-2017-8821.
  3213. Found by OSS-Fuzz as testcase 6360145429790720.
  3214. - When checking for replays in the INTRODUCE1 cell data for a
  3215. (legacy) onion service, correctly detect replays in the RSA-
  3216. encrypted part of the cell. We were previously checking for
  3217. replays on the entire cell, but those can be circumvented due to
  3218. the malleability of Tor's legacy hybrid encryption. This fix helps
  3219. prevent a traffic confirmation attack. Fixes bug 24244; bugfix on
  3220. 0.2.4.1-alpha. This issue is also tracked as TROVE-2017-009
  3221. and CVE-2017-8819.
  3222. o Major bugfixes (security, onion service v2, backport from 0.3.2.6-alpha):
  3223. - Fix a use-after-free error that could crash v2 Tor onion services
  3224. when they failed to open circuits while expiring introduction
  3225. points. Fixes bug 24313; bugfix on 0.2.7.2-alpha. This issue is
  3226. also tracked as TROVE-2017-013 and CVE-2017-8823.
  3227. o Major bugfixes (security, relay, backport from 0.3.2.6-alpha):
  3228. - When running as a relay, make sure that we never build a path through
  3229. ourselves, even in the case where we have somehow lost the version of
  3230. our descriptor appearing in the consensus. Fixes part of bug 21534;
  3231. bugfix on 0.2.0.1-alpha. This issue is also tracked as TROVE-2017-012
  3232. and CVE-2017-8822.
  3233. o Minor features (bridge, backport from 0.3.1.9):
  3234. - Bridges now include notice in their descriptors that they are
  3235. bridges, and notice of their distribution status, based on their
  3236. publication settings. Implements ticket 18329. For more fine-
  3237. grained control of how a bridge is distributed, upgrade to 0.3.2.x
  3238. or later.
  3239. o Minor features (directory authority, backport from 0.3.2.6-alpha):
  3240. - Add an IPv6 address for the "bastet" directory authority. Closes
  3241. ticket 24394.
  3242. o Minor features (geoip):
  3243. - Update geoip and geoip6 to the November 6 2017 Maxmind GeoLite2
  3244. Country database.
  3245. o Minor bugfixes (testing, backport from 0.3.1.6-rc):
  3246. - Fix an undersized buffer in test-memwipe.c. Fixes bug 23291;
  3247. bugfix on 0.2.7.2-alpha. Found and patched by Ties Stuij.
  3248. Changes in version 0.2.5.16 - 2017-12-01
  3249. Tor 0.2.5.13 backports important security and stability bugfixes from
  3250. later Tor releases. All Tor users should upgrade to this release, or
  3251. to another of the releases coming out today.
  3252. Note: the Tor 0.2.5 series will no longer be supported after 1 May
  3253. 2018. If you need a release with long-term support, please upgrade to
  3254. the 0.2.9 series. Otherwise, please upgrade to 0.3.1 or later.
  3255. o Major bugfixes (security, backport from 0.3.2.6-alpha):
  3256. - Fix a denial of service bug where an attacker could use a
  3257. malformed directory object to cause a Tor instance to pause while
  3258. OpenSSL would try to read a passphrase from the terminal. (Tor
  3259. instances run without a terminal, which is the case for most Tor
  3260. packages, are not impacted.) Fixes bug 24246; bugfix on every
  3261. version of Tor. Also tracked as TROVE-2017-011 and CVE-2017-8821.
  3262. Found by OSS-Fuzz as testcase 6360145429790720.
  3263. - When checking for replays in the INTRODUCE1 cell data for a
  3264. (legacy) onion service, correctly detect replays in the RSA-
  3265. encrypted part of the cell. We were previously checking for
  3266. replays on the entire cell, but those can be circumvented due to
  3267. the malleability of Tor's legacy hybrid encryption. This fix helps
  3268. prevent a traffic confirmation attack. Fixes bug 24244; bugfix on
  3269. 0.2.4.1-alpha. This issue is also tracked as TROVE-2017-009
  3270. and CVE-2017-8819.
  3271. o Major bugfixes (security, relay, backport from 0.3.2.6-alpha):
  3272. - When running as a relay, make sure that we never build a path
  3273. through ourselves, even in the case where we have somehow lost the
  3274. version of our descriptor appearing in the consensus. Fixes part
  3275. of bug 21534; bugfix on 0.2.0.1-alpha. This issue is also tracked
  3276. as TROVE-2017-012 and CVE-2017-8822.
  3277. o Minor features (bridge, backport from 0.3.1.9):
  3278. - Bridges now include notice in their descriptors that they are
  3279. bridges, and notice of their distribution status, based on their
  3280. publication settings. Implements ticket 18329. For more fine-
  3281. grained control of how a bridge is distributed, upgrade to 0.3.2.x
  3282. or later.
  3283. o Minor features (geoip):
  3284. - Update geoip and geoip6 to the November 6 2017 Maxmind GeoLite2
  3285. Country database.
  3286. Changes in version 0.2.5.15 - 2017-10-25
  3287. Tor 0.2.5.15 backports a collection of bugfixes from later Tor release
  3288. series. It also adds a new directory authority, Bastet.
  3289. Note: the Tor 0.2.5 series will no longer be supported after 1 May
  3290. 2018. If you need a release with long-term support, please upgrade to
  3291. the 0.2.9 series. Otherwise, please upgrade to 0.3.1 or later.
  3292. o Directory authority changes:
  3293. - Add "Bastet" as a ninth directory authority to the default list.
  3294. Closes ticket 23910.
  3295. - The directory authority "Longclaw" has changed its IP address.
  3296. Closes ticket 23592.
  3297. o Major bugfixes (openbsd, denial-of-service, backport from 0.3.1.5-alpha):
  3298. - Avoid an assertion failure bug affecting our implementation of
  3299. inet_pton(AF_INET6) on certain OpenBSD systems whose strtol()
  3300. handling of "0xx" differs from what we had expected. Fixes bug
  3301. 22789; bugfix on 0.2.3.8-alpha. Also tracked as TROVE-2017-007.
  3302. o Minor features (geoip):
  3303. - Update geoip and geoip6 to the October 4 2017 Maxmind GeoLite2
  3304. Country database.
  3305. o Minor bugfixes (defensive programming, undefined behavior, backport from 0.3.1.4-alpha):
  3306. - Fix a memset() off the end of an array when packing cells. This
  3307. bug should be harmless in practice, since the corrupted bytes are
  3308. still in the same structure, and are always padding bytes,
  3309. ignored, or immediately overwritten, depending on compiler
  3310. behavior. Nevertheless, because the memset()'s purpose is to make
  3311. sure that any other cell-handling bugs can't expose bytes to the
  3312. network, we need to fix it. Fixes bug 22737; bugfix on
  3313. 0.2.4.11-alpha. Fixes CID 1401591.
  3314. o Build features (backport from 0.3.1.5-alpha):
  3315. - Tor's repository now includes a Travis Continuous Integration (CI)
  3316. configuration file (.travis.yml). This is meant to help new
  3317. developers and contributors who fork Tor to a Github repository be
  3318. better able to test their changes, and understand what we expect
  3319. to pass. To use this new build feature, you must fork Tor to your
  3320. Github account, then go into the "Integrations" menu in the
  3321. repository settings for your fork and enable Travis, then push
  3322. your changes. Closes ticket 22636.
  3323. Changes in version 0.2.8.16 - 2017-10-25
  3324. Tor 0.2.8.16 backports a collection of bugfixes from later Tor release
  3325. series, including a bugfix for a crash issue that had affected relays
  3326. under memory pressure. It also adds a new directory authority, Bastet.
  3327. Note: the Tor 0.2.8 series will no longer be supported after 1 Jan
  3328. 2018. If you need a release with long-term support, please stick with
  3329. the 0.2.9 series. Otherwise, please upgrade to 0.3.1 or later.
  3330. o Directory authority changes:
  3331. - Add "Bastet" as a ninth directory authority to the default list.
  3332. Closes ticket 23910.
  3333. - The directory authority "Longclaw" has changed its IP address.
  3334. Closes ticket 23592.
  3335. o Major bugfixes (relay, crash, assertion failure, backport from 0.3.2.2-alpha):
  3336. - Fix a timing-based assertion failure that could occur when the
  3337. circuit out-of-memory handler freed a connection's output buffer.
  3338. Fixes bug 23690; bugfix on 0.2.6.1-alpha.
  3339. o Minor features (directory authorities, backport from 0.3.2.2-alpha):
  3340. - Remove longclaw's IPv6 address, as it will soon change. Authority
  3341. IPv6 addresses were originally added in 0.2.8.1-alpha. This leaves
  3342. 3/8 directory authorities with IPv6 addresses, but there are also
  3343. 52 fallback directory mirrors with IPv6 addresses. Resolves 19760.
  3344. o Minor features (geoip):
  3345. - Update geoip and geoip6 to the October 4 2017 Maxmind GeoLite2
  3346. Country database.
  3347. Changes in version 0.2.9.13 - 2017-10-25
  3348. Tor 0.2.9.13 backports a collection of bugfixes from later Tor release
  3349. series, including a bugfix for a crash issue that had affected relays
  3350. under memory pressure. It also adds a new directory authority, Bastet.
  3351. o Directory authority changes:
  3352. - Add "Bastet" as a ninth directory authority to the default list.
  3353. Closes ticket 23910.
  3354. - The directory authority "Longclaw" has changed its IP address.
  3355. Closes ticket 23592.
  3356. o Major bugfixes (relay, crash, assertion failure, backport from 0.3.2.2-alpha):
  3357. - Fix a timing-based assertion failure that could occur when the
  3358. circuit out-of-memory handler freed a connection's output buffer.
  3359. Fixes bug 23690; bugfix on 0.2.6.1-alpha.
  3360. o Minor features (directory authorities, backport from 0.3.2.2-alpha):
  3361. - Remove longclaw's IPv6 address, as it will soon change. Authority
  3362. IPv6 addresses were originally added in 0.2.8.1-alpha. This leaves
  3363. 3/8 directory authorities with IPv6 addresses, but there are also
  3364. 52 fallback directory mirrors with IPv6 addresses. Resolves 19760.
  3365. o Minor features (geoip):
  3366. - Update geoip and geoip6 to the October 4 2017 Maxmind GeoLite2
  3367. Country database.
  3368. o Minor bugfixes (directory authority, backport from 0.3.1.5-alpha):
  3369. - When a directory authority rejects a descriptor or extrainfo with
  3370. a given digest, mark that digest as undownloadable, so that we do
  3371. not attempt to download it again over and over. We previously
  3372. tried to avoid downloading such descriptors by other means, but we
  3373. didn't notice if we accidentally downloaded one anyway. This
  3374. behavior became problematic in 0.2.7.2-alpha, when authorities
  3375. began pinning Ed25519 keys. Fixes bug 22349; bugfix
  3376. on 0.2.1.19-alpha.
  3377. o Minor bugfixes (memory safety, backport from 0.3.2.3-alpha):
  3378. - Clear the address when node_get_prim_orport() returns early.
  3379. Fixes bug 23874; bugfix on 0.2.8.2-alpha.
  3380. o Minor bugfixes (Windows service, backport from 0.3.1.6-rc):
  3381. - When running as a Windows service, set the ID of the main thread
  3382. correctly. Failure to do so made us fail to send log messages to
  3383. the controller in 0.2.1.16-rc, slowed down controller event
  3384. delivery in 0.2.7.3-rc and later, and crash with an assertion
  3385. failure in 0.3.1.1-alpha. Fixes bug 23081; bugfix on 0.2.1.6-alpha.
  3386. Patch and diagnosis from "Vort".
  3387. Changes in version 0.3.0.12 - 2017-10-25
  3388. Tor 0.3.0.12 backports a collection of bugfixes from later Tor release
  3389. series, including a bugfix for a crash issue that had affected relays
  3390. under memory pressure. It also adds a new directory authority, Bastet.
  3391. Note: the Tor 0.3.0 series will no longer be supported after 26 Jan
  3392. 2018. If you need a release with long-term support, please stick with
  3393. the 0.2.9 series. Otherwise, please upgrade to 0.3.1 or later.
  3394. o Directory authority changes:
  3395. - Add "Bastet" as a ninth directory authority to the default list.
  3396. Closes ticket 23910.
  3397. - The directory authority "Longclaw" has changed its IP address.
  3398. Closes ticket 23592.
  3399. o Major bugfixes (relay, crash, assertion failure, backport from 0.3.2.2-alpha):
  3400. - Fix a timing-based assertion failure that could occur when the
  3401. circuit out-of-memory handler freed a connection's output buffer.
  3402. Fixes bug 23690; bugfix on 0.2.6.1-alpha.
  3403. o Minor features (directory authorities, backport from 0.3.2.2-alpha):
  3404. - Remove longclaw's IPv6 address, as it will soon change. Authority
  3405. IPv6 addresses were originally added in 0.2.8.1-alpha. This leaves
  3406. 3/8 directory authorities with IPv6 addresses, but there are also
  3407. 52 fallback directory mirrors with IPv6 addresses. Resolves 19760.
  3408. o Minor features (geoip):
  3409. - Update geoip and geoip6 to the October 4 2017 Maxmind GeoLite2
  3410. Country database.
  3411. o Minor bugfixes (directory authority, backport from 0.3.1.5-alpha):
  3412. - When a directory authority rejects a descriptor or extrainfo with
  3413. a given digest, mark that digest as undownloadable, so that we do
  3414. not attempt to download it again over and over. We previously
  3415. tried to avoid downloading such descriptors by other means, but we
  3416. didn't notice if we accidentally downloaded one anyway. This
  3417. behavior became problematic in 0.2.7.2-alpha, when authorities
  3418. began pinning Ed25519 keys. Fixes bug 22349; bugfix
  3419. on 0.2.1.19-alpha.
  3420. o Minor bugfixes (hidden service, relay, backport from 0.3.2.2-alpha):
  3421. - Avoid a possible double close of a circuit by the intro point on
  3422. error of sending the INTRO_ESTABLISHED cell. Fixes bug 23610;
  3423. bugfix on 0.3.0.1-alpha.
  3424. o Minor bugfixes (memory safety, backport from 0.3.2.3-alpha):
  3425. - Clear the address when node_get_prim_orport() returns early.
  3426. Fixes bug 23874; bugfix on 0.2.8.2-alpha.
  3427. o Minor bugfixes (Windows service, backport from 0.3.1.6-rc):
  3428. - When running as a Windows service, set the ID of the main thread
  3429. correctly. Failure to do so made us fail to send log messages to
  3430. the controller in 0.2.1.16-rc, slowed down controller event
  3431. delivery in 0.2.7.3-rc and later, and crash with an assertion
  3432. failure in 0.3.1.1-alpha. Fixes bug 23081; bugfix on 0.2.1.6-alpha.
  3433. Patch and diagnosis from "Vort".
  3434. Changes in version 0.3.1.8 - 2017-10-25
  3435. Tor 0.3.1.8 is the second stable release in the 0.3.1 series.
  3436. It includes several bugfixes, including a bugfix for a crash issue
  3437. that had affected relays under memory pressure. It also adds
  3438. a new directory authority, Bastet.
  3439. o Directory authority changes:
  3440. - Add "Bastet" as a ninth directory authority to the default list.
  3441. Closes ticket 23910.
  3442. - The directory authority "Longclaw" has changed its IP address.
  3443. Closes ticket 23592.
  3444. o Major bugfixes (relay, crash, assertion failure, backport from 0.3.2.2-alpha):
  3445. - Fix a timing-based assertion failure that could occur when the
  3446. circuit out-of-memory handler freed a connection's output buffer.
  3447. Fixes bug 23690; bugfix on 0.2.6.1-alpha.
  3448. o Minor features (directory authorities, backport from 0.3.2.2-alpha):
  3449. - Remove longclaw's IPv6 address, as it will soon change. Authority
  3450. IPv6 addresses were originally added in 0.2.8.1-alpha. This leaves
  3451. 3/8 directory authorities with IPv6 addresses, but there are also
  3452. 52 fallback directory mirrors with IPv6 addresses. Resolves 19760.
  3453. o Minor features (geoip):
  3454. - Update geoip and geoip6 to the October 4 2017 Maxmind GeoLite2
  3455. Country database.
  3456. o Minor bugfixes (compilation, backport from 0.3.2.2-alpha):
  3457. - Fix a compilation warning when building with zstd support on
  3458. 32-bit platforms. Fixes bug 23568; bugfix on 0.3.1.1-alpha. Found
  3459. and fixed by Andreas Stieger.
  3460. o Minor bugfixes (compression, backport from 0.3.2.2-alpha):
  3461. - Handle a pathological case when decompressing Zstandard data when
  3462. the output buffer size is zero. Fixes bug 23551; bugfix
  3463. on 0.3.1.1-alpha.
  3464. o Minor bugfixes (directory authority, backport from 0.3.2.1-alpha):
  3465. - Remove the length limit on HTTP status lines that authorities can
  3466. send in their replies. Fixes bug 23499; bugfix on 0.3.1.6-rc.
  3467. o Minor bugfixes (hidden service, relay, backport from 0.3.2.2-alpha):
  3468. - Avoid a possible double close of a circuit by the intro point on
  3469. error of sending the INTRO_ESTABLISHED cell. Fixes bug 23610;
  3470. bugfix on 0.3.0.1-alpha.
  3471. o Minor bugfixes (memory safety, backport from 0.3.2.3-alpha):
  3472. - Clear the address when node_get_prim_orport() returns early.
  3473. Fixes bug 23874; bugfix on 0.2.8.2-alpha.
  3474. o Minor bugfixes (unit tests, backport from 0.3.2.2-alpha):
  3475. - Fix additional channelpadding unit test failures by using mocked
  3476. time instead of actual time for all tests. Fixes bug 23608; bugfix
  3477. on 0.3.1.1-alpha.
  3478. Changes in version 0.2.8.15 - 2017-09-18
  3479. Tor 0.2.8.15 backports a collection of bugfixes from later
  3480. Tor series.
  3481. Most significantly, it includes a fix for TROVE-2017-008, a
  3482. security bug that affects hidden services running with the
  3483. SafeLogging option disabled. For more information, see
  3484. https://trac.torproject.org/projects/tor/ticket/23490
  3485. Note that Tor 0.2.8.x will no longer be supported after 1 Jan
  3486. 2018. We suggest that you upgrade to the latest stable release if
  3487. possible. If you can't, we recommend that you upgrade at least to
  3488. 0.2.9, which will be supported until 2020.
  3489. o Major bugfixes (openbsd, denial-of-service, backport from 0.3.1.5-alpha):
  3490. - Avoid an assertion failure bug affecting our implementation of
  3491. inet_pton(AF_INET6) on certain OpenBSD systems whose strtol()
  3492. handling of "0xx" differs from what we had expected. Fixes bug
  3493. 22789; bugfix on 0.2.3.8-alpha. Also tracked as TROVE-2017-007.
  3494. o Minor features:
  3495. - Update geoip and geoip6 to the September 6 2017 Maxmind GeoLite2
  3496. Country database.
  3497. o Minor bugfixes (compilation, mingw, backport from 0.3.1.1-alpha):
  3498. - Backport a fix for an "unused variable" warning that appeared
  3499. in some versions of mingw. Fixes bug 22838; bugfix on
  3500. 0.2.8.1-alpha.
  3501. o Minor bugfixes (defensive programming, undefined behavior, backport from 0.3.1.4-alpha):
  3502. - Fix a memset() off the end of an array when packing cells. This
  3503. bug should be harmless in practice, since the corrupted bytes are
  3504. still in the same structure, and are always padding bytes,
  3505. ignored, or immediately overwritten, depending on compiler
  3506. behavior. Nevertheless, because the memset()'s purpose is to make
  3507. sure that any other cell-handling bugs can't expose bytes to the
  3508. network, we need to fix it. Fixes bug 22737; bugfix on
  3509. 0.2.4.11-alpha. Fixes CID 1401591.
  3510. o Build features (backport from 0.3.1.5-alpha):
  3511. - Tor's repository now includes a Travis Continuous Integration (CI)
  3512. configuration file (.travis.yml). This is meant to help new
  3513. developers and contributors who fork Tor to a Github repository be
  3514. better able to test their changes, and understand what we expect
  3515. to pass. To use this new build feature, you must fork Tor to your
  3516. Github account, then go into the "Integrations" menu in the
  3517. repository settings for your fork and enable Travis, then push
  3518. your changes. Closes ticket 22636.
  3519. Changes in version 0.2.9.12 - 2017-09-18
  3520. Tor 0.2.9.12 backports a collection of bugfixes from later
  3521. Tor series.
  3522. Most significantly, it includes a fix for TROVE-2017-008, a
  3523. security bug that affects hidden services running with the
  3524. SafeLogging option disabled. For more information, see
  3525. https://trac.torproject.org/projects/tor/ticket/23490
  3526. o Major features (security, backport from 0.3.0.2-alpha):
  3527. - Change the algorithm used to decide DNS TTLs on client and server
  3528. side, to better resist DNS-based correlation attacks like the
  3529. DefecTor attack of Greschbach, Pulls, Roberts, Winter, and
  3530. Feamster. Now relays only return one of two possible DNS TTL
  3531. values, and clients are willing to believe DNS TTL values up to 3
  3532. hours long. Closes ticket 19769.
  3533. o Major bugfixes (crash, directory connections, backport from 0.3.0.5-rc):
  3534. - Fix a rare crash when sending a begin cell on a circuit whose
  3535. linked directory connection had already been closed. Fixes bug
  3536. 21576; bugfix on 0.2.9.3-alpha. Reported by Alec Muffett.
  3537. o Major bugfixes (DNS, backport from 0.3.0.2-alpha):
  3538. - Fix a bug that prevented exit nodes from caching DNS records for
  3539. more than 60 seconds. Fixes bug 19025; bugfix on 0.2.4.7-alpha.
  3540. o Major bugfixes (linux TPROXY support, backport from 0.3.1.1-alpha):
  3541. - Fix a typo that had prevented TPROXY-based transparent proxying
  3542. from working under Linux. Fixes bug 18100; bugfix on 0.2.6.3-alpha.
  3543. Patch from "d4fq0fQAgoJ".
  3544. o Major bugfixes (openbsd, denial-of-service, backport from 0.3.1.5-alpha):
  3545. - Avoid an assertion failure bug affecting our implementation of
  3546. inet_pton(AF_INET6) on certain OpenBSD systems whose strtol()
  3547. handling of "0xx" differs from what we had expected. Fixes bug
  3548. 22789; bugfix on 0.2.3.8-alpha. Also tracked as TROVE-2017-007.
  3549. o Minor features (code style, backport from 0.3.1.3-alpha):
  3550. - Add "Falls through" comments to our codebase, in order to silence
  3551. GCC 7's -Wimplicit-fallthrough warnings. Patch from Andreas
  3552. Stieger. Closes ticket 22446.
  3553. o Minor features (geoip):
  3554. - Update geoip and geoip6 to the September 6 2017 Maxmind GeoLite2
  3555. Country database.
  3556. o Minor bugfixes (bandwidth accounting, backport from 0.3.1.1-alpha):
  3557. - Roll over monthly accounting at the configured hour and minute,
  3558. rather than always at 00:00. Fixes bug 22245; bugfix on 0.0.9rc1.
  3559. Found by Andrey Karpov with PVS-Studio.
  3560. o Minor bugfixes (compilation, backport from 0.3.1.5-alpha):
  3561. - Suppress -Wdouble-promotion warnings with clang 4.0. Fixes bug 22915;
  3562. bugfix on 0.2.8.1-alpha.
  3563. - Fix warnings when building with libscrypt and openssl scrypt support
  3564. on Clang. Fixes bug 22916; bugfix on 0.2.7.2-alpha.
  3565. - When building with certain versions the mingw C header files, avoid
  3566. float-conversion warnings when calling the C functions isfinite(),
  3567. isnan(), and signbit(). Fixes bug 22801; bugfix on 0.2.8.1-alpha.
  3568. o Minor bugfixes (compilation, backport from 0.3.1.7):
  3569. - Avoid compiler warnings in the unit tests for running tor_sscanf()
  3570. with wide string outputs. Fixes bug 15582; bugfix on 0.2.6.2-alpha.
  3571. o Minor bugfixes (compilation, mingw, backport from 0.3.1.1-alpha):
  3572. - Backport a fix for an "unused variable" warning that appeared
  3573. in some versions of mingw. Fixes bug 22838; bugfix on
  3574. 0.2.8.1-alpha.
  3575. o Minor bugfixes (controller, backport from 0.3.1.7):
  3576. - Do not crash when receiving a HSPOST command with an empty body.
  3577. Fixes part of bug 22644; bugfix on 0.2.7.1-alpha.
  3578. - Do not crash when receiving a POSTDESCRIPTOR command with an
  3579. empty body. Fixes part of bug 22644; bugfix on 0.2.0.1-alpha.
  3580. o Minor bugfixes (coverity build support, backport from 0.3.1.5-alpha):
  3581. - Avoid Coverity build warnings related to our BUG() macro. By
  3582. default, Coverity treats BUG() as the Linux kernel does: an
  3583. instant abort(). We need to override that so our BUG() macro
  3584. doesn't prevent Coverity from analyzing functions that use it.
  3585. Fixes bug 23030; bugfix on 0.2.9.1-alpha.
  3586. o Minor bugfixes (defensive programming, undefined behavior, backport from 0.3.1.4-alpha):
  3587. - Fix a memset() off the end of an array when packing cells. This
  3588. bug should be harmless in practice, since the corrupted bytes are
  3589. still in the same structure, and are always padding bytes,
  3590. ignored, or immediately overwritten, depending on compiler
  3591. behavior. Nevertheless, because the memset()'s purpose is to make
  3592. sure that any other cell-handling bugs can't expose bytes to the
  3593. network, we need to fix it. Fixes bug 22737; bugfix on
  3594. 0.2.4.11-alpha. Fixes CID 1401591.
  3595. o Minor bugfixes (file limits, osx, backport from 0.3.1.5-alpha):
  3596. - When setting the maximum number of connections allowed by the OS,
  3597. always allow some extra file descriptors for other files. Fixes
  3598. bug 22797; bugfix on 0.2.0.10-alpha.
  3599. o Minor bugfixes (linux seccomp2 sandbox, backport from 0.3.1.5-alpha):
  3600. - Avoid a sandbox failure when trying to re-bind to a socket and
  3601. mark it as IPv6-only. Fixes bug 20247; bugfix on 0.2.5.1-alpha.
  3602. o Minor bugfixes (linux seccomp2 sandbox, backport from 0.3.1.4-alpha):
  3603. - Permit the fchmod system call, to avoid crashing on startup when
  3604. starting with the seccomp2 sandbox and an unexpected set of
  3605. permissions on the data directory or its contents. Fixes bug
  3606. 22516; bugfix on 0.2.5.4-alpha.
  3607. o Minor bugfixes (relay, backport from 0.3.0.5-rc):
  3608. - Avoid a double-marked-circuit warning that could happen when we
  3609. receive DESTROY cells under heavy load. Fixes bug 20059; bugfix
  3610. on 0.1.0.1-rc.
  3611. o Minor bugfixes (voting consistency, backport from 0.3.1.1-alpha):
  3612. - Reject version numbers with non-numeric prefixes (such as +, -, or
  3613. whitespace). Disallowing whitespace prevents differential version
  3614. parsing between POSIX-based and Windows platforms. Fixes bug 21507
  3615. and part of 21508; bugfix on 0.0.8pre1.
  3616. o Build features (backport from 0.3.1.5-alpha):
  3617. - Tor's repository now includes a Travis Continuous Integration (CI)
  3618. configuration file (.travis.yml). This is meant to help new
  3619. developers and contributors who fork Tor to a Github repository be
  3620. better able to test their changes, and understand what we expect
  3621. to pass. To use this new build feature, you must fork Tor to your
  3622. Github account, then go into the "Integrations" menu in the
  3623. repository settings for your fork and enable Travis, then push
  3624. your changes. Closes ticket 22636.
  3625. Changes in version 0.3.0.11 - 2017-09-18
  3626. Tor 0.3.0.11 backports a collection of bugfixes from Tor the 0.3.1
  3627. series.
  3628. Most significantly, it includes a fix for TROVE-2017-008, a
  3629. security bug that affects hidden services running with the
  3630. SafeLogging option disabled. For more information, see
  3631. https://trac.torproject.org/projects/tor/ticket/23490
  3632. o Minor features (code style, backport from 0.3.1.7):
  3633. - Add "Falls through" comments to our codebase, in order to silence
  3634. GCC 7's -Wimplicit-fallthrough warnings. Patch from Andreas
  3635. Stieger. Closes ticket 22446.
  3636. o Minor features:
  3637. - Update geoip and geoip6 to the September 6 2017 Maxmind GeoLite2
  3638. Country database.
  3639. o Minor bugfixes (compilation, backport from 0.3.1.7):
  3640. - Avoid compiler warnings in the unit tests for calling tor_sscanf()
  3641. with wide string outputs. Fixes bug 15582; bugfix on 0.2.6.2-alpha.
  3642. o Minor bugfixes (controller, backport from 0.3.1.7):
  3643. - Do not crash when receiving a HSPOST command with an empty body.
  3644. Fixes part of bug 22644; bugfix on 0.2.7.1-alpha.
  3645. - Do not crash when receiving a POSTDESCRIPTOR command with an empty
  3646. body. Fixes part of bug 22644; bugfix on 0.2.0.1-alpha.
  3647. o Minor bugfixes (file limits, osx, backport from 0.3.1.5-alpha):
  3648. - When setting the maximum number of connections allowed by the OS,
  3649. always allow some extra file descriptors for other files. Fixes
  3650. bug 22797; bugfix on 0.2.0.10-alpha.
  3651. o Minor bugfixes (logging, relay, backport from 0.3.1.6-rc):
  3652. - Remove a forgotten debugging message when an introduction point
  3653. successfully establishes a hidden service prop224 circuit with
  3654. a client.
  3655. - Change three other log_warn() for an introduction point to
  3656. protocol warnings, because they can be failure from the network
  3657. and are not relevant to the operator. Fixes bug 23078; bugfix on
  3658. 0.3.0.1-alpha and 0.3.0.2-alpha.
  3659. Changes in version 0.3.1.7 - 2017-09-18
  3660. Tor 0.3.1.7 is the first stable release in the 0.3.1 series.
  3661. With the 0.3.1 series, Tor now serves and downloads directory
  3662. information in more compact formats, to save on bandwidth overhead. It
  3663. also contains a new padding system to resist netflow-based traffic
  3664. analysis, and experimental support for building parts of Tor in Rust
  3665. (though no parts of Tor are in Rust yet). There are also numerous
  3666. small features, bugfixes on earlier release series, and groundwork for
  3667. the hidden services revamp of 0.3.2.
  3668. This release also includes a fix for TROVE-2017-008, a security bug
  3669. that affects hidden services running with the SafeLogging option
  3670. disabled. For more information, see
  3671. https://trac.torproject.org/projects/tor/ticket/23490
  3672. Per our stable release policy, we plan to support each stable release
  3673. series for at least the next nine months, or for three months after
  3674. the first stable release of the next series: whichever is longer. If
  3675. you need a release with long-term support, we recommend that you stay
  3676. with the 0.2.9 series.
  3677. Below is a list of the changes since 0.3.0. For a list of all
  3678. changes since 0.3.1.6-rc, see the ChangeLog file.
  3679. o New dependencies:
  3680. - To build with zstd and lzma support, Tor now requires the
  3681. pkg-config tool at build time.
  3682. o Major bugfixes (security, hidden services, loggging):
  3683. - Fix a bug where we could log uninitialized stack when a certain
  3684. hidden service error occurred while SafeLogging was disabled.
  3685. Fixes bug #23490; bugfix on 0.2.7.2-alpha.
  3686. This is also tracked as TROVE-2017-008 and CVE-2017-0380.
  3687. o Major features (build system, continuous integration):
  3688. - Tor's repository now includes a Travis Continuous Integration (CI)
  3689. configuration file (.travis.yml). This is meant to help new
  3690. developers and contributors who fork Tor to a Github repository be
  3691. better able to test their changes, and understand what we expect
  3692. to pass. To use this new build feature, you must fork Tor to your
  3693. Github account, then go into the "Integrations" menu in the
  3694. repository settings for your fork and enable Travis, then push
  3695. your changes. Closes ticket 22636.
  3696. o Major features (directory protocol):
  3697. - Tor relays and authorities can now serve clients an abbreviated
  3698. version of the consensus document, containing only the changes
  3699. since an older consensus document that the client holds. Clients
  3700. now request these documents when available. When both client and
  3701. server use this new protocol, they will use far less bandwidth (up
  3702. to 94% less) to keep the client's consensus up-to-date. Implements
  3703. proposal 140; closes ticket 13339. Based on work by Daniel Martí.
  3704. - Tor can now compress directory traffic with lzma or with zstd
  3705. compression algorithms, which can deliver better bandwidth
  3706. performance. Because lzma is computationally expensive, it's only
  3707. used for documents that can be compressed once and served many
  3708. times. Support for these algorithms requires that tor is built
  3709. with the libzstd and/or liblzma libraries available. Implements
  3710. proposal 278; closes ticket 21662.
  3711. - Relays now perform the more expensive compression operations, and
  3712. consensus diff generation, in worker threads. This separation
  3713. avoids delaying the main thread when a new consensus arrives.
  3714. o Major features (experimental):
  3715. - Tor can now build modules written in Rust. To turn this on, pass
  3716. the "--enable-rust" flag to the configure script. It's not time to
  3717. get excited yet: currently, there is no actual Rust functionality
  3718. beyond some simple glue code, and a notice at startup to tell you
  3719. that Rust is running. Still, we hope that programmers and
  3720. packagers will try building Tor with Rust support, so that we can
  3721. find issues and solve portability problems. Closes ticket 22106.
  3722. o Major features (traffic analysis resistance):
  3723. - Connections between clients and relays now send a padding cell in
  3724. each direction every 1.5 to 9.5 seconds (tunable via consensus
  3725. parameters). This padding will not resist specialized
  3726. eavesdroppers, but it should be enough to make many ISPs' routine
  3727. network flow logging less useful in traffic analysis against
  3728. Tor users.
  3729. Padding is negotiated using Tor's link protocol, so both relays
  3730. and clients must upgrade for this to take effect. Clients may
  3731. still send padding despite the relay's version by setting
  3732. ConnectionPadding 1 in torrc, and may disable padding by setting
  3733. ConnectionPadding 0 in torrc. Padding may be minimized for mobile
  3734. users with the torrc option ReducedConnectionPadding. Implements
  3735. Proposal 251 and Section 2 of Proposal 254; closes ticket 16861.
  3736. - Relays will publish 24 hour totals of padding and non-padding cell
  3737. counts to their extra-info descriptors, unless PaddingStatistics 0
  3738. is set in torrc. These 24 hour totals are also rounded to
  3739. multiples of 10000.
  3740. o Major bugfixes (hidden service, relay, security):
  3741. - Fix a remotely triggerable assertion failure when a hidden service
  3742. handles a malformed BEGIN cell. Fixes bug 22493, tracked as
  3743. TROVE-2017-004 and as CVE-2017-0375; bugfix on 0.3.0.1-alpha.
  3744. - Fix a remotely triggerable assertion failure caused by receiving a
  3745. BEGIN_DIR cell on a hidden service rendezvous circuit. Fixes bug
  3746. 22494, tracked as TROVE-2017-005 and CVE-2017-0376; bugfix
  3747. on 0.2.2.1-alpha.
  3748. o Major bugfixes (path selection, security):
  3749. - When choosing which guard to use for a circuit, avoid the exit's
  3750. family along with the exit itself. Previously, the new guard
  3751. selection logic avoided the exit, but did not consider its family.
  3752. Fixes bug 22753; bugfix on 0.3.0.1-alpha. Tracked as TROVE-2017-
  3753. 006 and CVE-2017-0377.
  3754. o Major bugfixes (connection usage):
  3755. - We use NETINFO cells to try to determine if both relays involved
  3756. in a connection will agree on the canonical status of that
  3757. connection. We prefer the connections where this is the case for
  3758. extend cells, and try to close connections where relays disagree
  3759. on their canonical status early. Also, we now prefer the oldest
  3760. valid connection for extend cells. These two changes should reduce
  3761. the number of long-term connections that are kept open between
  3762. relays. Fixes bug 17604; bugfix on 0.2.5.5-alpha.
  3763. - Relays now log hourly statistics (look for
  3764. "channel_check_for_duplicates" lines) on the total number of
  3765. connections to other relays. If the number of connections per
  3766. relay is unexpectedly large, this log message is at notice level.
  3767. Otherwise it is at info.
  3768. o Major bugfixes (entry guards):
  3769. - When starting with an old consensus, do not add new entry guards
  3770. unless the consensus is "reasonably live" (under 1 day old). Fixes
  3771. one root cause of bug 22400; bugfix on 0.3.0.1-alpha.
  3772. - Don't block bootstrapping when a primary bridge is offline and we
  3773. can't get its descriptor. Fixes bug 22325; fixes one case of bug
  3774. 21969; bugfix on 0.3.0.3-alpha.
  3775. o Major bugfixes (linux TPROXY support):
  3776. - Fix a typo that had prevented TPROXY-based transparent proxying
  3777. from working under Linux. Fixes bug 18100; bugfix on 0.2.6.3-alpha.
  3778. Patch from "d4fq0fQAgoJ".
  3779. o Major bugfixes (openbsd, denial-of-service):
  3780. - Avoid an assertion failure bug affecting our implementation of
  3781. inet_pton(AF_INET6) on certain OpenBSD systems whose strtol()
  3782. handling of "0xx" differs from what we had expected. Fixes bug
  3783. 22789; bugfix on 0.2.3.8-alpha. Also tracked as TROVE-2017-007.
  3784. o Major bugfixes (relay, link handshake):
  3785. - When performing the v3 link handshake on a TLS connection, report
  3786. that we have the x509 certificate that we actually used on that
  3787. connection, even if we have changed certificates since that
  3788. connection was first opened. Previously, we would claim to have
  3789. used our most recent x509 link certificate, which would sometimes
  3790. make the link handshake fail. Fixes one case of bug 22460; bugfix
  3791. on 0.2.3.6-alpha.
  3792. o Major bugfixes (relays, key management):
  3793. - Regenerate link and authentication certificates whenever the key
  3794. that signs them changes; also, regenerate link certificates
  3795. whenever the signed key changes. Previously, these processes were
  3796. only weakly coupled, and we relays could (for minutes to hours)
  3797. wind up with an inconsistent set of keys and certificates, which
  3798. other relays would not accept. Fixes two cases of bug 22460;
  3799. bugfix on 0.3.0.1-alpha.
  3800. - When sending an Ed25519 signing->link certificate in a CERTS cell,
  3801. send the certificate that matches the x509 certificate that we
  3802. used on the TLS connection. Previously, there was a race condition
  3803. if the TLS context rotated after we began the TLS handshake but
  3804. before we sent the CERTS cell. Fixes a case of bug 22460; bugfix
  3805. on 0.3.0.1-alpha.
  3806. o Minor features (security, windows):
  3807. - Enable a couple of pieces of Windows hardening: one
  3808. (HeapEnableTerminationOnCorruption) that has been on-by-default
  3809. since Windows 8, and unavailable before Windows 7; and one
  3810. (PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION) which we believe doesn't
  3811. affect us, but shouldn't do any harm. Closes ticket 21953.
  3812. o Minor features (bridge authority):
  3813. - Add "fingerprint" lines to the networkstatus-bridges file produced
  3814. by bridge authorities. Closes ticket 22207.
  3815. o Minor features (code style):
  3816. - Add "Falls through" comments to our codebase, in order to silence
  3817. GCC 7's -Wimplicit-fallthrough warnings. Patch from Andreas
  3818. Stieger. Closes ticket 22446.
  3819. o Minor features (config options):
  3820. - Allow "%include" directives in torrc configuration files. These
  3821. directives import the settings from other files, or from all the
  3822. files in a directory. Closes ticket 1922. Code by Daniel Pinto.
  3823. - Make SAVECONF return an error when overwriting a torrc that has
  3824. includes. Using SAVECONF with the FORCE option will allow it to
  3825. overwrite torrc even if includes are used. Related to ticket 1922.
  3826. - Add "GETINFO config-can-saveconf" to tell controllers if SAVECONF
  3827. will work without the FORCE option. Related to ticket 1922.
  3828. o Minor features (controller):
  3829. - Warn the first time that a controller requests data in the long-
  3830. deprecated 'GETINFO network-status' format. Closes ticket 21703.
  3831. o Minor features (defaults):
  3832. - The default value for UseCreateFast is now 0: clients which
  3833. haven't yet received a consensus document will now use a proper
  3834. ntor handshake to talk to their directory servers whenever they
  3835. can. Closes ticket 21407.
  3836. - Onion key rotation and expiry intervals are now defined as a
  3837. network consensus parameter, per proposal 274. The default
  3838. lifetime of an onion key is increased from 7 to 28 days. Old onion
  3839. keys will expire after 7 days by default. This change will make
  3840. consensus diffs much smaller, and save significant bandwidth.
  3841. Closes ticket 21641.
  3842. o Minor features (defensive programming):
  3843. - Create a pair of consensus parameters, nf_pad_tor2web and
  3844. nf_pad_single_onion, to disable netflow padding in the consensus
  3845. for non-anonymous connections in case the overhead is high. Closes
  3846. ticket 17857.
  3847. o Minor features (diagnostic):
  3848. - Add a stack trace to the bug warnings that can be logged when
  3849. trying to send an outgoing relay cell with n_chan == 0. Diagnostic
  3850. attempt for bug 23105.
  3851. - Add logging messages to try to diagnose a rare bug that seems to
  3852. generate RSA->Ed25519 cross-certificates dated in the 1970s. We
  3853. think this is happening because of incorrect system clocks, but
  3854. we'd like to know for certain. Diagnostic for bug 22466.
  3855. - Avoid an assertion failure, and log a better error message, when
  3856. unable to remove a file from the consensus cache on Windows.
  3857. Attempts to mitigate and diagnose bug 22752.
  3858. o Minor features (directory authority):
  3859. - Improve the message that authorities report to relays that present
  3860. RSA/Ed25519 keypairs that conflict with previously pinned keys.
  3861. Closes ticket 22348.
  3862. o Minor features (directory cache, consensus diff):
  3863. - Add a new MaxConsensusAgeForDiffs option to allow directory cache
  3864. operators with low-resource environments to adjust the number of
  3865. consensuses they'll store and generate diffs from. Most cache
  3866. operators should leave it unchanged. Helps to work around
  3867. bug 22883.
  3868. o Minor features (fallback directory list):
  3869. - Update the fallback directory mirror whitelist and blacklist based
  3870. on operator emails. Closes task 21121.
  3871. - Replace the 177 fallbacks originally introduced in Tor 0.2.9.8 in
  3872. December 2016 (of which ~126 were still functional) with a list of
  3873. 151 fallbacks (32 new, 119 unchanged, 58 removed) generated in May
  3874. 2017. Resolves ticket 21564.
  3875. o Minor features (geoip):
  3876. - Update geoip and geoip6 to the September 6 2017 Maxmind GeoLite2
  3877. Country database.
  3878. o Minor features (hidden services, logging):
  3879. - Log a message when a hidden service descriptor has fewer
  3880. introduction points than specified in
  3881. HiddenServiceNumIntroductionPoints. Closes tickets 21598.
  3882. - Log a message when a hidden service reaches its introduction point
  3883. circuit limit, and when that limit is reset. Follow up to ticket
  3884. 21594; closes ticket 21622.
  3885. - Warn user if multiple entries in EntryNodes and at least one
  3886. HiddenService are used together. Pinning EntryNodes along with a
  3887. hidden service can be possibly harmful; for instance see ticket
  3888. 14917 or 21155. Closes ticket 21155.
  3889. o Minor features (linux seccomp2 sandbox):
  3890. - We now have a document storage backend compatible with the Linux
  3891. seccomp2 sandbox. This backend is used for consensus documents and
  3892. diffs between them; in the long term, we'd like to use it for
  3893. unparseable directory material too. Closes ticket 21645
  3894. - Increase the maximum allowed size passed to mprotect(PROT_WRITE)
  3895. from 1MB to 16MB. This was necessary with the glibc allocator in
  3896. order to allow worker threads to allocate more memory -- which in
  3897. turn is necessary because of our new use of worker threads for
  3898. compression. Closes ticket 22096.
  3899. o Minor features (logging):
  3900. - Log files are no longer created world-readable by default.
  3901. (Previously, most distributors would store the logs in a non-
  3902. world-readable location to prevent inappropriate access. This
  3903. change is an extra precaution.) Closes ticket 21729; patch
  3904. from toralf.
  3905. o Minor features (performance):
  3906. - Our Keccak (SHA-3) implementation now accesses memory more
  3907. efficiently, especially on little-endian systems. Closes
  3908. ticket 21737.
  3909. - Add an O(1) implementation of channel_find_by_global_id(), to
  3910. speed some controller functions.
  3911. o Minor features (relay, configuration):
  3912. - The MyFamily option may now be repeated as many times as desired,
  3913. for relays that want to configure large families. Closes ticket
  3914. 4998; patch by Daniel Pinto.
  3915. o Minor features (relay, performance):
  3916. - Always start relays with at least two worker threads, to prevent
  3917. priority inversion on slow tasks. Part of the fix for bug 22883.
  3918. - Allow background work to be queued with different priorities, so
  3919. that a big pile of slow low-priority jobs will not starve out
  3920. higher priority jobs. This lays the groundwork for a fix for
  3921. bug 22883.
  3922. o Minor features (safety):
  3923. - Add an explicit check to extrainfo_parse_entry_from_string() for
  3924. NULL inputs. We don't believe this can actually happen, but it may
  3925. help silence a warning from the Clang analyzer. Closes
  3926. ticket 21496.
  3927. o Minor features (testing):
  3928. - Add more tests for compression backend initialization. Closes
  3929. ticket 22286.
  3930. - Add a "--disable-memory-sentinels" feature to help with fuzzing.
  3931. When Tor is compiled with this option, we disable a number of
  3932. redundant memory-safety failsafes that are intended to stop bugs
  3933. from becoming security issues. This makes it easier to hunt for
  3934. bugs that would be security issues without the failsafes turned
  3935. on. Closes ticket 21439.
  3936. - Add a general event-tracing instrumentation support to Tor. This
  3937. subsystem will enable developers and researchers to add fine-
  3938. grained instrumentation to their Tor instances, for use when
  3939. examining Tor network performance issues. There are no trace
  3940. events yet, and event-tracing is off by default unless enabled at
  3941. compile time. Implements ticket 13802.
  3942. - Improve our version parsing tests: add tests for typical version
  3943. components, add tests for invalid versions, including numeric
  3944. range and non-numeric prefixes. Unit tests 21278, 21450, and
  3945. 21507. Partially implements 21470.
  3946. o Minor bugfixes (bandwidth accounting):
  3947. - Roll over monthly accounting at the configured hour and minute,
  3948. rather than always at 00:00. Fixes bug 22245; bugfix on 0.0.9rc1.
  3949. Found by Andrey Karpov with PVS-Studio.
  3950. o Minor bugfixes (code correctness):
  3951. - Accurately identify client connections by their lack of peer
  3952. authentication. This means that we bail out earlier if asked to
  3953. extend to a client. Follow-up to 21407. Fixes bug 21406; bugfix
  3954. on 0.2.4.23.
  3955. o Minor bugfixes (compilation warnings):
  3956. - Suppress -Wdouble-promotion warnings with clang 4.0. Fixes bug
  3957. 22915; bugfix on 0.2.8.1-alpha.
  3958. - Fix warnings when building with libscrypt and openssl scrypt
  3959. support on Clang. Fixes bug 22916; bugfix on 0.2.7.2-alpha.
  3960. - When building with certain versions of the mingw C header files,
  3961. avoid float-conversion warnings when calling the C functions
  3962. isfinite(), isnan(), and signbit(). Fixes bug 22801; bugfix
  3963. on 0.2.8.1-alpha.
  3964. o Minor bugfixes (compilation):
  3965. - Avoid compiler warnings in the unit tests for calling tor_sscanf()
  3966. with wide string outputs. Fixes bug 15582; bugfix on 0.2.6.2-alpha.
  3967. o Minor bugfixes (compression):
  3968. - When spooling compressed data to an output buffer, don't try to
  3969. spool more data when there is no more data to spool and we are not
  3970. trying to flush the input. Previously, we would sometimes launch
  3971. compression requests with nothing to do, which interferes with our
  3972. 22672 checks. Fixes bug 22719; bugfix on 0.2.0.16-alpha.
  3973. o Minor bugfixes (configuration):
  3974. - Do not crash when starting with LearnCircuitBuildTimeout 0. Fixes
  3975. bug 22252; bugfix on 0.2.9.3-alpha.
  3976. o Minor bugfixes (connection lifespan):
  3977. - Allow more control over how long TLS connections are kept open:
  3978. unify CircuitIdleTimeout and PredictedPortsRelevanceTime into a
  3979. single option called CircuitsAvailableTimeout. Also, allow the
  3980. consensus to control the default values for both this preference
  3981. and the lifespan of relay-to-relay connections. Fixes bug 17592;
  3982. bugfix on 0.2.5.5-alpha.
  3983. - Increase the initial circuit build timeout testing frequency, to
  3984. help ensure that ReducedConnectionPadding clients finish learning
  3985. a timeout before their orconn would expire. The initial testing
  3986. rate was set back in the days of TAP and before the Tor Browser
  3987. updater, when we had to be much more careful about new clients
  3988. making lots of circuits. With this change, a circuit build timeout
  3989. is learned in about 15-20 minutes, instead of 100-120 minutes.
  3990. o Minor bugfixes (controller):
  3991. - Do not crash when receiving a HSPOST command with an empty body.
  3992. Fixes part of bug 22644; bugfix on 0.2.7.1-alpha.
  3993. - Do not crash when receiving a POSTDESCRIPTOR command with an empty
  3994. body. Fixes part of bug 22644; bugfix on 0.2.0.1-alpha.
  3995. - GETINFO onions/current and onions/detached no longer respond with
  3996. 551 on empty lists. Fixes bug 21329; bugfix on 0.2.7.1-alpha.
  3997. - Trigger HS descriptor events on the control port when the client
  3998. fails to pick a hidden service directory for a hidden service.
  3999. This can happen if all the hidden service directories are in
  4000. ExcludeNodes, or they have all been queried within the last 15
  4001. minutes. Fixes bug 22042; bugfix on 0.2.5.2-alpha.
  4002. o Minor bugfixes (correctness):
  4003. - Avoid undefined behavior when parsing IPv6 entries from the geoip6
  4004. file. Fixes bug 22490; bugfix on 0.2.4.6-alpha.
  4005. o Minor bugfixes (coverity build support):
  4006. - Avoid Coverity build warnings related to our BUG() macro. By
  4007. default, Coverity treats BUG() as the Linux kernel does: an
  4008. instant abort(). We need to override that so our BUG() macro
  4009. doesn't prevent Coverity from analyzing functions that use it.
  4010. Fixes bug 23030; bugfix on 0.2.9.1-alpha.
  4011. o Minor bugfixes (defensive programming):
  4012. - Detect and break out of infinite loops in our compression code. We
  4013. don't think that any such loops exist now, but it's best to be
  4014. safe. Closes ticket 22672.
  4015. - Fix a memset() off the end of an array when packing cells. This
  4016. bug should be harmless in practice, since the corrupted bytes are
  4017. still in the same structure, and are always padding bytes,
  4018. ignored, or immediately overwritten, depending on compiler
  4019. behavior. Nevertheless, because the memset()'s purpose is to make
  4020. sure that any other cell-handling bugs can't expose bytes to the
  4021. network, we need to fix it. Fixes bug 22737; bugfix on
  4022. 0.2.4.11-alpha. Fixes CID 1401591.
  4023. o Minor bugfixes (directory authority):
  4024. - When a directory authority rejects a descriptor or extrainfo with
  4025. a given digest, mark that digest as undownloadable, so that we do
  4026. not attempt to download it again over and over. We previously
  4027. tried to avoid downloading such descriptors by other means, but we
  4028. didn't notice if we accidentally downloaded one anyway. This
  4029. behavior became problematic in 0.2.7.2-alpha, when authorities
  4030. began pinning Ed25519 keys. Fixes bug 22349; bugfix
  4031. on 0.2.1.19-alpha.
  4032. - When rejecting a router descriptor for running an obsolete version
  4033. of Tor without ntor support, warn about the obsolete tor version,
  4034. not the missing ntor key. Fixes bug 20270; bugfix on 0.2.9.3-alpha.
  4035. - Prevent the shared randomness subsystem from asserting when
  4036. initialized by a bridge authority with an incomplete configuration
  4037. file. Fixes bug 21586; bugfix on 0.2.9.8.
  4038. o Minor bugfixes (error reporting, windows):
  4039. - When formatting Windows error messages, use the English format to
  4040. avoid codepage issues. Fixes bug 22520; bugfix on 0.1.2.8-alpha.
  4041. Patch from "Vort".
  4042. o Minor bugfixes (exit-side DNS):
  4043. - Fix an untriggerable assertion that checked the output of a
  4044. libevent DNS error, so that the assertion actually behaves as
  4045. expected. Fixes bug 22244; bugfix on 0.2.0.20-rc. Found by Andrey
  4046. Karpov using PVS-Studio.
  4047. o Minor bugfixes (fallback directories):
  4048. - Make the usage example in updateFallbackDirs.py actually work, and
  4049. explain what it does. Fixes bug 22270; bugfix on 0.3.0.3-alpha.
  4050. - Decrease the guard flag average required to be a fallback. This
  4051. allows us to keep relays that have their guard flag removed when
  4052. they restart. Fixes bug 20913; bugfix on 0.2.8.1-alpha.
  4053. - Decrease the minimum number of fallbacks to 100. Fixes bug 20913;
  4054. bugfix on 0.2.8.1-alpha.
  4055. - Make sure fallback directory mirrors have the same address, port,
  4056. and relay identity key for at least 30 days before they are
  4057. selected. Fixes bug 20913; bugfix on 0.2.8.1-alpha.
  4058. o Minor bugfixes (file limits, osx):
  4059. - When setting the maximum number of connections allowed by the OS,
  4060. always allow some extra file descriptors for other files. Fixes
  4061. bug 22797; bugfix on 0.2.0.10-alpha.
  4062. o Minor bugfixes (hidden services):
  4063. - Increase the number of circuits that a service is allowed to
  4064. open over a specific period of time. The value was lower than it
  4065. should be (8 vs 12) in the normal case of 3 introduction points.
  4066. Fixes bug 22159; bugfix on 0.3.0.5-rc.
  4067. - Fix a BUG warning during HSv3 descriptor decoding that could be
  4068. cause by a specially crafted descriptor. Fixes bug 23233; bugfix
  4069. on 0.3.0.1-alpha. Bug found by "haxxpop".
  4070. - Stop printing a cryptic warning when a hidden service gets a
  4071. request to connect to a virtual port that it hasn't configured.
  4072. Fixes bug 16706; bugfix on 0.2.6.3-alpha.
  4073. - Simplify hidden service descriptor creation by using an existing
  4074. flag to check if an introduction point is established. Fixes bug
  4075. 21599; bugfix on 0.2.7.2-alpha.
  4076. o Minor bugfixes (link handshake):
  4077. - Lower the lifetime of the RSA->Ed25519 cross-certificate to six
  4078. months, and regenerate it when it is within one month of expiring.
  4079. Previously, we had generated this certificate at startup with a
  4080. ten-year lifetime, but that could lead to weird behavior when Tor
  4081. was started with a grossly inaccurate clock. Mitigates bug 22466;
  4082. mitigation on 0.3.0.1-alpha.
  4083. o Minor bugfixes (linux seccomp2 sandbox):
  4084. - Avoid a sandbox failure when trying to re-bind to a socket and
  4085. mark it as IPv6-only. Fixes bug 20247; bugfix on 0.2.5.1-alpha.
  4086. - Permit the fchmod system call, to avoid crashing on startup when
  4087. starting with the seccomp2 sandbox and an unexpected set of
  4088. permissions on the data directory or its contents. Fixes bug
  4089. 22516; bugfix on 0.2.5.4-alpha.
  4090. o Minor bugfixes (logging):
  4091. - When decompressing, do not warn if we fail to decompress using a
  4092. compression method that we merely guessed. Fixes part of bug
  4093. 22670; bugfix on 0.1.1.14-alpha.
  4094. - When decompressing, treat mismatch between content-encoding and
  4095. actual compression type as a protocol warning. Fixes part of bug
  4096. 22670; bugfix on 0.1.1.9-alpha.
  4097. - Downgrade "assigned_to_cpuworker failed" message to info-level
  4098. severity. In every case that can reach it, either a better warning
  4099. has already been logged, or no warning is warranted. Fixes bug
  4100. 22356; bugfix on 0.2.6.3-alpha.
  4101. - Log a better message when a directory authority replies to an
  4102. upload with an unexpected status code. Fixes bug 11121; bugfix
  4103. on 0.1.0.1-rc.
  4104. - Downgrade a log statement about unexpected relay cells from "bug"
  4105. to "protocol warning", because there is at least one use case
  4106. where it can be triggered by a buggy tor implementation. Fixes bug
  4107. 21293; bugfix on 0.1.1.14-alpha.
  4108. o Minor bugfixes (logging, relay):
  4109. - Remove a forgotten debugging message when an introduction point
  4110. successfully establishes a hidden service prop224 circuit with
  4111. a client.
  4112. - Change three other log_warn() for an introduction point to
  4113. protocol warnings, because they can be failure from the network
  4114. and are not relevant to the operator. Fixes bug 23078; bugfix on
  4115. 0.3.0.1-alpha and 0.3.0.2-alpha.
  4116. o Minor bugfixes (relay):
  4117. - Inform the geoip and rephist modules about all requests, even on
  4118. relays that are only fetching microdescriptors. Fixes a bug
  4119. related to 21585; bugfix on 0.3.0.1-alpha.
  4120. o Minor bugfixes (memory leaks):
  4121. - Fix a small memory leak at exit from the backtrace handler code.
  4122. Fixes bug 21788; bugfix on 0.2.5.2-alpha. Patch from Daniel Pinto.
  4123. - When directory authorities reject a router descriptor due to
  4124. keypinning, free the router descriptor rather than leaking the
  4125. memory. Fixes bug 22370; bugfix on 0.2.7.2-alpha.
  4126. - Fix a small memory leak when validating a configuration that uses
  4127. two or more AF_UNIX sockets for the same port type. Fixes bug
  4128. 23053; bugfix on 0.2.6.3-alpha. This is CID 1415725.
  4129. o Minor bugfixes (process behavior):
  4130. - When exiting because of an error, always exit with a nonzero exit
  4131. status. Previously, we would fail to report an error in our exit
  4132. status in cases related to __OwningControllerProcess failure,
  4133. lockfile contention, and Ed25519 key initialization. Fixes bug
  4134. 22720; bugfix on versions 0.2.1.6-alpha, 0.2.2.28-beta, and
  4135. 0.2.7.2-alpha respectively. Reported by "f55jwk4f"; patch
  4136. from "huyvq".
  4137. o Minor bugfixes (robustness, error handling):
  4138. - Improve our handling of the cases where OpenSSL encounters a
  4139. memory error while encoding keys and certificates. We haven't
  4140. observed these errors in the wild, but if they do happen, we now
  4141. detect and respond better. Fixes bug 19418; bugfix on all versions
  4142. of Tor. Reported by Guido Vranken.
  4143. o Minor bugfixes (testing):
  4144. - Fix an undersized buffer in test-memwipe.c. Fixes bug 23291;
  4145. bugfix on 0.2.7.2-alpha. Found and patched by Ties Stuij.
  4146. - Use unbuffered I/O for utility functions around the
  4147. process_handle_t type. This fixes unit test failures reported on
  4148. OpenBSD and FreeBSD. Fixes bug 21654; bugfix on 0.2.3.1-alpha.
  4149. - Make display of captured unit test log messages consistent. Fixes
  4150. bug 21510; bugfix on 0.2.9.3-alpha.
  4151. - Make test-network.sh always call chutney's test-network.sh.
  4152. Previously, this only worked on systems which had bash installed,
  4153. due to some bash-specific code in the script. Fixes bug 19699;
  4154. bugfix on 0.3.0.4-rc. Follow-up to ticket 21581.
  4155. - Fix a memory leak in the link-handshake/certs_ok_ed25519 test.
  4156. Fixes bug 22803; bugfix on 0.3.0.1-alpha.
  4157. - The unit tests now pass on systems where localhost is misconfigured
  4158. to some IPv4 address other than 127.0.0.1. Fixes bug 6298; bugfix
  4159. on 0.0.9pre2.
  4160. o Minor bugfixes (voting consistency):
  4161. - Reject version numbers with non-numeric prefixes (such as +, -, or
  4162. whitespace). Disallowing whitespace prevents differential version
  4163. parsing between POSIX-based and Windows platforms. Fixes bug 21507
  4164. and part of 21508; bugfix on 0.0.8pre1.
  4165. o Minor bugfixes (Windows service):
  4166. - When running as a Windows service, set the ID of the main thread
  4167. correctly. Failure to do so made us fail to send log messages to
  4168. the controller in 0.2.1.16-rc, slowed down controller event
  4169. delivery in 0.2.7.3-rc and later, and crash with an assertion
  4170. failure in 0.3.1.1-alpha. Fixes bug 23081; bugfix on 0.2.1.6-alpha.
  4171. Patch and diagnosis from "Vort".
  4172. o Minor bugfixes (windows, relay):
  4173. - Resolve "Failure from drain_fd: No error" warnings on Windows
  4174. relays. Fixes bug 21540; bugfix on 0.2.6.3-alpha.
  4175. o Code simplification and refactoring:
  4176. - Break up the 630-line function connection_dir_client_reached_eof()
  4177. into a dozen smaller functions. This change should help
  4178. maintainability and readability of the client directory code.
  4179. - Isolate our use of the openssl headers so that they are only
  4180. included from our crypto wrapper modules, and from tests that
  4181. examine those modules' internals. Closes ticket 21841.
  4182. - Simplify our API to launch directory requests, making it more
  4183. extensible and less error-prone. Now it's easier to add extra
  4184. headers to directory requests. Closes ticket 21646.
  4185. - Our base64 decoding functions no longer overestimate the output
  4186. space that they need when parsing unpadded inputs. Closes
  4187. ticket 17868.
  4188. - Remove unused "ROUTER_ADDED_NOTIFY_GENERATOR" internal value.
  4189. Resolves ticket 22213.
  4190. - The logic that directory caches use to spool request to clients,
  4191. serving them one part at a time so as not to allocate too much
  4192. memory, has been refactored for consistency. Previously there was
  4193. a separate spooling implementation per type of spoolable data. Now
  4194. there is one common spooling implementation, with extensible data
  4195. types. Closes ticket 21651.
  4196. - Tor's compression module now supports multiple backends. Part of
  4197. the implementation for proposal 278; closes ticket 21663.
  4198. o Documentation:
  4199. - Add a manpage description for the key-pinning-journal file. Closes
  4200. ticket 22347.
  4201. - Correctly note that bandwidth accounting values are stored in the
  4202. state file, and the bw_accounting file is now obsolete. Closes
  4203. ticket 16082.
  4204. - Document more of the files in the Tor data directory, including
  4205. cached-extrainfo, secret_onion_key{,_ntor}.old, hidserv-stats,
  4206. approved-routers, sr-random, and diff-cache. Found while fixing
  4207. ticket 22347.
  4208. - Clarify the manpage for the (deprecated) torify script. Closes
  4209. ticket 6892.
  4210. - Clarify the behavior of the KeepAliveIsolateSOCKSAuth sub-option.
  4211. Closes ticket 21873.
  4212. - Correct documentation about the default DataDirectory value.
  4213. Closes ticket 21151.
  4214. - Document the default behavior of NumEntryGuards and
  4215. NumDirectoryGuards correctly. Fixes bug 21715; bugfix
  4216. on 0.3.0.1-alpha.
  4217. - Document key=value pluggable transport arguments for Bridge lines
  4218. in torrc. Fixes bug 20341; bugfix on 0.2.5.1-alpha.
  4219. - Note that bandwidth-limiting options don't affect TCP headers or
  4220. DNS. Closes ticket 17170.
  4221. o Removed features (configuration options, all in ticket 22060):
  4222. - These configuration options are now marked Obsolete, and no longer
  4223. have any effect: AllowInvalidNodes, AllowSingleHopCircuits,
  4224. AllowSingleHopExits, ExcludeSingleHopRelays, FastFirstHopPK,
  4225. TLSECGroup, WarnUnsafeSocks. They were first marked as deprecated
  4226. in 0.2.9.2-alpha and have now been removed. The previous default
  4227. behavior is now always chosen; the previous (less secure) non-
  4228. default behavior is now unavailable.
  4229. - CloseHSClientCircuitsImmediatelyOnTimeout and
  4230. CloseHSServiceRendCircuitsImmediatelyOnTimeout were deprecated in
  4231. 0.2.9.2-alpha and now have been removed. HS circuits never close
  4232. on circuit build timeout; they have a longer timeout period.
  4233. - {Control,DNS,Dir,Socks,Trans,NATD,OR}ListenAddress were deprecated
  4234. in 0.2.9.2-alpha and now have been removed. Use the ORPort option
  4235. (and others) to configure listen-only and advertise-only addresses.
  4236. o Removed features (tools):
  4237. - We've removed the tor-checkkey tool from src/tools. Long ago, we
  4238. used it to help people detect RSA keys that were generated by
  4239. versions of Debian affected by CVE-2008-0166. But those keys have
  4240. been out of circulation for ages, and this tool is no longer
  4241. required. Closes ticket 21842.
  4242. Changes in version 0.3.0.10 - 2017-08-02
  4243. Tor 0.3.0.10 backports a collection of small-to-medium bugfixes
  4244. from the current Tor alpha series. OpenBSD users and TPROXY users
  4245. should upgrade; others are probably okay sticking with 0.3.0.9.
  4246. o Major features (build system, continuous integration, backport from 0.3.1.5-alpha):
  4247. - Tor's repository now includes a Travis Continuous Integration (CI)
  4248. configuration file (.travis.yml). This is meant to help new
  4249. developers and contributors who fork Tor to a Github repository be
  4250. better able to test their changes, and understand what we expect
  4251. to pass. To use this new build feature, you must fork Tor to your
  4252. Github account, then go into the "Integrations" menu in the
  4253. repository settings for your fork and enable Travis, then push
  4254. your changes. Closes ticket 22636.
  4255. o Major bugfixes (linux TPROXY support, backport from 0.3.1.1-alpha):
  4256. - Fix a typo that had prevented TPROXY-based transparent proxying
  4257. from working under Linux. Fixes bug 18100; bugfix on 0.2.6.3-alpha.
  4258. Patch from "d4fq0fQAgoJ".
  4259. o Major bugfixes (openbsd, denial-of-service, backport from 0.3.1.5-alpha):
  4260. - Avoid an assertion failure bug affecting our implementation of
  4261. inet_pton(AF_INET6) on certain OpenBSD systems whose strtol()
  4262. handling of "0xbar" differs from what we had expected. Fixes bug
  4263. 22789; bugfix on 0.2.3.8-alpha. Also tracked as TROVE-2017-007.
  4264. o Minor features (backport from 0.3.1.5-alpha):
  4265. - Update geoip and geoip6 to the July 4 2017 Maxmind GeoLite2
  4266. Country database.
  4267. o Minor bugfixes (bandwidth accounting, backport from 0.3.1.2-alpha):
  4268. - Roll over monthly accounting at the configured hour and minute,
  4269. rather than always at 00:00. Fixes bug 22245; bugfix on 0.0.9rc1.
  4270. Found by Andrey Karpov with PVS-Studio.
  4271. o Minor bugfixes (compilation warnings, backport from 0.3.1.5-alpha):
  4272. - Suppress -Wdouble-promotion warnings with clang 4.0. Fixes bug 22915;
  4273. bugfix on 0.2.8.1-alpha.
  4274. - Fix warnings when building with libscrypt and openssl scrypt
  4275. support on Clang. Fixes bug 22916; bugfix on 0.2.7.2-alpha.
  4276. - When building with certain versions of the mingw C header files,
  4277. avoid float-conversion warnings when calling the C functions
  4278. isfinite(), isnan(), and signbit(). Fixes bug 22801; bugfix
  4279. on 0.2.8.1-alpha.
  4280. o Minor bugfixes (compilation, mingw, backport from 0.3.1.1-alpha):
  4281. - Backport a fix for an "unused variable" warning that appeared
  4282. in some versions of mingw. Fixes bug 22838; bugfix on
  4283. 0.2.8.1-alpha.
  4284. o Minor bugfixes (coverity build support, backport from 0.3.1.5-alpha):
  4285. - Avoid Coverity build warnings related to our BUG() macro. By
  4286. default, Coverity treats BUG() as the Linux kernel does: an
  4287. instant abort(). We need to override that so our BUG() macro
  4288. doesn't prevent Coverity from analyzing functions that use it.
  4289. Fixes bug 23030; bugfix on 0.2.9.1-alpha.
  4290. o Minor bugfixes (directory authority, backport from 0.3.1.1-alpha):
  4291. - When rejecting a router descriptor for running an obsolete version
  4292. of Tor without ntor support, warn about the obsolete tor version,
  4293. not the missing ntor key. Fixes bug 20270; bugfix on 0.2.9.3-alpha.
  4294. o Minor bugfixes (linux seccomp2 sandbox, backport from 0.3.1.5-alpha):
  4295. - Avoid a sandbox failure when trying to re-bind to a socket and
  4296. mark it as IPv6-only. Fixes bug 20247; bugfix on 0.2.5.1-alpha.
  4297. o Minor bugfixes (unit tests, backport from 0.3.1.5-alpha)
  4298. - Fix a memory leak in the link-handshake/certs_ok_ed25519 test.
  4299. Fixes bug 22803; bugfix on 0.3.0.1-alpha.
  4300. Changes in version 0.3.0.9 - 2017-06-29
  4301. Tor 0.3.0.9 fixes a path selection bug that would allow a client
  4302. to use a guard that was in the same network family as a chosen exit
  4303. relay. This is a security regression; all clients running earlier
  4304. versions of 0.3.0.x or 0.3.1.x should upgrade to 0.3.0.9 or
  4305. 0.3.1.4-alpha.
  4306. This release also backports several other bugfixes from the 0.3.1.x
  4307. series.
  4308. o Major bugfixes (path selection, security, backport from 0.3.1.4-alpha):
  4309. - When choosing which guard to use for a circuit, avoid the exit's
  4310. family along with the exit itself. Previously, the new guard
  4311. selection logic avoided the exit, but did not consider its family.
  4312. Fixes bug 22753; bugfix on 0.3.0.1-alpha. Tracked as TROVE-2017-
  4313. 006 and CVE-2017-0377.
  4314. o Major bugfixes (entry guards, backport from 0.3.1.1-alpha):
  4315. - Don't block bootstrapping when a primary bridge is offline and we
  4316. can't get its descriptor. Fixes bug 22325; fixes one case of bug
  4317. 21969; bugfix on 0.3.0.3-alpha.
  4318. o Major bugfixes (entry guards, backport from 0.3.1.4-alpha):
  4319. - When starting with an old consensus, do not add new entry guards
  4320. unless the consensus is "reasonably live" (under 1 day old). Fixes
  4321. one root cause of bug 22400; bugfix on 0.3.0.1-alpha.
  4322. o Minor features (geoip):
  4323. - Update geoip and geoip6 to the June 8 2017 Maxmind GeoLite2
  4324. Country database.
  4325. o Minor bugfixes (voting consistency, backport from 0.3.1.1-alpha):
  4326. - Reject version numbers with non-numeric prefixes (such as +, -, or
  4327. whitespace). Disallowing whitespace prevents differential version
  4328. parsing between POSIX-based and Windows platforms. Fixes bug 21507
  4329. and part of 21508; bugfix on 0.0.8pre1.
  4330. o Minor bugfixes (linux seccomp2 sandbox, backport from 0.3.1.4-alpha):
  4331. - Permit the fchmod system call, to avoid crashing on startup when
  4332. starting with the seccomp2 sandbox and an unexpected set of
  4333. permissions on the data directory or its contents. Fixes bug
  4334. 22516; bugfix on 0.2.5.4-alpha.
  4335. o Minor bugfixes (defensive programming, backport from 0.3.1.4-alpha):
  4336. - Fix a memset() off the end of an array when packing cells. This
  4337. bug should be harmless in practice, since the corrupted bytes are
  4338. still in the same structure, and are always padding bytes,
  4339. ignored, or immediately overwritten, depending on compiler
  4340. behavior. Nevertheless, because the memset()'s purpose is to make
  4341. sure that any other cell-handling bugs can't expose bytes to the
  4342. network, we need to fix it. Fixes bug 22737; bugfix on
  4343. 0.2.4.11-alpha. Fixes CID 1401591.
  4344. Changes in version 0.3.0.8 - 2017-06-08
  4345. Tor 0.3.0.8 fixes a pair of bugs that would allow an attacker to
  4346. remotely crash a hidden service with an assertion failure. Anyone
  4347. running a hidden service should upgrade to this version, or to some
  4348. other version with fixes for TROVE-2017-004 and TROVE-2017-005.
  4349. Tor 0.3.0.8 also includes fixes for several key management bugs
  4350. that sometimes made relays unreliable, as well as several other
  4351. bugfixes described below.
  4352. o Major bugfixes (hidden service, relay, security, backport
  4353. from 0.3.1.3-alpha):
  4354. - Fix a remotely triggerable assertion failure when a hidden service
  4355. handles a malformed BEGIN cell. Fixes bug 22493, tracked as
  4356. TROVE-2017-004 and as CVE-2017-0375; bugfix on 0.3.0.1-alpha.
  4357. - Fix a remotely triggerable assertion failure caused by receiving a
  4358. BEGIN_DIR cell on a hidden service rendezvous circuit. Fixes bug
  4359. 22494, tracked as TROVE-2017-005 and CVE-2017-0376; bugfix
  4360. on 0.2.2.1-alpha.
  4361. o Major bugfixes (relay, link handshake, backport from 0.3.1.3-alpha):
  4362. - When performing the v3 link handshake on a TLS connection, report
  4363. that we have the x509 certificate that we actually used on that
  4364. connection, even if we have changed certificates since that
  4365. connection was first opened. Previously, we would claim to have
  4366. used our most recent x509 link certificate, which would sometimes
  4367. make the link handshake fail. Fixes one case of bug 22460; bugfix
  4368. on 0.2.3.6-alpha.
  4369. o Major bugfixes (relays, key management, backport from 0.3.1.3-alpha):
  4370. - Regenerate link and authentication certificates whenever the key
  4371. that signs them changes; also, regenerate link certificates
  4372. whenever the signed key changes. Previously, these processes were
  4373. only weakly coupled, and we relays could (for minutes to hours)
  4374. wind up with an inconsistent set of keys and certificates, which
  4375. other relays would not accept. Fixes two cases of bug 22460;
  4376. bugfix on 0.3.0.1-alpha.
  4377. - When sending an Ed25519 signing->link certificate in a CERTS cell,
  4378. send the certificate that matches the x509 certificate that we
  4379. used on the TLS connection. Previously, there was a race condition
  4380. if the TLS context rotated after we began the TLS handshake but
  4381. before we sent the CERTS cell. Fixes a case of bug 22460; bugfix
  4382. on 0.3.0.1-alpha.
  4383. o Major bugfixes (hidden service v3, backport from 0.3.1.1-alpha):
  4384. - Stop rejecting v3 hidden service descriptors because their size
  4385. did not match an old padding rule. Fixes bug 22447; bugfix on
  4386. tor-0.3.0.1-alpha.
  4387. o Minor features (fallback directory list, backport from 0.3.1.3-alpha):
  4388. - Replace the 177 fallbacks originally introduced in Tor 0.2.9.8 in
  4389. December 2016 (of which ~126 were still functional) with a list of
  4390. 151 fallbacks (32 new, 119 unchanged, 58 removed) generated in May
  4391. 2017. Resolves ticket 21564.
  4392. o Minor bugfixes (configuration, backport from 0.3.1.1-alpha):
  4393. - Do not crash when starting with LearnCircuitBuildTimeout 0. Fixes
  4394. bug 22252; bugfix on 0.2.9.3-alpha.
  4395. o Minor bugfixes (correctn