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

Стоит отметить, что это последний релиз OpenBSD с поддержкой архитектуры Vax. Из-за нехватки рабочего оборудования не удалось даже подготовить полноценный релиз, поэтому несколько недель назад было принято решение отказаться от данной архитектуры, не поддерживавшей разделяемые библиотеки. Следующей по той же причине рискует оказаться 32-битная архитектура sparc.

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

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

    Реализован новый механизм изоляции системных вызовов Pledge, который отличается максимальным упрощением применения политик безопасности. Pledge требует внесения в приложения специальных аннотаций, но вместо детализации на уровне отдельных системных вызовов, манипулирует классами доступа. После сборки и запуска модифицированного приложения, ядро берёт на себя работу по контролю соблюдения заданных правил. В настоящее время на защиту при помощи Pledge переведено около 70% приложений базовой системы (453 из 707);
    Поддержка загрузки на системах с UEFI;
    Значительное улучшение поддержки таблиц разделов GPT (GUID Partition Table). В инсталляторе добавлена поддержка установки на разделы GPT. В softraid добавлена возможность использования разделов GPT. Диски с размером сектора не равным 512 по умолчанию разбиваются с использованием GPT;
    Новая реализация утилиты less, основанная на форке, поддерживаемом Гарреттом Д’Аморе (Garrett D’Amore), лидером проекта Illumos. Форк отличается от оригинального less чисткой кодовой базы, переходом с termcap на terminfo, более строгой совместимостью с POSIX и оптимизацией для использования на системах POSIX SUSv3.
    В состав включены компоненты Xen domU, обеспечивающие работу в роли гостевой системы под управлением гипервизора Xen. Поддержка Xen включена только для архитектуры AMD64 и позволяет использовать OpenBSD в облачных системах на базе Xen без необходимости пересборки из исходных текстов. В состав включены драйверы viocon (консоль на базе virtio), xen (инициализация Xen domU и поддержка режима PVHVM), xspd (XenSource Platform Device), xnf (паравиртуализированный сетевой интерфейс);
    Сетевой стек на очередной шаг приблизился к полному избавлению от глобальной блокировки, мешающей распараллеливанию операций на многоядерных системах. Обработка входящих сетевых пакетов теперь производится в несколько параллельных потоков. Распараллеливание добавлено для интерфейсов carp(4), trunk(4) и vlan(4), обработки Ethernet-кадров, ARP и MPLS, сопоставления фильтров BPF, Rx и Tx очередей драйверов ix(4), myx(4), em(4), bge(4), bnx(4), vmx(4), gem(4), re(4) и cas(4);
    Новое псевдо-устройство pair для создания связанных виртуальных Ethernet-интерфейсов;
    Новый процесс маршрутизации eigrpd с реализацией протокола EIGRP (Enhanced Interior Gateway Routing Protocol);
    В стек IPsec для протокола ESP добавлена поддержка режима аутентификацированного шифрования Chacha20-Poly1305;
    Удалена поддержка всех локалей, за исключением UTF-8 и С. Однобайтовые локали, такие как ISO-8859-1, CP1251 и KOI-8, теперь не входят в состав базовой системы. Данный шаг является компромисом, позволившим обеспечить полноценную и качественную поддержку универсальной кодировки UTF-8, ценой исключения устаревших однобайтовых кодировок. Локаль «C» реализована путём эмуляции через UTF-8. Поддержка UTF-8 добавлена в утилиты calendar(1), colrm(1), cut(1), fmt(1), ls(1), ps(1), rs(1), ul(1), uniq(1) и wc(1).
    В libc проведена большая чистка, удалено более 100 внутренних и устаревших интерфейсов, удалена поддержка NLS (Native language support). Для вызова внутренних функций в libc задействованы локальные ссылки, что привело к ускорению связывания;
    В адресном пространстве ядра на системах i386 по умолчанию активирован режим W^X при котором страницы памяти не могут быть одновременно доступны на запись и исполнение;
    Из ядра Linux 3.14.52 портирован драйвер inteldrm с начальной поддержкой GPU Intel Broadwell и Bay Trail;
    Новые драйверы: asmc (Apple System Management Controller), pchtemp(датчики температуры Intel (X99, C610, 9. 100), uonerng (Moonbase Otago OneRNG), dwiic (Synopsys DesignWare I2C controller), ikbd, ims и imt (клавиатуры, мыши и тачпады HID-over-i2c), efifb (EFI frame buffer);
    В драйверы iwm и iwn добавлена поддержка WiFi 802.11n;
    Обновлена версия почтового сервера OpenSMTPD 5.9.1, в котором проведена работа по усилению безопасности, добавлена экспериментальная поддержка API для внешних фильтров, размещённых в портах, обеспечена установка заголовка Message-Id;
    Обновлён пакет OpenSSH 7.2, подробный обзор улучшений можно посмотреть здесь;
    Обновлён пакет LibreSSL 2.3.2, подробный обзор улучшений можно посмотреть в анонсах выпусков 2.3.0, 2.3.1 и 2.3.2;
    Число портов для архитектуры AMD64 составило 9295, для i386 — 9290. Из находящихся в портах приложений, отмечены:
        Chromium 48.0.2564.116
        Emacs 21.4, 24.5
        GCC 4.9.3
        GNOME 3.18.2
        Go 1.5.3
        JDK 7u80 и 8u72
        KDE 3.5.10 и 4.14.3
        LLVM/Clang 3.5 (20140228)
        LibreOffice 5.0.4.2
        MariaDB 10.0.23
        Mono 4.2.1.102
        Mozilla Firefox 38.6.1esr и 44.0.2
        Mozilla Thunderbird 38.6.0
        Node.js 4.3.0
        OpenLDAP 2.3.43 и 2.4.43
        PHP 5.4.45, 5.5.32 и 5.6.18
        Postfix 3.0.3
        PostgreSQL 9.4.6
        Python 2.7.11, 3.4.4 и 3.5.1
        R 3.2.3
        Ruby 1.8.7.374, 2.0.0.648, 2.1.8, 2.2.4 и 2.3.0
        Rust 1.6.0
        Sendmail 8.15.2
        Sudo 1.8.15
        Tcl/Tk 8.5.18 и 8.6.4
        Vim 7.4.900
        Xfce 4.12
    Компоненты от сторонних разработчиков, входящие в состав OpenBSD 5.9:
        Графический стек Xenocara на базе X.Org server 1.17.4 с патчами, freetype 2.6.2, fontconfig 2.11.1, Mesa 11.0.9, xterm 322, xkeyboard-config 2.17 и т.п.)
        Gcc 4.2.1 (c патчами) и 3.3.6 (c патчами)
        Perl 5.20.2 (c патчами)
        SQLite 3.9.2 (c патчами)
        NSD 4.1.7
        Unbound 1.5.7
        Ncurses 5.7
        Binutils 2.17 (c патчами)
        Gdb 6.3 (c патчами)
        Awk в версии от 10 августа 2011 г.

Как обычно, выходу нового релиза посвящено несколько песен.

opennet.ru