OpenBSD – свободная, многоплатформенная UNIX-подобная операционная система на базе 4.4BSD. 57-й выпуск, OpenBSD 7.6, содержит новые возможности, различные улучшения, исправления ошибок и доработки.
Улучшения в области безопасности
- В компилятор добавлен параметр
-fret-clean, по умолчанию выключенный. Эта новая опция заставляет вызывающую программу очищать адрес возврата из стека после завершения вызова. Опция-fret-cleanбыла включена в amd64 для libc, libcrypto, ld.so, ядра и всех инструментов ssh. - Раскрытие определения цели ветвления (BTI) для пользовательского окружения и обеспечение генерации LLVM кода с инструкциями BTI.
- Включили PAC в дополнение к BTI на arm64, чтобы JIT-код соответствовал стандартной защите от ветвлений, предоставляемой нашим базовым компилятором.
- Ограничили NFS-соединения, которые должны исходить из зарезервированного порта, но разрешили нулевые запросы (они же пинги сервера) из нерезервированных портов в nfs.
- Сделали локальные порты, привязанные в
connect(2), уникальными для каждого laddr, а не глобально уникальными. - Применены правила
pinsyscalls(2)для нестатических текстовых сегментов. - Добавлены
pledgeиunveilвrpcinfo(8). - Добавлен
AUDIO_GETDEVв аудиоpledge(2).
Внесены изменения в брандмауэр pf(4)
- Добавлено отображение счетчиков пересборки фрагментов
pf(4)вpfctl(8)иsystat(1). - Исправлено отсутствие TCP-состояния
pfsync(4)для однорангового соединения назначения, что уменьшило избыточныйpfsyncтрафик. - Позволяет пользователям определять таблицы внутри якоря так же, как они могут определять глобальные таблицы в
pf.conf(5). Ранее для этого требовался отдельный вызовpfctl -a foo -t bar.
Новые возможности в сетевом стеке
- Сделано так, что PPP-интерфейсы могут работать в
rdomain(4)и устанавливать маршрут по умолчанию в том же домене маршрутизации. - Введено
rport(4)для соединения уровня 3 «точка-точка» между доменами маршрутизации. Аналогичноpair(4), но более эффективно, поскольку не добавляет Ethernet-заголовки. - Реализована IPv6-пересылка только по IPsec (
sysctl net.inet6.ip6.forwarding = 2), что эквивалентноnet.inet.ip.forwarding = 2для IPv4. - Добавлены
BIOCSETFNRвbpf(4), как иBIOCSETF, без сброса буфера и статистики. - Реализовано
SO_ACCEPTCONNвgetsockopt(2), которое может быть использовано для проверки того, чтоlisten(2)было вызвано и сокет принимает соединения.
Различные новые пользовательские функции
- Добавлен
scandirat(3)из FreeBSD. - Добавлена
elf_aux_info(3), предназначенная для того, чтобы пользовательская среда могла подглядывать вAT_HWCAPиAT_HWCAP2, используя интерфейс из FreeBSD. - Добавлена недостающая функция
wcsnlen(3)для нахождения длины широкой строки (т.е.wcslen(3)с аргументом max len). - Импортирована libva 2.22.0, реализация VA-API (API видеоускорения). VA-API предоставляет доступ к возможностям аппаратного ускорения графики для обработки видео.
- Добавлены опции
-u name–env(1)для удаления переменной из окружения.
OpenBSD 7.6 доступна для загрузки здесь. Полный список изменений и дополнений смотрите здесь.

Комментарии (0)