Представен е новият издание на свободната кросплатформена UNIX-подобна операционна система OpenBSD 7.0. Отбелязва се, че това е 51-ото издание на проекта, който на 18 октомври ще навърши 26 години. Проектът OpenBSD е основан от Тэо де Раадтом (Theo de Raadt) през 1995 година след конфликт с разработчиците на NetBSD, в резултат на който Тэо е загубил достъп до CVS репозитория на NetBSD. След това Тэо де Раадт с група съмишленици създава нова отворена операционна система на базата на дървото с изходен код на NetBSD, като основни цели на развитието са преносимост (поддържат се 13 хардуерни платформи), стандартизация, коректна работа, проактивна сигурност и интегрирани криптографски средства. Размерът на пълния инсталационен ISO образ на базовата система OpenBSD 7.0 е 554 МБ.
Освен самата операционна система, проектът 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.
Основни подобрения:
- Добавен е порт за 64-битови системи на базата на архитектура RISC-V. В момента се поддържа работа на платите HiFive Unmatched и частично на PolarFire SoC Icicle Kit.
- В порта за ARM64 платформите е подобрена, но все още не е завършена, поддръжката на устройства Apple с M1 процесори. В текущия вариант е осигурена инсталация на OpenBSD на диск с GPT и има драйвери за USB 3, NVMe, GPIO и SPMI. Освен M1, в порта ARM64 е разширена поддръжката за Raspberry Pi 3 Model B+ и платформа на базата на SoC Rockchip RK3399.
- За архитектурата AMD64 компилаторът GCC е изключен по подразбиране (останал е само Clang). По-рано GCC беше изключен за архитектурите armv7 и i386.
- Спирането на поддръжката на платформата SGI.
- За платформите amd64, arm64, i386, sparc64 и powerpc64 компилацията на ядрото с поддръжка на системата за динамично проследяване dt е включена по подразбиране. Добавен е доставчик kprobes за събиране на информация за събития на ниво ядро.
- В btrace е реализирана поддръжка на операторите „” във филтрите и е осигурено извеждане на времето в пространството на потребител при анализ на стека на ядрото.
- Добавен е конфигурационен файл /etc/bsd.re-config, който може да се използва за настройка на ядрото по време на зареждане и включване/изключване на определени устройства.
- Осигурено е определяне наличието на устройства TPM 2.0 и коректното изпълнение на командите за преход в спящ режим (решава проблема с събуждането на лаптопите ThinkPad X1 Carbon Gen 9 и ThinkPad X1 Nano).
- Реализацията на kqueue е преминала към използване на mutex-ове.
- Възможността за настройка на размера на буфера за сокетите PF_UNIX чрез sysctl е реализирана. Размерът на буфера по подразбиране е увеличен на 8 КБ.
- Поддръжката на многопроцесорни системи (SMP) е подобрена. Функцията pmap_extract() е прехвърлена в категорията mp-safe на системите hppa и amd64. Кодът за преброяване на референтни обекти на анонимни обекти, част от обработчика на изключения и функциите lseek, connect и setrtable, е извлечен от общата блокировка на ядрото. Реализирани са отделни буфери за съобщения по CPU при срив (panic).
- Имплементацията на фреймворка drm (Direct Rendering Manager) е синхронизирана с ядрото на Linux 5.10.65. В драйвера inteldrm е подобрена поддръжката на чиповете Intel, базирани на микроархитектурата Tiger Lake. В драйвера amdgpu е реализирана поддръжка на GPU Navi 12, Navi 21 „Sienna Cichlid“, Arcturus и APU Cezanne „Green Sardine“ Ryzen 5000.
- Добавена е поддръжка за ново оборудване, включително Aquantia AQC111U/AQC112U USB Ethernet, Aquantia 1/2.5/5/10Gb/s PCIe Ethernet, Cadence GEM, Broadcom BCM5725, RTL8168FP/RTL8111FP/RTL8117. Поддръжката на платформите Intel, базирани на микроархитектурата Tiger Lake, е подобрена. Добавен е драйвер ucc за клавиатури с интерфейс USB HID Consumer Control, използващи бутони за стартиране на приложения, управление на възпроизвеждането на звук и регулиране на силата на звука.
- Направени са подобрения в хипервизора VMM. Добавен е лимит от 512 VCPU на виртуална машина. Проблемите с блокировките на VCPU са решени. В бекенда за управление на виртуалните машини vmd е добавена поддръжка на защита от гостуващи системи с злонамерени драйвери virtio.
- Утилитата timeout е прехвърлена от NetBSD, позволяваща ограничаване на времето за изпълнение на команди.
- В утилитата за синхронизация на файлове openrsync са реализирани опциите „include“ и „exclude“.
- В утилитата ps е осигурен извода на информация за свързаните групи.
- В текстовия редактор mg е добавена команда „dired-jump“.
- В утилитите fdisk и newfs е подобрена поддръжката на дискове със сектора от 4K. В fdisk е преработен кодът за инициализация на MBR/GPT и е добавено разпознаването на GPT-раздели „BIOS Boot“, „APFS“, „APFS ISC“, „APFS Recovery“ (sic), „HiFive FSBL“ и „HiFive BBL“. Добавена е опция „-A“ за инициализация на GPT без изтриване на зареждащи дялове.
- В утилитата traceroute е реализирана обработка на проверочни пакети и DNS запитвания в асинхронен режим за ускоряване на работата.
- В утилитата doas са предоставени три опита за въвеждане на парола.
- В xterm е осигурена изолация на достъпа до файловата система чрез системния повик unveil(). Процесите ftpd са защитени с помощта на pledge.
- Реализирането на лог записи за неправилно използване на форматиращия параметър «%n» в функцията printf.
- В реализацията на IPsec в iked е добавена поддръжка за конфигуриране на DNS от страната на клиента.
- В snmpd по подразбиране е деактивирана поддръжката на протоколите SNMPv1 и SNMPv2c в полза на използването на SNMPv3.
- По подразбиране са активирани процесите dhcpleased и resolvd, които предлагат възможност за конфигуриране на IPv4 адреси чрез DHCP. Утилитата dhclient остава в системата като опция. В утилитата route е добавена команда «nameserver» за предаване на информация относно DNS сървъра на resolvd.
- В LibreSSL е добавена поддръжка на TLSv3 API от OpenSSL 1.1.1 и е активиран нов валидатор X.509, който поддържа коректна проверка на взаимно подписаните сертификати.
- В OpenSMTPD е добавена поддръжка на опции TLS «cafile=(path)», «nosni», «noverify» и «servername=(name)». В smtp е разрешено изборът на криптографски параметри и протоколи TLS.
- Обновен пакет OpenSSH. Подробен преглед на подобренията можете да видите тук: OpenSSH 8.7, OpenSSH 8.8. Деактивирана е поддръжката на цифрови подписи rsa-sha.
- Числото на портовете за архитектурата AMD64 е 11325, за aarch64 — 11034, за i386 — 10248. Сред версиите на приложенията в портовете: FFmpeg 4.4, GCC 8.4.0 и 11.2.0, GNOME 40.4, Go 1.17, JDK 8u302, 11.0.12 и 16.0.2, KDE Applications 21.08.1, KDE Frameworks 5.85.0, LLVM/Clang 11.1.0, LibreOffice 7.2.1.2, Lua 5.1.5, 5.2.4 и 5.3.6, MariaDB 10.6.4, Node.js 12.22.6, PHP 7.3.30, 7.4.23 и 8.0.10, Postfix 3.5.12, PostgreSQL 13.4, Python 2.7.18, 3.8.12 и 3.9.7, Qt 5.15.2 и 6.0.4, Ruby 2.6.8, 2.7.4 и 3.0.2, Rust 1.55.0, SQLite 3.35.5 и Xfce 4.16.
- Обновени са компонентите от трети разработчици, които влизат в състава на OpenBSD 7.0:
- Графичният стек Xenocara на база X.Org 7.7 с xserver 1.20.13 + пачове, freetype 2.10.4, fontconfig 2.12.4, Mesa 21.1.8, xterm 367, xkeyboard-config 2.20, fonttosfnt 1.2.2.
- LLVM/Clang 11.1.0 (+ пачове)
- GCC 4.2.1 (+ пачове) и 3.3.6 (+ пачове)
- Perl 5.32.1 (+ пачове)
- NSD 4.3.7
- Unbound 1.13.3
- Ncurses 5.7
- Binutils 2.17 (+ пачове)
- Gdb 6.3 (+ пач)
- Awk 18.12.2020
- Expat 2.4.1
Източник: opennet.ru
