ChangeLog 1.2 MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967
  1. Changes in version 0.3.1.3-alpha - 2017-06-08
  2. Tor 0.3.1.3-alpha fixes a pair of bugs that would allow an attacker to
  3. remotely crash a hidden service with an assertion failure. Anyone
  4. running a hidden service should upgrade to this version, or to some
  5. other version with fixes for TROVE-2017-004 and TROVE-2017-005.
  6. Tor 0.3.1.3-alpha also includes fixes for several key management bugs
  7. that sometimes made relays unreliable, as well as several other
  8. bugfixes described below.
  9. o Major bugfixes (hidden service, relay, security):
  10. - Fix a remotely triggerable assertion failure when a hidden service
  11. handles a malformed BEGIN cell. Fixes bug 22493, tracked as
  12. TROVE-2017-004 and as CVE-2017-0375; bugfix on 0.3.0.1-alpha.
  13. - Fix a remotely triggerable assertion failure caused by receiving a
  14. BEGIN_DIR cell on a hidden service rendezvous circuit. Fixes bug
  15. 22494, tracked as TROVE-2017-005 and CVE-2017-0376; bugfix
  16. on 0.2.2.1-alpha.
  17. o Major bugfixes (relay, link handshake):
  18. - When performing the v3 link handshake on a TLS connection, report
  19. that we have the x509 certificate that we actually used on that
  20. connection, even if we have changed certificates since that
  21. connection was first opened. Previously, we would claim to have
  22. used our most recent x509 link certificate, which would sometimes
  23. make the link handshake fail. Fixes one case of bug 22460; bugfix
  24. on 0.2.3.6-alpha.
  25. o Major bugfixes (relays, key management):
  26. - Regenerate link and authentication certificates whenever the key
  27. that signs them changes; also, regenerate link certificates
  28. whenever the signed key changes. Previously, these processes were
  29. only weakly coupled, and we relays could (for minutes to hours)
  30. wind up with an inconsistent set of keys and certificates, which
  31. other relays would not accept. Fixes two cases of bug 22460;
  32. bugfix on 0.3.0.1-alpha.
  33. - When sending an Ed25519 signing->link certificate in a CERTS cell,
  34. send the certificate that matches the x509 certificate that we
  35. used on the TLS connection. Previously, there was a race condition
  36. if the TLS context rotated after we began the TLS handshake but
  37. before we sent the CERTS cell. Fixes a case of bug 22460; bugfix
  38. on 0.3.0.1-alpha.
  39. o Major bugfixes (torrc, crash):
  40. - Fix a crash bug when using %include in torrc. Fixes bug 22417;
  41. bugfix on 0.3.1.1-alpha. Patch by Daniel Pinto.
  42. o Minor features (code style):
  43. - Add "Falls through" comments to our codebase, in order to silence
  44. GCC 7's -Wimplicit-fallthrough warnings. Patch from Andreas
  45. Stieger. Closes ticket 22446.
  46. o Minor features (diagnostic):
  47. - Add logging messages to try to diagnose a rare bug that seems to
  48. generate RSA->Ed25519 cross-certificates dated in the 1970s. We
  49. think this is happening because of incorrect system clocks, but
  50. we'd like to know for certain. Diagnostic for bug 22466.
  51. o Minor bugfixes (correctness):
  52. - Avoid undefined behavior when parsing IPv6 entries from the geoip6
  53. file. Fixes bug 22490; bugfix on 0.2.4.6-alpha.
  54. o Minor bugfixes (directory protocol):
  55. - Check for libzstd >= 1.1, because older versions lack the
  56. necessary streaming API. Fixes bug 22413; bugfix on 0.3.1.1-alpha.
  57. o Minor bugfixes (link handshake):
  58. - Lower the lifetime of the RSA->Ed25519 cross-certificate to six
  59. months, and regenerate it when it is within one month of expiring.
  60. Previously, we had generated this certificate at startup with a
  61. ten-year lifetime, but that could lead to weird behavior when Tor
  62. was started with a grossly inaccurate clock. Mitigates bug 22466;
  63. mitigation on 0.3.0.1-alpha.
  64. o Minor bugfixes (storage directories):
  65. - Always check for underflows in the cached storage directory usage.
  66. If the usage does underflow, re-calculate it. Also, avoid a
  67. separate underflow when the usage is not known. Fixes bug 22424;
  68. bugfix on 0.3.1.1-alpha.
  69. o Minor bugfixes (unit tests):
  70. - The unit tests now pass on systems where localhost is misconfigured
  71. to some IPv4 address other than 127.0.0.1. Fixes bug 6298; bugfix
  72. on 0.0.9pre2.
  73. o Documentation:
  74. - Clarify the manpage for the (deprecated) torify script. Closes
  75. ticket 6892.
  76. Changes in version 0.3.0.8 - 2017-06-08
  77. Tor 0.3.0.8 fixes a pair of bugs that would allow an attacker to
  78. remotely crash a hidden service with an assertion failure. Anyone
  79. running a hidden service should upgrade to this version, or to some
  80. other version with fixes for TROVE-2017-004 and TROVE-2017-005.
  81. Tor 0.3.0.8 also includes fixes for several key management bugs
  82. that sometimes made relays unreliable, as well as several other
  83. bugfixes described below.
  84. o Major bugfixes (hidden service, relay, security, backport
  85. from 0.3.1.3-alpha):
  86. - Fix a remotely triggerable assertion failure when a hidden service
  87. handles a malformed BEGIN cell. Fixes bug 22493, tracked as
  88. TROVE-2017-004 and as CVE-2017-0375; bugfix on 0.3.0.1-alpha.
  89. - Fix a remotely triggerable assertion failure caused by receiving a
  90. BEGIN_DIR cell on a hidden service rendezvous circuit. Fixes bug
  91. 22494, tracked as TROVE-2017-005 and CVE-2017-0376; bugfix
  92. on 0.2.2.1-alpha.
  93. o Major bugfixes (relay, link handshake, backport from 0.3.1.3-alpha):
  94. - When performing the v3 link handshake on a TLS connection, report
  95. that we have the x509 certificate that we actually used on that
  96. connection, even if we have changed certificates since that
  97. connection was first opened. Previously, we would claim to have
  98. used our most recent x509 link certificate, which would sometimes
  99. make the link handshake fail. Fixes one case of bug 22460; bugfix
  100. on 0.2.3.6-alpha.
  101. o Major bugfixes (relays, key management, backport from 0.3.1.3-alpha):
  102. - Regenerate link and authentication certificates whenever the key
  103. that signs them changes; also, regenerate link certificates
  104. whenever the signed key changes. Previously, these processes were
  105. only weakly coupled, and we relays could (for minutes to hours)
  106. wind up with an inconsistent set of keys and certificates, which
  107. other relays would not accept. Fixes two cases of bug 22460;
  108. bugfix on 0.3.0.1-alpha.
  109. - When sending an Ed25519 signing->link certificate in a CERTS cell,
  110. send the certificate that matches the x509 certificate that we
  111. used on the TLS connection. Previously, there was a race condition
  112. if the TLS context rotated after we began the TLS handshake but
  113. before we sent the CERTS cell. Fixes a case of bug 22460; bugfix
  114. on 0.3.0.1-alpha.
  115. o Major bugfixes (hidden service v3, backport from 0.3.1.1-alpha):
  116. - Stop rejecting v3 hidden service descriptors because their size
  117. did not match an old padding rule. Fixes bug 22447; bugfix on
  118. tor-0.3.0.1-alpha.
  119. o Minor features (fallback directory list, backport from 0.3.1.3-alpha):
  120. - Replace the 177 fallbacks originally introduced in Tor 0.2.9.8 in
  121. December 2016 (of which ~126 were still functional) with a list of
  122. 151 fallbacks (32 new, 119 unchanged, 58 removed) generated in May
  123. 2017. Resolves ticket 21564.
  124. o Minor bugfixes (configuration, backport from 0.3.1.1-alpha):
  125. - Do not crash when starting with LearnCircuitBuildTimeout 0. Fixes
  126. bug 22252; bugfix on 0.2.9.3-alpha.
  127. o Minor bugfixes (correctness, backport from 0.3.1.3-alpha):
  128. - Avoid undefined behavior when parsing IPv6 entries from the geoip6
  129. file. Fixes bug 22490; bugfix on 0.2.4.6-alpha.
  130. o Minor bugfixes (link handshake, backport from 0.3.1.3-alpha):
  131. - Lower the lifetime of the RSA->Ed25519 cross-certificate to six
  132. months, and regenerate it when it is within one month of expiring.
  133. Previously, we had generated this certificate at startup with a
  134. ten-year lifetime, but that could lead to weird behavior when Tor
  135. was started with a grossly inaccurate clock. Mitigates bug 22466;
  136. mitigation on 0.3.0.1-alpha.
  137. o Minor bugfixes (memory leak, directory authority, backport from
  138. 0.3.1.2-alpha):
  139. - When directory authorities reject a router descriptor due to
  140. keypinning, free the router descriptor rather than leaking the
  141. memory. Fixes bug 22370; bugfix on 0.2.7.2-alpha.
  142. Changes in version 0.2.9.11 - 2017-06-08
  143. Tor 0.2.9.11 backports a fix for a bug that would allow an attacker to
  144. remotely crash a hidden service with an assertion failure. Anyone
  145. running a hidden service should upgrade to this version, or to some
  146. other version with fixes for TROVE-2017-005. (Versions before 0.3.0
  147. are not affected by TROVE-2017-004.)
  148. Tor 0.2.9.11 also backports fixes for several key management bugs
  149. that sometimes made relays unreliable, as well as several other
  150. bugfixes described below.
  151. o Major bugfixes (hidden service, relay, security, backport
  152. from 0.3.1.3-alpha):
  153. - Fix a remotely triggerable assertion failure caused by receiving a
  154. BEGIN_DIR cell on a hidden service rendezvous circuit. Fixes bug
  155. 22494, tracked as TROVE-2017-005 and CVE-2017-0376; bugfix
  156. on 0.2.2.1-alpha.
  157. o Major bugfixes (relay, link handshake, backport from 0.3.1.3-alpha):
  158. - When performing the v3 link handshake on a TLS connection, report
  159. that we have the x509 certificate that we actually used on that
  160. connection, even if we have changed certificates since that
  161. connection was first opened. Previously, we would claim to have
  162. used our most recent x509 link certificate, which would sometimes
  163. make the link handshake fail. Fixes one case of bug 22460; bugfix
  164. on 0.2.3.6-alpha.
  165. o Minor features (fallback directory list, backport from 0.3.1.3-alpha):
  166. - Replace the 177 fallbacks originally introduced in Tor 0.2.9.8 in
  167. December 2016 (of which ~126 were still functional) with a list of
  168. 151 fallbacks (32 new, 119 unchanged, 58 removed) generated in May
  169. 2017. Resolves ticket 21564.
  170. o Minor features (future-proofing, backport from 0.3.0.7):
  171. - Tor no longer refuses to download microdescriptors or descriptors if
  172. they are listed as "published in the future". This change will
  173. eventually allow us to stop listing meaningful "published" dates
  174. in microdescriptor consensuses, and thereby allow us to reduce the
  175. resources required to download consensus diffs by over 50%.
  176. Implements part of ticket 21642; implements part of proposal 275.
  177. o Minor features (directory authorities, backport from 0.3.0.4-rc)
  178. - Directory authorities now reject relays running versions
  179. 0.2.9.1-alpha through 0.2.9.4-alpha, because those relays
  180. suffer from bug 20499 and don't keep their consensus cache
  181. up-to-date. Resolves ticket 20509.
  182. o Minor features (geoip):
  183. - Update geoip and geoip6 to the May 2 2017 Maxmind GeoLite2
  184. Country database.
  185. o Minor bugfixes (control port, backport from 0.3.0.6):
  186. - The GETINFO extra-info/digest/<digest> command was broken because
  187. of a wrong base16 decode return value check, introduced when
  188. refactoring that API. Fixes bug 22034; bugfix on 0.2.9.1-alpha.
  189. o Minor bugfixes (correctness, backport from 0.3.1.3-alpha):
  190. - Avoid undefined behavior when parsing IPv6 entries from the geoip6
  191. file. Fixes bug 22490; bugfix on 0.2.4.6-alpha.
  192. o Minor bugfixes (Linux seccomp2 sandbox, backport from 0.3.0.7):
  193. - The getpid() system call is now permitted under the Linux seccomp2
  194. sandbox, to avoid crashing with versions of OpenSSL (and other
  195. libraries) that attempt to learn the process's PID by using the
  196. syscall rather than the VDSO code. Fixes bug 21943; bugfix
  197. on 0.2.5.1-alpha.
  198. o Minor bugfixes (memory leak, directory authority, backport
  199. from 0.3.1.2-alpha):
  200. - When directory authorities reject a router descriptor due to
  201. keypinning, free the router descriptor rather than leaking the
  202. memory. Fixes bug 22370; bugfix on 0.2.7.2-alpha.
  203. Changes in version 0.2.8.14 - 2017-06-08
  204. Tor 0.2.7.8 backports a fix for a bug that would allow an attacker to
  205. remotely crash a hidden service with an assertion failure. Anyone
  206. running a hidden service should upgrade to this version, or to some
  207. other version with fixes for TROVE-2017-005. (Versions before 0.3.0
  208. are not affected by TROVE-2017-004.)
  209. o Major bugfixes (hidden service, relay, security):
  210. - Fix a remotely triggerable assertion failure caused by receiving a
  211. BEGIN_DIR cell on a hidden service rendezvous circuit. Fixes bug
  212. 22494, tracked as TROVE-2017-005 and CVE-2017-0376; bugfix
  213. on 0.2.2.1-alpha.
  214. o Minor features (geoip):
  215. - Update geoip and geoip6 to the May 2 2017 Maxmind GeoLite2
  216. Country database.
  217. o Minor features (fallback directory list, backport from 0.3.1.3-alpha):
  218. - Replace the 177 fallbacks originally introduced in Tor 0.2.9.8 in
  219. December 2016 (of which ~126 were still functional) with a list of
  220. 151 fallbacks (32 new, 119 unchanged, 58 removed) generated in May
  221. 2017. Resolves ticket 21564.
  222. o Minor bugfixes (correctness):
  223. - Avoid undefined behavior when parsing IPv6 entries from the geoip6
  224. file. Fixes bug 22490; bugfix on 0.2.4.6-alpha.
  225. Changes in version 0.2.7.8 - 2017-06-08
  226. Tor 0.2.7.8 backports a fix for a bug that would allow an attacker to
  227. remotely crash a hidden service with an assertion failure. Anyone
  228. running a hidden service should upgrade to this version, or to some
  229. other version with fixes for TROVE-2017-005. (Versions before 0.3.0
  230. are not affected by TROVE-2017-004.)
  231. o Major bugfixes (hidden service, relay, security):
  232. - Fix a remotely triggerable assertion failure caused by receiving a
  233. BEGIN_DIR cell on a hidden service rendezvous circuit. Fixes bug
  234. 22494, tracked as TROVE-2017-005 and CVE-2017-0376; bugfix
  235. on 0.2.2.1-alpha.
  236. o Minor features (geoip):
  237. - Update geoip and geoip6 to the May 2 2017 Maxmind GeoLite2
  238. Country database.
  239. o Minor bugfixes (correctness):
  240. - Avoid undefined behavior when parsing IPv6 entries from the geoip6
  241. file. Fixes bug 22490; bugfix on 0.2.4.6-alpha.
  242. Changes in version 0.2.6.12 - 2017-06-08
  243. Tor 0.2.6.12 backports a fix for a bug that would allow an attacker to
  244. remotely crash a hidden service with an assertion failure. Anyone
  245. running a hidden service should upgrade to this version, or to some
  246. other version with fixes for TROVE-2017-005. (Versions before 0.3.0
  247. are not affected by TROVE-2017-004.)
  248. o Major bugfixes (hidden service, relay, security):
  249. - Fix a remotely triggerable assertion failure caused by receiving a
  250. BEGIN_DIR cell on a hidden service rendezvous circuit. Fixes bug
  251. 22494, tracked as TROVE-2017-005 and CVE-2017-0376; bugfix
  252. on 0.2.2.1-alpha.
  253. o Minor features (geoip):
  254. - Update geoip and geoip6 to the May 2 2017 Maxmind GeoLite2
  255. Country database.
  256. o Minor bugfixes (correctness):
  257. - Avoid undefined behavior when parsing IPv6 entries from the geoip6
  258. file. Fixes bug 22490; bugfix on 0.2.4.6-alpha.
  259. Changes in version 0.2.5.14 - 2017-06-08
  260. Tor 0.2.5.14 backports a fix for a bug that would allow an attacker to
  261. remotely crash a hidden service with an assertion failure. Anyone
  262. running a hidden service should upgrade to this version, or to some
  263. other version with fixes for TROVE-2017-005. (Versions before 0.3.0
  264. are not affected by TROVE-2017-004.)
  265. o Major bugfixes (hidden service, relay, security):
  266. - Fix a remotely triggerable assertion failure caused by receiving a
  267. BEGIN_DIR cell on a hidden service rendezvous circuit. Fixes bug
  268. 22494, tracked as TROVE-2017-005 and CVE-2017-0376; bugfix
  269. on 0.2.2.1-alpha.
  270. o Minor features (geoip):
  271. - Update geoip and geoip6 to the May 2 2017 Maxmind GeoLite2
  272. Country database.
  273. o Minor bugfixes (correctness):
  274. - Avoid undefined behavior when parsing IPv6 entries from the geoip6
  275. file. Fixes bug 22490; bugfix on 0.2.4.6-alpha.
  276. Changes in version 0.2.4.29 - 2017-06-08
  277. Tor 0.2.4.29 backports a fix for a bug that would allow an attacker to
  278. remotely crash a hidden service with an assertion failure. Anyone
  279. running a hidden service should upgrade to this version, or to some
  280. other version with fixes for TROVE-2017-005. (Versions before 0.3.0
  281. are not affected by TROVE-2017-004.)
  282. o Major bugfixes (hidden service, relay, security):
  283. - Fix a remotely triggerable assertion failure caused by receiving a
  284. BEGIN_DIR cell on a hidden service rendezvous circuit. Fixes bug
  285. 22494, tracked as TROVE-2017-005 and CVE-2017-0376; bugfix
  286. on 0.2.2.1-alpha.
  287. o Minor features (geoip):
  288. - Update geoip and geoip6 to the May 2 2017 Maxmind GeoLite2
  289. Country database.
  290. o Minor bugfixes (correctness):
  291. - Avoid undefined behavior when parsing IPv6 entries from the geoip6
  292. file. Fixes bug 22490; bugfix on 0.2.4.6-alpha.
  293. Changes in version 0.3.1.2-alpha - 2017-05-26
  294. Tor 0.3.1.2-alpha is the second release in the 0.3.1.x series. It
  295. fixes a few bugs found while testing 0.3.1.1-alpha, including a
  296. memory corruption bug that affected relay stability.
  297. o Major bugfixes (crash, relay):
  298. - Fix a memory-corruption bug in relays that set MyFamily.
  299. Previously, they would double-free MyFamily elements when making
  300. the next descriptor or when changing their configuration. Fixes
  301. bug 22368; bugfix on 0.3.1.1-alpha.
  302. o Minor bugfixes (logging):
  303. - Log a better message when a directory authority replies to an
  304. upload with an unexpected status code. Fixes bug 11121; bugfix
  305. on 0.1.0.1-rc.
  306. o Minor bugfixes (memory leak, directory authority):
  307. - When directory authorities reject a router descriptor due to
  308. keypinning, free the router descriptor rather than leaking the
  309. memory. Fixes bug 22370; bugfix on 0.2.7.2-alpha.
  310. Changes in version 0.3.1.1-alpha - 2017-05-22
  311. Tor 0.3.1.1-alpha is the first release in the 0.3.1.x series. It
  312. reduces the bandwidth usage for Tor's directory protocol, adds some
  313. basic padding to resist netflow-based traffic analysis and to serve as
  314. the basis of other padding in the future, and adds rust support to the
  315. build system.
  316. It also contains numerous other small features and improvements to
  317. security, correctness, and performance.
  318. Below are the changes since 0.3.0.7.
  319. o Major features (directory protocol):
  320. - Tor relays and authorities can now serve clients an abbreviated
  321. version of the consensus document, containing only the changes
  322. since an older consensus document that the client holds. Clients
  323. now request these documents when available. When both client and
  324. server use this new protocol, they will use far less bandwidth (up
  325. to 94% less) to keep the client's consensus up-to-date. Implements
  326. proposal 140; closes ticket 13339. Based on work by Daniel Martí.
  327. - Tor can now compress directory traffic with lzma or with zstd
  328. compression algorithms, which can deliver better bandwidth
  329. performance. Because lzma is computationally expensive, it's only
  330. used for documents that can be compressed once and served many
  331. times. Support for these algorithms requires that tor is built
  332. with the libzstd and/or liblzma libraries available. Implements
  333. proposal 278; closes ticket 21662.
  334. - Relays now perform the more expensive compression operations, and
  335. consensus diff generation, in worker threads. This separation
  336. avoids delaying the main thread when a new consensus arrives.
  337. o Major features (experimental):
  338. - Tor can now build modules written in Rust. To turn this on, pass
  339. the "--enable-rust" flag to the configure script. It's not time to
  340. get excited yet: currently, there is no actual Rust functionality
  341. beyond some simple glue code, and a notice at startup to tell you
  342. that Rust is running. Still, we hope that programmers and
  343. packagers will try building Tor with Rust support, so that we can
  344. find issues and solve portability problems. Closes ticket 22106.
  345. o Major features (traffic analysis resistance):
  346. - Connections between clients and relays now send a padding cell in
  347. each direction every 1.5 to 9.5 seconds (tunable via consensus
  348. parameters). This padding will not resist specialized
  349. eavesdroppers, but it should be enough to make many ISPs' routine
  350. network flow logging less useful in traffic analysis against
  351. Tor users.
  352. Padding is negotiated using Tor's link protocol, so both relays
  353. and clients must upgrade for this to take effect. Clients may
  354. still send padding despite the relay's version by setting
  355. ConnectionPadding 1 in torrc, and may disable padding by setting
  356. ConnectionPadding 0 in torrc. Padding may be minimized for mobile
  357. users with the torrc option ReducedConnectionPadding. Implements
  358. Proposal 251 and Section 2 of Proposal 254; closes ticket 16861.
  359. - Relays will publish 24 hour totals of padding and non-padding cell
  360. counts to their extra-info descriptors, unless PaddingStatistics 0
  361. is set in torrc. These 24 hour totals are also rounded to
  362. multiples of 10000.
  363. o Major bugfixes (connection usage):
  364. - We use NETINFO cells to try to determine if both relays involved
  365. in a connection will agree on the canonical status of that
  366. connection. We prefer the connections where this is the case for
  367. extend cells, and try to close connections where relays disagree
  368. on their canonical status early. Also, we now prefer the oldest
  369. valid connection for extend cells. These two changes should reduce
  370. the number of long-term connections that are kept open between
  371. relays. Fixes bug 17604; bugfix on 0.2.5.5-alpha.
  372. - Relays now log hourly statistics (look for
  373. "channel_check_for_duplicates" lines) on the total number of
  374. connections to other relays. If the number of connections per
  375. relay is unexpectedly large, this log message is at notice level.
  376. Otherwise it is at info.
  377. o Major bugfixes (entry guards):
  378. - Don't block bootstrapping when a primary bridge is offline and we
  379. can't get its descriptor. Fixes bug 22325; fixes one case of bug
  380. 21969; bugfix on 0.3.0.3-alpha.
  381. o Major bugfixes (linux TPROXY support):
  382. - Fix a typo that had prevented TPROXY-based transparent proxying
  383. from working under Linux. Fixes bug 18100; bugfix on 0.2.6.3-alpha.
  384. Patch from "d4fq0fQAgoJ".
  385. o Minor features (security, windows):
  386. - Enable a couple of pieces of Windows hardening: one
  387. (HeapEnableTerminationOnCorruption) that has been on-by-default
  388. since Windows 8, and unavailable before Windows 7; and one
  389. (PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION) which we believe doesn't
  390. affect us, but shouldn't do any harm. Closes ticket 21953.
  391. o Minor features (config options):
  392. - Allow "%include" directives in torrc configuration files. These
  393. directives import the settings from other files, or from all the
  394. files in a directory. Closes ticket 1922. Code by Daniel Pinto.
  395. - Make SAVECONF return an error when overwriting a torrc that has
  396. includes. Using SAVECONF with the FORCE option will allow it to
  397. overwrite torrc even if includes are used. Related to ticket 1922.
  398. - Add "GETINFO config-can-saveconf" to tell controllers if SAVECONF
  399. will work without the FORCE option. Related to ticket 1922.
  400. o Minor features (controller):
  401. - Warn the first time that a controller requests data in the long-
  402. deprecated 'GETINFO network-status' format. Closes ticket 21703.
  403. o Minor features (defaults):
  404. - The default value for UseCreateFast is now 0: clients which
  405. haven't yet received a consensus document will now use a proper
  406. ntor handshake to talk to their directory servers whenever they
  407. can. Closes ticket 21407.
  408. - Onion key rotation and expiry intervals are now defined as a
  409. network consensus parameter, per proposal 274. The default
  410. lifetime of an onion key is increased from 7 to 28 days. Old onion
  411. keys will expire after 7 days by default. This change will make
  412. consensus diffs much smaller, and save significant bandwidth.
  413. Closes ticket 21641.
  414. o Minor features (fallback directory list):
  415. - Update the fallback directory mirror whitelist and blacklist based
  416. on operator emails. Closes task 21121.
  417. - Replace the 177 fallbacks originally introduced in Tor 0.2.9.8 in
  418. December 2016 (of which ~126 were still functional) with a list of
  419. 151 fallbacks (32 new, 119 unchanged, 58 removed) generated in May
  420. 2017. Resolves ticket 21564.
  421. o Minor features (hidden services, logging):
  422. - Log a message when a hidden service descriptor has fewer
  423. introduction points than specified in
  424. HiddenServiceNumIntroductionPoints. Closes tickets 21598.
  425. - Log a message when a hidden service reaches its introduction point
  426. circuit limit, and when that limit is reset. Follow up to ticket
  427. 21594; closes ticket 21622.
  428. - Warn user if multiple entries in EntryNodes and at least one
  429. HiddenService are used together. Pinning EntryNodes along with a
  430. hidden service can be possibly harmful; for instance see ticket
  431. 14917 or 21155. Closes ticket 21155.
  432. o Minor features (linux seccomp2 sandbox):
  433. - We now have a document storage backend compatible with the Linux
  434. seccomp2 sandbox. This backend is used for consensus documents and
  435. diffs between them; in the long term, we'd like to use it for
  436. unparseable directory material too. Closes ticket 21645
  437. - Increase the maximum allowed size passed to mprotect(PROT_WRITE)
  438. from 1MB to 16MB. This was necessary with the glibc allocator in
  439. order to allow worker threads to allocate more memory -- which in
  440. turn is necessary because of our new use of worker threads for
  441. compression. Closes ticket 22096.
  442. o Minor features (logging):
  443. - Log files are no longer created world-readable by default.
  444. (Previously, most distributors would store the logs in a non-
  445. world-readable location to prevent inappropriate access. This
  446. change is an extra precaution.) Closes ticket 21729; patch
  447. from toralf.
  448. o Minor features (performance):
  449. - Our Keccak (SHA-3) implementation now accesses memory more
  450. efficiently, especially on little-endian systems. Closes
  451. ticket 21737.
  452. - Add an O(1) implementation of channel_find_by_global_id(), to
  453. speed some controller functions.
  454. o Minor features (relay, configuration):
  455. - The MyFamily option may now be repeated as many times as desired,
  456. for relays that want to configure large families. Closes ticket
  457. 4998; patch by Daniel Pinto.
  458. o Minor features (safety):
  459. - Add an explicit check to extrainfo_parse_entry_from_string() for
  460. NULL inputs. We don't believe this can actually happen, but it may
  461. help silence a warning from the Clang analyzer. Closes
  462. ticket 21496.
  463. o Minor features (testing):
  464. - Add a "--disable-memory-sentinels" feature to help with fuzzing.
  465. When Tor is compiled with this option, we disable a number of
  466. redundant memory-safety failsafes that are intended to stop bugs
  467. from becoming security issues. This makes it easier to hunt for
  468. bugs that would be security issues without the failsafes turned
  469. on. Closes ticket 21439.
  470. - Add a general event-tracing instrumentation support to Tor. This
  471. subsystem will enable developers and researchers to add fine-
  472. grained instrumentation to their Tor instances, for use when
  473. examining Tor network performance issues. There are no trace
  474. events yet, and event-tracing is off by default unless enabled at
  475. compile time. Implements ticket 13802.
  476. - Improve our version parsing tests: add tests for typical version
  477. components, add tests for invalid versions, including numeric
  478. range and non-numeric prefixes. Unit tests 21278, 21450, and
  479. 21507. Partially implements 21470.
  480. o Minor bugfixes (bandwidth accounting):
  481. - Roll over monthly accounting at the configured hour and minute,
  482. rather than always at 00:00. Fixes bug 22245; bugfix on 0.0.9rc1.
  483. Found by Andrey Karpov with PVS-Studio.
  484. o Minor bugfixes (code correctness):
  485. - Accurately identify client connections by their lack of peer
  486. authentication. This means that we bail out earlier if asked to
  487. extend to a client. Follow-up to 21407. Fixes bug 21406; bugfix
  488. on 0.2.4.23.
  489. o Minor bugfixes (configuration):
  490. - Do not crash when starting with LearnCircuitBuildTimeout 0. Fixes
  491. bug 22252; bugfix on 0.2.9.3-alpha.
  492. o Minor bugfixes (connection lifespan):
  493. - Allow more control over how long TLS connections are kept open:
  494. unify CircuitIdleTimeout and PredictedPortsRelevanceTime into a
  495. single option called CircuitsAvailableTimeout. Also, allow the
  496. consensus to control the default values for both this preference
  497. and the lifespan of relay-to-relay connections. Fixes bug 17592;
  498. bugfix on 0.2.5.5-alpha.
  499. - Increase the initial circuit build timeout testing frequency, to
  500. help ensure that ReducedConnectionPadding clients finish learning
  501. a timeout before their orconn would expire. The initial testing
  502. rate was set back in the days of TAP and before the Tor Browser
  503. updater, when we had to be much more careful about new clients
  504. making lots of circuits. With this change, a circuit build timeout
  505. is learned in about 15-20 minutes, instead of 100-120 minutes.
  506. o Minor bugfixes (controller):
  507. - GETINFO onions/current and onions/detached no longer respond with
  508. 551 on empty lists. Fixes bug 21329; bugfix on 0.2.7.1-alpha.
  509. - Trigger HS descriptor events on the control port when the client
  510. fails to pick a hidden service directory for a hidden service.
  511. This can happen if all the hidden service directories are in
  512. ExcludeNodes, or they have all been queried within the last 15
  513. minutes. Fixes bug 22042; bugfix on 0.2.5.2-alpha.
  514. o Minor bugfixes (directory authority):
  515. - When rejecting a router descriptor for running an obsolete version
  516. of Tor without ntor support, warn about the obsolete tor version,
  517. not the missing ntor key. Fixes bug 20270; bugfix on 0.2.9.3-alpha.
  518. - Prevent the shared randomness subsystem from asserting when
  519. initialized by a bridge authority with an incomplete configuration
  520. file. Fixes bug 21586; bugfix on 0.2.9.8.
  521. o Minor bugfixes (exit-side DNS):
  522. - Fix an untriggerable assertion that checked the output of a
  523. libevent DNS error, so that the assertion actually behaves as
  524. expected. Fixes bug 22244; bugfix on 0.2.0.20-rc. Found by Andrey
  525. Karpov using PVS-Studio.
  526. o Minor bugfixes (fallback directories):
  527. - Make the usage example in updateFallbackDirs.py actually work, and
  528. explain what it does. Fixes bug 22270; bugfix on 0.3.0.3-alpha.
  529. - Decrease the guard flag average required to be a fallback. This
  530. allows us to keep relays that have their guard flag removed when
  531. they restart. Fixes bug 20913; bugfix on 0.2.8.1-alpha.
  532. - Decrease the minimum number of fallbacks to 100. Fixes bug 20913;
  533. bugfix on 0.2.8.1-alpha.
  534. - Make sure fallback directory mirrors have the same address, port,
  535. and relay identity key for at least 30 days before they are
  536. selected. Fixes bug 20913; bugfix on 0.2.8.1-alpha.
  537. o Minor bugfixes (hidden services):
  538. - Stop printing a cryptic warning when a hidden service gets a
  539. request to connect to a virtual port that it hasn't configured.
  540. Fixes bug 16706; bugfix on 0.2.6.3-alpha.
  541. - Simplify hidden service descriptor creation by using an existing
  542. flag to check if an introduction point is established. Fixes bug
  543. 21599; bugfix on 0.2.7.2-alpha.
  544. o Minor bugfixes (memory leak):
  545. - Fix a small memory leak at exit from the backtrace handler code.
  546. Fixes bug 21788; bugfix on 0.2.5.2-alpha. Patch from Daniel Pinto.
  547. o Minor bugfixes (protocol, logging):
  548. - Downgrade a log statement about unexpected relay cells from "bug"
  549. to "protocol warning", because there is at least one use case
  550. where it can be triggered by a buggy tor implementation. Fixes bug
  551. 21293; bugfix on 0.1.1.14-alpha.
  552. o Minor bugfixes (testing):
  553. - Use unbuffered I/O for utility functions around the
  554. process_handle_t type. This fixes unit test failures reported on
  555. OpenBSD and FreeBSD. Fixes bug 21654; bugfix on 0.2.3.1-alpha.
  556. - Make display of captured unit test log messages consistent. Fixes
  557. bug 21510; bugfix on 0.2.9.3-alpha.
  558. - Make test-network.sh always call chutney's test-network.sh.
  559. Previously, this only worked on systems which had bash installed,
  560. due to some bash-specific code in the script. Fixes bug 19699;
  561. bugfix on 0.3.0.4-rc. Follow-up to ticket 21581.
  562. o Minor bugfixes (voting consistency):
  563. - Reject version numbers with non-numeric prefixes (such as +, -, or
  564. whitespace). Disallowing whitespace prevents differential version
  565. parsing between POSIX-based and Windows platforms. Fixes bug 21507
  566. and part of 21508; bugfix on 0.0.8pre1.
  567. o Minor bugfixes (windows, relay):
  568. - Resolve "Failure from drain_fd: No error" warnings on Windows
  569. relays. Fixes bug 21540; bugfix on 0.2.6.3-alpha.
  570. o Code simplification and refactoring:
  571. - Break up the 630-line function connection_dir_client_reached_eof()
  572. into a dozen smaller functions. This change should help
  573. maintainability and readability of the client directory code.
  574. - Isolate our use of the openssl headers so that they are only
  575. included from our crypto wrapper modules, and from tests that
  576. examine those modules' internals. Closes ticket 21841.
  577. - Simplify our API to launch directory requests, making it more
  578. extensible and less error-prone. Now it's easier to add extra
  579. headers to directory requests. Closes ticket 21646.
  580. - Our base64 decoding functions no longer overestimate the output
  581. space that they need when parsing unpadded inputs. Closes
  582. ticket 17868.
  583. - Remove unused "ROUTER_ADDED_NOTIFY_GENERATOR" internal value.
  584. Resolves ticket 22213.
  585. - The logic that directory caches use to spool request to clients,
  586. serving them one part at a time so as not to allocate too much
  587. memory, has been refactored for consistency. Previously there was
  588. a separate spooling implementation per type of spoolable data. Now
  589. there is one common spooling implementation, with extensible data
  590. types. Closes ticket 21651.
  591. - Tor's compression module now supports multiple backends. Part of
  592. the implementation for proposal 278; closes ticket 21663.
  593. o Documentation:
  594. - Clarify the behavior of the KeepAliveIsolateSOCKSAuth sub-option.
  595. Closes ticket 21873.
  596. - Correct documentation about the default DataDirectory value.
  597. Closes ticket 21151.
  598. - Document the default behavior of NumEntryGuards and
  599. NumDirectoryGuards correctly. Fixes bug 21715; bugfix
  600. on 0.3.0.1-alpha.
  601. - Document key=value pluggable transport arguments for Bridge lines
  602. in torrc. Fixes bug 20341; bugfix on 0.2.5.1-alpha.
  603. - Note that bandwidth-limiting options don't affect TCP headers or
  604. DNS. Closes ticket 17170.
  605. o Removed features (configuration options, all in ticket 22060):
  606. - These configuration options are now marked Obsolete, and no longer
  607. have any effect: AllowInvalidNodes, AllowSingleHopCircuits,
  608. AllowSingleHopExits, ExcludeSingleHopRelays, FastFirstHopPK,
  609. TLSECGroup, WarnUnsafeSocks. They were first marked as deprecated
  610. in 0.2.9.2-alpha and have now been removed. The previous default
  611. behavior is now always chosen; the previous (less secure) non-
  612. default behavior is now unavailable.
  613. - CloseHSClientCircuitsImmediatelyOnTimeout and
  614. CloseHSServiceRendCircuitsImmediatelyOnTimeout were deprecated in
  615. 0.2.9.2-alpha and now have been removed. HS circuits never close
  616. on circuit build timeout; they have a longer timeout period.
  617. - {Control,DNS,Dir,Socks,Trans,NATD,OR}ListenAddress were deprecated
  618. in 0.2.9.2-alpha and now have been removed. Use the ORPort option
  619. (and others) to configure listen-only and advertise-only addresses.
  620. o Removed features (tools):
  621. - We've removed the tor-checkkey tool from src/tools. Long ago, we
  622. used it to help people detect RSA keys that were generated by
  623. versions of Debian affected by CVE-2008-0166. But those keys have
  624. been out of circulation for ages, and this tool is no longer
  625. required. Closes ticket 21842.
  626. Changes in version 0.3.0.7 - 2017-05-15
  627. Tor 0.3.0.7 fixes a medium-severity security bug in earlier versions
  628. of Tor 0.3.0.x, where an attacker could cause a Tor relay process
  629. to exit. Relays running earlier versions of Tor 0.3.0.x should upgrade;
  630. clients are not affected.
  631. o Major bugfixes (hidden service directory, security):
  632. - Fix an assertion failure in the hidden service directory code, which
  633. could be used by an attacker to remotely cause a Tor relay process to
  634. exit. Relays running earlier versions of Tor 0.3.0.x should upgrade.
  635. should upgrade. This security issue is tracked as TROVE-2017-002.
  636. Fixes bug 22246; bugfix on 0.3.0.1-alpha.
  637. o Minor features:
  638. - Update geoip and geoip6 to the May 2 2017 Maxmind GeoLite2
  639. Country database.
  640. o Minor features (future-proofing):
  641. - Tor no longer refuses to download microdescriptors or descriptors
  642. if they are listed as "published in the future". This change will
  643. eventually allow us to stop listing meaningful "published" dates
  644. in microdescriptor consensuses, and thereby allow us to reduce the
  645. resources required to download consensus diffs by over 50%.
  646. Implements part of ticket 21642; implements part of proposal 275.
  647. o Minor bugfixes (Linux seccomp2 sandbox):
  648. - The getpid() system call is now permitted under the Linux seccomp2
  649. sandbox, to avoid crashing with versions of OpenSSL (and other
  650. libraries) that attempt to learn the process's PID by using the
  651. syscall rather than the VDSO code. Fixes bug 21943; bugfix
  652. on 0.2.5.1-alpha.
  653. Changes in version 0.3.0.6 - 2017-04-26
  654. Tor 0.3.0.6 is the first stable release of the Tor 0.3.0 series.
  655. With the 0.3.0 series, clients and relays now use Ed25519 keys to
  656. authenticate their link connections to relays, rather than the old
  657. RSA1024 keys that they used before. (Circuit crypto has been
  658. Curve25519-authenticated since 0.2.4.8-alpha.) We have also replaced
  659. the guard selection and replacement algorithm to behave more robustly
  660. in the presence of unreliable networks, and to resist guard-
  661. capture attacks.
  662. This series also includes numerous other small features and bugfixes,
  663. along with more groundwork for the upcoming hidden-services revamp.
  664. Per our stable release policy, we plan to support the Tor 0.3.0
  665. release series for at least the next nine months, or for three months
  666. after the first stable release of the 0.3.1 series: whichever is
  667. longer. If you need a release with long-term support, we recommend
  668. that you stay with the 0.2.9 series.
  669. Below are the changes since 0.3.0.5-rc. For a list of all changes
  670. since 0.2.9, see the ReleaseNotes file.
  671. o Minor features (geoip):
  672. - Update geoip and geoip6 to the April 4 2017 Maxmind GeoLite2
  673. Country database.
  674. o Minor bugfixes (control port):
  675. - The GETINFO extra-info/digest/<digest> command was broken because
  676. of a wrong base16 decode return value check, introduced when
  677. refactoring that API. Fixes bug 22034; bugfix on 0.2.9.1-alpha.
  678. o Minor bugfixes (crash prevention):
  679. - Fix a (currently untriggerable, but potentially dangerous) crash
  680. bug when base32-encoding inputs whose sizes are not a multiple of
  681. 5. Fixes bug 21894; bugfix on 0.2.9.1-alpha.
  682. Changes in version 0.3.0.5-rc - 2017-04-05
  683. Tor 0.3.0.5-rc fixes a few remaining bugs, large and small, in the
  684. 0.3.0 release series.
  685. This is the second release candidate in the Tor 0.3.0 series, and has
  686. much fewer changes than the first. If we find no new bugs or
  687. regressions here, the first stable 0.3.0 release will be nearly
  688. identical to it.
  689. o Major bugfixes (crash, directory connections):
  690. - Fix a rare crash when sending a begin cell on a circuit whose
  691. linked directory connection had already been closed. Fixes bug
  692. 21576; bugfix on 0.2.9.3-alpha. Reported by Alec Muffett.
  693. o Major bugfixes (guard selection):
  694. - Fix a guard selection bug where Tor would refuse to bootstrap in
  695. some cases if the user swapped a bridge for another bridge in
  696. their configuration file. Fixes bug 21771; bugfix on 0.3.0.1-alpha.
  697. Reported by "torvlnt33r".
  698. o Minor features (geoip):
  699. - Update geoip and geoip6 to the March 7 2017 Maxmind GeoLite2
  700. Country database.
  701. o Minor bugfix (compilation):
  702. - Fix a warning when compiling hs_service.c. Previously, it had no
  703. exported symbols when compiled for libor.a, resulting in a
  704. compilation warning from clang. Fixes bug 21825; bugfix
  705. on 0.3.0.1-alpha.
  706. o Minor bugfixes (hidden services):
  707. - Make hidden services check for failed intro point connections,
  708. even when they have exceeded their intro point creation limit.
  709. Fixes bug 21596; bugfix on 0.2.7.2-alpha. Reported by Alec Muffett.
  710. - Make hidden services with 8 to 10 introduction points check for
  711. failed circuits immediately after startup. Previously, they would
  712. wait for 5 minutes before performing their first checks. Fixes bug
  713. 21594; bugfix on 0.2.3.9-alpha. Reported by Alec Muffett.
  714. o Minor bugfixes (memory leaks):
  715. - Fix a memory leak when using GETCONF on a port option. Fixes bug
  716. 21682; bugfix on 0.3.0.3-alpha.
  717. o Minor bugfixes (relay):
  718. - Avoid a double-marked-circuit warning that could happen when we
  719. receive DESTROY cells under heavy load. Fixes bug 20059; bugfix
  720. on 0.1.0.1-rc.
  721. o Minor bugfixes (tests):
  722. - Run the entry_guard_parse_from_state_full() test with the time set
  723. to a specific date. (The guard state that this test was parsing
  724. contained guards that had expired since the test was first
  725. written.) Fixes bug 21799; bugfix on 0.3.0.1-alpha.
  726. o Documentation:
  727. - Update the description of the directory server options in the
  728. manual page, to clarify that a relay no longer needs to set
  729. DirPort in order to be a directory cache. Closes ticket 21720.
  730. Changes in version 0.2.8.13 - 2017-03-03
  731. Tor 0.2.8.13 backports a security fix from later Tor
  732. releases. Anybody running Tor 0.2.8.12 or earlier should upgrade to this
  733. this release, if for some reason they cannot upgrade to a later
  734. release series, and if they build Tor with the --enable-expensive-hardening
  735. option.
  736. Note that support for Tor 0.2.8.x is ending next year: we will not issue
  737. any fixes for the Tor 0.2.8.x series after 1 Jan 2018. If you need
  738. a Tor release series with longer-term support, we recommend Tor 0.2.9.x.
  739. o Major bugfixes (parsing, backported from 0.3.0.4-rc):
  740. - Fix an integer underflow bug when comparing malformed Tor
  741. versions. This bug could crash Tor when built with
  742. --enable-expensive-hardening, or on Tor 0.2.9.1-alpha through Tor
  743. 0.2.9.8, which were built with -ftrapv by default. In other cases
  744. it was harmless. Part of TROVE-2017-001. Fixes bug 21278; bugfix
  745. on 0.0.8pre1. Found by OSS-Fuzz.
  746. o Minor features (geoip):
  747. - Update geoip and geoip6 to the February 8 2017 Maxmind GeoLite2
  748. Country database.
  749. Changes in version 0.2.7.7 - 2017-03-03
  750. Tor 0.2.7.7 backports a number of security fixes from later Tor
  751. releases. Anybody running Tor 0.2.7.6 or earlier should upgrade to
  752. this release, if for some reason they cannot upgrade to a later
  753. release series.
  754. Note that support for Tor 0.2.7.x is ending this year: we will not issue
  755. any fixes for the Tor 0.2.7.x series after 1 August 2017. If you need
  756. a Tor release series with longer-term support, we recommend Tor 0.2.9.x.
  757. o Directory authority changes (backport from 0.2.8.5-rc):
  758. - Urras is no longer a directory authority. Closes ticket 19271.
  759. o Directory authority changes (backport from 0.2.9.2-alpha):
  760. - The "Tonga" bridge authority has been retired; the new bridge
  761. authority is "Bifroest". Closes tickets 19728 and 19690.
  762. o Directory authority key updates (backport from 0.2.8.1-alpha):
  763. - Update the V3 identity key for the dannenberg directory authority:
  764. it was changed on 18 November 2015. Closes task 17906. Patch
  765. by "teor".
  766. o Major bugfixes (parsing, security, backport from 0.2.9.8):
  767. - Fix a bug in parsing that could cause clients to read a single
  768. byte past the end of an allocated region. This bug could be used
  769. to cause hardened clients (built with --enable-expensive-hardening)
  770. to crash if they tried to visit a hostile hidden service. Non-
  771. hardened clients are only affected depending on the details of
  772. their platform's memory allocator. Fixes bug 21018; bugfix on
  773. 0.2.0.8-alpha. Found by using libFuzzer. Also tracked as TROVE-
  774. 2016-12-002 and as CVE-2016-1254.
  775. o Major bugfixes (security, client, DNS proxy, backport from 0.2.8.3-alpha):
  776. - Stop a crash that could occur when a client running with DNSPort
  777. received a query with multiple address types, and the first
  778. address type was not supported. Found and fixed by Scott Dial.
  779. Fixes bug 18710; bugfix on 0.2.5.4-alpha.
  780. - Prevent a class of security bugs caused by treating the contents
  781. of a buffer chunk as if they were a NUL-terminated string. At
  782. least one such bug seems to be present in all currently used
  783. versions of Tor, and would allow an attacker to remotely crash
  784. most Tor instances, especially those compiled with extra compiler
  785. hardening. With this defense in place, such bugs can't crash Tor,
  786. though we should still fix them as they occur. Closes ticket
  787. 20384 (TROVE-2016-10-001).
  788. o Major bugfixes (security, pointers, backport from 0.2.8.2-alpha):
  789. - Avoid a difficult-to-trigger heap corruption attack when extending
  790. a smartlist to contain over 16GB of pointers. Fixes bug 18162;
  791. bugfix on 0.1.1.11-alpha, which fixed a related bug incompletely.
  792. Reported by Guido Vranken.
  793. o Major bugfixes (dns proxy mode, crash, backport from 0.2.8.2-alpha):
  794. - Avoid crashing when running as a DNS proxy. Fixes bug 16248;
  795. bugfix on 0.2.0.1-alpha. Patch from "cypherpunks".
  796. o Major bugfixes (key management, backport from 0.2.8.3-alpha):
  797. - If OpenSSL fails to generate an RSA key, do not retain a dangling
  798. pointer to the previous (uninitialized) key value. The impact here
  799. should be limited to a difficult-to-trigger crash, if OpenSSL is
  800. running an engine that makes key generation failures possible, or
  801. if OpenSSL runs out of memory. Fixes bug 19152; bugfix on
  802. 0.2.1.10-alpha. Found by Yuan Jochen Kang, Suman Jana, and
  803. Baishakhi Ray.
  804. o Major bugfixes (parsing, backported from 0.3.0.4-rc):
  805. - Fix an integer underflow bug when comparing malformed Tor
  806. versions. This bug could crash Tor when built with
  807. --enable-expensive-hardening, or on Tor 0.2.9.1-alpha through Tor
  808. 0.2.9.8, which were built with -ftrapv by default. In other cases
  809. it was harmless. Part of TROVE-2017-001. Fixes bug 21278; bugfix
  810. on 0.0.8pre1. Found by OSS-Fuzz.
  811. o Minor features (security, memory erasure, backport from 0.2.8.1-alpha):
  812. - Make memwipe() do nothing when passed a NULL pointer or buffer of
  813. zero size. Check size argument to memwipe() for underflow. Fixes
  814. bug 18089; bugfix on 0.2.3.25 and 0.2.4.6-alpha. Reported by "gk",
  815. patch by "teor".
  816. o Minor features (bug-resistance, backport from 0.2.8.2-alpha):
  817. - Make Tor survive errors involving connections without a
  818. corresponding event object. Previously we'd fail with an
  819. assertion; now we produce a log message. Related to bug 16248.
  820. o Minor features (geoip):
  821. - Update geoip and geoip6 to the February 8 2017 Maxmind GeoLite2
  822. Country database.
  823. Changes in version 0.2.6.11 - 2017-03-03
  824. Tor 0.2.6.11 backports a number of security fixes from later Tor
  825. releases. Anybody running Tor 0.2.6.10 or earlier should upgrade to
  826. this release, if for some reason they cannot upgrade to a later
  827. release series.
  828. Note that support for Tor 0.2.6.x is ending this year: we will not issue
  829. any fixes for the Tor 0.2.6.x series after 1 August 2017. If you need
  830. a Tor release series with longer-term support, we recommend Tor 0.2.9.x.
  831. o Directory authority changes (backport from 0.2.8.5-rc):
  832. - Urras is no longer a directory authority. Closes ticket 19271.
  833. o Directory authority changes (backport from 0.2.9.2-alpha):
  834. - The "Tonga" bridge authority has been retired; the new bridge
  835. authority is "Bifroest". Closes tickets 19728 and 19690.
  836. o Directory authority key updates (backport from 0.2.8.1-alpha):
  837. - Update the V3 identity key for the dannenberg directory authority:
  838. it was changed on 18 November 2015. Closes task 17906. Patch
  839. by "teor".
  840. o Major features (security fixes, backport from 0.2.9.4-alpha):
  841. - Prevent a class of security bugs caused by treating the contents
  842. of a buffer chunk as if they were a NUL-terminated string. At
  843. least one such bug seems to be present in all currently used
  844. versions of Tor, and would allow an attacker to remotely crash
  845. most Tor instances, especially those compiled with extra compiler
  846. hardening. With this defense in place, such bugs can't crash Tor,
  847. though we should still fix them as they occur. Closes ticket
  848. 20384 (TROVE-2016-10-001).
  849. o Major bugfixes (parsing, security, backport from 0.2.9.8):
  850. - Fix a bug in parsing that could cause clients to read a single
  851. byte past the end of an allocated region. This bug could be used
  852. to cause hardened clients (built with --enable-expensive-hardening)
  853. to crash if they tried to visit a hostile hidden service. Non-
  854. hardened clients are only affected depending on the details of
  855. their platform's memory allocator. Fixes bug 21018; bugfix on
  856. 0.2.0.8-alpha. Found by using libFuzzer. Also tracked as TROVE-
  857. 2016-12-002 and as CVE-2016-1254.
  858. o Major bugfixes (security, client, DNS proxy, backport from 0.2.8.3-alpha):
  859. - Stop a crash that could occur when a client running with DNSPort
  860. received a query with multiple address types, and the first
  861. address type was not supported. Found and fixed by Scott Dial.
  862. Fixes bug 18710; bugfix on 0.2.5.4-alpha.
  863. o Major bugfixes (security, correctness, backport from 0.2.7.4-rc):
  864. - Fix an error that could cause us to read 4 bytes before the
  865. beginning of an openssl string. This bug could be used to cause
  866. Tor to crash on systems with unusual malloc implementations, or
  867. systems with unusual hardening installed. Fixes bug 17404; bugfix
  868. on 0.2.3.6-alpha.
  869. o Major bugfixes (security, pointers, backport from 0.2.8.2-alpha):
  870. - Avoid a difficult-to-trigger heap corruption attack when extending
  871. a smartlist to contain over 16GB of pointers. Fixes bug 18162;
  872. bugfix on 0.1.1.11-alpha, which fixed a related bug incompletely.
  873. Reported by Guido Vranken.
  874. o Major bugfixes (dns proxy mode, crash, backport from 0.2.8.2-alpha):
  875. - Avoid crashing when running as a DNS proxy. Fixes bug 16248;
  876. bugfix on 0.2.0.1-alpha. Patch from "cypherpunks".
  877. o Major bugfixes (guard selection, backport from 0.2.7.6):
  878. - Actually look at the Guard flag when selecting a new directory
  879. guard. When we implemented the directory guard design, we
  880. accidentally started treating all relays as if they have the Guard
  881. flag during guard selection, leading to weaker anonymity and worse
  882. performance. Fixes bug 17772; bugfix on 0.2.4.8-alpha. Discovered
  883. by Mohsen Imani.
  884. o Major bugfixes (key management, backport from 0.2.8.3-alpha):
  885. - If OpenSSL fails to generate an RSA key, do not retain a dangling
  886. pointer to the previous (uninitialized) key value. The impact here
  887. should be limited to a difficult-to-trigger crash, if OpenSSL is
  888. running an engine that makes key generation failures possible, or
  889. if OpenSSL runs out of memory. Fixes bug 19152; bugfix on
  890. 0.2.1.10-alpha. Found by Yuan Jochen Kang, Suman Jana, and
  891. Baishakhi Ray.
  892. o Major bugfixes (parsing, backported from 0.3.0.4-rc):
  893. - Fix an integer underflow bug when comparing malformed Tor
  894. versions. This bug could crash Tor when built with
  895. --enable-expensive-hardening, or on Tor 0.2.9.1-alpha through Tor
  896. 0.2.9.8, which were built with -ftrapv by default. In other cases
  897. it was harmless. Part of TROVE-2017-001. Fixes bug 21278; bugfix
  898. on 0.0.8pre1. Found by OSS-Fuzz.
  899. o Minor features (security, memory erasure, backport from 0.2.8.1-alpha):
  900. - Make memwipe() do nothing when passed a NULL pointer or buffer of
  901. zero size. Check size argument to memwipe() for underflow. Fixes
  902. bug 18089; bugfix on 0.2.3.25 and 0.2.4.6-alpha. Reported by "gk",
  903. patch by "teor".
  904. o Minor features (bug-resistance, backport from 0.2.8.2-alpha):
  905. - Make Tor survive errors involving connections without a
  906. corresponding event object. Previously we'd fail with an
  907. assertion; now we produce a log message. Related to bug 16248.
  908. o Minor features (geoip):
  909. - Update geoip and geoip6 to the February 8 2017 Maxmind GeoLite2
  910. Country database.
  911. o Minor bugfixes (compilation, backport from 0.2.7.6):
  912. - Fix a compilation warning with Clang 3.6: Do not check the
  913. presence of an address which can never be NULL. Fixes bug 17781.
  914. Changes in version 0.2.5.13 - 2017-03-03
  915. Tor 0.2.5.13 backports a number of security fixes from later Tor
  916. releases. Anybody running Tor 0.2.5.13 or earlier should upgrade to
  917. this release, if for some reason they cannot upgrade to a later
  918. release series.
  919. Note that support for Tor 0.2.5.x is ending next year: we will not issue
  920. any fixes for the Tor 0.2.5.x series after 1 May 2018. If you need
  921. a Tor release series with longer-term support, we recommend Tor 0.2.9.x.
  922. o Directory authority changes (backport from 0.2.8.5-rc):
  923. - Urras is no longer a directory authority. Closes ticket 19271.
  924. o Directory authority changes (backport from 0.2.9.2-alpha):
  925. - The "Tonga" bridge authority has been retired; the new bridge
  926. authority is "Bifroest". Closes tickets 19728 and 19690.
  927. o Directory authority key updates (backport from 0.2.8.1-alpha):
  928. - Update the V3 identity key for the dannenberg directory authority:
  929. it was changed on 18 November 2015. Closes task 17906. Patch
  930. by "teor".
  931. o Major features (security fixes, backport from 0.2.9.4-alpha):
  932. - Prevent a class of security bugs caused by treating the contents
  933. of a buffer chunk as if they were a NUL-terminated string. At
  934. least one such bug seems to be present in all currently used
  935. versions of Tor, and would allow an attacker to remotely crash
  936. most Tor instances, especially those compiled with extra compiler
  937. hardening. With this defense in place, such bugs can't crash Tor,
  938. though we should still fix them as they occur. Closes ticket
  939. 20384 (TROVE-2016-10-001).
  940. o Major bugfixes (parsing, security, backport from 0.2.9.8):
  941. - Fix a bug in parsing that could cause clients to read a single
  942. byte past the end of an allocated region. This bug could be used
  943. to cause hardened clients (built with --enable-expensive-hardening)
  944. to crash if they tried to visit a hostile hidden service. Non-
  945. hardened clients are only affected depending on the details of
  946. their platform's memory allocator. Fixes bug 21018; bugfix on
  947. 0.2.0.8-alpha. Found by using libFuzzer. Also tracked as TROVE-
  948. 2016-12-002 and as CVE-2016-1254.
  949. o Major bugfixes (security, client, DNS proxy, backport from 0.2.8.3-alpha):
  950. - Stop a crash that could occur when a client running with DNSPort
  951. received a query with multiple address types, and the first
  952. address type was not supported. Found and fixed by Scott Dial.
  953. Fixes bug 18710; bugfix on 0.2.5.4-alpha.
  954. o Major bugfixes (security, correctness, backport from 0.2.7.4-rc):
  955. - Fix an error that could cause us to read 4 bytes before the
  956. beginning of an openssl string. This bug could be used to cause
  957. Tor to crash on systems with unusual malloc implementations, or
  958. systems with unusual hardening installed. Fixes bug 17404; bugfix
  959. on 0.2.3.6-alpha.
  960. o Major bugfixes (security, pointers, backport from 0.2.8.2-alpha):
  961. - Avoid a difficult-to-trigger heap corruption attack when extending
  962. a smartlist to contain over 16GB of pointers. Fixes bug 18162;
  963. bugfix on 0.1.1.11-alpha, which fixed a related bug incompletely.
  964. Reported by Guido Vranken.
  965. o Major bugfixes (dns proxy mode, crash, backport from 0.2.8.2-alpha):
  966. - Avoid crashing when running as a DNS proxy. Fixes bug 16248;
  967. bugfix on 0.2.0.1-alpha. Patch from "cypherpunks".
  968. o Major bugfixes (guard selection, backport from 0.2.7.6):
  969. - Actually look at the Guard flag when selecting a new directory
  970. guard. When we implemented the directory guard design, we
  971. accidentally started treating all relays as if they have the Guard
  972. flag during guard selection, leading to weaker anonymity and worse
  973. performance. Fixes bug 17772; bugfix on 0.2.4.8-alpha. Discovered
  974. by Mohsen Imani.
  975. o Major bugfixes (key management, backport from 0.2.8.3-alpha):
  976. - If OpenSSL fails to generate an RSA key, do not retain a dangling
  977. pointer to the previous (uninitialized) key value. The impact here
  978. should be limited to a difficult-to-trigger crash, if OpenSSL is
  979. running an engine that makes key generation failures possible, or
  980. if OpenSSL runs out of memory. Fixes bug 19152; bugfix on
  981. 0.2.1.10-alpha. Found by Yuan Jochen Kang, Suman Jana, and
  982. Baishakhi Ray.
  983. o Major bugfixes (parsing, backported from 0.3.0.4-rc):
  984. - Fix an integer underflow bug when comparing malformed Tor
  985. versions. This bug could crash Tor when built with
  986. --enable-expensive-hardening, or on Tor 0.2.9.1-alpha through Tor
  987. 0.2.9.8, which were built with -ftrapv by default. In other cases
  988. it was harmless. Part of TROVE-2017-001. Fixes bug 21278; bugfix
  989. on 0.0.8pre1. Found by OSS-Fuzz.
  990. o Minor features (security, memory erasure, backport from 0.2.8.1-alpha):
  991. - Make memwipe() do nothing when passed a NULL pointer or buffer of
  992. zero size. Check size argument to memwipe() for underflow. Fixes
  993. bug 18089; bugfix on 0.2.3.25 and 0.2.4.6-alpha. Reported by "gk",
  994. patch by "teor".
  995. o Minor features (bug-resistance, backport from 0.2.8.2-alpha):
  996. - Make Tor survive errors involving connections without a
  997. corresponding event object. Previously we'd fail with an
  998. assertion; now we produce a log message. Related to bug 16248.
  999. o Minor features (geoip):
  1000. - Update geoip and geoip6 to the February 8 2017 Maxmind GeoLite2
  1001. Country database.
  1002. o Minor bugfixes (compilation, backport from 0.2.7.6):
  1003. - Fix a compilation warning with Clang 3.6: Do not check the
  1004. presence of an address which can never be NULL. Fixes bug 17781.
  1005. o Minor bugfixes (crypto error-handling, backport from 0.2.7.2-alpha):
  1006. - Check for failures from crypto_early_init, and refuse to continue.
  1007. A previous typo meant that we could keep going with an
  1008. uninitialized crypto library, and would have OpenSSL initialize
  1009. its own PRNG. Fixes bug 16360; bugfix on 0.2.5.2-alpha, introduced
  1010. when implementing ticket 4900. Patch by "teor".
  1011. o Minor bugfixes (hidden service, backport from 0.2.7.1-alpha):
  1012. - Fix an out-of-bounds read when parsing invalid INTRODUCE2 cells on
  1013. a client authorized hidden service. Fixes bug 15823; bugfix
  1014. on 0.2.1.6-alpha.
  1015. Changes in version 0.2.4.28 - 2017-03-03
  1016. Tor 0.2.4.28 backports a number of security fixes from later Tor
  1017. releases. Anybody running Tor 0.2.4.27 or earlier should upgrade to
  1018. this release, if for some reason they cannot upgrade to a later
  1019. release series.
  1020. Note that support for Tor 0.2.4.x is ending soon: we will not issue
  1021. any fixes for the Tor 0.2.4.x series after 1 August 2017. If you need
  1022. a Tor release series with long-term support, we recommend Tor 0.2.9.x.
  1023. o Directory authority changes (backport from 0.2.8.5-rc):
  1024. - Urras is no longer a directory authority. Closes ticket 19271.
  1025. o Directory authority changes (backport from 0.2.9.2-alpha):
  1026. - The "Tonga" bridge authority has been retired; the new bridge
  1027. authority is "Bifroest". Closes tickets 19728 and 19690.
  1028. o Directory authority key updates (backport from 0.2.8.1-alpha):
  1029. - Update the V3 identity key for the dannenberg directory authority:
  1030. it was changed on 18 November 2015. Closes task 17906. Patch
  1031. by "teor".
  1032. o Major features (security fixes, backport from 0.2.9.4-alpha):
  1033. - Prevent a class of security bugs caused by treating the contents
  1034. of a buffer chunk as if they were a NUL-terminated string. At
  1035. least one such bug seems to be present in all currently used
  1036. versions of Tor, and would allow an attacker to remotely crash
  1037. most Tor instances, especially those compiled with extra compiler
  1038. hardening. With this defense in place, such bugs can't crash Tor,
  1039. though we should still fix them as they occur. Closes ticket
  1040. 20384 (TROVE-2016-10-001).
  1041. o Major bugfixes (parsing, security, backport from 0.2.9.8):
  1042. - Fix a bug in parsing that could cause clients to read a single
  1043. byte past the end of an allocated region. This bug could be used
  1044. to cause hardened clients (built with --enable-expensive-hardening)
  1045. to crash if they tried to visit a hostile hidden service. Non-
  1046. hardened clients are only affected depending on the details of
  1047. their platform's memory allocator. Fixes bug 21018; bugfix on
  1048. 0.2.0.8-alpha. Found by using libFuzzer. Also tracked as TROVE-
  1049. 2016-12-002 and as CVE-2016-1254.
  1050. o Major bugfixes (security, correctness, backport from 0.2.7.4-rc):
  1051. - Fix an error that could cause us to read 4 bytes before the
  1052. beginning of an openssl string. This bug could be used to cause
  1053. Tor to crash on systems with unusual malloc implementations, or
  1054. systems with unusual hardening installed. Fixes bug 17404; bugfix
  1055. on 0.2.3.6-alpha.
  1056. o Major bugfixes (security, pointers, backport from 0.2.8.2-alpha):
  1057. - Avoid a difficult-to-trigger heap corruption attack when extending
  1058. a smartlist to contain over 16GB of pointers. Fixes bug 18162;
  1059. bugfix on 0.1.1.11-alpha, which fixed a related bug incompletely.
  1060. Reported by Guido Vranken.
  1061. o Major bugfixes (dns proxy mode, crash, backport from 0.2.8.2-alpha):
  1062. - Avoid crashing when running as a DNS proxy. Fixes bug 16248;
  1063. bugfix on 0.2.0.1-alpha. Patch from "cypherpunks".
  1064. o Major bugfixes (guard selection, backport from 0.2.7.6):
  1065. - Actually look at the Guard flag when selecting a new directory
  1066. guard. When we implemented the directory guard design, we
  1067. accidentally started treating all relays as if they have the Guard
  1068. flag during guard selection, leading to weaker anonymity and worse
  1069. performance. Fixes bug 17772; bugfix on 0.2.4.8-alpha. Discovered
  1070. by Mohsen Imani.
  1071. o Major bugfixes (key management, backport from 0.2.8.3-alpha):
  1072. - If OpenSSL fails to generate an RSA key, do not retain a dangling
  1073. pointer to the previous (uninitialized) key value. The impact here
  1074. should be limited to a difficult-to-trigger crash, if OpenSSL is
  1075. running an engine that makes key generation failures possible, or
  1076. if OpenSSL runs out of memory. Fixes bug 19152; bugfix on
  1077. 0.2.1.10-alpha. Found by Yuan Jochen Kang, Suman Jana, and
  1078. Baishakhi Ray.
  1079. o Major bugfixes (parsing, backported from 0.3.0.4-rc):
  1080. - Fix an integer underflow bug when comparing malformed Tor
  1081. versions. This bug could crash Tor when built with
  1082. --enable-expensive-hardening, or on Tor 0.2.9.1-alpha through Tor
  1083. 0.2.9.8, which were built with -ftrapv by default. In other cases
  1084. it was harmless. Part of TROVE-2017-001. Fixes bug 21278; bugfix
  1085. on 0.0.8pre1. Found by OSS-Fuzz.
  1086. o Minor features (security, memory erasure, backport from 0.2.8.1-alpha):
  1087. - Make memwipe() do nothing when passed a NULL pointer or buffer of
  1088. zero size. Check size argument to memwipe() for underflow. Fixes
  1089. bug 18089; bugfix on 0.2.3.25 and 0.2.4.6-alpha. Reported by "gk",
  1090. patch by "teor".
  1091. o Minor features (bug-resistance, backport from 0.2.8.2-alpha):
  1092. - Make Tor survive errors involving connections without a
  1093. corresponding event object. Previously we'd fail with an
  1094. assertion; now we produce a log message. Related to bug 16248.
  1095. o Minor features (DoS-resistance, backport from 0.2.7.1-alpha):
  1096. - Make it harder for attackers to overload hidden services with
  1097. introductions, by blocking multiple introduction requests on the
  1098. same circuit. Resolves ticket 15515.
  1099. o Minor features (geoip):
  1100. - Update geoip and geoip6 to the February 8 2017 Maxmind GeoLite2
  1101. Country database.
  1102. o Minor bugfixes (compilation, backport from 0.2.7.6):
  1103. - Fix a compilation warning with Clang 3.6: Do not check the
  1104. presence of an address which can never be NULL. Fixes bug 17781.
  1105. o Minor bugfixes (hidden service, backport from 0.2.7.1-alpha):
  1106. - Fix an out-of-bounds read when parsing invalid INTRODUCE2 cells on
  1107. a client authorized hidden service. Fixes bug 15823; bugfix
  1108. on 0.2.1.6-alpha.
  1109. Changes in version 0.3.0.4-rc - 2017-03-01
  1110. Tor 0.3.0.4-rc fixes some remaining bugs, large and small, in the
  1111. 0.3.0 release series, and introduces a few reliability features to
  1112. keep them from coming back.
  1113. This is the first release candidate in the Tor 0.3.0 series. If we
  1114. find no new bugs or regressions here, the first stable 0.3.0 release
  1115. will be nearly identical to it.
  1116. o Major bugfixes (bridges):
  1117. - When the same bridge is configured multiple times with the same
  1118. identity, but at different address:port combinations, treat those
  1119. bridge instances as separate guards. This fix restores the ability
  1120. of clients to configure the same bridge with multiple pluggable
  1121. transports. Fixes bug 21027; bugfix on 0.3.0.1-alpha.
  1122. o Major bugfixes (hidden service directory v3):
  1123. - Stop crashing on a failed v3 hidden service descriptor lookup
  1124. failure. Fixes bug 21471; bugfixes on tor-0.3.0.1-alpha.
  1125. o Major bugfixes (parsing):
  1126. - When parsing a malformed content-length field from an HTTP
  1127. message, do not read off the end of the buffer. This bug was a
  1128. potential remote denial-of-service attack against Tor clients and
  1129. relays. A workaround was released in October 2016, to prevent this
  1130. bug from crashing Tor. This is a fix for the underlying issue,
  1131. which should no longer matter (if you applied the earlier patch).
  1132. Fixes bug 20894; bugfix on 0.2.0.16-alpha. Bug found by fuzzing
  1133. using AFL (http://lcamtuf.coredump.cx/afl/).
  1134. - Fix an integer underflow bug when comparing malformed Tor
  1135. versions. This bug could crash Tor when built with
  1136. --enable-expensive-hardening, or on Tor 0.2.9.1-alpha through Tor
  1137. 0.2.9.8, which were built with -ftrapv by default. In other cases
  1138. it was harmless. Part of TROVE-2017-001. Fixes bug 21278; bugfix
  1139. on 0.0.8pre1. Found by OSS-Fuzz.
  1140. o Minor feature (protocol versioning):
  1141. - Add new protocol version for proposal 224. HSIntro now advertises
  1142. version "3-4" and HSDir version "1-2". Fixes ticket 20656.
  1143. o Minor features (directory authorities):
  1144. - Directory authorities now reject descriptors that claim to be
  1145. malformed versions of Tor. Helps prevent exploitation of
  1146. bug 21278.
  1147. - Reject version numbers with components that exceed INT32_MAX.
  1148. Otherwise 32-bit and 64-bit platforms would behave inconsistently.
  1149. Fixes bug 21450; bugfix on 0.0.8pre1.
  1150. - Directory authorities now reject relays running versions
  1151. 0.2.9.1-alpha through 0.2.9.4-alpha, because those relays
  1152. suffer from bug 20499 and don't keep their consensus cache
  1153. up-to-date. Resolves ticket 20509.
  1154. o Minor features (geoip):
  1155. - Update geoip and geoip6 to the February 8 2017 Maxmind GeoLite2
  1156. Country database.
  1157. o Minor features (reliability, crash):
  1158. - Try better to detect problems in buffers where they might grow (or
  1159. think they have grown) over 2 GB in size. Diagnostic for
  1160. bug 21369.
  1161. o Minor features (testing):
  1162. - During 'make test-network-all', if tor logs any warnings, ask
  1163. chutney to output them. Requires a recent version of chutney with
  1164. the 21572 patch. Implements 21570.
  1165. o Minor bugfixes (certificate expiration time):
  1166. - Avoid using link certificates that don't become valid till some
  1167. time in the future. Fixes bug 21420; bugfix on 0.2.4.11-alpha
  1168. o Minor bugfixes (code correctness):
  1169. - Repair a couple of (unreachable or harmless) cases of the risky
  1170. comparison-by-subtraction pattern that caused bug 21278.
  1171. - Remove a redundant check for the UseEntryGuards option from the
  1172. options_transition_affects_guards() function. Fixes bug 21492;
  1173. bugfix on 0.3.0.1-alpha.
  1174. o Minor bugfixes (directory mirrors):
  1175. - Allow relays to use directory mirrors without a DirPort: these
  1176. relays need to be contacted over their ORPorts using a begindir
  1177. connection. Fixes one case of bug 20711; bugfix on 0.2.8.2-alpha.
  1178. - Clarify the message logged when a remote relay is unexpectedly
  1179. missing an ORPort or DirPort: users were confusing this with a
  1180. local port. Fixes another case of bug 20711; bugfix
  1181. on 0.2.8.2-alpha.
  1182. o Minor bugfixes (guards):
  1183. - Don't warn about a missing guard state on timeout-measurement
  1184. circuits: they aren't supposed to be using guards. Fixes an
  1185. instance of bug 21007; bugfix on 0.3.0.1-alpha.
  1186. - Silence a BUG() warning when attempting to use a guard whose
  1187. descriptor we don't know, and make this scenario less likely to
  1188. happen. Fixes bug 21415; bugfix on 0.3.0.1-alpha.
  1189. o Minor bugfixes (hidden service):
  1190. - Pass correct buffer length when encoding legacy ESTABLISH_INTRO
  1191. cells. Previously, we were using sizeof() on a pointer, instead of
  1192. the real destination buffer. Fortunately, that value was only used
  1193. to double-check that there was enough room--which was already
  1194. enforced elsewhere. Fixes bug 21553; bugfix on 0.3.0.1-alpha.
  1195. o Minor bugfixes (testing):
  1196. - Fix Raspbian build issues related to missing socket errno in
  1197. test_util.c. Fixes bug 21116; bugfix on tor-0.2.8.2. Patch
  1198. by "hein".
  1199. - Rename "make fuzz" to "make test-fuzz-corpora", since it doesn't
  1200. actually fuzz anything. Fixes bug 21447; bugfix on 0.3.0.3-alpha.
  1201. - Use bash in src/test/test-network.sh. This ensures we reliably
  1202. call chutney's newer tools/test-network.sh when available. Fixes
  1203. bug 21562; bugfix on 0.2.9.1-alpha.
  1204. o Documentation:
  1205. - Small fixes to the fuzzing documentation. Closes ticket 21472.
  1206. Changes in version 0.2.9.10 - 2017-03-01
  1207. Tor 0.2.9.10 backports a security fix from later Tor release. It also
  1208. includes fixes for some major issues affecting directory authorities,
  1209. LibreSSL compatibility, and IPv6 correctness.
  1210. The Tor 0.2.9.x release series is now marked as a long-term-support
  1211. series. We intend to backport security fixes to 0.2.9.x until at
  1212. least January of 2020.
  1213. o Major bugfixes (directory authority, 0.3.0.3-alpha):
  1214. - During voting, when marking a relay as a probable sybil, do not
  1215. clear its BadExit flag: sybils can still be bad in other ways
  1216. too. (We still clear the other flags.) Fixes bug 21108; bugfix
  1217. on 0.2.0.13-alpha.
  1218. o Major bugfixes (IPv6 Exits, backport from 0.3.0.3-alpha):
  1219. - Stop rejecting all IPv6 traffic on Exits whose exit policy rejects
  1220. any IPv6 addresses. Instead, only reject a port over IPv6 if the
  1221. exit policy rejects that port on more than an IPv6 /16 of
  1222. addresses. This bug was made worse by 17027 in 0.2.8.1-alpha,
  1223. which rejected a relay's own IPv6 address by default. Fixes bug
  1224. 21357; bugfix on commit 004f3f4e53 in 0.2.4.7-alpha.
  1225. o Major bugfixes (parsing, also in 0.3.0.4-rc):
  1226. - Fix an integer underflow bug when comparing malformed Tor
  1227. versions. This bug could crash Tor when built with
  1228. --enable-expensive-hardening, or on Tor 0.2.9.1-alpha through Tor
  1229. 0.2.9.8, which were built with -ftrapv by default. In other cases
  1230. it was harmless. Part of TROVE-2017-001. Fixes bug 21278; bugfix
  1231. on 0.0.8pre1. Found by OSS-Fuzz.
  1232. o Minor features (directory authorities, also in 0.3.0.4-rc):
  1233. - Directory authorities now reject descriptors that claim to be
  1234. malformed versions of Tor. Helps prevent exploitation of
  1235. bug 21278.
  1236. - Reject version numbers with components that exceed INT32_MAX.
  1237. Otherwise 32-bit and 64-bit platforms would behave inconsistently.
  1238. Fixes bug 21450; bugfix on 0.0.8pre1.
  1239. o Minor features (geoip):
  1240. - Update geoip and geoip6 to the February 8 2017 Maxmind GeoLite2
  1241. Country database.
  1242. o Minor features (portability, compilation, backport from 0.3.0.3-alpha):
  1243. - Autoconf now checks to determine if OpenSSL structures are opaque,
  1244. instead of explicitly checking for OpenSSL version numbers. Part
  1245. of ticket 21359.
  1246. - Support building with recent LibreSSL code that uses opaque
  1247. structures. Closes ticket 21359.
  1248. o Minor bugfixes (code correctness, also in 0.3.0.4-rc):
  1249. - Repair a couple of (unreachable or harmless) cases of the risky
  1250. comparison-by-subtraction pattern that caused bug 21278.
  1251. o Minor bugfixes (tor-resolve, backport from 0.3.0.3-alpha):
  1252. - The tor-resolve command line tool now rejects hostnames over 255
  1253. characters in length. Previously, it would silently truncate them,
  1254. which could lead to bugs. Fixes bug 21280; bugfix on 0.0.9pre5.
  1255. Patch by "junglefowl".
  1256. Changes in version 0.3.0.3-alpha - 2017-02-03
  1257. Tor 0.3.0.3-alpha fixes a few significant bugs introduced over the
  1258. 0.3.0.x development series, including some that could cause
  1259. authorities to behave badly. There is also a fix for a longstanding
  1260. bug that could prevent IPv6 exits from working. Tor 0.3.0.3-alpha also
  1261. includes some smaller features and bugfixes.
  1262. The Tor 0.3.0.x release series is now in patch-freeze: no additional
  1263. features will be considered for inclusion in 0.3.0.x. We suspect that
  1264. some bugs will probably remain, however, and we encourage people to
  1265. test this release.
  1266. o Major bugfixes (directory authority):
  1267. - During voting, when marking a relay as a probable sybil, do not
  1268. clear its BadExit flag: sybils can still be bad in other ways
  1269. too. (We still clear the other flags.) Fixes bug 21108; bugfix
  1270. on 0.2.0.13-alpha.
  1271. - When deciding whether we have just found a router to be reachable,
  1272. do not penalize it for not having performed an Ed25519 link
  1273. handshake if it does not claim to support an Ed25519 handshake.
  1274. Previously, we would treat such relays as non-running. Fixes bug
  1275. 21107; bugfix on 0.3.0.1-alpha.
  1276. o Major bugfixes (entry guards):
  1277. - Stop trying to build circuits through entry guards for which we
  1278. have no descriptor. Also, stop crashing in the case that we *do*
  1279. accidentally try to build a circuit in such a state. Fixes bug
  1280. 21242; bugfix on 0.3.0.1-alpha.
  1281. o Major bugfixes (IPv6 Exits):
  1282. - Stop rejecting all IPv6 traffic on Exits whose exit policy rejects
  1283. any IPv6 addresses. Instead, only reject a port over IPv6 if the
  1284. exit policy rejects that port on more than an IPv6 /16 of
  1285. addresses. This bug was made worse by 17027 in 0.2.8.1-alpha,
  1286. which rejected a relay's own IPv6 address by default. Fixes bug
  1287. 21357; bugfix on commit 004f3f4e53 in 0.2.4.7-alpha.
  1288. o Minor feature (client):
  1289. - Enable IPv6 traffic on the SocksPort by default. To disable this,
  1290. a user will have to specify "NoIPv6Traffic". Closes ticket 21269.
  1291. o Minor feature (fallback scripts):
  1292. - Add a check_existing mode to updateFallbackDirs.py, which checks
  1293. if fallbacks in the hard-coded list are working. Closes ticket
  1294. 20174. Patch by haxxpop.
  1295. o Minor features (ciphersuite selection):
  1296. - Clients now advertise a list of ciphersuites closer to the ones
  1297. preferred by Firefox. Closes part of ticket 15426.
  1298. - Allow relays to accept a wider range of ciphersuites, including
  1299. chacha20-poly1305 and AES-CCM. Closes the other part of 15426.
  1300. o Minor features (controller, configuration):
  1301. - Each of the *Port options, such as SocksPort, ORPort, ControlPort,
  1302. and so on, now comes with a __*Port variant that will not be saved
  1303. to the torrc file by the controller's SAVECONF command. This
  1304. change allows TorBrowser to set up a single-use domain socket for
  1305. each time it launches Tor. Closes ticket 20956.
  1306. - The GETCONF command can now query options that may only be
  1307. meaningful in context-sensitive lists. This allows the controller
  1308. to query the mixed SocksPort/__SocksPort style options introduced
  1309. in feature 20956. Implements ticket 21300.
  1310. o Minor features (portability, compilation):
  1311. - Autoconf now checks to determine if OpenSSL structures are opaque,
  1312. instead of explicitly checking for OpenSSL version numbers. Part
  1313. of ticket 21359.
  1314. - Support building with recent LibreSSL code that uses opaque
  1315. structures. Closes ticket 21359.
  1316. o Minor features (relay):
  1317. - We now allow separation of exit and relay traffic to different
  1318. source IP addresses, using the OutboundBindAddressExit and
  1319. OutboundBindAddressOR options respectively. Closes ticket 17975.
  1320. Written by Michael Sonntag.
  1321. o Minor bugfix (logging):
  1322. - Don't recommend the use of Tor2web in non-anonymous mode.
  1323. Recommending Tor2web is a bad idea because the client loses all
  1324. anonymity. Tor2web should only be used in specific cases by users
  1325. who *know* and understand the issues. Fixes bug 21294; bugfix
  1326. on 0.2.9.3-alpha.
  1327. o Minor bugfixes (client):
  1328. - Always recover from failures in extend_info_from_node(), in an
  1329. attempt to prevent any recurrence of bug 21242. Fixes bug 21372;
  1330. bugfix on 0.2.3.1-alpha.
  1331. o Minor bugfixes (client, entry guards):
  1332. - Fix a bug warning (with backtrace) when we fail a channel that
  1333. circuits to fallback directories on it. Fixes bug 21128; bugfix
  1334. on 0.3.0.1-alpha.
  1335. - Fix a spurious bug warning (with backtrace) when removing an
  1336. expired entry guard. Fixes bug 21129; bugfix on 0.3.0.1-alpha.
  1337. - Fix a bug of the new guard algorithm where tor could stall for up
  1338. to 10 minutes before retrying a guard after a long period of no
  1339. network. Fixes bug 21052; bugfix on 0.3.0.1-alpha.
  1340. - Do not try to build circuits until we have descriptors for our
  1341. primary entry guards. Related to fix for bug 21242.
  1342. o Minor bugfixes (configure, autoconf):
  1343. - Rename the configure option --enable-expensive-hardening to
  1344. --enable-fragile-hardening. Expensive hardening makes the tor
  1345. daemon abort when some kinds of issues are detected. Thus, it
  1346. makes tor more at risk of remote crashes but safer against RCE or
  1347. heartbleed bug category. We now try to explain this issue in a
  1348. message from the configure script. Fixes bug 21290; bugfix
  1349. on 0.2.5.4-alpha.
  1350. o Minor bugfixes (controller):
  1351. - Restore the (deprecated) DROPGUARDS controller command. Fixes bug
  1352. 20824; bugfix on 0.3.0.1-alpha.
  1353. o Minor bugfixes (hidden service):
  1354. - Clean up the code for expiring intro points with no associated
  1355. circuits. It was causing, rarely, a service with some expiring
  1356. introduction points to not open enough additional introduction
  1357. points. Fixes part of bug 21302; bugfix on 0.2.7.2-alpha.
  1358. - Stop setting the torrc option HiddenServiceStatistics to "0" just
  1359. because we're not a bridge or relay. Instead, we preserve whatever
  1360. value the user set (or didn't set). Fixes bug 21150; bugfix
  1361. on 0.2.6.2-alpha.
  1362. - Resolve two possible underflows which could lead to creating and
  1363. closing a lot of introduction point circuits in a non-stop loop.
  1364. Fixes bug 21302; bugfix on 0.2.7.2-alpha.
  1365. o Minor bugfixes (portability):
  1366. - Use "OpenBSD" compiler macro instead of "OPENBSD" or "__OpenBSD__".
  1367. It is supported by OpenBSD itself, and also by most OpenBSD
  1368. variants (such as Bitrig). Fixes bug 20980; bugfix
  1369. on 0.1.2.1-alpha.
  1370. - When mapping a file of length greater than SIZE_MAX, do not
  1371. silently truncate its contents. This issue could occur on 32 bit
  1372. systems with large file support and files which are larger than 4
  1373. GB. Fixes bug 21134; bugfix on 0.3.0.1-alpha.
  1374. o Minor bugfixes (tor-resolve):
  1375. - The tor-resolve command line tool now rejects hostnames over 255
  1376. characters in length. Previously, it would silently truncate them,
  1377. which could lead to bugs. Fixes bug 21280; bugfix on 0.0.9pre5.
  1378. Patch by "junglefowl".
  1379. o Minor bugfixes (Windows services):
  1380. - Be sure to initialize the monotonic time subsystem before using
  1381. it, even when running as an NT service. Fixes bug 21356; bugfix
  1382. on 0.2.9.1-alpha.
  1383. Changes in version 0.3.0.2-alpha - 2017-01-23
  1384. Tor 0.3.0.2-alpha fixes a denial-of-service bug where an attacker could
  1385. cause relays and clients to crash, even if they were not built with
  1386. the --enable-expensive-hardening option. This bug affects all 0.2.9.x
  1387. versions, and also affects 0.3.0.1-alpha: all relays running an affected
  1388. version should upgrade.
  1389. Tor 0.3.0.2-alpha also improves how exit relays and clients handle DNS
  1390. time-to-live values, makes directory authorities enforce the 1-to-1
  1391. mapping of relay RSA identity keys to ED25519 identity keys, fixes a
  1392. client-side onion service reachability bug, does better at selecting
  1393. the set of fallback directories, and more.
  1394. o Major bugfixes (security, also in 0.2.9.9):
  1395. - Downgrade the "-ftrapv" option from "always on" to "only on when
  1396. --enable-expensive-hardening is provided." This hardening option, like
  1397. others, can turn survivable bugs into crashes--and having it on by
  1398. default made a (relatively harmless) integer overflow bug into a
  1399. denial-of-service bug. Fixes bug 21278 (TROVE-2017-001); bugfix on
  1400. 0.2.9.1-alpha.
  1401. o Major features (security):
  1402. - Change the algorithm used to decide DNS TTLs on client and server
  1403. side, to better resist DNS-based correlation attacks like the
  1404. DefecTor attack of Greschbach, Pulls, Roberts, Winter, and
  1405. Feamster. Now relays only return one of two possible DNS TTL
  1406. values, and clients are willing to believe DNS TTL values up to 3
  1407. hours long. Closes ticket 19769.
  1408. o Major features (directory authority, security):
  1409. - The default for AuthDirPinKeys is now 1: directory authorities
  1410. will reject relays where the RSA identity key matches a previously
  1411. seen value, but the Ed25519 key has changed. Closes ticket 18319.
  1412. o Major bugfixes (client, guard, crash):
  1413. - In circuit_get_global_origin_list(), return the actual list of
  1414. origin circuits. The previous version of this code returned the
  1415. list of all the circuits, and could have caused strange bugs,
  1416. including possible crashes. Fixes bug 21118; bugfix
  1417. on 0.3.0.1-alpha.
  1418. o Major bugfixes (client, onion service, also in 0.2.9.9):
  1419. - Fix a client-side onion service reachability bug, where multiple
  1420. socks requests to an onion service (or a single slow request)
  1421. could cause us to mistakenly mark some of the service's
  1422. introduction points as failed, and we cache that failure so
  1423. eventually we run out and can't reach the service. Also resolves a
  1424. mysterious "Remote server sent bogus reason code 65021" log
  1425. warning. The bug was introduced in ticket 17218, where we tried to
  1426. remember the circuit end reason as a uint16_t, which mangled
  1427. negative values. Partially fixes bug 21056 and fixes bug 20307;
  1428. bugfix on 0.2.8.1-alpha.
  1429. o Major bugfixes (DNS):
  1430. - Fix a bug that prevented exit nodes from caching DNS records for
  1431. more than 60 seconds. Fixes bug 19025; bugfix on 0.2.4.7-alpha.
  1432. o Minor features (controller):
  1433. - Add "GETINFO sr/current" and "GETINFO sr/previous" keys, to expose
  1434. shared-random values to the controller. Closes ticket 19925.
  1435. o Minor features (entry guards):
  1436. - Add UseEntryGuards to TEST_OPTIONS_DEFAULT_VALUES in order to not
  1437. break regression tests.
  1438. - Require UseEntryGuards when UseBridges is set, in order to make
  1439. sure bridges aren't bypassed. Resolves ticket 20502.
  1440. o Minor features (fallback directories):
  1441. - Select 200 fallback directories for each release. Closes
  1442. ticket 20881.
  1443. - Allow 3 fallback relays per operator, which is safe now that we
  1444. are choosing 200 fallback relays. Closes ticket 20912.
  1445. - Exclude relays affected by bug 20499 from the fallback list.
  1446. Exclude relays from the fallback list if they are running versions
  1447. known to be affected by bug 20499, or if in our tests they deliver
  1448. a stale consensus (i.e. one that expired more than 24 hours ago).
  1449. Closes ticket 20539.
  1450. - Reduce the minimum fallback bandwidth to 1 MByte/s. Part of
  1451. ticket 18828.
  1452. - Require fallback directories to have the same address and port for
  1453. 7 days (now that we have enough relays with this stability).
  1454. Relays whose OnionOO stability timer is reset on restart by bug
  1455. 18050 should upgrade to Tor 0.2.8.7 or later, which has a fix for
  1456. this issue. Closes ticket 20880; maintains short-term fix
  1457. in 0.2.8.2-alpha.
  1458. - Require fallbacks to have flags for 90% of the time (weighted
  1459. decaying average), rather than 95%. This allows at least 73% of
  1460. clients to bootstrap in the first 5 seconds without contacting an
  1461. authority. Part of ticket 18828.
  1462. - Annotate updateFallbackDirs.py with the bandwidth and consensus
  1463. weight for each candidate fallback. Closes ticket 20878.
  1464. - Make it easier to change the output sort order of fallbacks.
  1465. Closes ticket 20822.
  1466. - Display the relay fingerprint when downloading consensuses from
  1467. fallbacks. Closes ticket 20908.
  1468. o Minor features (geoip, also in 0.2.9.9):
  1469. - Update geoip and geoip6 to the January 4 2017 Maxmind GeoLite2
  1470. Country database.
  1471. o Minor features (next-gen onion service directories):
  1472. - Remove the "EnableOnionServicesV3" consensus parameter that we
  1473. introduced in 0.3.0.1-alpha: relays are now always willing to act
  1474. as v3 onion service directories. Resolves ticket 19899.
  1475. o Minor features (linting):
  1476. - Enhance the changes file linter to warn on Tor versions that are
  1477. prefixed with "tor-". Closes ticket 21096.
  1478. o Minor features (logging):
  1479. - In several places, describe unset ed25519 keys as "<unset>",
  1480. rather than the scary "AAAAAAAA...AAA". Closes ticket 21037.
  1481. o Minor bugfix (control protocol):
  1482. - The reply to a "GETINFO config/names" request via the control
  1483. protocol now spells the type "Dependent" correctly. This is a
  1484. breaking change in the control protocol. (The field seems to be
  1485. ignored by the most common known controllers.) Fixes bug 18146;
  1486. bugfix on 0.1.1.4-alpha.
  1487. o Minor bugfixes (bug resilience):
  1488. - Fix an unreachable size_t overflow in base64_decode(). Fixes bug
  1489. 19222; bugfix on 0.2.0.9-alpha. Found by Guido Vranken; fixed by
  1490. Hans Jerry Illikainen.
  1491. o Minor bugfixes (build):
  1492. - Replace obsolete Autoconf macros with their modern equivalent and
  1493. prevent similar issues in the future. Fixes bug 20990; bugfix
  1494. on 0.1.0.1-rc.
  1495. o Minor bugfixes (client, guards):
  1496. - Fix bug where Tor would think that there are circuits waiting for
  1497. better guards even though those circuits have been freed. Fixes
  1498. bug 21142; bugfix on 0.3.0.1-alpha.
  1499. o Minor bugfixes (config):
  1500. - Don't assert on startup when trying to get the options list and
  1501. LearnCircuitBuildTimeout is set to 0: we are currently parsing the
  1502. options so of course they aren't ready yet. Fixes bug 21062;
  1503. bugfix on 0.2.9.3-alpha.
  1504. o Minor bugfixes (controller):
  1505. - Make the GETINFO interface for inquiring about entry guards
  1506. support the new guards backend. Fixes bug 20823; bugfix
  1507. on 0.3.0.1-alpha.
  1508. o Minor bugfixes (dead code):
  1509. - Remove a redundant check for PidFile changes at runtime in
  1510. options_transition_allowed(): this check is already performed
  1511. regardless of whether the sandbox is active. Fixes bug 21123;
  1512. bugfix on 0.2.5.4-alpha.
  1513. o Minor bugfixes (documentation):
  1514. - Update the tor manual page to document every option that can not
  1515. be changed while tor is running. Fixes bug 21122.
  1516. o Minor bugfixes (fallback directories):
  1517. - Stop failing when a relay has no uptime data in
  1518. updateFallbackDirs.py. Fixes bug 20945; bugfix on 0.2.8.1-alpha.
  1519. - Avoid checking fallback candidates' DirPorts if they are down in
  1520. OnionOO. When a relay operator has multiple relays, this
  1521. prioritizes relays that are up over relays that are down. Fixes
  1522. bug 20926; bugfix on 0.2.8.3-alpha.
  1523. - Stop failing when OUTPUT_COMMENTS is True in updateFallbackDirs.py.
  1524. Fixes bug 20877; bugfix on 0.2.8.3-alpha.
  1525. o Minor bugfixes (guards, bootstrapping):
  1526. - When connecting to a directory guard during bootstrap, do not mark
  1527. the guard as successful until we receive a good-looking directory
  1528. response from it. Fixes bug 20974; bugfix on 0.3.0.1-alpha.
  1529. o Minor bugfixes (onion services):
  1530. - Fix the config reload pruning of old vs new services so it
  1531. actually works when both ephemeral and non-ephemeral services are
  1532. configured. Fixes bug 21054; bugfix on 0.3.0.1-alpha.
  1533. - Allow the number of introduction points to be as low as 0, rather
  1534. than as low as 3. Fixes bug 21033; bugfix on 0.2.7.2-alpha.
  1535. o Minor bugfixes (IPv6):
  1536. - Make IPv6-using clients try harder to find an IPv6 directory
  1537. server. Fixes bug 20999; bugfix on 0.2.8.2-alpha.
  1538. - When IPv6 addresses have not been downloaded yet (microdesc
  1539. consensus documents don't list relay IPv6 addresses), use hard-
  1540. coded addresses for authorities, fallbacks, and configured
  1541. bridges. Now IPv6-only clients can use microdescriptors. Fixes bug
  1542. 20996; bugfix on b167e82 from 19608 in 0.2.8.5-alpha.
  1543. o Minor bugfixes (memory leaks):
  1544. - Fix a memory leak when configuring hidden services. Fixes bug
  1545. 20987; bugfix on 0.3.0.1-alpha.
  1546. o Minor bugfixes (portability, also in 0.2.9.9):
  1547. - Avoid crashing when Tor is built using headers that contain
  1548. CLOCK_MONOTONIC_COARSE, but then tries to run on an older kernel
  1549. without CLOCK_MONOTONIC_COARSE. Fixes bug 21035; bugfix
  1550. on 0.2.9.1-alpha.
  1551. - Fix Libevent detection on platforms without Libevent 1 headers
  1552. installed. Fixes bug 21051; bugfix on 0.2.9.1-alpha.
  1553. o Minor bugfixes (relay):
  1554. - Honor DataDirectoryGroupReadable when tor is a relay. Previously,
  1555. initializing the keys would reset the DataDirectory to 0700
  1556. instead of 0750 even if DataDirectoryGroupReadable was set to 1.
  1557. Fixes bug 19953; bugfix on 0.0.2pre16. Patch by "redfish".
  1558. o Minor bugfixes (testing):
  1559. - Remove undefined behavior from the backtrace generator by removing
  1560. its signal handler. Fixes bug 21026; bugfix on 0.2.5.2-alpha.
  1561. o Minor bugfixes (unit tests):
  1562. - Allow the unit tests to pass even when DNS lookups of bogus
  1563. addresses do not fail as expected. Fixes bug 20862 and 20863;
  1564. bugfix on unit tests introduced in 0.2.8.1-alpha
  1565. through 0.2.9.4-alpha.
  1566. o Code simplification and refactoring:
  1567. - Refactor code to manipulate global_origin_circuit_list into
  1568. separate functions. Closes ticket 20921.
  1569. o Documentation (formatting):
  1570. - Clean up formatting of tor.1 man page and HTML doc, where <pre>
  1571. blocks were incorrectly appearing. Closes ticket 20885.
  1572. o Documentation (man page):
  1573. - Clarify many options in tor.1 and add some min/max values for
  1574. HiddenService options. Closes ticket 21058.
  1575. Changes in version 0.2.9.9 - 2017-01-23
  1576. Tor 0.2.9.9 fixes a denial-of-service bug where an attacker could
  1577. cause relays and clients to crash, even if they were not built with
  1578. the --enable-expensive-hardening option. This bug affects all 0.2.9.x
  1579. versions, and also affects 0.3.0.1-alpha: all relays running an affected
  1580. version should upgrade.
  1581. This release also resolves a client-side onion service reachability
  1582. bug, and resolves a pair of small portability issues.
  1583. o Major bugfixes (security):
  1584. - Downgrade the "-ftrapv" option from "always on" to "only on when
  1585. --enable-expensive-hardening is provided." This hardening option,
  1586. like others, can turn survivable bugs into crashes -- and having
  1587. it on by default made a (relatively harmless) integer overflow bug
  1588. into a denial-of-service bug. Fixes bug 21278 (TROVE-2017-001);
  1589. bugfix on 0.2.9.1-alpha.
  1590. o Major bugfixes (client, onion service):
  1591. - Fix a client-side onion service reachability bug, where multiple
  1592. socks requests to an onion service (or a single slow request)
  1593. could cause us to mistakenly mark some of the service's
  1594. introduction points as failed, and we cache that failure so
  1595. eventually we run out and can't reach the service. Also resolves a
  1596. mysterious "Remote server sent bogus reason code 65021" log
  1597. warning. The bug was introduced in ticket 17218, where we tried to
  1598. remember the circuit end reason as a uint16_t, which mangled
  1599. negative values. Partially fixes bug 21056 and fixes bug 20307;
  1600. bugfix on 0.2.8.1-alpha.
  1601. o Minor features (geoip):
  1602. - Update geoip and geoip6 to the January 4 2017 Maxmind GeoLite2
  1603. Country database.
  1604. o Minor bugfixes (portability):
  1605. - Avoid crashing when Tor is built using headers that contain
  1606. CLOCK_MONOTONIC_COARSE, but then tries to run on an older kernel
  1607. without CLOCK_MONOTONIC_COARSE. Fixes bug 21035; bugfix
  1608. on 0.2.9.1-alpha.
  1609. - Fix Libevent detection on platforms without Libevent 1 headers
  1610. installed. Fixes bug 21051; bugfix on 0.2.9.1-alpha.
  1611. Changes in version 0.3.0.1-alpha - 2016-12-19
  1612. Tor 0.3.0.1-alpha is the first alpha release in the 0.3.0 development
  1613. series. It strengthens Tor's link and circuit handshakes by
  1614. identifying relays by their Ed25519 keys, improves the algorithm that
  1615. clients use to choose and maintain their list of guards, and includes
  1616. additional backend support for the next-generation hidden service
  1617. design. It also contains numerous other small features and
  1618. improvements to security, correctness, and performance.
  1619. Below are the changes since 0.2.9.8.
  1620. o Major features (guard selection algorithm):
  1621. - Tor's guard selection algorithm has been redesigned from the
  1622. ground up, to better support unreliable networks and restrictive
  1623. sets of entry nodes, and to better resist guard-capture attacks by
  1624. hostile local networks. Implements proposal 271; closes
  1625. ticket 19877.
  1626. o Major features (next-generation hidden services):
  1627. - Relays can now handle v3 ESTABLISH_INTRO cells as specified by
  1628. prop224 aka "Next Generation Hidden Services". Service and clients
  1629. don't use this functionality yet. Closes ticket 19043. Based on
  1630. initial code by Alec Heifetz.
  1631. - Relays now support the HSDir version 3 protocol, so that they can
  1632. can store and serve v3 descriptors. This is part of the next-
  1633. generation onion service work detailled in proposal 224. Closes
  1634. ticket 17238.
  1635. o Major features (protocol, ed25519 identity keys):
  1636. - Relays now use Ed25519 to prove their Ed25519 identities and to
  1637. one another, and to clients. This algorithm is faster and more
  1638. secure than the RSA-based handshake we've been doing until now.
  1639. Implements the second big part of proposal 220; Closes
  1640. ticket 15055.
  1641. - Clients now support including Ed25519 identity keys in the EXTEND2
  1642. cells they generate. By default, this is controlled by a consensus
  1643. parameter, currently disabled. You can turn this feature on for
  1644. testing by setting ExtendByEd25519ID in your configuration. This
  1645. might make your traffic appear different than the traffic
  1646. generated by other users, however. Implements part of ticket
  1647. 15056; part of proposal 220.
  1648. - Relays now understand requests to extend to other relays by their
  1649. Ed25519 identity keys. When an Ed25519 identity key is included in
  1650. an EXTEND2 cell, the relay will only extend the circuit if the
  1651. other relay can prove ownership of that identity. Implements part
  1652. of ticket 15056; part of proposal 220.
  1653. o Major bugfixes (scheduler):
  1654. - Actually compare circuit policies in ewma_cmp_cmux(). This bug
  1655. caused the channel scheduler to behave more or less randomly,
  1656. rather than preferring channels with higher-priority circuits.
  1657. Fixes bug 20459; bugfix on 0.2.6.2-alpha.
  1658. o Minor features (controller):
  1659. - When HSFETCH arguments cannot be parsed, say "Invalid argument"
  1660. rather than "unrecognized." Closes ticket 20389; patch from
  1661. Ivan Markin.
  1662. o Minor features (diagnostic, directory client):
  1663. - Warn when we find an unexpected inconsistency in directory
  1664. download status objects. Prevents some negative consequences of
  1665. bug 20593.
  1666. o Minor features (directory authority):
  1667. - Add a new authority-only AuthDirTestEd25519LinkKeys option (on by
  1668. default) to control whether authorities should try to probe relays
  1669. by their Ed25519 link keys. This option will go away in a few
  1670. releases--unless we encounter major trouble in our ed25519 link
  1671. protocol rollout, in which case it will serve as a safety option.
  1672. o Minor features (directory cache):
  1673. - Relays and bridges will now refuse to serve the consensus they
  1674. have if they know it is too old for a client to use. Closes
  1675. ticket 20511.
  1676. o Minor features (ed25519 link handshake):
  1677. - Advertise support for the ed25519 link handshake using the
  1678. subprotocol-versions mechanism, so that clients can tell which
  1679. relays can identity themselves by Ed25519 ID. Closes ticket 20552.
  1680. o Minor features (fingerprinting resistence, authentication):
  1681. - Extend the length of RSA keys used for TLS link authentication to
  1682. 2048 bits. (These weren't used for forward secrecy; for forward
  1683. secrecy, we used P256.) Closes ticket 13752.
  1684. o Minor features (infrastructure):
  1685. - Implement smartlist_add_strdup() function. Replaces the use of
  1686. smartlist_add(sl, tor_strdup(str)). Closes ticket 20048.
  1687. o Minor bugfixes (client):
  1688. - When clients that use bridges start up with a cached consensus on
  1689. disk, they were ignoring it and downloading a new one. Now they
  1690. use the cached one. Fixes bug 20269; bugfix on 0.2.3.12-alpha.
  1691. o Minor bugfixes (configuration):
  1692. - Accept non-space whitespace characters after the severity level in
  1693. the `Log` option. Fixes bug 19965; bugfix on 0.2.1.1-alpha.
  1694. - Support "TByte" and "TBytes" units in options given in bytes.
  1695. "TB", "terabyte(s)", "TBit(s)" and "terabit(s)" were already
  1696. supported. Fixes bug 20622; bugfix on 0.2.0.14-alpha.
  1697. o Minor bugfixes (consensus weight):
  1698. - Add new consensus method that initializes bw weights to 1 instead
  1699. of 0. This prevents a zero weight from making it all the way to
  1700. the end (happens in small testing networks) and causing an error.
  1701. Fixes bug 14881; bugfix on 0.2.2.17-alpha.
  1702. o Minor bugfixes (descriptors):
  1703. - Correctly recognise downloaded full descriptors as valid, even
  1704. when using microdescriptors as circuits. This affects clients with
  1705. FetchUselessDescriptors set, and may affect directory authorities.
  1706. Fixes bug 20839; bugfix on 0.2.3.2-alpha.
  1707. o Minor bugfixes (directory system):
  1708. - Download all consensus flavors, descriptors, and authority
  1709. certificates when FetchUselessDescriptors is set, regardless of
  1710. whether tor is a directory cache or not. Fixes bug 20667; bugfix
  1711. on all recent tor versions.
  1712. - Bridges and relays now use microdescriptors (like clients do)
  1713. rather than old-style router descriptors. Now bridges will blend
  1714. in with clients in terms of the circuits they build. Fixes bug
  1715. 6769; bugfix on 0.2.3.2-alpha.
  1716. o Minor bugfixes (ed25519 certificates):
  1717. - Correctly interpret ed25519 certificates that would expire some
  1718. time after 19 Jan 2038. Fixes bug 20027; bugfix on 0.2.7.2-alpha.
  1719. o Minor bugfixes (hidden services):
  1720. - Stop ignoring misconfigured hidden services. Instead, refuse to
  1721. start tor until the misconfigurations have been corrected. Fixes
  1722. bug 20559; bugfix on multiple commits in 0.2.7.1-alpha
  1723. and earlier.
  1724. o Minor bugfixes (memory leak at exit):
  1725. - Fix a small harmless memory leak at exit of the previously unused
  1726. RSA->Ed identity cross-certificate. Fixes bug 17779; bugfix
  1727. on 0.2.7.2-alpha.
  1728. o Minor bugfixes (util):
  1729. - When finishing writing a file to disk, if we were about to replace
  1730. the file with the temporary file created before and we fail to
  1731. replace it, remove the temporary file so it doesn't stay on disk.
  1732. Fixes bug 20646; bugfix on tor-0.2.0.7-alpha. Patch by fk.
  1733. o Minor bugfixes (Windows):
  1734. - Check for getpagesize before using it to mmap files. This fixes
  1735. compilation in some MinGW environments. Fixes bug 20530; bugfix on
  1736. 0.1.2.1-alpha. Reported by "ice".
  1737. o Code simplification and refactoring:
  1738. - Abolish all global guard context in entrynodes.c; replace with new
  1739. guard_selection_t structure as preparation for proposal 271.
  1740. Closes ticket 19858.
  1741. - Introduce rend_service_is_ephemeral() that tells if given onion
  1742. service is ephemeral. Replace unclear NULL-checkings for service
  1743. directory with this function. Closes ticket 20526.
  1744. - Extract magic numbers in circuituse.c into defined variables.
  1745. - Refactor circuit_is_available_for_use to remove unnecessary check.
  1746. - Refactor circuit_predict_and_launch_new for readability and
  1747. testability. Closes ticket 18873.
  1748. - Refactor large if statement in purpose_needs_anonymity to use
  1749. switch statement instead. Closes part of ticket 20077.
  1750. - Refactor the hashing API to return negative values for errors, as
  1751. is done as throughout the codebase. Closes ticket 20717.
  1752. - Remove data structures that were used to index or_connection
  1753. objects by their RSA identity digests. These structures are fully
  1754. redundant with the similar structures used in the
  1755. channel abstraction.
  1756. - Remove duplicate code in the channel_write_*cell() functions.
  1757. Closes ticket 13827; patch from Pingl.
  1758. - Remove redundant behavior of is_sensitive_dir_purpose, refactor to
  1759. use only purpose_needs_anonymity. Closes part of ticket 20077.
  1760. - The code to generate and parse EXTEND and EXTEND2 cells has been
  1761. replaced with code automatically generated by the
  1762. "trunnel" utility.
  1763. o Documentation:
  1764. - Include the "TBits" unit in Tor's man page. Fixes part of bug
  1765. 20622; bugfix on tor-0.2.5.1-alpha.
  1766. - Change '1' to 'weight_scale' in consensus bw weights calculation
  1767. comments, as that is reality. Closes ticket 20273. Patch
  1768. from pastly.
  1769. - Correct the value for AuthDirGuardBWGuarantee in the manpage, from
  1770. 250 KBytes to 2 MBytes. Fixes bug 20435; bugfix
  1771. on tor-0.2.5.6-alpha.
  1772. - Stop the man page from incorrectly stating that HiddenServiceDir
  1773. must already exist. Fixes 20486.
  1774. - Clarify that when ClientRejectInternalAddresses is enabled (which
  1775. is the default), multicast DNS hostnames for machines on the local
  1776. network (of the form *.local) are also rejected. Closes
  1777. ticket 17070.
  1778. o Removed features:
  1779. - The AuthDirMaxServersPerAuthAddr option no longer exists: The same
  1780. limit for relays running on a single IP applies to authority IP
  1781. addresses as well as to non-authority IP addresses. Closes
  1782. ticket 20960.
  1783. - The UseDirectoryGuards torrc option no longer exists: all users
  1784. that use entry guards will also use directory guards. Related to
  1785. proposal 271; implements part of ticket 20831.
  1786. o Testing:
  1787. - New unit tests for tor_htonll(). Closes ticket 19563. Patch
  1788. from "overcaffeinated".
  1789. - Perform the coding style checks when running the tests and fail
  1790. when coding style violations are found. Closes ticket 5500.
  1791. - Add tests for networkstatus_compute_bw_weights_v10.
  1792. - Add unit tests circuit_predict_and_launch_new.
  1793. - Extract dummy_origin_circuit_new so it can be used by other
  1794. test functions.
  1795. Changes in version 0.2.8.12 - 2016-12-19
  1796. Tor 0.2.8.12 backports a fix for a medium-severity issue (bug 21018
  1797. below) where Tor clients could crash when attempting to visit a
  1798. hostile hidden service. Clients are recommended to upgrade as packages
  1799. become available for their systems.
  1800. It also includes an updated list of fallback directories, backported
  1801. from 0.2.9.
  1802. Now that the Tor 0.2.9 series is stable, only major bugfixes will be
  1803. backported to 0.2.8 in the future.
  1804. o Major bugfixes (parsing, security, backported from 0.2.9.8):
  1805. - Fix a bug in parsing that could cause clients to read a single
  1806. byte past the end of an allocated region. This bug could be used
  1807. to cause hardened clients (built with --enable-expensive-hardening)
  1808. to crash if they tried to visit a hostile hidden service. Non-
  1809. hardened clients are only affected depending on the details of
  1810. their platform's memory allocator. Fixes bug 21018; bugfix on
  1811. 0.2.0.8-alpha. Found by using libFuzzer. Also tracked as TROVE-
  1812. 2016-12-002 and as CVE-2016-1254.
  1813. o Minor features (fallback directory list, backported from 0.2.9.8):
  1814. - Replace the 81 remaining fallbacks of the 100 originally
  1815. introduced in Tor 0.2.8.3-alpha in March 2016, with a list of 177
  1816. fallbacks (123 new, 54 existing, 27 removed) generated in December
  1817. 2016. Resolves ticket 20170.
  1818. o Minor features (geoip, backported from 0.2.9.7-rc):
  1819. - Update geoip and geoip6 to the December 7 2016 Maxmind GeoLite2
  1820. Country database.
  1821. Changes in version 0.2.9.8 - 2016-12-19
  1822. Tor 0.2.9.8 is the first stable release of the Tor 0.2.9 series.
  1823. The Tor 0.2.9 series makes mandatory a number of security features
  1824. that were formerly optional. It includes support for a new shared-
  1825. randomness protocol that will form the basis for next generation
  1826. hidden services, includes a single-hop hidden service mode for
  1827. optimizing .onion services that don't actually want to be hidden,
  1828. tries harder not to overload the directory authorities with excessive
  1829. downloads, and supports a better protocol versioning scheme for
  1830. improved compatibility with other implementations of the Tor protocol.
  1831. And of course, there are numerous other bugfixes and improvements.
  1832. This release also includes a fix for a medium-severity issue (bug
  1833. 21018 below) where Tor clients could crash when attempting to visit a
  1834. hostile hidden service. Clients are recommended to upgrade as packages
  1835. become available for their systems.
  1836. Below are the changes since 0.2.9.7-rc. For a list of all changes
  1837. since 0.2.8, see the ReleaseNotes file.
  1838. o Major bugfixes (parsing, security):
  1839. - Fix a bug in parsing that could cause clients to read a single
  1840. byte past the end of an allocated region. This bug could be used
  1841. to cause hardened clients (built with --enable-expensive-hardening)
  1842. to crash if they tried to visit a hostile hidden service. Non-
  1843. hardened clients are only affected depending on the details of
  1844. their platform's memory allocator. Fixes bug 21018; bugfix on
  1845. 0.2.0.8-alpha. Found by using libFuzzer. Also tracked as TROVE-
  1846. 2016-12-002 and as CVE-2016-1254.
  1847. o Minor features (fallback directory list):
  1848. - Replace the 81 remaining fallbacks of the 100 originally
  1849. introduced in Tor 0.2.8.3-alpha in March 2016, with a list of 177
  1850. fallbacks (123 new, 54 existing, 27 removed) generated in December
  1851. 2016. Resolves ticket 20170.
  1852. Changes in version 0.2.9.7-rc - 2016-12-12
  1853. Tor 0.2.9.7-rc fixes a few small bugs remaining in Tor 0.2.9.6-rc,
  1854. including a few that had prevented tests from passing on
  1855. some platforms.
  1856. o Minor features (geoip):
  1857. - Update geoip and geoip6 to the December 7 2016 Maxmind GeoLite2
  1858. Country database.
  1859. o Minor bugfix (build):
  1860. - The current Git revision when building from a local repository is
  1861. now detected correctly when using git worktrees. Fixes bug 20492;
  1862. bugfix on 0.2.3.9-alpha.
  1863. o Minor bugfixes (directory authority):
  1864. - When computing old Tor protocol line version in protover, we were
  1865. looking at 0.2.7.5 twice instead of a specific case for
  1866. 0.2.9.1-alpha. Fixes bug 20810; bugfix on 0.2.9.4-alpha.
  1867. o Minor bugfixes (download scheduling):
  1868. - Resolve a "bug" warning when considering a download schedule whose
  1869. delay had approached INT_MAX. Fixes 20875; bugfix on 0.2.9.5-alpha.
  1870. o Minor bugfixes (logging):
  1871. - Downgrade a harmless log message about the
  1872. pending_entry_connections list from "warn" to "info". Mitigates
  1873. bug 19926.
  1874. o Minor bugfixes (memory leak):
  1875. - Fix a small memory leak when receiving AF_UNIX connections on a
  1876. SocksPort. Fixes bug 20716; bugfix on 0.2.6.3-alpha.
  1877. - When moving a signed descriptor object from a source to an
  1878. existing destination, free the allocated memory inside that
  1879. destination object. Fixes bug 20715; bugfix on 0.2.8.3-alpha.
  1880. o Minor bugfixes (memory leak, use-after-free, linux seccomp2 sandbox):
  1881. - Fix a memory leak and use-after-free error when removing entries
  1882. from the sandbox's getaddrinfo() cache. Fixes bug 20710; bugfix on
  1883. 0.2.5.5-alpha. Patch from "cypherpunks".
  1884. o Minor bugfixes (portability):
  1885. - Use the correct spelling of MAC_OS_X_VERSION_10_12 on configure.ac
  1886. Fixes bug 20935; bugfix on 0.2.9.6-rc.
  1887. o Minor bugfixes (unit tests):
  1888. - Stop expecting NetBSD unit tests to report success for ipfw. Part
  1889. of a fix for bug 19960; bugfix on 0.2.9.5-alpha.
  1890. - Fix tolerances in unit tests for monotonic time comparisons
  1891. between nanoseconds and microseconds. Previously, we accepted a 10
  1892. us difference only, which is not realistic on every platform's
  1893. clock_gettime(). Fixes bug 19974; bugfix on 0.2.9.1-alpha.
  1894. - Remove a double-free in the single onion service unit test. Stop
  1895. ignoring a return value. Make future changes less error-prone.
  1896. Fixes bug 20864; bugfix on 0.2.9.6-rc.
  1897. Changes in version 0.2.8.11 - 2016-12-08
  1898. Tor 0.2.8.11 backports fixes for additional portability issues that
  1899. could prevent Tor from building correctly on OSX Sierra, or with
  1900. OpenSSL 1.1. Affected users should upgrade; others can safely stay
  1901. with 0.2.8.10.
  1902. o Minor bugfixes (portability):
  1903. - Avoid compilation errors when building on OSX Sierra. Sierra began
  1904. to support the getentropy() and clock_gettime() APIs, but created
  1905. a few problems in doing so. Tor 0.2.9 has a more thorough set of
  1906. workarounds; in 0.2.8, we are just using the /dev/urandom and mach
  1907. monotonic time interfaces. Fixes bug 20865. Bugfix
  1908. on 0.2.8.1-alpha.
  1909. o Minor bugfixes (portability, backport from 0.2.9.5-alpha):
  1910. - Fix compilation with OpenSSL 1.1 and less commonly-used CPU
  1911. architectures. Closes ticket 20588.
  1912. Changes in version 0.2.8.10 - 2016-12-02
  1913. Tor 0.2.8.10 backports a fix for a bug that would sometimes make clients
  1914. unusable after they left standby mode. It also backports fixes for
  1915. a few portability issues and a small but problematic memory leak.
  1916. o Major bugfixes (client reliability, backport from 0.2.9.5-alpha):
  1917. - When Tor leaves standby because of a new application request, open
  1918. circuits as needed to serve that request. Previously, we would
  1919. potentially wait a very long time. Fixes part of bug 19969; bugfix
  1920. on 0.2.8.1-alpha.
  1921. o Major bugfixes (client performance, backport from 0.2.9.5-alpha):
  1922. - Clients now respond to new application stream requests immediately
  1923. when they arrive, rather than waiting up to one second before
  1924. starting to handle them. Fixes part of bug 19969; bugfix
  1925. on 0.2.8.1-alpha.
  1926. o Minor bugfixes (portability, backport from 0.2.9.6-rc):
  1927. - Work around a bug in the OSX 10.12 SDK that would prevent us from
  1928. successfully targeting earlier versions of OSX. Resolves
  1929. ticket 20235.
  1930. o Minor bugfixes (portability, backport from 0.2.9.5-alpha):
  1931. - Fix implicit conversion warnings under OpenSSL 1.1. Fixes bug
  1932. 20551; bugfix on 0.2.1.1-alpha.
  1933. o Minor bugfixes (relay, backport from 0.2.9.5-alpha):
  1934. - Work around a memory leak in OpenSSL 1.1 when encoding public
  1935. keys. Fixes bug 20553; bugfix on 0.0.2pre8.
  1936. o Minor features (geoip):
  1937. - Update geoip and geoip6 to the November 3 2016 Maxmind GeoLite2
  1938. Country database.
  1939. Changes in version 0.2.9.6-rc - 2016-12-02
  1940. Tor 0.2.9.6-rc fixes a few remaining bugs found in the previous alpha
  1941. version. We hope that it will be ready to become stable soon, and we
  1942. encourage everyone to test this release. If no showstopper bugs are
  1943. found here, the next 0.2.9 release will be stable.
  1944. o Major bugfixes (relay, resolver, logging):
  1945. - For relays that don't know their own address, avoid attempting a
  1946. local hostname resolve for each descriptor we download. This
  1947. will cut down on the number of "Success: chose address 'x.x.x.x'"
  1948. log lines, and also avoid confusing clock jumps if the resolver
  1949. is slow. Fixes bugs 20423 and 20610; bugfix on 0.2.8.1-alpha.
  1950. o Minor bugfixes (client, fascistfirewall):
  1951. - Avoid spurious warnings when ReachableAddresses or FascistFirewall
  1952. is set. Fixes bug 20306; bugfix on 0.2.8.2-alpha.
  1953. o Minor bugfixes (hidden services):
  1954. - Stop ignoring the anonymity status of saved keys for hidden
  1955. services and single onion services when first starting tor.
  1956. Instead, refuse to start tor if any hidden service key has been
  1957. used in a different hidden service anonymity mode. Fixes bug
  1958. 20638; bugfix on 17178 in 0.2.9.3-alpha; reported by ahf.
  1959. o Minor bugfixes (portability):
  1960. - Work around a bug in the OSX 10.12 SDK that would prevent us from
  1961. successfully targeting earlier versions of OSX. Resolves
  1962. ticket 20235.
  1963. - Run correctly when built on Windows build environments that
  1964. require _vcsprintf(). Fixes bug 20560; bugfix on 0.2.2.11-alpha.
  1965. o Minor bugfixes (single onion services, Tor2web):
  1966. - Stop complaining about long-term one-hop circuits deliberately
  1967. created by single onion services and Tor2web. These log messages
  1968. are intended to diagnose issue 8387, which relates to circuits
  1969. hanging around forever for no reason. Fixes bug 20613; bugfix on
  1970. 0.2.9.1-alpha. Reported by "pastly".
  1971. o Minor bugfixes (unit tests):
  1972. - Stop spurious failures in the local interface address discovery
  1973. unit tests. Fixes bug 20634; bugfix on 0.2.8.1-alpha; patch by
  1974. Neel Chauhan.
  1975. o Documentation:
  1976. - Correct the minimum bandwidth value in torrc.sample, and queue a
  1977. corresponding change for torrc.minimal. Closes ticket 20085.
  1978. Changes in version 0.2.9.5-alpha - 2016-11-08
  1979. Tor 0.2.9.5-alpha fixes numerous bugs discovered in the previous alpha
  1980. version. We believe one or two probably remain, and we encourage
  1981. everyone to test this release.
  1982. o Major bugfixes (client performance):
  1983. - Clients now respond to new application stream requests immediately
  1984. when they arrive, rather than waiting up to one second before
  1985. starting to handle them. Fixes part of bug 19969; bugfix
  1986. on 0.2.8.1-alpha.
  1987. o Major bugfixes (client reliability):
  1988. - When Tor leaves standby because of a new application request, open
  1989. circuits as needed to serve that request. Previously, we would
  1990. potentially wait a very long time. Fixes part of bug 19969; bugfix
  1991. on 0.2.8.1-alpha.
  1992. o Major bugfixes (download scheduling):
  1993. - When using an exponential backoff schedule, do not give up on
  1994. downloading just because we have failed a bunch of times. Since
  1995. each delay is longer than the last, retrying indefinitely won't
  1996. hurt. Fixes bug 20536; bugfix on 0.2.9.1-alpha.
  1997. - If a consensus expires while we are waiting for certificates to
  1998. download, stop waiting for certificates.
  1999. - If we stop waiting for certificates less than a minute after we
  2000. started downloading them, do not consider the certificate download
  2001. failure a separate failure. Fixes bug 20533; bugfix
  2002. on 0.2.0.9-alpha.
  2003. - Remove the maximum delay on exponential-backoff scheduling. Since
  2004. we now allow an infinite number of failures (see ticket 20536), we
  2005. must now allow the time to grow longer on each failure. Fixes part
  2006. of bug 20534; bugfix on 0.2.9.1-alpha.
  2007. - Make our initial download delays closer to those from 0.2.8. Fixes
  2008. another part of bug 20534; bugfix on 0.2.9.1-alpha.
  2009. - When determining when to download a directory object, handle times
  2010. after 2038 if the operating system supports them. (Someday this
  2011. will be important!) Fixes bug 20587; bugfix on 0.2.8.1-alpha.
  2012. - When using exponential backoff in test networks, use a lower
  2013. exponent, so the delays do not vary as much. This helps test
  2014. networks bootstrap consistently. Fixes bug 20597; bugfix on 20499.
  2015. o Minor features (geoip):
  2016. - Update geoip and geoip6 to the November 3 2016 Maxmind GeoLite2
  2017. Country database.
  2018. o Minor bugfixes (client directory scheduling):
  2019. - Treat "relay too busy to answer request" as a failed request and a
  2020. reason to back off on our retry frequency. This is safe now that
  2021. exponential backoffs retry indefinitely, and avoids a bug where we
  2022. would reset our download schedule erroneously. Fixes bug 20593;
  2023. bugfix on 0.2.9.1-alpha.
  2024. o Minor bugfixes (client, logging):
  2025. - Remove a BUG warning in circuit_pick_extend_handshake(). Instead,
  2026. assume all nodes support EXTEND2. Use ntor whenever a key is
  2027. available. Fixes bug 20472; bugfix on 0.2.9.3-alpha.
  2028. - On DNSPort, stop logging a BUG warning on a failed hostname
  2029. lookup. Fixes bug 19869; bugfix on 0.2.9.1-alpha.
  2030. o Minor bugfixes (hidden services):
  2031. - When configuring hidden services, check every hidden service
  2032. directory's permissions. Previously, we only checked the last
  2033. hidden service. Fixes bug 20529; bugfix the work to fix 13942
  2034. in 0.2.6.2-alpha.
  2035. o Minor bugfixes (portability):
  2036. - Fix compilation with OpenSSL 1.1 and less commonly-used CPU
  2037. architectures. Closes ticket 20588.
  2038. - Use ECDHE ciphers instead of ECDH in tortls tests. LibreSSL has
  2039. removed the ECDH ciphers which caused the tests to fail on
  2040. platforms which use it. Fixes bug 20460; bugfix on 0.2.8.1-alpha.
  2041. - Fix implicit conversion warnings under OpenSSL 1.1. Fixes bug
  2042. 20551; bugfix on 0.2.1.1-alpha.
  2043. o Minor bugfixes (relay bootstrap):
  2044. - Ensure relays don't make multiple connections during bootstrap.
  2045. Fixes bug 20591; bugfix on 0.2.8.1-alpha.
  2046. o Minor bugfixes (relay):
  2047. - Work around a memory leak in OpenSSL 1.1 when encoding public
  2048. keys. Fixes bug 20553; bugfix on 0.0.2pre8.
  2049. - Avoid a small memory leak when informing worker threads about
  2050. rotated onion keys. Fixes bug 20401; bugfix on 0.2.6.3-alpha.
  2051. - Do not try to parallelize workers more than 16x without the user
  2052. explicitly configuring us to do so, even if we do detect more than
  2053. 16 CPU cores. Fixes bug 19968; bugfix on 0.2.3.1-alpha.
  2054. o Minor bugfixes (single onion services):
  2055. - Start correctly when creating a single onion service in a
  2056. directory that did not previously exist. Fixes bug 20484; bugfix
  2057. on 0.2.9.3-alpha.
  2058. o Minor bugfixes (testing):
  2059. - Avoid a unit test failure on systems with over 16 detectable CPU
  2060. cores. Fixes bug 19968; bugfix on 0.2.3.1-alpha.
  2061. o Documentation:
  2062. - Clarify that setting HiddenServiceNonAnonymousMode requires you to
  2063. also set "SOCKSPort 0". Fixes bug 20487; bugfix on 0.2.9.3-alpha.
  2064. - Module-level documentation for several more modules. Closes
  2065. tickets 19287 and 19290.
  2066. Changes in version 0.2.8.9 - 2016-10-17
  2067. Tor 0.2.8.9 backports a fix for a security hole in previous versions
  2068. of Tor that would allow a remote attacker to crash a Tor client,
  2069. hidden service, relay, or authority. All Tor users should upgrade to
  2070. this version, or to 0.2.9.4-alpha. Patches will be released for older
  2071. versions of Tor.
  2072. o Major features (security fixes, also in 0.2.9.4-alpha):
  2073. - Prevent a class of security bugs caused by treating the contents
  2074. of a buffer chunk as if they were a NUL-terminated string. At
  2075. least one such bug seems to be present in all currently used
  2076. versions of Tor, and would allow an attacker to remotely crash
  2077. most Tor instances, especially those compiled with extra compiler
  2078. hardening. With this defense in place, such bugs can't crash Tor,
  2079. though we should still fix them as they occur. Closes ticket
  2080. 20384 (TROVE-2016-10-001).
  2081. o Minor features (geoip):
  2082. - Update geoip and geoip6 to the October 4 2016 Maxmind GeoLite2
  2083. Country database.
  2084. Changes in version 0.2.9.4-alpha - 2016-10-17
  2085. Tor 0.2.9.4-alpha fixes a security hole in previous versions of Tor
  2086. that would allow a remote attacker to crash a Tor client, hidden
  2087. service, relay, or authority. All Tor users should upgrade to this
  2088. version, or to 0.2.8.9. Patches will be released for older versions
  2089. of Tor.
  2090. Tor 0.2.9.4-alpha also adds numerous small features and fix-ups to
  2091. previous versions of Tor, including the implementation of a feature to
  2092. future- proof the Tor ecosystem against protocol changes, some bug
  2093. fixes necessary for Tor Browser to use unix domain sockets correctly,
  2094. and several portability improvements. We anticipate that this will be
  2095. the last alpha in the Tor 0.2.9 series, and that the next release will
  2096. be a release candidate.
  2097. o Major features (security fixes):
  2098. - Prevent a class of security bugs caused by treating the contents
  2099. of a buffer chunk as if they were a NUL-terminated string. At
  2100. least one such bug seems to be present in all currently used
  2101. versions of Tor, and would allow an attacker to remotely crash
  2102. most Tor instances, especially those compiled with extra compiler
  2103. hardening. With this defense in place, such bugs can't crash Tor,
  2104. though we should still fix them as they occur. Closes ticket
  2105. 20384 (TROVE-2016-10-001).
  2106. o Major features (subprotocol versions):
  2107. - Tor directory authorities now vote on a set of recommended
  2108. subprotocol versions, and on a set of required subprotocol
  2109. versions. Clients and relays that lack support for a _required_
  2110. subprotocol version will not start; those that lack support for a
  2111. _recommended_ subprotocol version will warn the user to upgrade.
  2112. Closes ticket 19958; implements part of proposal 264.
  2113. - Tor now uses "subprotocol versions" to indicate compatibility.
  2114. Previously, versions of Tor looked at the declared Tor version of
  2115. a relay to tell whether they could use a given feature. Now, they
  2116. should be able to rely on its declared subprotocol versions. This
  2117. change allows compatible implementations of the Tor protocol(s) to
  2118. exist without pretending to be 100% bug-compatible with particular
  2119. releases of Tor itself. Closes ticket 19958; implements part of
  2120. proposal 264.
  2121. o Minor feature (fallback directories):
  2122. - Remove broken fallbacks from the hard-coded fallback directory
  2123. list. Closes ticket 20190; patch by teor.
  2124. o Minor features (client, directory):
  2125. - Since authorities now omit all routers that lack the Running and
  2126. Valid flags, we assume that any relay listed in the consensus must
  2127. have those flags. Closes ticket 20001; implements part of
  2128. proposal 272.
  2129. o Minor features (compilation, portability):
  2130. - Compile correctly on MacOS 10.12 (aka "Sierra"). Closes
  2131. ticket 20241.
  2132. o Minor features (development tools, etags):
  2133. - Teach the "make tags" Makefile target how to correctly find
  2134. "MOCK_IMPL" function definitions. Patch from nherring; closes
  2135. ticket 16869.
  2136. o Minor features (geoip):
  2137. - Update geoip and geoip6 to the October 4 2016 Maxmind GeoLite2
  2138. Country database.
  2139. o Minor features (unix domain sockets):
  2140. - When configuring a unix domain socket for a SocksPort,
  2141. ControlPort, or Hidden service, you can now wrap the address in
  2142. quotes, using C-style escapes inside the quotes. This allows unix
  2143. domain socket paths to contain spaces.
  2144. o Minor features (virtual addresses):
  2145. - Increase the maximum number of bits for the IPv6 virtual network
  2146. prefix from 16 to 104. In this way, the condition for address
  2147. allocation is less restrictive. Closes ticket 20151; feature
  2148. on 0.2.4.7-alpha.
  2149. o Minor bugfixes (address discovery):
  2150. - Stop reordering IP addresses returned by the OS. This makes it
  2151. more likely that Tor will guess the same relay IP address every
  2152. time. Fixes issue 20163; bugfix on 0.2.7.1-alpha, ticket 17027.
  2153. Reported by René Mayrhofer, patch by "cypherpunks".
  2154. o Minor bugfixes (client, unix domain sockets):
  2155. - Disable IsolateClientAddr when using AF_UNIX backed SocksPorts as
  2156. the client address is meaningless. Fixes bug 20261; bugfix
  2157. on 0.2.6.3-alpha.
  2158. o Minor bugfixes (compilation, OpenBSD):
  2159. - Detect Libevent2 functions correctly on systems that provide
  2160. libevent2, but where libevent1 is linked with -levent. Fixes bug
  2161. 19904; bugfix on 0.2.2.24-alpha. Patch from Rubiate.
  2162. o Minor bugfixes (configuration):
  2163. - When parsing quoted configuration values from the torrc file,
  2164. handle windows line endings correctly. Fixes bug 19167; bugfix on
  2165. 0.2.0.16-alpha. Patch from "Pingl".
  2166. o Minor bugfixes (getpass):
  2167. - Defensively fix a non-triggerable heap corruption at do_getpass()
  2168. to protect ourselves from mistakes in the future. Fixes bug
  2169. 19223; bugfix on 0.2.7.3-rc. Bug found by Guido Vranken, patch
  2170. by nherring.
  2171. o Minor bugfixes (hidden service):
  2172. - Allow hidden services to run on IPv6 addresses even when the
  2173. IPv6Exit option is not set. Fixes bug 18357; bugfix
  2174. on 0.2.4.7-alpha.
  2175. o Documentation:
  2176. - Add module-level internal documentation for 36 C files that
  2177. previously didn't have a high-level overview. Closes ticket #20385.
  2178. o Required libraries:
  2179. - When building with OpenSSL, Tor now requires version 1.0.1 or
  2180. later. OpenSSL 1.0.0 and earlier are no longer supported by the
  2181. OpenSSL team, and should not be used. Closes ticket 20303.
  2182. Changes in version 0.2.9.3-alpha - 2016-09-23
  2183. Tor 0.2.9.3-alpha adds improved support for entities that want to make
  2184. high-performance services available through the Tor .onion mechanism
  2185. without themselves receiving anonymity as they host those services. It
  2186. also tries harder to ensure that all steps on a circuit are using the
  2187. strongest crypto possible, strengthens some TLS properties, and
  2188. resolves several bugs -- including a pair of crash bugs from the 0.2.8
  2189. series. Anybody running an earlier version of 0.2.9.x should upgrade.
  2190. o Major bugfixes (crash, also in 0.2.8.8):
  2191. - Fix a complicated crash bug that could affect Tor clients
  2192. configured to use bridges when replacing a networkstatus consensus
  2193. in which one of their bridges was mentioned. OpenBSD users saw
  2194. more crashes here, but all platforms were potentially affected.
  2195. Fixes bug 20103; bugfix on 0.2.8.2-alpha.
  2196. o Major bugfixes (relay, OOM handler, also in 0.2.8.8):
  2197. - Fix a timing-dependent assertion failure that could occur when we
  2198. tried to flush from a circuit after having freed its cells because
  2199. of an out-of-memory condition. Fixes bug 20203; bugfix on
  2200. 0.2.8.1-alpha. Thanks to "cypherpunks" for help diagnosing
  2201. this one.
  2202. o Major features (circuit building, security):
  2203. - Authorities, relays and clients now require ntor keys in all
  2204. descriptors, for all hops (except for rare hidden service protocol
  2205. cases), for all circuits, and for all other roles. Part of
  2206. ticket 19163.
  2207. - Tor authorities, relays, and clients only use ntor, except for
  2208. rare cases in the hidden service protocol. Part of ticket 19163.
  2209. o Major features (single-hop "hidden" services):
  2210. - Add experimental HiddenServiceSingleHopMode and
  2211. HiddenServiceNonAnonymousMode options. When both are set to 1,
  2212. every hidden service on a Tor instance becomes a non-anonymous
  2213. Single Onion Service. Single Onions make one-hop (direct)
  2214. connections to their introduction and renzedvous points. One-hop
  2215. circuits make Single Onion servers easily locatable, but clients
  2216. remain location-anonymous. This is compatible with the existing
  2217. hidden service implementation, and works on the current tor
  2218. network without any changes to older relays or clients. Implements
  2219. proposal 260, completes ticket 17178. Patch by teor and asn.
  2220. o Major features (resource management):
  2221. - Tor can now notice it is about to run out of sockets, and
  2222. preemptively close connections of lower priority. (This feature is
  2223. off by default for now, since the current prioritizing method is
  2224. yet not mature enough. You can enable it by setting
  2225. "DisableOOSCheck 0", but watch out: it might close some sockets
  2226. you would rather have it keep.) Closes ticket 18640.
  2227. o Major bugfixes (circuit building):
  2228. - Hidden service client-to-intro-point and service-to-rendezvous-
  2229. point circuits use the TAP key supplied by the protocol, to avoid
  2230. epistemic attacks. Fixes bug 19163; bugfix on 0.2.4.18-rc.
  2231. o Major bugfixes (compilation, OpenBSD):
  2232. - Fix a Libevent-detection bug in our autoconf script that would
  2233. prevent Tor from linking successfully on OpenBSD. Patch from
  2234. rubiate. Fixes bug 19902; bugfix on 0.2.9.1-alpha.
  2235. o Major bugfixes (hidden services):
  2236. - Clients now require hidden services to include the TAP keys for
  2237. their intro points in the hidden service descriptor. This prevents
  2238. an inadvertent upgrade to ntor, which a malicious hidden service
  2239. could use to distinguish clients by consensus version. Fixes bug
  2240. 20012; bugfix on 0.2.4.8-alpha. Patch by teor.
  2241. o Minor features (security, TLS):
  2242. - Servers no longer support clients that without AES ciphersuites.
  2243. (3DES is no longer considered an acceptable cipher.) We believe
  2244. that no such Tor clients currently exist, since Tor has required
  2245. OpenSSL 0.9.7 or later since 2009. Closes ticket 19998.
  2246. o Minor feature (fallback directories):
  2247. - Remove 8 fallbacks that are no longer suitable, leaving 81 of the
  2248. 100 fallbacks originally introduced in Tor 0.2.8.2-alpha in March
  2249. 2016. Closes ticket 20190; patch by teor.
  2250. o Minor features (geoip, also in 0.2.8.8):
  2251. - Update geoip and geoip6 to the September 6 2016 Maxmind GeoLite2
  2252. Country database.
  2253. o Minor feature (port flags):
  2254. - Add new flags to the *Port options to finer control over which
  2255. requests are allowed. The flags are NoDNSRequest, NoOnionTraffic,
  2256. and the synthetic flag OnionTrafficOnly, which is equivalent to
  2257. NoDNSRequest, NoIPv4Traffic, and NoIPv6Traffic. Closes enhancement
  2258. 18693; patch by "teor".
  2259. o Minor features (directory authority):
  2260. - After voting, if the authorities decide that a relay is not
  2261. "Valid", they no longer include it in the consensus at all. Closes
  2262. ticket 20002; implements part of proposal 272.
  2263. o Minor features (testing):
  2264. - Disable memory protections on OpenBSD when performing our unit
  2265. tests for memwipe(). The test deliberately invokes undefined
  2266. behavior, and the OpenBSD protections interfere with this. Patch
  2267. from "rubiate". Closes ticket 20066.
  2268. o Minor features (testing, ipv6):
  2269. - Add the single-onion and single-onion-ipv6 chutney targets to
  2270. "make test-network-all". This requires a recent chutney version
  2271. with the single onion network flavours (git c72a652 or later).
  2272. Closes ticket 20072; patch by teor.
  2273. - Add the hs-ipv6 chutney target to make test-network-all's IPv6
  2274. tests. Remove bridges+hs, as it's somewhat redundant. This
  2275. requires a recent chutney version that supports IPv6 clients,
  2276. relays, and authorities. Closes ticket 20069; patch by teor.
  2277. o Minor features (Tor2web):
  2278. - Make Tor2web clients respect ReachableAddresses. This feature was
  2279. inadvertently enabled in 0.2.8.6, then removed by bugfix 19973 on
  2280. 0.2.8.7. Implements feature 20034. Patch by teor.
  2281. o Minor features (unit tests):
  2282. - We've done significant work to make the unit tests run faster.
  2283. - Our link-handshake unit tests now check that when invalid
  2284. handshakes fail, they fail with the error messages we expected.
  2285. - Our unit testing code that captures log messages no longer
  2286. prevents them from being written out if the user asked for them
  2287. (by passing --debug or --info or or --notice --warn to the "test"
  2288. binary). This change prevents us from missing unexpected log
  2289. messages simply because we were looking for others. Related to
  2290. ticket 19999.
  2291. - The unit tests now log all warning messages with the "BUG" flag.
  2292. Previously, they only logged errors by default. This change will
  2293. help us make our testing code more correct, and make sure that we
  2294. only hit this code when we mean to. In the meantime, however,
  2295. there will be more warnings in the unit test logs than before.
  2296. This is preparatory work for ticket 19999.
  2297. - The unit tests now treat any failure of a "tor_assert_nonfatal()"
  2298. assertion as a test failure.
  2299. o Minor bug fixes (circuits):
  2300. - Use the CircuitBuildTimeout option whenever
  2301. LearnCircuitBuildTimeout is disabled. Previously, we would respect
  2302. the option when a user disabled it, but not when it was disabled
  2303. because some other option was set. Fixes bug 20073; bugfix on
  2304. 0.2.4.12-alpha. Patch by teor.
  2305. o Minor bugfixes (allocation):
  2306. - Change how we allocate memory for large chunks on buffers, to
  2307. avoid a (currently impossible) integer overflow, and to waste less
  2308. space when allocating unusually large chunks. Fixes bug 20081;
  2309. bugfix on 0.2.0.16-alpha. Issue identified by Guido Vranken.
  2310. - Always include orconfig.h before including any other C headers.
  2311. Sometimes, it includes macros that affect the behavior of the
  2312. standard headers. Fixes bug 19767; bugfix on 0.2.9.1-alpha (the
  2313. first version to use AC_USE_SYSTEM_EXTENSIONS).
  2314. - Fix a syntax error in the IF_BUG_ONCE__() macro in non-GCC-
  2315. compatible compilers. Fixes bug 20141; bugfix on 0.2.9.1-alpha.
  2316. Patch from Gisle Vanem.
  2317. - Stop trying to build with Clang 4.0's -Wthread-safety warnings.
  2318. They apparently require a set of annotations that we aren't
  2319. currently using, and they create false positives in our pthreads
  2320. wrappers. Fixes bug 20110; bugfix on 0.2.9.1-alpha.
  2321. o Minor bugfixes (directory authority):
  2322. - Die with a more useful error when the operator forgets to place
  2323. the authority_signing_key file into the keys directory. This
  2324. avoids an uninformative assert & traceback about having an invalid
  2325. key. Fixes bug 20065; bugfix on 0.2.0.1-alpha.
  2326. - When allowing private addresses, mark Exits that only exit to
  2327. private locations as such. Fixes bug 20064; bugfix
  2328. on 0.2.2.9-alpha.
  2329. o Minor bugfixes (documentation):
  2330. - Document the default PathsNeededToBuildCircuits value that's used
  2331. by clients when the directory authorities don't set
  2332. min_paths_for_circs_pct. Fixes bug 20117; bugfix on 02c320916e02
  2333. in 0.2.4.10-alpha. Patch by teor, reported by Jesse V.
  2334. - Fix manual for the User option: it takes a username, not a UID.
  2335. Fixes bug 19122; bugfix on 0.0.2pre16 (the first version to have
  2336. a manpage!).
  2337. o Minor bugfixes (hidden services):
  2338. - Stop logging intro point details to the client log on certain
  2339. error conditions. Fixed as part of bug 20012; bugfix on
  2340. 0.2.4.8-alpha. Patch by teor.
  2341. o Minor bugfixes (IPv6, testing):
  2342. - Check for IPv6 correctly on Linux when running test networks.
  2343. Fixes bug 19905; bugfix on 0.2.7.3-rc; patch by teor.
  2344. o Minor bugfixes (Linux seccomp2 sandbox):
  2345. - Add permission to run the sched_yield() and sigaltstack() system
  2346. calls, in order to support versions of Tor compiled with asan or
  2347. ubsan code that use these calls. Now "sandbox 1" and
  2348. "--enable-expensive-hardening" should be compatible on more
  2349. systems. Fixes bug 20063; bugfix on 0.2.5.1-alpha.
  2350. o Minor bugfixes (logging):
  2351. - When logging a message from the BUG() macro, be explicit about
  2352. what we were asserting. Previously we were confusing what we were
  2353. asserting with what the bug was. Fixes bug 20093; bugfix
  2354. on 0.2.9.1-alpha.
  2355. - When we are unable to remove the bw_accounting file, do not warn
  2356. if the reason we couldn't remove it was that it didn't exist.
  2357. Fixes bug 19964; bugfix on 0.2.5.4-alpha. Patch from 'pastly'.
  2358. o Minor bugfixes (option parsing):
  2359. - Count unix sockets when counting client listeners (SOCKS, Trans,
  2360. NATD, and DNS). This has no user-visible behaviour changes: these
  2361. options are set once, and never read. Required for correct
  2362. behaviour in ticket 17178. Fixes bug 19677; bugfix on
  2363. 0.2.6.3-alpha. Patch by teor.
  2364. o Minor bugfixes (options):
  2365. - Check the consistency of UseEntryGuards and EntryNodes more
  2366. reliably. Fixes bug 20074; bugfix on 0.2.4.12-alpha. Patch
  2367. by teor.
  2368. - Stop changing the configured value of UseEntryGuards on
  2369. authorities and Tor2web clients. Fixes bug 20074; bugfix on
  2370. commits 51fc6799 in 0.1.1.16-rc and acda1735 in 0.2.4.3-alpha.
  2371. Patch by teor.
  2372. o Minor bugfixes (Tor2web):
  2373. - Prevent Tor2web clients running hidden services, these services
  2374. are not anonymous due to the one-hop client paths. Fixes bug
  2375. 19678. Patch by teor.
  2376. o Minor bugfixes (unit tests):
  2377. - Fix a shared-random unit test that was failing on big endian
  2378. architectures due to internal representation of a integer copied
  2379. to a buffer. The test is changed to take a full 32 bytes of data
  2380. and use the output of a python script that make the COMMIT and
  2381. REVEAL calculation according to the spec. Fixes bug 19977; bugfix
  2382. on 0.2.9.1-alpha.
  2383. - The tor_tls_server_info_callback unit test no longer crashes when
  2384. debug-level logging is turned on. Fixes bug 20041; bugfix
  2385. on 0.2.8.1-alpha.
  2386. Changes in version 0.2.8.8 - 2016-09-23
  2387. Tor 0.2.8.8 fixes two crash bugs present in previous versions of the
  2388. 0.2.8.x series. Relays running 0.2.8.x should upgrade, as should users
  2389. who select public relays as their bridges.
  2390. o Major bugfixes (crash):
  2391. - Fix a complicated crash bug that could affect Tor clients
  2392. configured to use bridges when replacing a networkstatus consensus
  2393. in which one of their bridges was mentioned. OpenBSD users saw
  2394. more crashes here, but all platforms were potentially affected.
  2395. Fixes bug 20103; bugfix on 0.2.8.2-alpha.
  2396. o Major bugfixes (relay, OOM handler):
  2397. - Fix a timing-dependent assertion failure that could occur when we
  2398. tried to flush from a circuit after having freed its cells because
  2399. of an out-of-memory condition. Fixes bug 20203; bugfix on
  2400. 0.2.8.1-alpha. Thanks to "cypherpunks" for help diagnosing
  2401. this one.
  2402. o Minor feature (fallback directories):
  2403. - Remove 8 fallbacks that are no longer suitable, leaving 81 of the
  2404. 100 fallbacks originally introduced in Tor 0.2.8.2-alpha in March
  2405. 2016. Closes ticket 20190; patch by teor.
  2406. o Minor features (geoip):
  2407. - Update geoip and geoip6 to the September 6 2016 Maxmind GeoLite2
  2408. Country database.
  2409. Changes in version 0.2.9.2-alpha - 2016-08-24
  2410. Tor 0.2.9.2-alpha continues development of the 0.2.9 series with
  2411. several new features and bugfixes. It also includes an important
  2412. authority update and an important bugfix from 0.2.8.7. Everyone who
  2413. sets the ReachableAddresses option, and all bridges, are strongly
  2414. encouraged to upgrade to 0.2.8.7, or to 0.2.9.2-alpha.
  2415. o Directory authority changes (also in 0.2.8.7):
  2416. - The "Tonga" bridge authority has been retired; the new bridge
  2417. authority is "Bifroest". Closes tickets 19728 and 19690.
  2418. o Major bugfixes (client, security, also in 0.2.8.7):
  2419. - Only use the ReachableAddresses option to restrict the first hop
  2420. in a path. In earlier versions of 0.2.8.x, it would apply to
  2421. every hop in the path, with a possible degradation in anonymity
  2422. for anyone using an uncommon ReachableAddress setting. Fixes bug
  2423. 19973; bugfix on 0.2.8.2-alpha.
  2424. o Major features (user interface):
  2425. - Tor now supports the ability to declare options deprecated, so
  2426. that we can recommend that people stop using them. Previously,
  2427. this was done in an ad-hoc way. Closes ticket 19820.
  2428. o Major bugfixes (directory downloads):
  2429. - Avoid resetting download status for consensuses hourly, since we
  2430. already have another, smarter retry mechanism. Fixes bug 8625;
  2431. bugfix on 0.2.0.9-alpha.
  2432. o Minor features (config):
  2433. - Warn users when descriptor and port addresses are inconsistent.
  2434. Mitigates bug 13953; patch by teor.
  2435. o Minor features (geoip):
  2436. - Update geoip and geoip6 to the August 2 2016 Maxmind GeoLite2
  2437. Country database.
  2438. o Minor features (user interface):
  2439. - There is a new --list-deprecated-options command-line option to
  2440. list all of the deprecated options. Implemented as part of
  2441. ticket 19820.
  2442. o Minor bugfixes (code style):
  2443. - Fix an integer signedness conversion issue in the case conversion
  2444. tables. Fixes bug 19168; bugfix on 0.2.1.11-alpha.
  2445. o Minor bugfixes (compilation):
  2446. - Build correctly on versions of libevent2 without support for
  2447. evutil_secure_rng_add_bytes(). Fixes bug 19904; bugfix
  2448. on 0.2.5.4-alpha.
  2449. - Fix a compilation warning on GCC versions before 4.6. Our
  2450. ENABLE_GCC_WARNING macro used the word "warning" as an argument,
  2451. when it is also required as an argument to the compiler pragma.
  2452. Fixes bug 19901; bugfix on 0.2.9.1-alpha.
  2453. o Minor bugfixes (compilation, also in 0.2.8.7):
  2454. - Remove an inappropriate "inline" in tortls.c that was causing
  2455. warnings on older versions of GCC. Fixes bug 19903; bugfix
  2456. on 0.2.8.1-alpha.
  2457. o Minor bugfixes (fallback directories, also in 0.2.8.7):
  2458. - Avoid logging a NULL string pointer when loading fallback
  2459. directory information. Fixes bug 19947; bugfix on 0.2.4.7-alpha
  2460. and 0.2.8.1-alpha. Report and patch by "rubiate".
  2461. o Minor bugfixes (logging):
  2462. - Log a more accurate message when we fail to dump a microdescriptor.
  2463. Fixes bug 17758; bugfix on 0.2.2.8-alpha. Patch from Daniel Pinto.
  2464. o Minor bugfixes (memory leak):
  2465. - Fix a series of slow memory leaks related to parsing torrc files
  2466. and options. Fixes bug 19466; bugfix on 0.2.1.6-alpha.
  2467. o Deprecated features:
  2468. - A number of DNS-cache-related sub-options for client ports are now
  2469. deprecated for security reasons, and may be removed in a future
  2470. version of Tor. (We believe that client-side DNS cacheing is a bad
  2471. idea for anonymity, and you should not turn it on.) The options
  2472. are: CacheDNS, CacheIPv4DNS, CacheIPv6DNS, UseDNSCache,
  2473. UseIPv4Cache, and UseIPv6Cache.
  2474. - A number of options are deprecated for security reasons, and may
  2475. be removed in a future version of Tor. The options are:
  2476. AllowDotExit, AllowInvalidNodes, AllowSingleHopCircuits,
  2477. AllowSingleHopExits, ClientDNSRejectInternalAddresses,
  2478. CloseHSClientCircuitsImmediatelyOnTimeout,
  2479. CloseHSServiceRendCircuitsImmediatelyOnTimeout,
  2480. ExcludeSingleHopRelays, FastFirstHopPK, TLSECGroup,
  2481. UseNTorHandshake, and WarnUnsafeSocks.
  2482. - The *ListenAddress options are now deprecated as unnecessary: the
  2483. corresponding *Port options should be used instead. These options
  2484. may someday be removed. The affected options are:
  2485. ControlListenAddress, DNSListenAddress, DirListenAddress,
  2486. NATDListenAddress, ORListenAddress, SocksListenAddress,
  2487. and TransListenAddress.
  2488. o Documentation:
  2489. - Correct the IPv6 syntax in our documentation for the
  2490. VirtualAddrNetworkIPv6 torrc option. Closes ticket 19743.
  2491. o Removed code:
  2492. - We no longer include the (dead, deprecated) bufferevent code in
  2493. Tor. Closes ticket 19450. Based on a patch from U+039b.
  2494. Changes in version 0.2.8.7 - 2016-08-24
  2495. Tor 0.2.8.7 fixes an important bug related to the ReachableAddresses
  2496. option in 0.2.8.6, and replaces a retiring bridge authority. Everyone
  2497. who sets the ReachableAddresses option, and all bridges, are strongly
  2498. encouraged to upgrade.
  2499. o Directory authority changes:
  2500. - The "Tonga" bridge authority has been retired; the new bridge
  2501. authority is "Bifroest". Closes tickets 19728 and 19690.
  2502. o Major bugfixes (client, security):
  2503. - Only use the ReachableAddresses option to restrict the first hop
  2504. in a path. In earlier versions of 0.2.8.x, it would apply to
  2505. every hop in the path, with a possible degradation in anonymity
  2506. for anyone using an uncommon ReachableAddress setting. Fixes bug
  2507. 19973; bugfix on 0.2.8.2-alpha.
  2508. o Minor features (geoip):
  2509. - Update geoip and geoip6 to the August 2 2016 Maxmind GeoLite2
  2510. Country database.
  2511. o Minor bugfixes (compilation):
  2512. - Remove an inappropriate "inline" in tortls.c that was causing
  2513. warnings on older versions of GCC. Fixes bug 19903; bugfix
  2514. on 0.2.8.1-alpha.
  2515. o Minor bugfixes (fallback directories):
  2516. - Avoid logging a NULL string pointer when loading fallback
  2517. directory information. Fixes bug 19947; bugfix on 0.2.4.7-alpha
  2518. and 0.2.8.1-alpha. Report and patch by "rubiate".
  2519. Changes in version 0.2.9.1-alpha - 2016-08-08
  2520. Tor 0.2.9.1-alpha is the first alpha release in the 0.2.9 development
  2521. series. It improves our support for hardened builds and compiler
  2522. warnings, deploys some critical infrastructure for improvements to
  2523. hidden services, includes a new timing backend that we hope to use for
  2524. better support for traffic padding, makes it easier for programmers to
  2525. log unexpected events, and contains other small improvements to
  2526. security, correctness, and performance.
  2527. Below are the changes since 0.2.8.6.
  2528. o New system requirements:
  2529. - Tor now requires Libevent version 2.0.10-stable or later. Older
  2530. versions of Libevent have less efficient backends for several
  2531. platforms, and lack the DNS code that we use for our server-side
  2532. DNS support. This implements ticket 19554.
  2533. - Tor now requires zlib version 1.2 or later, for security,
  2534. efficiency, and (eventually) gzip support. (Back when we started,
  2535. zlib 1.1 and zlib 1.0 were still found in the wild. 1.2 was
  2536. released in 2003. We recommend the latest version.)
  2537. o Major features (build, hardening):
  2538. - Tor now builds with -ftrapv by default on compilers that support
  2539. it. This option detects signed integer overflow (which C forbids),
  2540. and turns it into a hard-failure. We do not apply this option to
  2541. code that needs to run in constant time to avoid side-channels;
  2542. instead, we use -fwrapv in that code. Closes ticket 17983.
  2543. - When --enable-expensive-hardening is selected, stop applying the
  2544. clang/gcc sanitizers to code that needs to run in constant time.
  2545. Although we are aware of no introduced side-channels, we are not
  2546. able to prove that there are none. Related to ticket 17983.
  2547. o Major features (compilation):
  2548. - Our big list of extra GCC warnings is now enabled by default when
  2549. building with GCC (or with anything like Clang that claims to be
  2550. GCC-compatible). To make all warnings into fatal compilation
  2551. errors, pass --enable-fatal-warnings to configure. Closes
  2552. ticket 19044.
  2553. - Use the Autoconf macro AC_USE_SYSTEM_EXTENSIONS to automatically
  2554. turn on C and POSIX extensions. (Previously, we attempted to do
  2555. this on an ad hoc basis.) Closes ticket 19139.
  2556. o Major features (directory authorities, hidden services):
  2557. - Directory authorities can now perform the shared randomness
  2558. protocol specified by proposal 250. Using this protocol, directory
  2559. authorities generate a global fresh random value every day. In the
  2560. future, this value will be used by hidden services to select
  2561. HSDirs. This release implements the directory authority feature;
  2562. the hidden service side will be implemented in the future as part
  2563. of proposal 224. Resolves ticket 16943; implements proposal 250.
  2564. o Major features (downloading, random exponential backoff):
  2565. - When we fail to download an object from a directory service, wait
  2566. for an (exponentially increasing) randomized amount of time before
  2567. retrying, rather than a fixed interval as we did before. This
  2568. prevents a group of Tor instances from becoming too synchronized,
  2569. or a single Tor instance from becoming too predictable, in its
  2570. download schedule. Closes ticket 15942.
  2571. o Major bugfixes (exit policies):
  2572. - Avoid disclosing exit outbound bind addresses, configured port
  2573. bind addresses, and local interface addresses in relay descriptors
  2574. by default under ExitPolicyRejectPrivate. Instead, only reject
  2575. these (otherwise unlisted) addresses if
  2576. ExitPolicyRejectLocalInterfaces is set. Fixes bug 18456; bugfix on
  2577. 0.2.7.2-alpha. Patch by teor.
  2578. o Major bugfixes (hidden service client):
  2579. - Allow Tor clients with appropriate controllers to work with
  2580. FetchHidServDescriptors set to 0. Previously, this option also
  2581. disabled descriptor cache lookup, thus breaking hidden services
  2582. entirely. Fixes bug 18704; bugfix on 0.2.0.20-rc. Patch by "twim".
  2583. o Minor features (build, hardening):
  2584. - Detect and work around a libclang_rt problem that would prevent
  2585. clang from finding __mulodi4() on some 32-bit platforms, and thus
  2586. keep -ftrapv from linking on those systems. Closes ticket 19079.
  2587. - When building on a system without runtime support for the runtime
  2588. hardening options, try to log a useful warning at configuration
  2589. time, rather than an incomprehensible warning at link time. If
  2590. expensive hardening was requested, this warning becomes an error.
  2591. Closes ticket 18895.
  2592. o Minor features (code safety):
  2593. - In our integer-parsing functions, ensure that maxiumum value we
  2594. give is no smaller than the minimum value. Closes ticket 19063;
  2595. patch from U+039b.
  2596. o Minor features (controller):
  2597. - Implement new GETINFO queries for all downloads that use
  2598. download_status_t to schedule retries. This allows controllers to
  2599. examine the schedule for pending downloads. Closes ticket 19323.
  2600. - Allow controllers to configure basic client authorization on
  2601. hidden services when they create them with the ADD_ONION control
  2602. command. Implements ticket 15588. Patch by "special".
  2603. - Fire a STATUS_SERVER controller event whenever the hibernation
  2604. status changes between "awake"/"soft"/"hard". Closes ticket 18685.
  2605. o Minor features (directory authority):
  2606. - Directory authorities now only give the Guard flag to a relay if
  2607. they are also giving it the Stable flag. This change allows us to
  2608. simplify path selection for clients. It should have minimal effect
  2609. in practice, since >99% of Guards already have the Stable flag.
  2610. Implements ticket 18624.
  2611. - Directory authorities now write their v3-status-votes file out to
  2612. disk earlier in the consensus process, so we have a record of the
  2613. votes even if we abort the consensus process. Resolves
  2614. ticket 19036.
  2615. o Minor features (hidden service):
  2616. - Stop being so strict about the payload length of "rendezvous1"
  2617. cells. We used to be locked in to the "TAP" handshake length, and
  2618. now we can handle better handshakes like "ntor". Resolves
  2619. ticket 18998.
  2620. o Minor features (infrastructure, time):
  2621. - Tor now uses the operating system's monotonic timers (where
  2622. available) for internal fine-grained timing. Previously we would
  2623. look at the system clock, and then attempt to compensate for the
  2624. clock running backwards. Closes ticket 18908.
  2625. - Tor now includes an improved timer backend, so that we can
  2626. efficiently support tens or hundreds of thousands of concurrent
  2627. timers, as will be needed for some of our planned anti-traffic-
  2628. analysis work. This code is based on William Ahern's "timeout.c"
  2629. project, which implements a "tickless hierarchical timing wheel".
  2630. Closes ticket 18365.
  2631. o Minor features (logging):
  2632. - Provide a more useful warning message when configured with an
  2633. invalid Nickname. Closes ticket 18300; patch from "icanhasaccount".
  2634. - When dumping unparseable router descriptors, optionally store them
  2635. in separate files, named by digest, up to a configurable size
  2636. limit. You can change the size limit by setting the
  2637. MaxUnparseableDescSizeToLog option, and disable this feature by
  2638. setting that option to 0. Closes ticket 18322.
  2639. - Add a set of macros to check nonfatal assertions, for internal
  2640. use. Migrating more of our checks to these should help us avoid
  2641. needless crash bugs. Closes ticket 18613.
  2642. o Minor features (performance):
  2643. - Changer the "optimistic data" extension from "off by default" to
  2644. "on by default". The default was ordinarily overridden by a
  2645. consensus option, but when clients were bootstrapping for the
  2646. first time, they would not have a consensus to get the option
  2647. from. Changing this default When fetching a consensus for the
  2648. first time, use optimistic data. This saves a round-trip during
  2649. startup. Closes ticket 18815.
  2650. o Minor features (relay, usability):
  2651. - When the directory authorities refuse a bad relay's descriptor,
  2652. encourage the relay operator to contact us. Many relay operators
  2653. won't notice this line in their logs, but it's a win if even a few
  2654. learn why we don't like what their relay was doing. Resolves
  2655. ticket 18760.
  2656. o Minor features (testing):
  2657. - Let backtrace tests work correctly under AddressSanitizer. Fixes
  2658. part of bug 18934; bugfix on 0.2.5.2-alpha.
  2659. - Move the test-network.sh script to chutney, and modify tor's test-
  2660. network.sh to call the (newer) chutney version when available.
  2661. Resolves ticket 19116. Patch by teor.
  2662. - Use the lcov convention for marking lines as unreachable, so that
  2663. we don't count them when we're generating test coverage data.
  2664. Update our coverage tools to understand this convention. Closes
  2665. ticket 16792.
  2666. o Minor bugfixes (bootstrap):
  2667. - Remember the directory we fetched the consensus or previous
  2668. certificates from, and use it to fetch future authority
  2669. certificates. This change improves bootstrapping performance.
  2670. Fixes bug 18963; bugfix on 0.2.8.1-alpha.
  2671. o Minor bugfixes (build):
  2672. - The test-stem and test-network makefile targets now depend only on
  2673. the tor binary that they are testing. Previously, they depended on
  2674. "make all". Fixes bug 18240; bugfix on 0.2.8.2-alpha. Based on a
  2675. patch from "cypherpunks".
  2676. o Minor bugfixes (circuits):
  2677. - Make sure extend_info_from_router() is only called on servers.
  2678. Fixes bug 19639; bugfix on 0.2.8.1-alpha.
  2679. o Minor bugfixes (compilation):
  2680. - When building with Clang, use a full set of GCC warnings.
  2681. (Previously, we included only a subset, because of the way we
  2682. detected them.) Fixes bug 19216; bugfix on 0.2.0.1-alpha.
  2683. o Minor bugfixes (directory authority):
  2684. - Authorities now sort the "package" lines in their votes, for ease
  2685. of debugging. (They are already sorted in consensus documents.)
  2686. Fixes bug 18840; bugfix on 0.2.6.3-alpha.
  2687. - When parsing a detached signature, make sure we use the length of
  2688. the digest algorithm instead of an hardcoded DIGEST256_LEN in
  2689. order to avoid comparing bytes out-of-bounds with a smaller digest
  2690. length such as SHA1. Fixes bug 19066; bugfix on 0.2.2.6-alpha.
  2691. o Minor bugfixes (documentation):
  2692. - Document the --passphrase-fd option in the tor manpage. Fixes bug
  2693. 19504; bugfix on 0.2.7.3-rc.
  2694. - Fix the description of the --passphrase-fd option in the
  2695. tor-gencert manpage. The option is used to pass the number of a
  2696. file descriptor to read the passphrase from, not to read the file
  2697. descriptor from. Fixes bug 19505; bugfix on 0.2.0.20-alpha.
  2698. o Minor bugfixes (ephemeral hidden service):
  2699. - When deleting an ephemeral hidden service, close its intro points
  2700. even if they are not completely open. Fixes bug 18604; bugfix
  2701. on 0.2.7.1-alpha.
  2702. o Minor bugfixes (guard selection):
  2703. - Use a single entry guard even if the NumEntryGuards consensus
  2704. parameter is not provided. Fixes bug 17688; bugfix
  2705. on 0.2.5.6-alpha.
  2706. - Don't mark guards as unreachable if connection_connect() fails.
  2707. That function fails for local reasons, so it shouldn't reveal
  2708. anything about the status of the guard. Fixes bug 14334; bugfix
  2709. on 0.2.3.10-alpha.
  2710. o Minor bugfixes (hidden service client):
  2711. - Increase the minimum number of internal circuits we preemptively
  2712. build from 2 to 3, so a circuit is available when a client
  2713. connects to another onion service. Fixes bug 13239; bugfix
  2714. on 0.1.0.1-rc.
  2715. o Minor bugfixes (logging):
  2716. - When logging a directory ownership mismatch, log the owning
  2717. username correctly. Fixes bug 19578; bugfix on 0.2.2.29-beta.
  2718. o Minor bugfixes (memory leaks):
  2719. - Fix a small, uncommon memory leak that could occur when reading a
  2720. truncated ed25519 key file. Fixes bug 18956; bugfix
  2721. on 0.2.6.1-alpha.
  2722. o Minor bugfixes (testing):
  2723. - Allow clients to retry HSDirs much faster in test networks. Fixes
  2724. bug 19702; bugfix on 0.2.7.1-alpha. Patch by teor.
  2725. - Disable ASAN's detection of segmentation faults while running
  2726. test_bt.sh, so that we can make sure that our own backtrace
  2727. generation code works. Fixes another aspect of bug 18934; bugfix
  2728. on 0.2.5.2-alpha. Patch from "cypherpunks".
  2729. - Fix the test-network-all target on out-of-tree builds by using the
  2730. correct path to the test driver script. Fixes bug 19421; bugfix
  2731. on 0.2.7.3-rc.
  2732. o Minor bugfixes (time):
  2733. - Improve overflow checks in tv_udiff and tv_mdiff. Fixes bug 19483;
  2734. bugfix on all released tor versions.
  2735. - When computing the difference between two times in milliseconds,
  2736. we now round to the nearest millisecond correctly. Previously, we
  2737. could sometimes round in the wrong direction. Fixes bug 19428;
  2738. bugfix on 0.2.2.2-alpha.
  2739. o Minor bugfixes (user interface):
  2740. - Display a more accurate number of suppressed messages in the log
  2741. rate-limiter. Previously, there was a potential integer overflow
  2742. in the counter. Now, if the number of messages hits a maximum, the
  2743. rate-limiter doesn't count any further. Fixes bug 19435; bugfix
  2744. on 0.2.4.11-alpha.
  2745. - Fix a typo in the passphrase prompt for the ed25519 identity key.
  2746. Fixes bug 19503; bugfix on 0.2.7.2-alpha.
  2747. o Code simplification and refactoring:
  2748. - Remove redundant declarations of the MIN macro. Closes
  2749. ticket 18889.
  2750. - Rename tor_dup_addr() to tor_addr_to_str_dup() to avoid confusion.
  2751. Closes ticket 18462; patch from "icanhasaccount".
  2752. - Split the 600-line directory_handle_command_get function into
  2753. separate functions for different URL types. Closes ticket 16698.
  2754. o Documentation:
  2755. - Fix spelling of "--enable-tor2web-mode" in the manpage. Closes
  2756. ticket 19153. Patch from "U+039b".
  2757. o Removed features:
  2758. - Remove support for "GET /tor/bytes.txt" DirPort request, and
  2759. "GETINFO dir-usage" controller request, which were only available
  2760. via a compile-time option in Tor anyway. Feature was added in
  2761. 0.2.2.1-alpha. Resolves ticket 19035.
  2762. - There is no longer a compile-time option to disable support for
  2763. TransPort. (If you don't want TransPort; just don't use it.) Patch
  2764. from "U+039b". Closes ticket 19449.
  2765. o Testing:
  2766. - Run more workqueue tests as part of "make check". These had
  2767. previously been implemented, but you needed to know special
  2768. command-line options to enable them.
  2769. - We now have unit tests for our code to reject zlib "compression
  2770. bombs". (Fortunately, the code works fine.)
  2771. Changes in version 0.2.8.6 - 2016-08-02
  2772. Tor 0.2.8.6 is the first stable version of the Tor 0.2.8 series.
  2773. The Tor 0.2.8 series improves client bootstrapping performance,
  2774. completes the authority-side implementation of improved identity
  2775. keys for relays, and includes numerous bugfixes and performance
  2776. improvements throughout the program. This release continues to
  2777. improve the coverage of Tor's test suite. For a full list of
  2778. changes since Tor 0.2.7, see the ReleaseNotes file.
  2779. Changes since 0.2.8.5-rc:
  2780. o Minor features (geoip):
  2781. - Update geoip and geoip6 to the July 6 2016 Maxmind GeoLite2
  2782. Country database.
  2783. o Minor bugfixes (compilation):
  2784. - Fix a compilation warning in the unit tests on systems where char
  2785. is signed. Fixes bug 19682; bugfix on 0.2.8.1-alpha.
  2786. o Minor bugfixes (fallback directories):
  2787. - Remove 1 fallback that was on the hardcoded list, then opted-out,
  2788. leaving 89 of the 100 fallbacks originally introduced in Tor
  2789. 0.2.8.2-alpha in March 2016. Closes ticket 19782; patch by teor.
  2790. o Minor bugfixes (Linux seccomp2 sandbox):
  2791. - Allow more syscalls when running with "Sandbox 1" enabled:
  2792. sysinfo, getsockopt(SO_SNDBUF), and setsockopt(SO_SNDBUFFORCE). On
  2793. some systems, these are required for Tor to start. Fixes bug
  2794. 18397; bugfix on 0.2.5.1-alpha. Patch from Daniel Pinto.
  2795. - Allow IPPROTO_UDP datagram sockets when running with "Sandbox 1",
  2796. so that get_interface_address6_via_udp_socket_hack() can work.
  2797. Fixes bug 19660; bugfix on 0.2.5.1-alpha.
  2798. Changes in version 0.2.8.5-rc - 2016-07-07
  2799. Tor 0.2.8.5-rc is the second release candidate in the Tor 0.2.8
  2800. series. If we find no new bugs or regressions here, the first stable
  2801. 0.2.8 release will be identical to it. It has a few small bugfixes
  2802. against previous versions.
  2803. o Directory authority changes:
  2804. - Urras is no longer a directory authority. Closes ticket 19271.
  2805. o Major bugfixes (heartbeat):
  2806. - Fix a regression that would crash Tor when the periodic
  2807. "heartbeat" log messages were disabled. Fixes bug 19454; bugfix on
  2808. 0.2.8.1-alpha. Reported by "kubaku".
  2809. o Minor features (build):
  2810. - Tor now again builds with the recent OpenSSL 1.1 development
  2811. branch (tested against 1.1.0-pre6-dev). Closes ticket 19499.
  2812. - When building manual pages, set the timezone to "UTC", so that the
  2813. output is reproducible. Fixes bug 19558; bugfix on 0.2.2.9-alpha.
  2814. Patch from intrigeri.
  2815. o Minor bugfixes (fallback directory selection):
  2816. - Avoid errors during fallback selection if there are no eligible
  2817. fallbacks. Fixes bug 19480; bugfix on 0.2.8.3-alpha. Patch
  2818. by teor.
  2819. o Minor bugfixes (IPv6, microdescriptors):
  2820. - Don't check node addresses when we only have a routerstatus. This
  2821. allows IPv6-only clients to bootstrap by fetching microdescriptors
  2822. from fallback directory mirrors. (The microdescriptor consensus
  2823. has no IPv6 addresses in it.) Fixes bug 19608; bugfix
  2824. on 0.2.8.2-alpha.
  2825. o Minor bugfixes (logging):
  2826. - Reduce pointlessly verbose log messages when directory servers
  2827. can't be found. Fixes bug 18849; bugfix on 0.2.8.3-alpha and
  2828. 0.2.8.1-alpha. Patch by teor.
  2829. - When a fallback directory changes its fingerprint from the hard-
  2830. coded fingerprint, log a less severe, more explanatory log
  2831. message. Fixes bug 18812; bugfix on 0.2.8.1-alpha. Patch by teor.
  2832. o Minor bugfixes (Linux seccomp2 sandboxing):
  2833. - Allow statistics to be written to disk when "Sandbox 1" is
  2834. enabled. Fixes bugs 19556 and 19957; bugfix on 0.2.5.1-alpha and
  2835. 0.2.6.1-alpha respectively.
  2836. o Minor bugfixes (user interface):
  2837. - Remove a warning message "Service [scrubbed] not found after
  2838. descriptor upload". This message appears when one uses HSPOST
  2839. control command to upload a service descriptor. Since there is
  2840. only a descriptor and no service, showing this message is
  2841. pointless and confusing. Fixes bug 19464; bugfix on 0.2.7.2-alpha.
  2842. o Fallback directory list:
  2843. - Add a comment to the generated fallback directory list that
  2844. explains how to comment out unsuitable fallbacks in a way that's
  2845. compatible with the stem fallback parser.
  2846. - Update fallback whitelist and blacklist based on relay operator
  2847. emails. Blacklist unsuitable (non-working, over-volatile)
  2848. fallbacks. Resolves ticket 19071. Patch by teor.
  2849. - Remove 10 unsuitable fallbacks, leaving 90 of the 100 fallbacks
  2850. originally introduced in Tor 0.2.8.2-alpha in March 2016. Closes
  2851. ticket 19071; patch by teor.
  2852. Changes in version 0.2.8.4-rc - 2016-06-15
  2853. Tor 0.2.8.4-rc is the first release candidate in the Tor 0.2.8 series.
  2854. If we find no new bugs or regressions here, the first stable 0.2.8
  2855. release will be identical to it. It has a few small bugfixes against
  2856. previous versions.
  2857. o Major bugfixes (user interface):
  2858. - Correctly give a warning in the cases where a relay is specified
  2859. by nickname, and one such relay is found, but it is not officially
  2860. Named. Fixes bug 19203; bugfix on 0.2.3.1-alpha.
  2861. o Minor features (build):
  2862. - Tor now builds once again with the recent OpenSSL 1.1 development
  2863. branch (tested against 1.1.0-pre5 and 1.1.0-pre6-dev).
  2864. o Minor features (geoip):
  2865. - Update geoip and geoip6 to the June 7 2016 Maxmind GeoLite2
  2866. Country database.
  2867. o Minor bugfixes (compilation):
  2868. - Cause the unit tests to compile correctly on mingw64 versions that
  2869. lack sscanf. Fixes bug 19213; bugfix on 0.2.7.1-alpha.
  2870. o Minor bugfixes (downloading):
  2871. - Predict more correctly whether we'll be downloading over HTTP when
  2872. we determine the maximum length of a URL. This should avoid a
  2873. "BUG" warning about the Squid HTTP proxy and its URL limits. Fixes
  2874. bug 19191.
  2875. Changes in version 0.2.8.3-alpha - 2016-05-26
  2876. Tor 0.2.8.3-alpha resolves several bugs, most of them introduced over
  2877. the course of the 0.2.8 development cycle. It improves the behavior of
  2878. directory clients, fixes several crash bugs, fixes a gap in compiler
  2879. hardening, and allows the full integration test suite to run on
  2880. more platforms.
  2881. o Major bugfixes (security, client, DNS proxy):
  2882. - Stop a crash that could occur when a client running with DNSPort
  2883. received a query with multiple address types, and the first
  2884. address type was not supported. Found and fixed by Scott Dial.
  2885. Fixes bug 18710; bugfix on 0.2.5.4-alpha.
  2886. o Major bugfixes (security, compilation):
  2887. - Correctly detect compiler flags on systems where _FORTIFY_SOURCE
  2888. is predefined. Previously, our use of -D_FORTIFY_SOURCE would
  2889. cause a compiler warning, thereby making other checks fail, and
  2890. needlessly disabling compiler-hardening support. Fixes one case of
  2891. bug 18841; bugfix on 0.2.3.17-beta. Patch from "trudokal".
  2892. o Major bugfixes (security, directory authorities):
  2893. - Fix a crash and out-of-bounds write during authority voting, when
  2894. the list of relays includes duplicate ed25519 identity keys. Fixes
  2895. bug 19032; bugfix on 0.2.8.2-alpha.
  2896. o Major bugfixes (client, bootstrapping):
  2897. - Check if bootstrap consensus downloads are still needed when the
  2898. linked connection attaches. This prevents tor making unnecessary
  2899. begindir-style connections, which are the only directory
  2900. connections tor clients make since the fix for 18483 was merged.
  2901. - Fix some edge cases where consensus download connections may not
  2902. have been closed, even though they were not needed. Related to fix
  2903. for 18809.
  2904. - Make relays retry consensus downloads the correct number of times,
  2905. rather than the more aggressive client retry count. Fixes part of
  2906. ticket 18809.
  2907. - Stop downloading consensuses when we have a consensus, even if we
  2908. don't have all the certificates for it yet. Fixes bug 18809;
  2909. bugfix on 0.2.8.1-alpha. Patches by arma and teor.
  2910. o Major bugfixes (directory mirrors):
  2911. - Decide whether to advertise begindir support in the the same way
  2912. we decide whether to advertise our DirPort. Allowing these
  2913. decisions to become out-of-sync led to surprising behavior like
  2914. advertising begindir support when hibernation made us not
  2915. advertise a DirPort. Resolves bug 18616; bugfix on 0.2.8.1-alpha.
  2916. Patch by teor.
  2917. o Major bugfixes (IPv6 bridges, client):
  2918. - Actually use IPv6 addresses when selecting directory addresses for
  2919. IPv6 bridges. Fixes bug 18921; bugfix on 0.2.8.1-alpha. Patch
  2920. by "teor".
  2921. o Major bugfixes (key management):
  2922. - If OpenSSL fails to generate an RSA key, do not retain a dangling
  2923. pointer to the previous (uninitialized) key value. The impact here
  2924. should be limited to a difficult-to-trigger crash, if OpenSSL is
  2925. running an engine that makes key generation failures possible, or
  2926. if OpenSSL runs out of memory. Fixes bug 19152; bugfix on
  2927. 0.2.1.10-alpha. Found by Yuan Jochen Kang, Suman Jana, and
  2928. Baishakhi Ray.
  2929. o Major bugfixes (testing):
  2930. - Fix a bug that would block 'make test-network-all' on systems where
  2931. IPv6 packets were lost. Fixes bug 19008; bugfix on 0.2.7.3-rc.
  2932. - Avoid "WSANOTINITIALISED" warnings in the unit tests. Fixes bug 18668;
  2933. bugfix on 0.2.8.1-alpha.
  2934. o Minor features (clients):
  2935. - Make clients, onion services, and bridge relays always use an
  2936. encrypted begindir connection for directory requests. Resolves
  2937. ticket 18483. Patch by "teor".
  2938. o Minor features (fallback directory mirrors):
  2939. - Give each fallback the same weight for client selection; restrict
  2940. fallbacks to one per operator; report fallback directory detail
  2941. changes when rebuilding list; add new fallback directory mirrors
  2942. to the whitelist; and many other minor simplifications and fixes.
  2943. Closes tasks 17905, 18749, bug 18689, and fixes part of bug 18812 on
  2944. 0.2.8.1-alpha; patch by "teor".
  2945. - Replace the 21 fallbacks generated in January 2016 and included in
  2946. Tor 0.2.8.1-alpha, with a list of 100 fallbacks generated in March
  2947. 2016. Closes task 17158; patch by "teor".
  2948. o Minor features (geoip):
  2949. - Update geoip and geoip6 to the May 4 2016 Maxmind GeoLite2
  2950. Country database.
  2951. o Minor bugfixes (assert, portability):
  2952. - Fix an assertion failure in memarea.c on systems where "long" is
  2953. shorter than the size of a pointer. Fixes bug 18716; bugfix
  2954. on 0.2.1.1-alpha.
  2955. o Minor bugfixes (bootstrap):
  2956. - Consistently use the consensus download schedule for authority
  2957. certificates. Fixes bug 18816; bugfix on 0.2.4.13-alpha.
  2958. o Minor bugfixes (build):
  2959. - Remove a pair of redundant AM_CONDITIONAL declarations from
  2960. configure.ac. Fixes one final case of bug 17744; bugfix
  2961. on 0.2.8.2-alpha.
  2962. - Resolve warnings when building on systems that are concerned with
  2963. signed char. Fixes bug 18728; bugfix on 0.2.7.2-alpha
  2964. and 0.2.6.1-alpha.
  2965. - When libscrypt.h is found, but no libscrypt library can be linked,
  2966. treat libscrypt as absent. Fixes bug 19161; bugfix
  2967. on 0.2.6.1-alpha.
  2968. o Minor bugfixes (client):
  2969. - Turn all TestingClientBootstrap* into non-testing torrc options.
  2970. This changes simply renames them by removing "Testing" in front of
  2971. them and they do not require TestingTorNetwork to be enabled
  2972. anymore. Fixes bug 18481; bugfix on 0.2.8.1-alpha.
  2973. - Make directory node selection more reliable, mainly for IPv6-only
  2974. clients and clients with few reachable addresses. Fixes bug 18929;
  2975. bugfix on 0.2.8.1-alpha. Patch by "teor".
  2976. o Minor bugfixes (controller, microdescriptors):
  2977. - Make GETINFO dir/status-vote/current/consensus conform to the
  2978. control specification by returning "551 Could not open cached
  2979. consensus..." when not caching consensuses. Fixes bug 18920;
  2980. bugfix on 0.2.2.6-alpha.
  2981. o Minor bugfixes (crypto, portability):
  2982. - The SHA3 and SHAKE routines now produce the correct output on Big
  2983. Endian systems. No code calls either algorithm yet, so this is
  2984. primarily a build fix. Fixes bug 18943; bugfix on 0.2.8.1-alpha.
  2985. - Tor now builds again with the recent OpenSSL 1.1 development
  2986. branch (tested against 1.1.0-pre4 and 1.1.0-pre5-dev). Closes
  2987. ticket 18286.
  2988. o Minor bugfixes (directories):
  2989. - When fetching extrainfo documents, compare their SHA256 digests
  2990. and Ed25519 signing key certificates with the routerinfo that led
  2991. us to fetch them, rather than with the most recent routerinfo.
  2992. Otherwise we generate many spurious warnings about mismatches.
  2993. Fixes bug 17150; bugfix on 0.2.7.2-alpha.
  2994. o Minor bugfixes (logging):
  2995. - When we can't generate a signing key because OfflineMasterKey is
  2996. set, do not imply that we should have been able to load it. Fixes
  2997. bug 18133; bugfix on 0.2.7.2-alpha.
  2998. - Stop periodic_event_dispatch() from blasting twelve lines per
  2999. second at loglevel debug. Fixes bug 18729; fix on 0.2.8.1-alpha.
  3000. - When rejecting a misformed INTRODUCE2 cell, only log at
  3001. PROTOCOL_WARN severity. Fixes bug 18761; bugfix on 0.2.8.2-alpha.
  3002. o Minor bugfixes (pluggable transports):
  3003. - Avoid reporting a spurious error when we decide that we don't need
  3004. to terminate a pluggable transport because it has already exited.
  3005. Fixes bug 18686; bugfix on 0.2.5.5-alpha.
  3006. o Minor bugfixes (pointer arithmetic):
  3007. - Fix a bug in memarea_alloc() that could have resulted in remote
  3008. heap write access, if Tor had ever passed an unchecked size to
  3009. memarea_alloc(). Fortunately, all the sizes we pass to
  3010. memarea_alloc() are pre-checked to be less than 128 kilobytes.
  3011. Fixes bug 19150; bugfix on 0.2.1.1-alpha. Bug found by
  3012. Guido Vranken.
  3013. o Minor bugfixes (relays):
  3014. - Consider more config options when relays decide whether to
  3015. regenerate their descriptor. Fixes more of bug 12538; bugfix
  3016. on 0.2.8.1-alpha.
  3017. - Resolve some edge cases where we might launch an ORPort
  3018. reachability check even when DisableNetwork is set. Noticed while
  3019. fixing bug 18616; bugfix on 0.2.3.9-alpha.
  3020. o Minor bugfixes (statistics):
  3021. - We now include consensus downloads via IPv6 in our directory-
  3022. request statistics. Fixes bug 18460; bugfix on 0.2.3.14-alpha.
  3023. o Minor bugfixes (testing):
  3024. - Allow directories in small networks to bootstrap by skipping
  3025. DirPort checks when the consensus has no exits. Fixes bug 19003;
  3026. bugfix on 0.2.8.1-alpha. Patch by teor.
  3027. - Fix a small memory leak that would occur when the
  3028. TestingEnableCellStatsEvent option was turned on. Fixes bug 18673;
  3029. bugfix on 0.2.5.2-alpha.
  3030. o Minor bugfixes (time handling):
  3031. - When correcting a corrupt 'struct tm' value, fill in the tm_wday
  3032. field. Otherwise, our unit tests crash on Windows. Fixes bug
  3033. 18977; bugfix on 0.2.2.25-alpha.
  3034. o Documentation:
  3035. - Document the contents of the 'datadir/keys' subdirectory in the
  3036. manual page. Closes ticket 17621.
  3037. - Stop recommending use of nicknames to identify relays in our
  3038. MapAddress documentation. Closes ticket 18312.
  3039. Changes in version 0.2.8.2-alpha - 2016-03-28
  3040. Tor 0.2.8.2-alpha is the second alpha in its series. It fixes numerous
  3041. bugs in earlier versions of Tor, including some that prevented
  3042. authorities using Tor 0.2.7.x from running correctly. IPv6 and
  3043. directory support should also be much improved.
  3044. o New system requirements:
  3045. - Tor no longer supports versions of OpenSSL with a broken
  3046. implementation of counter mode. (This bug was present in OpenSSL
  3047. 1.0.0, and was fixed in OpenSSL 1.0.0a.) Tor still detects, but no
  3048. longer runs with, these versions.
  3049. - Tor no longer attempts to support platforms where the "time_t"
  3050. type is unsigned. (To the best of our knowledge, only OpenVMS does
  3051. this, and Tor has never actually built on OpenVMS.) Closes
  3052. ticket 18184.
  3053. - Tor now uses Autoconf version 2.63 or later, and Automake 1.11 or
  3054. later (released in 2008 and 2009 respectively). If you are
  3055. building Tor from the git repository instead of from the source
  3056. distribution, and your tools are older than this, you will need to
  3057. upgrade. Closes ticket 17732.
  3058. o Major bugfixes (security, pointers):
  3059. - Avoid a difficult-to-trigger heap corruption attack when extending
  3060. a smartlist to contain over 16GB of pointers. Fixes bug 18162;
  3061. bugfix on 0.1.1.11-alpha, which fixed a related bug incompletely.
  3062. Reported by Guido Vranken.
  3063. o Major bugfixes (bridges, pluggable transports):
  3064. - Modify the check for OR connections to private addresses. Allow
  3065. bridges on private addresses, including pluggable transports that
  3066. ignore the (potentially private) address in the bridge line. Fixes
  3067. bug 18517; bugfix on 0.2.8.1-alpha. Reported by gk, patch by teor.
  3068. o Major bugfixes (compilation):
  3069. - Repair hardened builds under the clang compiler. Previously, our
  3070. use of _FORTIFY_SOURCE would conflict with clang's address
  3071. sanitizer. Fixes bug 14821; bugfix on 0.2.5.4-alpha.
  3072. o Major bugfixes (crash on shutdown):
  3073. - Correctly handle detaching circuits from muxes when shutting down.
  3074. Fixes bug 18116; bugfix on 0.2.8.1-alpha.
  3075. - Fix an assert-on-exit bug related to counting memory usage in
  3076. rephist.c. Fixes bug 18651; bugfix on 0.2.8.1-alpha.
  3077. o Major bugfixes (crash on startup):
  3078. - Fix a segfault during startup: If a Unix domain socket was
  3079. configured as listener (such as a ControlSocket or a SocksPort
  3080. "unix:" socket), and tor was started as root but not configured to
  3081. switch to another user, tor would segfault while trying to string
  3082. compare a NULL value. Fixes bug 18261; bugfix on 0.2.8.1-alpha.
  3083. Patch by weasel.
  3084. o Major bugfixes (dns proxy mode, crash):
  3085. - Avoid crashing when running as a DNS proxy. Fixes bug 16248;
  3086. bugfix on 0.2.0.1-alpha. Patch from "cypherpunks".
  3087. o Major bugfixes (relays, bridge clients):
  3088. - Ensure relays always allow IPv4 OR and Dir connections. Ensure
  3089. bridge clients use the address configured in the bridge line.
  3090. Fixes bug 18348; bugfix on 0.2.8.1-alpha. Reported by sysrqb,
  3091. patch by teor.
  3092. o Major bugfixes (voting):
  3093. - Actually enable support for authorities to match routers by their
  3094. Ed25519 identities. Previously, the code had been written, but
  3095. some debugging code that had accidentally been left in the
  3096. codebase made it stay turned off. Fixes bug 17702; bugfix
  3097. on 0.2.7.2-alpha.
  3098. - When collating votes by Ed25519 identities, authorities now
  3099. include a "NoEdConsensus" flag if the ed25519 value (or lack
  3100. thereof) for a server does not reflect the majority consensus.
  3101. Related to bug 17668; bugfix on 0.2.7.2-alpha.
  3102. - When generating a vote with keypinning disabled, never include two
  3103. entries for the same ed25519 identity. This bug was causing
  3104. authorities to generate votes that they could not parse when a
  3105. router violated key pinning by changing its RSA identity but
  3106. keeping its Ed25519 identity. Fixes bug 17668; fixes part of bug
  3107. 18318. Bugfix on 0.2.7.2-alpha.
  3108. o Minor features (security, win32):
  3109. - Set SO_EXCLUSIVEADDRUSE on Win32 to avoid a local port-stealing
  3110. attack. Fixes bug 18123; bugfix on all tor versions. Patch
  3111. by teor.
  3112. o Minor features (bug-resistance):
  3113. - Make Tor survive errors involving connections without a
  3114. corresponding event object. Previously we'd fail with an
  3115. assertion; now we produce a log message. Related to bug 16248.
  3116. o Minor features (build):
  3117. - Detect systems with FreeBSD-derived kernels (such as GNU/kFreeBSD)
  3118. as having possible IPFW support. Closes ticket 18448. Patch from
  3119. Steven Chamberlain.
  3120. o Minor features (code hardening):
  3121. - Use tor_snprintf() and tor_vsnprintf() even in external and low-
  3122. level code, to harden against accidental failures to NUL-
  3123. terminate. Part of ticket 17852. Patch from jsturgix. Found
  3124. with Flawfinder.
  3125. o Minor features (crypto):
  3126. - Validate the hard-coded Diffie-Hellman parameters and ensure that
  3127. p is a safe prime, and g is a suitable generator. Closes
  3128. ticket 18221.
  3129. o Minor features (geoip):
  3130. - Update geoip and geoip6 to the March 3 2016 Maxmind GeoLite2
  3131. Country database.
  3132. o Minor features (hidden service directory):
  3133. - Streamline relay-side hsdir handling: when relays consider whether
  3134. to accept an uploaded hidden service descriptor, they no longer
  3135. check whether they are one of the relays in the network that is
  3136. "supposed" to handle that descriptor. Implements ticket 18332.
  3137. o Minor features (IPv6):
  3138. - Add ClientPreferIPv6DirPort, which is set to 0 by default. If set
  3139. to 1, tor prefers IPv6 directory addresses.
  3140. - Add ClientUseIPv4, which is set to 1 by default. If set to 0, tor
  3141. avoids using IPv4 for client OR and directory connections.
  3142. - Try harder to obey the IP version restrictions "ClientUseIPv4 0",
  3143. "ClientUseIPv6 0", "ClientPreferIPv6ORPort", and
  3144. "ClientPreferIPv6DirPort". Closes ticket 17840; patch by teor.
  3145. o Minor features (linux seccomp2 sandbox):
  3146. - Reject attempts to change our Address with "Sandbox 1" enabled.
  3147. Changing Address with Sandbox turned on would never actually work,
  3148. but previously it would fail in strange and confusing ways. Found
  3149. while fixing 18548.
  3150. o Minor features (robustness):
  3151. - Exit immediately with an error message if the code attempts to use
  3152. Libevent without having initialized it. This should resolve some
  3153. frequently-made mistakes in our unit tests. Closes ticket 18241.
  3154. o Minor features (unix domain sockets):
  3155. - Add a new per-socket option, RelaxDirModeCheck, to allow creating
  3156. Unix domain sockets without checking the permissions on the parent
  3157. directory. (Tor checks permissions by default because some
  3158. operating systems only check permissions on the parent directory.
  3159. However, some operating systems do look at permissions on the
  3160. socket, and tor's default check is unneeded.) Closes ticket 18458.
  3161. Patch by weasel.
  3162. o Minor bugfixes (exit policies, security):
  3163. - Refresh an exit relay's exit policy when interface addresses
  3164. change. Previously, tor only refreshed the exit policy when the
  3165. configured external address changed. Fixes bug 18208; bugfix on
  3166. 0.2.7.3-rc. Patch by teor.
  3167. o Minor bugfixes (security, hidden services):
  3168. - Prevent hidden services connecting to client-supplied rendezvous
  3169. addresses that are reserved as internal or multicast. Fixes bug
  3170. 8976; bugfix on 0.2.3.21-rc. Patch by dgoulet and teor.
  3171. o Minor bugfixes (build):
  3172. - Do not link the unit tests against both the testing and non-
  3173. testing versions of the static libraries. Fixes bug 18490; bugfix
  3174. on 0.2.7.1-alpha.
  3175. - Avoid spurious failures from configure files related to calling
  3176. exit(0) in TOR_SEARCH_LIBRARY. Fixes bug 18626; bugfix on
  3177. 0.2.0.1-alpha. Patch from "cypherpunks".
  3178. - Silence spurious clang-scan warnings in the ed25519_donna code by
  3179. explicitly initializing some objects. Fixes bug 18384; bugfix on
  3180. 0.2.7.2-alpha. Patch by teor.
  3181. o Minor bugfixes (client, bootstrap):
  3182. - Count receipt of new microdescriptors as progress towards
  3183. bootstrapping. Previously, with EntryNodes set, Tor might not
  3184. successfully repopulate the guard set on bootstrapping. Fixes bug
  3185. 16825; bugfix on 0.2.3.1-alpha.
  3186. o Minor bugfixes (code correctness):
  3187. - Update to the latest version of Trunnel, which tries harder to
  3188. avoid generating code that can invoke memcpy(p,NULL,0). Bug found
  3189. by clang address sanitizer. Fixes bug 18373; bugfix
  3190. on 0.2.7.2-alpha.
  3191. o Minor bugfixes (configuration):
  3192. - Fix a tiny memory leak when parsing a port configuration ending in
  3193. ":auto". Fixes bug 18374; bugfix on 0.2.3.3-alpha.
  3194. o Minor bugfixes (containers):
  3195. - If we somehow attempt to construct a heap with more than
  3196. 1073741822 elements, avoid an integer overflow when maintaining
  3197. the heap property. Fixes bug 18296; bugfix on 0.1.2.1-alpha.
  3198. o Minor bugfixes (correctness):
  3199. - Fix a bad memory handling bug that would occur if we had queued a
  3200. cell on a channel's incoming queue. Fortunately, we can't actually
  3201. queue a cell like that as our code is constructed today, but it's
  3202. best to avoid this kind of error, even if there isn't any code
  3203. that triggers it today. Fixes bug 18570; bugfix on 0.2.4.4-alpha.
  3204. o Minor bugfixes (directory):
  3205. - When generating a URL for a directory server on an IPv6 address,
  3206. wrap the IPv6 address in square brackets. Fixes bug 18051; bugfix
  3207. on 0.2.3.9-alpha. Patch from Malek.
  3208. o Minor bugfixes (fallback directory mirrors):
  3209. - When requesting extrainfo descriptors from a trusted directory
  3210. server, check whether it is an authority or a fallback directory
  3211. which supports extrainfo descriptors. Fixes bug 18489; bugfix on
  3212. 0.2.4.7-alpha. Reported by atagar, patch by teor.
  3213. o Minor bugfixes (hidden service, client):
  3214. - Handle the case where the user makes several fast consecutive
  3215. requests to the same .onion address. Previously, the first six
  3216. requests would each trigger a descriptor fetch, each picking a
  3217. directory (there are 6 overall) and the seventh one would fail
  3218. because no directories were left, thereby triggering a close on
  3219. all current directory connections asking for the hidden service.
  3220. The solution here is to not close the connections if we have
  3221. pending directory fetches. Fixes bug 15937; bugfix
  3222. on 0.2.7.1-alpha.
  3223. o Minor bugfixes (hidden service, control port):
  3224. - Add the onion address to the HS_DESC event for the UPLOADED action
  3225. both on success or failure. It was previously hardcoded with
  3226. UNKNOWN. Fixes bug 16023; bugfix on 0.2.7.2-alpha.
  3227. o Minor bugfixes (hidden service, directory):
  3228. - Bridges now refuse "rendezvous2" (hidden service descriptor)
  3229. publish attempts. Suggested by ticket 18332.
  3230. o Minor bugfixes (linux seccomp2 sandbox):
  3231. - Allow the setrlimit syscall, and the prlimit and prlimit64
  3232. syscalls, which some libc implementations use under the hood.
  3233. Fixes bug 15221; bugfix on 0.2.5.1-alpha.
  3234. - Avoid a 10-second delay when starting as a client with "Sandbox 1"
  3235. enabled and no DNS resolvers configured. This should help TAILS
  3236. start up faster. Fixes bug 18548; bugfix on 0.2.5.1-alpha.
  3237. - Fix the sandbox's interoperability with unix domain sockets under
  3238. setuid. Fixes bug 18253; bugfix on 0.2.8.1-alpha.
  3239. o Minor bugfixes (logging):
  3240. - When logging information about an unparsable networkstatus vote or
  3241. consensus, do not say "vote" when we mean consensus. Fixes bug
  3242. 18368; bugfix on 0.2.0.8-alpha.
  3243. - Scrub service name in "unrecognized service ID" log messages.
  3244. Fixes bug 18600; bugfix on 0.2.4.11-alpha.
  3245. - Downgrade logs and backtraces about IP versions to info-level.
  3246. Only log backtraces once each time tor runs. Assists in diagnosing
  3247. bug 18351; bugfix on 0.2.8.1-alpha. Reported by sysrqb and
  3248. Christian, patch by teor.
  3249. o Minor bugfixes (memory safety):
  3250. - Avoid freeing an uninitialized pointer when opening a socket fails
  3251. in get_interface_addresses_ioctl(). Fixes bug 18454; bugfix on
  3252. 0.2.3.11-alpha. Reported by toralf and "cypherpunks", patch
  3253. by teor.
  3254. - Correctly duplicate addresses in get_interface_address6_list().
  3255. Fixes bug 18454; bugfix on 0.2.8.1-alpha. Reported by toralf,
  3256. patch by "cypherpunks".
  3257. - Fix a memory leak in tor-gencert. Fixes part of bug 18672; bugfix
  3258. on 0.2.0.1-alpha.
  3259. - Fix a memory leak in "tor --list-fingerprint". Fixes part of bug
  3260. 18672; bugfix on 0.2.5.1-alpha.
  3261. o Minor bugfixes (private directory):
  3262. - Prevent a race condition when creating private directories. Fixes
  3263. part of bug 17852; bugfix on 0.0.2pre13. Part of ticket 17852.
  3264. Patch from jsturgix. Found with Flawfinder.
  3265. o Minor bugfixes (test networks, IPv6):
  3266. - Allow internal IPv6 addresses in descriptors in test networks.
  3267. Fixes bug 17153; bugfix on 0.2.3.16-alpha. Patch by teor, reported
  3268. by karsten.
  3269. o Minor bugfixes (testing):
  3270. - We no longer disable assertions in the unit tests when coverage is
  3271. enabled. Instead, we require you to say --disable-asserts-in-tests
  3272. to the configure script if you need assertions disabled in the
  3273. unit tests (for example, if you want to perform branch coverage).
  3274. Fixes bug 18242; bugfix on 0.2.7.1-alpha.
  3275. o Minor bugfixes (time parsing):
  3276. - Avoid overflow in tor_timegm when parsing dates in and after 2038
  3277. on platforms with 32-bit time_t. Fixes bug 18479; bugfix on
  3278. 0.0.2pre14. Patch by teor.
  3279. o Minor bugfixes (tor-gencert):
  3280. - Correctly handle the case where an authority operator enters a
  3281. passphrase but sends an EOF before sending a newline. Fixes bug
  3282. 17443; bugfix on 0.2.0.20-rc. Found by junglefowl.
  3283. o Code simplification and refactoring:
  3284. - Quote all the string interpolations in configure.ac -- even those
  3285. which we are pretty sure can't contain spaces. Closes ticket
  3286. 17744. Patch from zerosion.
  3287. - Remove specialized code for non-inplace AES_CTR. 99% of our AES is
  3288. inplace, so there's no need to have a separate implementation for
  3289. the non-inplace code. Closes ticket 18258. Patch from Malek.
  3290. - Simplify return types for some crypto functions that can't
  3291. actually fail. Patch from Hassan Alsibyani. Closes ticket 18259.
  3292. o Documentation:
  3293. - Change build messages to refer to "Fedora" instead of "Fedora
  3294. Core", and "dnf" instead of "yum". Closes tickets 18459 and 18426.
  3295. Patches from "icanhasaccount" and "cypherpunks".
  3296. o Removed features:
  3297. - We no longer maintain an internal freelist in memarea.c.
  3298. Allocators should be good enough to make this code unnecessary,
  3299. and it's doubtful that it ever had any performance benefit.
  3300. o Testing:
  3301. - Fix several warnings from clang's address sanitizer produced in
  3302. the unit tests.
  3303. - Treat backtrace test failures as expected on FreeBSD until we
  3304. solve bug 17808. Closes ticket 18204.
  3305. Changes in version 0.2.8.1-alpha - 2016-02-04
  3306. Tor 0.2.8.1-alpha is the first alpha release in its series. It
  3307. includes numerous small features and bugfixes against previous Tor
  3308. versions, and numerous small infrastructure improvements. The most
  3309. notable features are a set of improvements to the directory subsystem.
  3310. o Major features (security, Linux):
  3311. - When Tor starts as root on Linux and is told to switch user ID, it
  3312. can now retain the capability to bind to low ports. By default,
  3313. Tor will do this only when it's switching user ID and some low
  3314. ports have been configured. You can change this behavior with the
  3315. new option KeepBindCapabilities. Closes ticket 8195.
  3316. o Major features (directory system):
  3317. - When bootstrapping multiple consensus downloads at a time, use the
  3318. first one that starts downloading, and close the rest. This
  3319. reduces failures when authorities or fallback directories are slow
  3320. or down. Together with the code for feature 15775, this feature
  3321. should reduces failures due to fallback churn. Implements ticket
  3322. 4483. Patch by "teor". Implements IPv4 portions of proposal 210 by
  3323. "mikeperry" and "teor".
  3324. - Include a trial list of 21 default fallback directories, generated
  3325. in January 2016, based on an opt-in survey of suitable relays.
  3326. Doing this should make clients bootstrap more quickly and reliably,
  3327. and reduce the load on the directory authorities. Closes ticket
  3328. 15775. Patch by "teor".
  3329. Candidates identified using an OnionOO script by "weasel", "teor",
  3330. "gsathya", and "karsten".
  3331. - Previously only relays that explicitly opened a directory port
  3332. (DirPort) accepted directory requests from clients. Now all
  3333. relays, with and without a DirPort, accept and serve tunneled
  3334. directory requests that they receive through their ORPort. You can
  3335. disable this behavior using the new DirCache option. Closes
  3336. ticket 12538.
  3337. o Major key updates:
  3338. - Update the V3 identity key for the dannenberg directory authority:
  3339. it was changed on 18 November 2015. Closes task 17906. Patch
  3340. by "teor".
  3341. o Minor features (security, clock):
  3342. - Warn when the system clock appears to move back in time (when the
  3343. state file was last written in the future). Tor doesn't know that
  3344. consensuses have expired if the clock is in the past. Patch by
  3345. "teor". Implements ticket 17188.
  3346. o Minor features (security, exit policies):
  3347. - ExitPolicyRejectPrivate now rejects more private addresses by
  3348. default. Specifically, it now rejects the relay's outbound bind
  3349. addresses (if configured), and the relay's configured port
  3350. addresses (such as ORPort and DirPort). Fixes bug 17027; bugfix on
  3351. 0.2.0.11-alpha. Patch by "teor".
  3352. o Minor features (security, memory erasure):
  3353. - Set the unused entries in a smartlist to NULL. This helped catch
  3354. a (harmless) bug, and shouldn't affect performance too much.
  3355. Implements ticket 17026.
  3356. - Use SecureMemoryWipe() function to securely clean memory on
  3357. Windows. Previously we'd use OpenSSL's OPENSSL_cleanse() function.
  3358. Implements feature 17986.
  3359. - Use explicit_bzero or memset_s when present. Previously, we'd use
  3360. OpenSSL's OPENSSL_cleanse() function. Closes ticket 7419; patches
  3361. from <logan@hackers.mu> and <selven@hackers.mu>.
  3362. - Make memwipe() do nothing when passed a NULL pointer or buffer of
  3363. zero size. Check size argument to memwipe() for underflow. Fixes
  3364. bug 18089; bugfix on 0.2.3.25 and 0.2.4.6-alpha. Reported by "gk",
  3365. patch by "teor".
  3366. o Minor features (security, RNG):
  3367. - Adjust Tor's use of OpenSSL's RNG APIs so that they absolutely,
  3368. positively are not allowed to fail. Previously we depended on
  3369. internal details of OpenSSL's behavior. Closes ticket 17686.
  3370. - Never use the system entropy output directly for anything besides
  3371. seeding the PRNG. When we want to generate important keys, instead
  3372. of using system entropy directly, we now hash it with the PRNG
  3373. stream. This may help resist certain attacks based on broken OS
  3374. entropy implementations. Closes part of ticket 17694.
  3375. - Use modern system calls (like getentropy() or getrandom()) to
  3376. generate strong entropy on platforms that have them. Closes
  3377. ticket 13696.
  3378. o Minor features (accounting):
  3379. - Added two modes to the AccountingRule option: One for limiting
  3380. only the number of bytes sent ("AccountingRule out"), and one for
  3381. limiting only the number of bytes received ("AccountingRule in").
  3382. Closes ticket 15989; patch from "unixninja92".
  3383. o Minor features (build):
  3384. - Since our build process now uses "make distcheck", we no longer
  3385. force "make dist" to depend on "make check". Closes ticket 17893;
  3386. patch from "cypherpunks."
  3387. - Tor now builds successfully with the recent OpenSSL 1.1
  3388. development branch, and with the latest LibreSSL. Closes tickets
  3389. 17549, 17921, and 17984.
  3390. o Minor features (controller):
  3391. - Adds the FallbackDir entries to 'GETINFO config/defaults'. Closes
  3392. tickets 16774 and 17817. Patch by George Tankersley.
  3393. - New 'GETINFO hs/service/desc/id/' command to retrieve a hidden
  3394. service descriptor from a service's local hidden service
  3395. descriptor cache. Closes ticket 14846.
  3396. - Add 'GETINFO exit-policy/reject-private/[default,relay]', so
  3397. controllers can examine the the reject rules added by
  3398. ExitPolicyRejectPrivate. This makes it easier for stem to display
  3399. exit policies.
  3400. o Minor features (crypto):
  3401. - Add SHA512 support to crypto.c. Closes ticket 17663; patch from
  3402. George Tankersley.
  3403. - Add SHA3 and SHAKE support to crypto.c. Closes ticket 17783.
  3404. - When allocating a digest state object, allocate no more space than
  3405. we actually need. Previously, we would allocate as much space as
  3406. the state for the largest algorithm would need. This change saves
  3407. up to 672 bytes per circuit. Closes ticket 17796.
  3408. - Improve performance when hashing non-multiple of 8 sized buffers,
  3409. based on Andrew Moon's public domain SipHash-2-4 implementation.
  3410. Fixes bug 17544; bugfix on 0.2.5.3-alpha.
  3411. o Minor features (directory downloads):
  3412. - Wait for busy authorities and fallback directories to become non-
  3413. busy when bootstrapping. (A similar change was made in 6c443e987d
  3414. for directory caches chosen from the consensus.) Closes ticket
  3415. 17864; patch by "teor".
  3416. - Add UseDefaultFallbackDirs, which enables any hard-coded fallback
  3417. directory mirrors. The default is 1; set it to 0 to disable
  3418. fallbacks. Implements ticket 17576. Patch by "teor".
  3419. o Minor features (geoip):
  3420. - Update geoip and geoip6 to the January 5 2016 Maxmind GeoLite2
  3421. Country database.
  3422. o Minor features (IPv6):
  3423. - Add an argument 'ipv6=address:orport' to the DirAuthority an