Выпуск OpenBSD 6.6

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

Кроме непосредственно операционной системы, проект 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.

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

  • В состав включена утилита sysupgrade, предназначенная для автоматического обновления системы до нового релиза. Sysupgrade загружает необходимые для обновления файлы, проверяет их при помощи signify, копирует ramdisk bsd.rd в bsd.upgrade и инициирует перезагрузку системы. Загрузчик, обнаружив наличие bsd.upgrade, начинает его автоматическую загрузку и автоматическое обновление системы. Для прошлой ветки OpenBSD 6.5 подготовлен syspatch, добавляющий sysupgrade и позволяющий при помощи данной утилиты обновить свою систему до OpenBSD 6.6 на архитектурах amd64, arm64 и i386 через выполнение «syspatch && sysupgrade»;
  • Для процессоров Cavium OCTEON (mips64) в качестве основного компилятора базовой системы задействован Clang. Для архитектуры powerpc добавлена опциональная поддержка сборки с использованием Clang. Для архитектур armv7 и i386 компилятор GCC отключен по умолчанию (оставлен только Clang);
  • В состав включён драйвер amdgpu для GPU AMD. Обновлён драйвер drm (Direct Rendering Manager). Добавлена возможность доступа непривилегированных пользователей к устройству drm через смену владельца над устройством при первом обращении. Код драйверов inteldrm и radeondrm синхронизирован с ядром Linux 4.19.78. Добавлена поддержка GPU, используемых в чипах Intel Broxton/Apollo Lake, Amber Lake, Gemini Lake, Coffee Lake, Whiskey Lake и Comet Lake;
  • Реализован совместимый с Linux интерфейс acpi и добавлена поддержка ACPI в драйверах radeon и amdgpu;
  • Добавлен драйвер aplgpio для контроллеров GPIO, используемых в SoC Intel Apollo Lake;
  • Улучшена поддержка контроллеров SAS3, повышена надёжность определения накопителей во время загрузки и добавлена поддержка 64-разрядного DMA в драйвере mpii;
  • Для PCI-устройств реализована поддержка спецификации virtio 1.0;
  • Добавлена поддержка криптографических сопроцессоров, применяемых в CPU/APU AMD Ryzen. Добавлен драйвер ksmn для термодатчиков, применяемых в 17 поколении процессоров AMD;
  • Улучшена поддержка архитектуры ARM64. Добавлена поддержка систем на базе CPU Ampere eMAG. Добавлены новые драйверы для SoC Amlogic, Allwinner A64, i.MX8M, Armada 3700. Добавлена поддержка CPU Cortex-A65;
  • Во все беспроводные драйверы добавлена возможность передачи полученных пакетов в сетевой стек в пакетном режиме, обрабатывая сразу несколько пакетов в рамках одного прерывания;
  • Повышена производительность кэша файловых систем на компьютерах с архитектурой AMD64;
  • Налажена работа startx и xinit на современных системах, используя графические драйверы inteldrm, radeondrm и amdgpu;
  • Усовершенствован системный вызов unveil, который обеспечивает изоляцию доступа к файловой системе. Число приложений из базовой системы, для которых реализована защита с использованием unveil, доведено до 77;
  • Избавлены от глобальной блокировки системные вызовы getrlimit, setrlimit, read и write, а также код для доступа к ограничениям ресурcов и смены позиции в файлах;
  • Улучшен метод блокирования уязвимостей Spectre в CPU Intel. Добавлена защита от атак класса MDS (Microarchitectural Data Sampling) в процессорах Intel;
  • В ntpd появился безопасный режим установки и получения значений системных часов во время загрузки, даже при отсутствии часов с автономным питанием;
  • В мультиплексор терминалов tmux добавлена возможность использования регулярных выражений в командах search, match и substitute. Добавлена простая система меню с управлением мышью или клавиатурой. Для показа меню в строке состояния предложена команда «display-menu». Реализована автоматическая прокрутка при перемещении курсора мыши за пределы верхнего или нижнего краёв экрана во время выделения областей;
  • Увеличена производительность bgpd. Переписан код для сопоставления community, существенно ускорена работа конфигураций с несколькими community и большим числом peer-ов. В bgpctl добавлена команда ‘show mrt neighbors’;
  • В DNS резолвер unwind добавлена поддержка списков блокировки;
  • Добавлена утилита snmp с реализацией нового клиента SNMP, пришедшего на смену snmpctl;
  • Обновлена версия почтового сервера OpenSMTPD. Добавлен API для написания внешних фильтров, которые могут распространяться отдельно через порты. Также добавлена поддержка встроенных фильтров, обеспечивающих простые функции отсеивания входящих сеансов. Добавлена опция для доставки отфильтрованной почты в каталог Junk в mail.maildir. Реализована поддержка протокола proxy-v2, позволяющего размещать SMTP-сервер за прокси. Реализована поддержка сертификатов ECDSA.
  • Обновлён пакет OpenSSH 8.1, подробный обзор улучшений можно посмотреть здесь;
  • Обновлён пакет LibreSSL, в котором завершено портирование из OpenSSL 1.1 структуры RSA_METHOD, позволяющей использовать различные реализации функций для работы с RSA;
  • Число портов для архитектуры AMD64 составило 10736, для aarch64 — 10075, для i386 — 10682. Обновлены компоненты от сторонних разработчиков, входящие в состав OpenBSD 6.6:
    • Графический стек Xenocara на базе X.Org 7.7 with xserver 1.20.5 + patches, freetype 2.10.1, fontconfig 2.12.4, Mesa 19.0.8, xterm 344, xkeyboard-config 2.20;
    • LLVM/Clang 8.0.1 (с патчами)
    • GCC 4.2.1 (с патчами) и 3.3.6 (с патчами)
    • Perl 5.28.2 (с патчами)
    • NSD 4.2.2
    • Unbound 1.9.4
    • Ncurses 5.7
    • Binutils 2.17 (с патчами)
    • Gdb 6.3 (с патчами)
    • Awk Aug 10, 2011
    • Expat 2.2.8

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