Выпуск OpenBSD 7.0

Представлен выпуск свободной кросс-платформенной UNIX-подобной операционной системы OpenBSD 7.0. Отмечается, что это 51 выпуск проекта, которому 18 октября исполнится 26 лет. Проект OpenBSD был основан Тэо де Раадтом (Theo de Raadt) в 1995 году после конфликта с разработчиками NetBSD, в результате которого для Тэо был закрыт доступ к CVS репозиторию NetBSD. После этого Тэо де Раадт с группой единомышленников создал на базе дерева исходных текстов NetBSD новую открытую операционную систему, главными целями развития которой стали переносимость (поддерживается 13 аппаратных платформ), стандартизация, корректная работа, проактивная безопасность и интегрированные криптографические средства. Размер полного установочного ISO-образа базовой системы OpenBSD 7.0 составляет 554 МБ.

Кроме непосредственно операционной системы, проект OpenBSD известен своими компонентами, которые получили распространение в других системах и зарекомендовали себя как одни из наиболее безопасных и качественных решений. Среди них: LibreSSL (форк OpenSSL), OpenSSH, пакетный фильтр PF, демоны маршрутизации OpenBGPD и OpenOSPFD, NTP-сервер OpenNTPD, почтовый сервер OpenSMTPD, мультиплексор текстового терминала (аналог GNU screen) tmux, демон identd с реализацией протокола IDENT, BSDL-альтернатива пакету GNU groff — mandoc, протокол для организации отказоустойчивых систем CARP (Common Address Redundancy Protocol), легковесный http-сервер, утилита синхронизации файлов OpenRSYNC.

Основные улучшения:

  • Добавлен порт для 64-разрядных систем на базе архитектуры RISC-V. В настоящее время поддерживается работа на платах HiFive Unmatched и частично на PolarFire SoC Icicle Kit.
  • В порте для платформ ARM64 улучшена, но пока всё ещё не доведена до конца, поддержка устройств Apple с процессором M1. В текущем виде поддерживается установка OpenBSD на диск с GPT и имеются драйверы для USB 3, NVME, GPIO и SPMI. Помимо M1 в порте ARM64 также расширена поддержка Raspberry Pi 3 Model B+ и плат на базе SoC Rockchip RK3399.
  • Для архитектуры AMD64 отключён по умолчанию компилятор GCC (оставлен только Clang). Ранее GCC был отключён для архитектур armv7 и i386.
  • Прекращено сопровождение платформы SGI.
  • Для платформ amd64, arm64, i386, sparc64 и powerpc64 по умолчанию включена сборка ядра с поддержкой системы динамической трассировки dt. Добавлен провайдер kprobes для сбора информации о событиях на уровне ядра.
  • В btrace реализована поддержка операторов «<» и «>» в фильтрах и обеспечен вывод времени нахождения в пространстве пользователя при анализе стека ядра.
  • Добавлен конфигурационный файл /etc/bsd.re-config, который можно использовать для настройки ядра во время загрузки и включения/отключения определённых устройств.
  • Обеспечено определение наличия устройств TPM 2.0 и корректное выполнение команд для перехода в спящий режим (решает проблему с пробуждением ноутбуков ThinkPad X1 Carbon Gen 9 и ThinkPad X1 Nano).
  • Реализация kqueue переведена на использование mutex-ов.
  • Реализована возможность настройки через sysctl размера буфера для сокетов PF_UNIX. Размер буфера по умолчанию увеличен до 8 КБ.
  • Усовершенствована поддержка многопроцессорных систем (SMP). Переведён в разряд mp-safe вызов pmap_extract() на системах hppa и amd64. Из общей блокировки ядра выведен код для подсчёта ссылок на анонимные объекты, часть обработчика исключений и функции lseek, connect и setrtable. Реализованы отдельного для каждого ядра CPU буферы сообщений при крахе (panic).
  • Реализация фреймворка drm (Direct Rendering Manager) синхронизирована с ядром Linux 5.10.65. В драйвере inteldrm улучшена поддержка чипов Intel на базе микроархитектуры Tiger Lake. В драйвере amdgpu реализована поддержка GPU Navi 12, Navi 21 «Sienna Cichlid», Arcturus и APU Cezanne «Green Sardine» Ryzen 5000.
  • Добавлена поддержка нового оборудования, в том числе Aquantia AQC111U/AQC112U USB Ethernet, Aquantia 1/2.5/5/10Gb/s PCIe Ethernet, Cadence GEM, Broadcom BCM5725, RTL8168FP/RTL8111FP/RTL8117 Улучшена поддержка платформ Intel на базе микроархитектуры Tiger Lake. Добавлен драйвер ucc для клавиатур с интерфейсом USB HID Consumer Control, в которых используются кнопки вызова приложений, управления воспроизведением звука и изменения громкости.
  • Внесены улучшения в гипервизор VMM. Добавлен лимит в 512 VCPU на виртуальную машину. Решены проблемы с блокировками VCPU. В бэкенде для управления виртуальными машинами vmd появилась поддержка защиты от гостевых систем с вредоносными драйверами virtio.
  • Из NetBSD перенесена утилита timeout, позволяющая ограничить время выполнения команд.
  • В утилите синхронизации файлов openrsync реализованы опции «include» и «exclude».
  • В утилите ps обеспечен вывод сведений о сопутствующих группах.
  • В текстовый редактор mg добавлена команда «dired-jump».
  • В утилитах fdisk и newfs улучшена поддержка дисков с размером сектора 4K. В fdisk переделан код инициализации MBR/GPT и добавлено распознавание GPT-разделов «BIOS Boot», «APFS», «APFS ISC», «APFS Recovry» (sic), «HiFive FSBL» и «HiFive BBL». Добавлена опция «-A» для инициализации GPT без удаления загрузочных разделов.
  • В утилите traceroute для ускорения работы реализована обработка проверочных пакетов и запросов DNS в асинхронном режиме.
  • В утилите doas предоставлено три попытки ввода пароля.
  • В xterm обеспечена изоляция доступа к файловой системе при помощи системного вызова unveil(). Процессы ftpd защищены при помощи вызов pledge.
  • Реализован вывод в лог сведений о некорректном использовании параметра форматирования «%n» в функции printf.
  • В реализации IPsec в iked добавлена поддержка настройки DNS на стороне клиента.
  • В snmpd по умолчанию отключена поддержка протоколов SNMPv1 и SNMPv2c в пользу применения SNMPv3.
  • По умолчанию включены процессы dhcpleased и resolvd, предоставляющие возможность настройки адресов IPv4 через DHCP. Утилита dhclient оставлена в системе в качестве опции. В утилиту route добавлена команда «nameserver» для передачи информации о серере DNS в resolvd.
  • В LibreSSL добавлена поддержка TLSv3 API OpenSSL 1.1.1 и активирован новый валидатор X.509, поддерживающий корректную проверку перекрёстно подписанных сертификатов.
  • В OpenSMTPD добавлена поддержка опций TLS «cafile=(path)», «nosni», «noverify» и «servername=(name)». В smtp разрешено выбирать параметры шифров и протоколов TLS.
  • Обновлён пакет OpenSSH. Подробный обзор улучшений можно посмотреть здесь: OpenSSH 8.7, OpenSSH 8.8. Отключена поддержка цифровых подписей rsa-sha.
  • Число портов для архитектуры AMD64 составило 11325, для aarch64 — 11034, для i386 — 10248. Среди версий приложений в портах: FFmpeg 4.4 GCC 8.4.0 и 11.2.0 GNOME 40.4 Go 1.17 JDK 8u302, 11.0.12 и 16.0.2 KDE Applications 21.08.1 KDE Frameworks 5.85.0 LLVM/Clang 11.1.0 LibreOffice 7.2.1.2 Lua 5.1.5, 5.2.4 и 5.3.6 MariaDB 10.6.4 Node.js 12.22.6 PHP 7.3.30, 7.4.23 и 8.0.10 Postfix 3.5.12 PostgreSQL 13.4 Python 2.7.18, 3.8.12 и 3.9.7 Qt 5.15.2 и 6.0.4 Ruby 2.6.8, 2.7.4 и 3.0.2 Rust 1.55.0 SQLite 3.35.5 Xfce 4.16
  • Обновлены компоненты от сторонних разработчиков, входящие в состав OpenBSD 7.0:
    • Графический стек Xenocara на базе X.Org 7.7 с xserver 1.20.13 + патчи, freetype 2.10.4, fontconfig 2.12.4, Mesa 21.1.8, xterm 367, xkeyboard-config 2.20, fonttosfnt 1.2.2.
    • LLVM/Clang 11.1.0 (+ патчи)
    • GCC 4.2.1 (+ патчи) и 3.3.6 (+ патчи)
    • Perl 5.32.1 (+ патчи)
    • NSD 4.3.7
    • Unbound 1.13.3
    • Ncurses 5.7
    • Binutils 2.17 (+ патчи)
    • Gdb 6.3 (+ патч )
    • Awk 18.12.2020
    • Expat 2.4.1

Источник: opennet.ru