A Tor névtelen hálózat fejlesztői bemutatták az Arti 0.0.3 projekt kiadását, amely a Rust nyelven írt Tor-klientset fejleszti. A projekt kísérleti fejlesztési státusszal rendelkezik, míg a C nyelvű alap Tor kliens funkcióit nem tudja teljesen felváltani, és még nem készült el teljes mértékben. Márciusban várható a 0.1.0 verzió kiadása, amelyet a projekt első béta kiadásaként pozicionálnak, és ősszel érkezik a 1.0 kiadás, amely stabilizálja az API-t, CLI-t és a beállításokat, amely alkalmas lesz a közönséges felhasználók kezdeti használatára. A távoli jövőben, amikor a Rust kód eléri azt a szintet, amely képes teljes mértékben helyettesíteni a C változatot, a fejlesztők szándékoznak az Arti-t a Tor fő megvalósításának nyilvánítani, és megszüntetni a C megvalósítás támogatását.
A C nyelven írt megvalósítással ellentétben, amely kezdetben SOCKS-proxiként lett megtervezve, majd szereket igazították más szükségletekhez, az Arti eredetileg moduláris, beépíthető könyvtár formájában fejlődik, amelyet különböző alkalmazások tudnak használni. Ezen kívül, az új projekt fejlesztése során minden korábbi Tor-fejlesztési tapasztalatot figyelembe vesznek, ami lehetővé teszi a már ismert architekturális problémák elkerülését, a projekt modulárisabbá és hatékonyabbá tételét. A kód az Apache 2.0 és MIT licenc alatt terjesztett.
A Rust nyelvre való átírás egyik okaként a kód biztonságának magasabb szintű elérésének szándékát említik, a memóriával való biztonságos munkát biztosító nyelv használatával. A Tor fejlesztői szerint a projekt által követett sérülékenységek legalább felét ki lehet zárni a Rust megvalósításban, ha a kódban nem használnak «unsafe» blokkokat. A Rust lehetőséget ad arra is, hogy a fejlesztést gyorsabban végezzék, mint C használatával, a nyelv kifejezőképessége és szigorú garanciái miatt, amelyek lehetővé teszik a dupla ellenőrzésekkel és felesleges kódírásokkal való időpazarlás elkerülését.
A 0.0.3 kiadásban a változtatások között szerepel a konfigurációs rendszer és a hozzá kapcsolódó API teljes átdolgozása. A változás lehetővé tette, hogy a Tor kliens működése közben dinamikusan változtassák a beállításokat Rustból. Emellett egy új, előremutató láncépítő rendszert is hozzáadtak, amely figyelembe veszi az előzőleg használt portokat az előremutató láncok létrehozásához, amelyek valószínűleg a jövőben szükségesek lesznek.
Forrás: opennet.ru
