Випуск OpenBSD 7.1

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

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

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

  • Оголошена готова до використання підтримка комп'ютерів Mac, оснащених ARM-чіпом Apple M1 (Apple Silicon), таких як Apple M1 Pro/Max та Apple T2 Macs. Додані драйвери для SPI, I2C, контролера DMA, клавіатури, тачпада, керування живленням та продуктивністю. Забезпечена підтримка Wi-Fi, GPIO, framebuffer, USB, екрану, накопичувачів NVMe.
  • Поліпшено підтримку архітектури ARM64. Додані драйвери gpiocharger, gpioleds і gpiokeys, що забезпечують підтримку зарядок, підсвічування та кнопок, що підключаються до GPIO (наприклад, так зроблено в Pinebook Pro). Додані нові драйвери: mpfclock (PolarFire SoC MSS clock controller), cdsdhc (Cadence SD/SDIO/eMMC host controller), mpfiic (PolarFire SoC MSS I2C controller) та mpfgpio (PolarFire SoC MSS GPIO).
  • Поліпшено підтримку архітектури RISC-V 64, для якої включені драйвери uhid і fido, забезпечена підтримка установки на диски з GPT.
  • Утиліта mount_msdos за промовчанням включає використання довгих імен файлів.
  • Перероблено код збирача сміття для unix-сокетів.
  • sysctl hw.perfpolicy за умовчанням виставлений у значення «auto», що передбачає включення режиму повної продуктивності при підключенні стаціонарного живлення та використання адаптивного алгоритму при живленні від акумулятора.
  • Удосконалено підтримку багатопроцесорних систем (SMP). Переведені в розряд mp-safe фільтри подій неіменованих каналів, kqread, звуку та сокетів, а також механізм BPF. Системні виклики poll, select, ppoll та pselect переписані і тепер реалізовані поверх kqueue. Позбавлені блокувань системні виклики kevent, getsockname, getpeername, accept і accept4. Доданий інтерфейс ядра для атомарних функцій load і store, дозволяють використовувати типи int і long в елементах структур, яких застосовується підрахунок посилань.
  • Реалізація фреймворку drm (Direct Rendering Manager) синхронізована з ядром Linux 5.15.26 (у минулому випуску - 5.10.65). У драйвер inteldrm додано підтримку чіпів Intel на базі мікроархітектур Elkhart Lake, Jasper Lake і Rocket Lake. У драйвері amdgpu реалізована підтримка APU/GPU Van Gogh, Rembrandt "Yellow Carp" Ryzen 6000, Navi 22 "Navy Flounder", Navi 23 "Dimgrey Cavefish" та Navi 24 "Beige Goby".
  • До бібліотеки FreeType включено субпіксельний рендеринг шрифтів.
  • Додано утиліту realpath для виведення абсолютного шляху до файлу.
  • Утиліту rcctl додано команду «ls rogue» для показу фонових процесів, які запущені, але не включені в rc.conf.local.
  • BPFtrace реалізовано підтримку змінних для перевірок. У btrace додані скрипти kprofile.bt для профілювання стека ядра та runqlat.bt для виявлення затримок у роботі планувальника.
  • У libc додано підтримку RFC6840, що визначає підтримку прапора AD та налаштування trust-ad для DNSSEC.
  • В apm і apmd включений показ прогнозованого часу перезаряджання акумулятора.
  • Надано можливість зберігання БД capability /etc/login.conf.d для спрощення додавання з пакетів власних класів облікових записів.
  • Malloc забезпечує кешування регіонів пам'яті розміром від 128k до 2M.
  • В архіваторі pax реалізована підтримка розширених заголовків з даними mtime, atime та ctime.
  • В утиліти gzip та gunzip додана опція "-k" для збереження вихідного файлу.
  • В утиліту openrsync додані опції: «-compare-dest» для перевірки наявності файлів у додаткових каталогах; "-max-size" та "-min-size" для обмеження розміру файлів.
  • Додано команду seq для виведення послідовностей чисел.
  • З FreeBSD 13 перенесено універсальну програмну реалізацію тригонометричних функцій (реалізації на асемблері для x86 відключені).
  • З FreeBSD перенесено функцій lrint, lrintf, llrint і llrintf (раніше застосовувалася реалізація з NetBSD).
  • Утиліта fdisk містить численні зміни та виправлення, пов'язані з роботою з дисковими розділами.
  • Додано підтримку нового обладнання, в тому числі контролера Intel PCH GPIO (для платформ Cannon Lake H та Tiger Lake H), NXP PCF85063A/TP RTC, Synopsys Designware UART, Intel 2.5Gb Ethernet, SIMCom SIM7600, RTL8156B, MediaTek MT7601 wifi.
  • До складу включені переліцензовані прошивки для бездротових чіпів Realtek, що дозволяють використовувати драйвери rsu, rtwn та urtwn без ручного завантаження прошивок.
  • У драйверах ixl (Intel Ethernet 700), ix (Intel 82598/82599/X540/X550) та aq (Aquantia AQC1xx) включена підтримка апаратної обробки VLAN-тегів та обчислення/перевірки контрольних сум для IPv4, TCP4/6.
  • Додано звуковий драйвер для чіпів Intel Jasper Lake. Додано підтримку ігрового контролера XBox One.
  • У бездротовому стеку IEEE 802.11 реалізована підтримка каналів 40MHz для режиму 802.11n та початкова підтримка стандарту 802.11ac (VHT). Для драйверів додано опціональний обробник фонового сканування. При виборі точки доступу пріоритетними тепер є точки з каналами 5GHz, а потім вибираються точки з каналами 2GHz.
  • Переписано реалізацію драйвера vxlan, який тепер працює незалежно від підсистеми bridge.
  • В інсталяторі перероблено логіку виклику утиліти pkg_add для скорочення інтенсивності переміщень файлів у процесі оновлення. У файлі install.site документований процес налаштування установки та оновлення. До всіх архітектур до складу додані прошивки, поширення яких дозволено в сторонніх продуктах. Для встановлення пропрієтарних прошивок, доступних на інсталяційному носії, задіяна утиліта fw_update.
  • У xterm з міркувань безпеки відключено за промовчанням відстеження миші.
  • У usbhidctl та usbhidaction забезпечена ізоляція доступу до файлової системи за допомогою системного виклику unveil.
  • У dhcpd за умовчанням забезпечено прикріплення і до мережевих інтерфейсів, що знаходяться в неактивному стані ('down'), для того щоб забезпечити прийом пакетів відразу після того, як мережний інтерфейс буде активовано.
  • В OpenSMTPD (smtpd) увімкнена за промовчанням перевірка TLS для вихідних підключень «smtps://» та «smtp+tls://».
  • У httpd реалізовано перевірку версії протоколу, додано можливість визначення власних файлів з текстами помилок та покращено обробку даних у стислому вигляді, у тому числі до httpd.conf додано опцію gzip-static для доставки попередньо стислих файлів з виставленням прапора gzip у заголовку content-encoding.
  • В IPsec у параметрі proto з iked.conf дозволено вказати список протоколів. В утиліту ikectl додана команда «show certinfo» для показу центрів і сертифікатів, що заслуговують на довіру. У iked поліпшена обробка фрагментованих повідомлень.
  • У rpki-client додано підтримку перевірки відритих ключів BGPsec Router та покращено перевірку сертифікатів X509. Додано кеш верифікованих файлів. Поліпшено сумісність із RFC 6488.
  • bgpd доданий параметр "port", який можна використовувати в секціях "listen on" та "neighbor" для прив'язки до нестандартного номеру мережного порту. Проведено рефакторинг коду для роботи з RIB (Routing Information Base), виконаний з огляду на забезпечення у майбутньому підтримки multipath.
  • У консольному віконному менеджері tmux (terminal multiplexer) розширені можливості для кольорового виведення. Додані команди pane-border-format, cursor-colour та cursor-style.
  • У LibreSSL виконано портування з OpenSSL підтримки RFC 3779 (розширення X.509 для IP-адрес та автономних систем) та механізму Certificate Transparency (незалежний публічного лога всіх виданих та відкликаних сертифікатів, який дає можливість проводити незалежний аудит усіх змін та дій посвідчувальних центрів дозволяє відразу відстежувати будь-які спроби прихованого створення підроблених записів). Значно покращено сумісність із OpenSSL 1.1 та задіяні ідентичні з OpenSSL імена шифрів для TLSv1.3. Багато функцій переведено використання calloc(). У libssl та libcrypto додано велику порцію нових викликів.
  • Оновлено пакет OpenSSH. Детальний огляд покращень можна переглянути в оглядах OpenSSH 8.9 та OpenSSH 9.0. Утиліта scp переведена за промовчанням на використання SFTP замість застарілого протоколу SCP/RCP.
  • Число портів для архітектури AMD64 склало 11301 (було 11325), для aarch64 - 11081 (було 11034), для i386 - 10136 (було 10248). Серед версій додатків у портах: Asterisk 16.25.1, 18.11.1 та 19.3.1 Audacity 2.4.2 CMake 3.20.3 Chromium 100.0.4896.75 Emacs 27.2 FFmpeg 4.4.1 GCC 8.4.0 GCC. 11.2.0 JDK 41.5u1.17.7, 8 та 322 KDE Applications 11.0.14 KDE Frameworks 17.0.2 Krita 21.12.2 LLVM/Clang 5.91.0 LibreOffice 5.0.2 Lua 13.0.0, 7.3.2.2. Mono 5.1.5 Firefox 5.2.4 та ESR 5.3.6 Thunderbird 10.6.7 Mutt 6.12.0.122 та NeoMutt 99.0 Node.js 91.8.0 OpenLDAP 91.8.0 PHP 2.2.2. SQL 20211029 Python 16.14.2, 2.4.59, 7.4.28 та 8.0.17 Qt 8.1.4 та 3.5.14 R 14.2 Ruby 2.7.18, 3.8.13 та 3.9.12 Rust 3.10.4 SQLite 5.15.2 .6.0.4 Shotcut 4.1.2 Sudo 2.7.5 Suricata 3.0.3 Tcl/Tk 3.1.1 та 1.59.0 TeX Live 2.8.17 Vim 3.38.2 та Neovim 21.10.31 Xfce 1.9.10
  • Оновлено компоненти від сторонніх розробників, які входять до складу OpenBSD 7.1:
    • Графічний стек Xenocara на базі X.Org 7.7 з xserver 1.21.1 + патчі, freetype 2.11.0, fontconfig 2.12.94, Mesa 21.3.7, xterm 369, 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.4.0 РНБ
    • Unbound 1.15.0
    • Ncurses 5.7
    • Binutils 2.17 (+ патчі)
    • Gdb 6.3 (+ патч)
    • Awk 12.10.2021
    • Expat 2.4.7

Джерело: opennet.ru

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