Випуск OpenBSD 7.2

Подано випуск вільної UNIX-подібної операційної системи OpenBSD 7.2. Проект OpenBSD був заснований Тео де Раадтом (Theo de Raadt) в 1995 після конфлікту з розробниками NetBSD, в результаті якого для Тео був закритий доступ до CVS репозиторію NetBSD. Після цього Тео де Раадт із групою однодумців створив на базі дерева вихідних текстів NetBSD нову відкриту операційну систему, головними цілями розвитку якої стали переносимість (підтримується 13 апаратних платформ), стандартизація, коректна робота, проактивна безпека та інтегровані криптографічні засоби. Розмір повного настановного ISO-образу базової системи OpenBSD 7.2 становить 556 МБ.

Окрім безпосередньо операційної системи, проект 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.

Основні покращення:

  • Поліпшено підтримку систем на базі архітектури ARM, у тому числі додано підтримку ARM-чіпів Apple M2 і Ampere Altra. Додано підтримку ноутбука Lenovo ThinkPad x13s та інших пристроїв на базі SoC Qualcomm Snapdragon 8cx Gen 3 (SC8280XP).
  • Додано можливість завантаження в оточеннях Oracle Cloud ядра для ram-диска (bsd.rd) та ядра для багатопроцесних систем (bsd.mp).
  • Увімкнено пристрій kstat, що експортує статистику про роботу ядра, яку можна переглянути утилітою kstat.
  • Для кожного процесорного ядра за допомогою MPERF/APERF реалізовані датчики частоти CPU. Під час роботи від акумулятора увімкнено масштабування частоти CPU залежно від навантаження.
  • На системах ARM64 додана початкова підтримка режиму сну. Ліміт на кількість підтримуваних CPU збільшений до 256. Реалізована можливість перемикання з консолі на основі фреймбуфера (glass console) до консолі на базі послідовного порту (serial console).
  • Видалено код для визначення CPU 386sx/386dx, NexGen, Rise та старих процесорів Cyrix, випущених до чіпа Cyrix M2.
  • Удосконалено підтримку багатопроцесорних систем (SMP). Переведені в розряд mp-safe функції обмеження пропускної спроможності (rate limit), пошуку ARP-записів та route timer. Реалізовано можливість паралельного виконання таких операцій, як перескладання пакетів IPv4 та перенаправлення IP-пакетів. У функції обробки вхідних пакетів UDP та IP додані блокування сокетів, що використовують mutex. Позбавлені блокування системні виклики kbind і pledge. Реалізовано блокування UNIX-сокетів, які діють лише на рівні окремих сокетів.
  • Реалізація фреймворку drm (Direct Rendering Manager) синхронізована з ядром Linux 5.15.69 (у минулому випуску - 5.15.26). У драйвер inteldrm додано підтримку чіпів Intel на базі мікроархітектур Alder Lake і Raptor Lake. Реалізована підтримка фреймбуферів, не вирівняних по межі сторінки пам'яті (застосовуються, наприклад, MacBook Pro 2021 14″ і 16″).
  • Внесено покращення в гіпервізор VMM. У vmd додано підтримку обробників у просторі користувача на базі MMIO. У vmm емуляція портів введення/виводу перенесена в простір користувача. Уніфіковані внутрішні структури та інтерфейси в vmd, vmctl та vmm. Додано можливість моніторингу віртуальних машин за допомогою SNMP AgentX, використовуючи параметри VM-MIB (RFC7666).
  • Змінна $rcexec у скриптах ініціалізації rc.d замінена функцією rc_exec. Додано нову змінну daemon_execdir, що дозволяє змінити каталог перед виконанням функції rc_exec. У rc.d і rcctl додано нову дію configtest для перевірки синтаксису конфігурації.
  • До складу включена утиліта ts, що додає до рядків, що приймаються через стандартне введення, час, що відображає момент надходження кожного рядка.
  • В утиліту s додана опція «-f» для деревоподібного угруповання процесів, що відображає зв'язок між батьківськими та дочірніми процесами.
  • В утиліті openrsync реалізована опція «contimeout» для визначення таймууту установки з'єднання.
  • В утиліті pkg_add за замовчуванням включено кешування, оптимізовано роботу з пакетами та забезпечено виведення індикатора виконання операції під час передачі даних.
  • У fdisk покращено роботу з таблицями GPT та MBR, додано попередження при неналежному розміщенні розділів MBR та GPT.
  • В утиліті disklabel додано підтримку ключового слова raid у шаблонах для автоматичного розміщення розділів з RAID. Припинено підтримку редагування інформації про геометрію диска. Припинено підтримку атрибутів 'bs' (розмір завантажувального блоку), 'sb' (розмір суперблоку) та d[0-4] (дані диска).
  • У каталог /usr/share/btrace вміщено добірку корисних скриптів btrace для динамічного трасування та інспектування додатків.
  • До звукової бібліотеки sndio додано функцію sio_flush для негайної зупинки відтворення.
  • До складу включена утиліта llvm-profdata для роботи з даними профілювання.
  • В утиліті wc прискорено підрахунок слів.
  • Додано підтримку нового обладнання, у тому числі до складу включено нові драйвери:
    • aplaudio (звукова підсистема Apple).
    • aplmca (MCA контролер Apple).
    • aplsart (Apple SART).
    • alpdc, apldchidev, apldckbd, apldcms, aplrtk (клавіатура та трекпад Apple M2).
    • qcgpio, qciic (GPIO та GENI I2C контролери для Qualcomm Snapdragon).
    • sfgpio, stfclock, stfpinctrl, stftemp (драйвери для GPIO, таймера та датчиків плат SiFive).
    • sxirintc (контролер переривань для чіпів Allwinner).
    • gpiorestart (драйвер для скидання через GPIO).
    • У ipmi розширено підтримку датчиків живлення.
    • У ehci додано підтримку контролера, що застосовується в платах Marvell 3720.
  • У драйвері igc для гігабітних Ethernet-адаптерів Intel I225 включено апаратне прискорення обчислення контрольних сум IPv4, TCP і UDP. У драйвері ix для Ethernet-адаптерів Intel 82598/82599/X540/X550 реалізовано підтримку апаратного прискорення обробки сегментів TCP (Large Receive Offloading), що включається за допомогою опції tso в ifconfig.
  • У драйвері iwx реалізована підтримка чіпів Intel AX210/AX211 і розширений спектр бездротових пристроїв, що визначаються.
  • Додано можливість завантаження з розділів програмних RAID 1 (softraid) на системах amd64, sparc64 та arm64.
  • У snmpd та xlock реалізовано поділ привілеїв.
  • У функціях bind та connect для UNIX-сокетів забезпечено ізоляцію на базі системного виклику unveil.
  • Доданий новий системний виклик ypconnect для створення сокету для з'єднання з сервером YP, використовуючи IP-адресу із заблокованого файлу ypbinding. У ypldap доданий режим 'local bind', при якому здійснюється прив'язка RPC-сокету до loopback-інтерфейсу, щоб унеможливити зовнішні з'єднання з сервером.
  • Розміщені в каталозі /sbin програми hcpleased, mountd, nfsd, pflogd, resolvd, slaacd і unwind переведені на використання динамічного зв'язування для залучення додаткових засобів захисту, що застосовуються до файлів, що динамічно зв'язуються.
  • У мережевому стеку реалізовані системні виклики sendmmsg і recvmmsg, які дозволяють в рамках одного системного виклику організувати відправку та читання відразу кількох повідомлень, які раніше вимагали б окремих викликів sendmsg та recvmsg.
  • У пакетному фільтрі pf змінено обробку пакетів IGMP та ICMP6 MLD (Multicast Listener Discovery), яка дозволила налагодити роботу з керуючими multicast-пакетами у конфігурації за замовчуванням. Реалізовано більш строга перевірка повідомлень IGMP/MLD.
  • В IPsec покращено роботу з сертифікатами. У iked покращена сумісність із OpenIKED. До команди ikectl show stats додано висновок статистики про успішні та збійні підключення до iked.
  • У bgpd доданий фільтр max-communities для обмеження числа дозволених community, реалізований RFC 9234 (Route Leak Prevention and Detection Using Roles in UPDATE and OPEN Messages), забезпечена повна підтримка RFC 7911 (Advertisement of Multiple Paths in BGP) -дерева підвищення продуктивності великих систем. Доданий процес bgplgd з реалізацією сервера FastCGI, що надає API REST для команд bgpctl.
  • У rpki-client дозволено використання більше одного CRL URI в сертифікатах, реалізовано параметр skiplist для ігнорування доменів, додано можливість перевірки ASPA (Autonomous System Provider Authorization) та sig-файлів, реалізовано декодування TAL (RFC 8630), посилена перевірка EE- сумісність із специфікаціями HTTP.
  • У snmpd дозволено використання в snmpd.conf імен об'єктів, крім OID. Реалізовано можливість завдання чорного списку для виключення піддерев з висновку. У реалізацію протоколу AgentX додано підтримку агента master.
  • У httpd запропоновані нові визначення MIME-типів.
  • Утиліта ftp перекладена використання з'єднань, оброблюваних в неблокующем режимі з допомогою ppoll.
  • У tmux («terminal multiplexer») додано можливість використання ACL для організації підключення кількох користувачів через один сокет.
  • Оновлено пакети LibreSSL та OpenSSH. Детальний огляд покращень можна переглянути в оглядах LibreSSL 3.6.0 та OpenSSH 9.1.
  • Число портів для архітектури AMD64 склало 11451 (було 11301), для aarch64 - 11261 (було 11081), для i386 - 10225 (було 10136). Серед версій додатків у портах:
    • Asterisk 16.28.0, 18.14.0 та 19.6.0
    • Audacity 2.4.2
    • CMake 3.24.2
    • Chromium 105.0.5195.125
    • Emacs 28.2
    • FFmpeg 4.4.2
    • GCC 8.4.0 та 11.2.0
    • GHC 9.2.4
    • GNOME 42.4
    • Перейти 1.19.1
    • JDK 8u342, 11.0.16 та 17.0.4
    • KDE Gear 22.08.1
    • Каркаси KDE 5.98.0
    • Кріта 5.1.1
    • LLVM/Clang 13.0.0
    • LibreOffice 7.4.1.2
    • Lua 5.1.5, 5.2.4 та 5.3.6
    • MariaDB 10.9.3
    • Моно 6.12.0.182
    • Mozilla Firefox 105.0.1 та ESR 102.3.0
    • Mozilla Thunderbird 102.3.0
    • Mutt 2.2.7 та NeoMutt 20220429
    • Node.js 16.17.1
    • OCaml 4.12.1
    • OpenLDAP 2.6.3
    • PHP 7.4.30, 8.0.23 та 8.1.10
    • Postfix 3.7.2
    • PostgreSQL 14.5
    • Python 2.7.18, 3.9.14 та 3.10.7
    • Qt 5.15.6 та 6.3.1
    • R 4.2.1
    • Ruby 2.7.6, 3.0.4 та 3.1.2
    • Іржа 1.63.0
    • SQLite 3.39.3
    • Shotcut 22.06.23
    • Sudo 1.9.11.2
    • Meerkat 6.0.6
    • Tcl/Tk 8.5.19 та 8.6.12
    • TeX Live 2021
    • Vim 9.0.0192 та Neovim 0.7.2
    • Xfce 4.16
  • Оновлено компоненти від сторонніх розробників, які входять до складу OpenBSD 7.2:
    • Графічний стек Xenocara на базі X.Org 7.7 з xserver 1.21.4 + патчі, freetype 2.12.1, fontconfig 2.13.94, Mesa 22.1.7, xterm 372, xkeyboard-config 2.20, fonttosfnt 1.2.2.
    • LLVM/Clang 13.0.0 (+ патчі)
    • GCC 4.2.1 (+ патчі) та 3.3.6 (+ патчі)
    • Perl 5.32.1 (+ патчі)
    • 4.6.0 РНБ
    • Unbound 1.16.3
    • Ncurses 5.7
    • Binutils 2.17 (+ патчі)
    • Gdb 6.3 (+ патч)
    • Awk 12.9.2022
    • Expat 2.4.9

Джерело: opennet.ru

Додати коментар або відгук