Представлен новый выпуск свободной, кросс-платформенной 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;
В состав включен новый дисплейный менеджер 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 апреля).
После прохождения регистрации вы получаете возможность добавлять статьи, в которых можете делиться своим опытом прохождения собеседований, профессиональными знаниями или задать интересующие вас вопросы и получать на них ответы от программистов.