Выпуск OpenBSD 6.1

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

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

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

Добавлена поддержка новой платформы ARM64 и основанных на ней плат Pine64, Raspberry Pi 3 и Opteron A1100. В качестве системного компилятора на ARM64 используется Clang; Значительно улучшена поддержка платформы ARMv7, в том числе осуществлён переход на EABI и расширен спектр поддерживаемых плат; Для платформы loongson обеспечена поддержка систем с процессорами Loongson 3A и чипсетом RS780E; Прекращена поддержка платформ armish, sparc и zaurus. Представлена новая утилита syspatch, позволяющая выполнить бинарное обновление базовой системы. Бинарные обновления пока формируются только для stable-веток amd64 и i386; В состав включена утилита acme-client, представляющая собой вариант штатного клиента для работы с сертификатами Let’s Encrypt, расширенного средствами для разделения привилегий; Для архитектур amd64 и i386 включён по умолчанию гипервизор VMM, который развивается командой OpenBSD, учитывает в своей работе технические особенности данной ОС и акцентирует первоочередное внимание на вещах, которым в других системах не уделяется должного внимания. Например, VMM может работать на системах i386, использует механизм теневых страниц (shadow paging), развивает средства вложенной виртуализации и обеспечивает поддержку устаревших периферийных устройств. Поддерживается запуск виртуальных окружений с любыми операционными системами для которых имеются драйверы virtio, т.е. все системы, которые поддерживаются в KVM. Для работы гипервизора требуется наличие процессора AMD или Intel, поддерживающего расширения аппаратной виртуализации AMD-V/SVM (Secure Virtual Machine) или VT-x/VMX (Virtual Machine eXtensions). Поддержка расширений RVI (Rapid Virtualization Indexing) и EPT (Extended Page Table) не обязательна, вместо них может применяться программная техника изоляции страниц памяти виртуальных окружений. В основной состав включены компоненты LLVM и компилятор Clang (импортирован выпуск LLVM 4.0); Значительно улучшены средства для работы на многопроцессорных системах, проведена оптимизация сетевого стека. В сетевом стеке полностью переработана система блокировок и обработки прерываний, что позволило заметно поднять его производительность на многопроцессорных системах; В сетевом стеке представлено новое псевдоустройство switch для создания программных коммутаторов на базе протокола OpenFlow 1.3. В псевдо-устройство gre добавлена поддержка режима mobileip. В vxlan добавлена поддержка режима Multipoint-to-multipoint. Для сокетов listen добавлена поддержка флага TCP_NOPUSH; Модернизирован инсталлятор. Загрузка и проверка установочных наборов теперь выполняется отдельным обработчиком с разделением привилегий. Для загрузки установочных наборов по умолчанию используется HTTPS; В iked добавлена возможность отправки ответов на IKEv2 cookies, а также поддержка ECDSA и аутинтификации по цифровым подписям RFC 7427; В bgpd (8) добавлена поддержка BGP Large Communities (RFC 8092) и BGP Administrative Shutdown Communication (draft-ietf-idr-shutdown); В состав включен новый дисплейный менеджер xenodm (X Display Manager), предоставляющий средства для управления графическими сеансами, подключенными к разным X-серверам (форк xdm). Внесена большая порция улучшений в беспроводной стек IEEE 802.11. В драйвере ral появилась поддержка чипов Ralink RT3900E (RT5390, RT3292). Добавлена реализация алгоритма MiRa для адаптивной установки полосы пропускания в 802.11n. В драйверы iwm и athn добавлена поддержка 802.11n MIMO. Из-за недостаточной защищённости по умолчанию отключена поддержка протоколов TKIP/WPA1; Во всех разделяемых библиотеках, динамически и статически скомпонованных исполняемых файлах PIE и компоновщике ld.so задействован механизм RELRO (RElocation Read-Only, позволяет предотвратить перезапись глобальной таблицы смещений GOT); В syslogd добавлена возможность проверки TLS-соединения по клиентскому сертификату; Добавлена новая функция распределения памяти recallocarray (), которая отличается тем, что производит очистку содержимого выделяемых блоков памяти, по аналогии с calloc (), а также обнуляет или отдаёт системе (unmap) не распределённые блоки памяти; В системную библиотеку libc добавлено семейство функций для работы с хэшами SHA512_256; В функциях форматирования строки printf обеспечен вывод предупреждений в лог при использовании модификатора »%s» с нулевым указателем; В malloc (3) расширены механизмы для определения переполнений буферов. Увеличена производительность семейства функций malloc в многопоточных приложениях; Удалена поддержка монтирования файловых систем непривилегированными пользователями; Для доставки ключей к шифрованным разделам softraid в bioctl задействован bcrypt PBKDF. В softraid реализовано распараллеливание операций при перестроении RAID5; В httpd добавлена поддержка SNI, позволяющая привязывать несколько разных HTTPS-сайтов к одному IP, а также возможность возобновления сеансов TLS при помощи TLS session tickets. В dhclient, dhcpd и dhcrelay добавлена поддержка RFC 6842 (Client Identifier Option in DHCP Server Replies) и обеспечен запрос опций DHO_BOOTFILE_NAME и DHO_TFTP_SERVER по умолчанию; Обновлена версия почтового сервера OpenSMTPD, в котором добавлена поддержка альтернативных разделителей адресов, улучшен код для работы с вводом/выводом, добавлена поддержка выделения аутентифицированных сеансов в наборах правил; Обновлён пакет OpenSSH 7.4, подробный обзор улучшений можно посмотреть здесь; Обновлён пакет LibreSSL, подробный обзор улучшений можно посмотреть в анонсах выпусков 2.5.0, 2.5.1 и 2.5.2; Число портов для архитектуры AMD64 составило 9714, для i386 — 9697. Из находящихся в портах приложений, отмечены: Chromium 57.0.2987.133 Emacs 21.4 и 25.1 GCC 4.9.4 Gimp 2.8.18 GNOME 3.22.2 Go 1.8 JDK 7u80 и 8u121 KDE 3.5.10 и 4.14.3 LLVM/Clang 4.0.0 LibreOffice 5.2.4.2 Lua 5.1.5, 5.2.4 и 5.3.4 MariaDB 10.0.30 Mono 4.6.2.6 Mozilla Firefox 52.0.2esr и 52.0.2 Mozilla Thunderbird 45.8.0 Node.js 6.10.1 OpenLDAP 2.3.43 и 2.4.44 PHP 5.5.38, 5.6.30 и 7.0.16 Postfix 3.2.0 и 3.3–20170218 PostgreSQL 9.6.2 Python 2.7.13, 3.4.5, 3.5.2 и 3.6.0 Ruby 1.8.7.374, 2.1.9, 2.2.6, 2.3.3 и 2.4.1 Rust 1.16.0 Sendmail 8.15.2 SQLite3 3.17.0 Vim 8.0.0388 Xfce 4.12 Компоненты от сторонних разработчиков, входящие в состав OpenBSD 6.1: Графический стек Xenocara на базе X.Org server 1.18.3 с патчами, freetype 2.7.1, fontconfig 2.12.1, Mesa 13.0.6, xterm 327, xkeyboard-config 2.20 и т.п.) LLVM/Clang 4.0.0 (c патчами) Gcc 4.2.1 (c патчами) и 3.3.6 (c патчами) Perl 5.24.1 (c патчами) NSD 4.1.15 Unbound 1.6.1 Ncurses 5.7 Binutils 2.17 (c патчами) Gdb 6.3 (c патчами) Awk в версии от 10 августа 2011 г. Expat 2.1.1 Улучшения драйверов: Добавлен драйвер acpials (4) для ACPI-сенсоров света и подсветки. Добавлен драйвер acpihve (4) для поддержки добавочной энтропии Hyper-V. Добавлен драйвер dwge (4) для поддержки сетевых карт Designware GMAC 10/100/Gigabit Ethernet. Добавлен драйвер htb (4) для PCI-мостов Loongson 3A. Добавлен драйвер hvn (4) для сетевых интерфейсов Hyper-V. Добавлен драйвер hyperv (4) для работы OpenBSD в качестве гостя Hyper-V. Добавлен драйвер iatp (4) для Atmel maXTouch тач-скрина. Добавлен драйвер imxtemp (4) для поддержки температурных датчиков Freescale i.MX6. Добавлен драйвер leioc (4) для низкоуровневого контроллера ввода-вывода Loongson 3A. Добавлен драйвер octmmc (4) для MMC-контроллера OCTEON. Добавлен драйвер ompinmux (4) для мультиплексирования контактов OMAP. Добавлен драйвер psci (4) для ARM-интерфейса состояний энергосбережения. Добавлен драйвер simplefb (4) для работы фреймбуфера, использующего device-tree. Добавлен драйвер sximmc (4) для поддержки MMC/SD/SDIO контроллеров Allwinner A1X/A20. Добавлен драйвер tpm (4) для поддержки TPM-устройств. Добавлен драйвер uwacom (4) для поддержки USB-планшетов Wacom. Добавлен драйвер xbf (4) для виртуальных дисков Xen Blkfront. Добавлен драйвер xp (4) для со-процессора ввода-вывода LUNA-88K HD647180X. Добавлен интерфейс для управления гипервизором VMM vmmci (4). В драйвер em (4) добавлена поддержка Kaby Lake и Lewisburg PCH Ethernet. В драйвер ure (4) добавлена поддержка устройств на основе RTL8153 USB 3.0 Gigabit Ethernet. Улучшена поддержка ACPI для современной техники Apple, включая S3-сон и восстановление из сна. В драйвере ix (4) добавлена поддержка устройств 10 Gigabit Ethernet семейства X550 . К выходу релиза приурочена новая песня «Winter of 95» (пока недоступна, ожидается 25 апреля).

© OpenNet