Utvecklarna av Tor-projektet har slÀppt version 2.0.0 av Arti, den officiella utvecklade versionen av Tor-verktyget som Àr skrivet i Rust. Implementeringen Àr markerad som anvÀndbar för vanliga anvÀndare och erbjuder samma nivÄ av sekretess, anvÀndarvÀnlighet och stabilitet som huvudimplementeringen i C. NÀr koden i Rust nÄr en nivÄ som helt kan ersÀtta den i C, avser utvecklarna att ge Arti status som huvudimplementering av Tor och gradvis avsluta stödet för versionen i C. Koden distribueras under licenserna Apache 2.0 och MIT.
Arti utvecklas ursprungligen som ett modulÀrt inbÀddat bibliotek som olika applikationer kan anvÀnda. Vid utformningen av Arti har tidigare erfarenheter av Tor-utvecklingen beaktats, vilket har möjliggjort att undvika kÀnda arkitekturproblem relaterade till att C-implementeringen ursprungligen designades som en SOCKS-proxy och sedan justerades för andra behov.
Förutom arkitekturmoderniseringen var en av anledningarna till att skriva om Tor i Rust önskan att öka sÀkerheten i koden genom att anvÀnda ett sprÄk som erbjuder sÀker minneshantering. Enligt Tor-utvecklarnas bedömning kommer anvÀndningen av Rust utan "unsafe"-block att förhindra minst hÀlften av alla typiska sÄrbarheter i projektet. Dessutom förvÀntas Rust förbÀttra utvecklingstakten tack vare sprÄkets uttrycksfullhet och strikta garantier, vilket gör att man kan spara tid genom att undvika dubbelkontroller och onödig kod.
En betydande versionsÀndring har gjorts i enlighet med den semantiska versioneringmodellen som projektet tillÀmpar och beror pÄ Àndringar som bryter mot bakÄtkompatibiliteten. Stödet för instÀllningarna proxy.socks_port och proxy.dns_port, som tidigare hade meddelats som förÄldrade, har upphört, och har ersatts av instÀllningarna proxy.socks_listen och proxy.dns_listen. Stödet för den gamla syntaxen för definiering av servrar kataloger (Directory Authority) har upphört. Alla grÀnssnitt i crate-paketet arti som planeras att flyttas till andra crate-paket eller tas bort har markerats som experimentella.
Den nya funktionen inkluderar stöd för en ny typ av sockel «inet-auto» för automatisk tilldelning av oanvÀnda TCP-portar för RPC-servern. Arbetet med funktionaliteten för relÀer och katalogservrar har fortsatt. För katalogservrar har arbete utförts för hantering av certifikat, med möjligheter för uppladdning, verifiering och lagring av certifikat. För relÀer har en ny modulÀr arkitektur för hantering av nodkedjor implementerats, stöd för att skapa kommunikationskanaler med andra relÀer, stöd för att bearbeta begÀrningar om anslutningsöversyn och möjlighet för relÀet att fungera i rollen servern vid installation av TLS-anslutning.
KĂ€lla: opennet.ru
