Програмери пројекта Tor објавили су Arti 2.0.0, званично одржавану верзију Tor алата написану у Rust-у. Имплементација је означена као погодна за употребу од стране редовних корисника и пружа исти ниво приватности, употребљивости и стабилности као и главна C имплементација. Када Rust код достигне ниво који може потпуно да замени C имплементацију, програмери намеравају да надограде Arti на главну Tor имплементацију и постепено укину одржавање C имплементације. Код је лиценциран под Apache 2.0 и MIT лиценцама.
Арти је првобитно развијен као модуларна библиотека која се може уградити и коју могу користити разне апликације. Артијев дизајн узима у обзир претходно искуство са Тором, чиме се избегавају познати архитектонски проблеми повезани са имплементацијом Ц који је првобитно дизајниран као СОЦКС проки, а затим прилагођен другим потребама.
Поред модернизације архитектуре, разлог за преписивање Тора у Русту била је жеља да се повећа безбедност кода коришћењем језика који обезбеђује безбедан рад са меморијом. Према речима програмера Тор, коришћење Руст језика без „небезбедних“ блокова ће спречити најмање половину свих типичних рањивости у пројекту. Такође се очекује да ће Руст повећати брзину развоја захваљујући изражајности језика и јаким гаранцијама које елиминишу потребу за губљењем времена на двоструку проверу и писање непотребног кода.
Значајна промена броја верзије је направљена у складу са семантичким моделом верзирања пројекта и последица је промена које нарушавају уназадну компатибилност. Подршка за подешавања proxy.socks_port и proxy.dns_port, која су раније била застарела, је укинута и замењена су подешавањима proxy.socks_listen и proxy.dns_listen. Подршка за стару синтаксу дефиниције је укинута. сервери Директоријуми (Directory Authority). Сви API-ји у arti crate пакету су означени као експериментални и планирано је да буду премештени у друге crate-ове или уклоњени.
Нова функционалност укључује подршку за нови тип сокета „inet-auto“ за аутоматско додељивање неискоришћеног TCP порта RPC серверу. Имплементација функционалности за релеје и сервере директоријума је настављена. Управљање сертификатима је имплементирано за сервере директоријума, са додатом могућношћу отпремања, верификације и складиштења сертификата. За релеје је имплементирана нова модуларна архитектура управљања ланцем чворова, заједно са подршком за креирање комуникационих канала са другим релејима, подршком за обраду захтева за преговарање о вези и могућношћу да релеји функционишу као сервер приликом успостављања TLS везе.
Извор: опеннет.ру
