Представлен новый выпуск свободной, кросс-платформенной 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