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)