%. Звучит как откат, но причина в другом. Тестовый набор обновили до GNU Coreutils 9.11, туда добавили 25 новых проверок. После этого uutils прошёл 625 тестов, а 56 завалил. В прошлой версии было 630 успешных и 21 неуспешный тест, отсюда падение с 94,74%. Самая важная часть релиза - безопасность. После аудита Zellic исправили 44 уязвимости. Много проблем было связано с расхождением поведения относительно GNU Coreutils и гонками файловой системы. Типичный сценарий: программа проверяет файл, а между проверкой и действием его успевают заменить на симлинк. Для обычного запуска это неприятно. Для cp, chmod или mv от root это уже критично: можно добиться копирования, изменения прав или перезаписи чужого файла. Для защиты усилили безопасное копирование через uucore::safe_copy. Параллельно продолжается техническая чистка: - id, tr, timeout, sort, wc, tail, cp, who, factor переводят на rustix - сокращают количество unsafe - в cat, wc, head, tail, yes, cp, tee, unexpand используют splice(),
Rust Coreutils 0.9.0 вышел с важным обновлением: закрыли 44 уязвимости, но формальная совместимость с GNU Coreutils просела до 90,58
31 мая31 мая
6
1 мин