В публикуваното миналата седмица обновление macOS 15.4 компанията Apple замени утилитата rsync с алтернативна реализация openrsync, развивана от проекта OpenBSD. Изпълнимият файл /usr/bin/rsync в macOS сега сочи към openrsync. Предполага се, че причината за замяната са наскоро откритите проблеми със сигурността в rsync, работата по намаляване на компонентите, обхващащи лицензи под копилефт, и желанието да се отърват от остарялата версия на rsync, която не може да бъде обновена заради лиценционната политика.
Ключовите характеристики на openrsync са първоначалната разработка с акцент върху осигуряването на висока сигурност, доставката на кода под разрешителната лицензия ISC (семейство BSD) вместо лиценцията GPL на rsync и използването на различна вътрешна архитектура (един процес за приемане и изпращане на данни, използващ цикъл за обработка на събития). На ниво протокол openrsync е съвместим с rsync, но не поддържа всички опции на командния ред, а само най-търсените за синхронизация на файлове и резервно копиране. Липсата на поддръжка на второстепенни функции позволява да се поддържа размерът на кодовата база openrsync в пределите на 10 хиляди реда код, за да се намали атаката. За сравнение, в последната версия на rsync - 62 хиляди реда на езика C.
Въпреки че досега в macOS се предоставяше остарялата версия rsync 2.6.9, издадена през ноември 2006 година, замяната няма да доведе до забележимо намаляване на функционалността. Версия rsync 2.6.9 беше избрана като последната, разпространявана под лиценцията GPLv2+. Следващата версия бе rsync 3.0, преведена на лиценция GPLv3, която забранява тивоификацията (привързването на софтуера към хардуер).
Източник: opennet.ru
