Релиз OpenBSD 6.4, OpenSSH 7.9 и LibreSSL 2.8.2
В соответствии с релизным циклом вышла новая версия операционной системы общего назначения OpenBSD 6.4. Самые примечательные изменения в новой версии:
- Множество добавлений для платформы arm64;
- Улучшения в удобстве использования Wi-Fi;
- Продолжение работы над избавлением сетевого стека от использования глобальной блокировки ядра;
- Cистемный вызов unveil (), который предоставляет новый способ изоляции доступа к файловой системе;
- Механизм защиты RETGUARD, нацеленный на усложнение выполнения эксплоитов, построенных с использованием заимствования кусков кода и приёмов возвратно-ориентированного программирования;
- Переработка синтаксиса OpenSMTPD для значительного увеличения гибкости не в ущерб удобству;
К сожалению, полагающаяся песня к моменту релиза ещё не была готова, анонс будет произведён отдельно.
Список изменений:
Улучшения в области безопасности:
- Новый системный вызов unveil (2) для ограничения доступа текущего процесса к файловой системе путём задания списка используемых файлов и каталогов. Наибольший эффект достигается в сочетании с pledge (2).
- Реализована опция MAP_STACK для mmap (2). При возникновении ошибок доступа и системных вызовах ядро будет проверять, что верхушка стека находится в отведённой ей (с участием MAP_STACK) области памяти, что мешает атакам, переносящим верхушку стека в контролируемую атакующим область памяти (stack pivot attack).
- Новый защитный механизм RETGUARD (для платформ amd64 и arm64), использующий индвидуальные для каждой функции cookie для защиты доступа к командам возврата из функции, что затрудняет их использование в качестве ROP-гаджетов.
- В clang (1) на amd64 и i386 добавлен проход по коду с идентификацией типичных полезных для ROP-гаджетов инструкций и заменой таких инструкций альтернативами.
- Защита от Spectre v2, Retpoline, включена в clang (1) и ассемблерных файлах на amd64 и i386.
- Механизм защиты SpectreRSB включён на amd64.
- Также для amd64 добавлена защита Intel L1 Terminal Fault.
- PCID, при их наличии, используются на amd64 для разделения пользовательских и ядерных записей TLB.
- Защита от Meltdown добавлена для i386.
- На amd64 теперь используется немежденное переключение контекста FPU для предотвращения утечки состояния FPU из-за спекулятивного выполнения.
- Фальшивая многопоточность (SMT, в случае с процессорами Intel называется HT — HyperThreading) отключена по умолчанию из-за небезопасного использования ядер ЦП. Она может быть включена обратно с помощью новой переменной sysctl (2) hw.smt.
- Запись звука по умолчанию глобально отключена (имитируется запись тишины) и может быть включена с помощью новой переменной sysctl (2) kern.audio.record.
- getpwnam (3) и getpwuid (3) возвращают теперь указатель не на статичный буфер, а на явно выделяемую память, позднее освобождаемую. Это позволяет детектировать доступ к устаревшим записям.
- sshd (8) получил дополнительную защиту от атак на перебор названий учётных записей.
Улучшения гипервизора vmm (4) и соответствующего сервиса vmd (8)
- Поддержка образов дисков и снимков состояния (snapshots) в формате qcow2.
- Поддержка шаблонов виртуальных машин и наследования в vm.conf (5) и vmctl (8).
- Добавлена начальная поддержка unveil (2) в vmctl (8), заодно произведена общая чистка кода данной утилиты.
- Различные исправления ошибок и улучшения.
Улучшения в стеке IEEE 802.11 (Wi-Fi)
- Новая команда «join» в ifconfig (8) для сохранения списка известных сетей и автоматического подключения к ним.
- Значительно увеличена скорость работы команды «ifconfig scan» для многих устройств.
Общие улучшения сетевого стека
- В trunk (4) добавлены опции для настройки режимов работы, таймаутов и приоритетов.
- В ifconfig (8) добавлена возможность настройки параметров trunk (4) (см. выше).
- Системные вызовы sendmsg (2), sendto (2), recvfrom (2) и recvmsg (2) работают без глобальной блокировки ядра (KERNEL_LOCK).
- Новые глобальные счётчики IPsec, доступные через netstat (1).
- Новый интерфейс eoip (4) для протокола инкапсуляции MikroTik Ethernet over IP (EoIP).
Маршрутизация и другие улучшения сетевого стека в пользовательском пространстве:
- ospf6d (8) теперь может устанавливать метрику маршрута в зависимости от состояния интерфейса.
- ospf6d (8) теперь может работать в альтернативном домене маршрутизации.
- ospf6d (8) теперь использует pledge (2).
- ospfd (8) и ospf6d (8) теперь защищены от многократного запуска в одном домене маршрутизации.
- slaacd (8) теперь полноценно использует pledge (2).
- slaacd (8) теперь получает от ядра уведомления о дублировании сетевых адресов, и по возможности генерирует новые.
- Когда slaacd (8) обнаруживает переход между сетями, он отмечает как устаревшие все сконфигурированные сетевые адреса. Предпочтение получают адреса с новыми анонсированными префиксами.
- Новый сервис, rad (8), пришедший на замену rtadvd (8) (часть проекта KAME), для отправки сообщений IPv6 Router Advertisement.
- Анахронизм networks (5) более не поддерживается.
- Улучшена надёжность и предсказуемость поведения парсера pfctl (8) в крайних ситуациях.
- route (8) теперь сообщает об ошибках использования »-netmask» и »-prefixlen» вместо конфигурирования непонятных маршрутов.
- dhclient (8) теперь добавляет прямой маршрут к шлюзу по умолчанию, если он не доступен в рамках полученных сетевых адреса и маски.
- dhclient (8) теперь обновляет dhclient.leases (5), resolv.conf (5) и все отмеченные ключом »-L» файлы до ухода на задний план и возвращения управления вызывающей программе (скрипту).
- Опция »-i» в dhclient (8)] теперь отбрасывает любые ранее определённые значения для отмеченных к игнорированию опций.
- Любое изменение на любом интерфейсе теперь побуждает dhclient (8) соответствующим образом обновить resolv.conf (5).
- dhclient (8) теперь всегда записывает идентификатор клиента, использованный для получения lease, для лучшей совместимости с RFC 6842.
- dhclient (8) теперь имеет опцию »-r» для прекращения работы с освобождением текущей lease.
- dhclient (8) теперь избегает некорректной модификации resolv.conf (5) путём игнорирования dhclient.leases (5) для интерфейсов, не умеющих сообщать о наличии связи.
Улучшения в установщике
- installurl (5) по умолчанию получает значение «cdn.openbsd.org», если зеркало не было выбрано явным образом при установке ОС. Благодаря этому pkg_add (1) и syspatch (8) работают «из коробки» в таких случаях.
- DUID можно использовать для ответа на вопрос «Which disk is the root disk?» при обновлении системы (актуально при автоматическом обновлении).
- Установка согласно diskless (8) может производиться через интерфейсы, сконфигурированные dhclient (8).
- disklabel (8) теперь создаёт раздел /usr/obj размером минимум 5ГБ при использовании автоматической разметки.
- disklabel (8) теперь создаёт раздел /usr/local размером не более 20ГБ при использовании автоматической разметки.
Улучшения в поддержке оборудования
- Поддержка ACPI на платформе arm64.
- Обновлён драйвер radeondrm (4) до соответствующего Linux 4.4.155, что принесло поддержку modesetting для APU KAVERI/KABINI/MULLINS и GPU OLAND/BONAIRE/HAINAN/HAWAII.
- Также radeondrm (4) теперь поддерживается на arm64.
- Новый драйвер umt (4) для сенсорных экранов, соответствующих стандарту USB Windows Precision Touchpad.
- Новый драйвер bnxt (4) для карт Broadcom NetXtreme-C/E (PCI Express) на базе чипов Broadcom BCM573xx и BCM574xx. Драйвер изначально включён для платформ amd64 и arm64.
- Новый драйвер mue (4) для гигабитных Ethernet-устройств Microchip LAN7500/LAN7505/LAN7515/LAN7850 (USB 2.0) и LAN7800/LAN7801 (USB 3.0).
- Новый драйвер acpisurface (4) для поддержки ACPI на ноутбуках Microsoft Surface Book.
- Новый драйвер agintcmsi (4/arm64) для ITS-компонентов ARM GIC.
- Новый драйвер dwpcie (4) для PCIe-контроллеров Synopsys Designware, встречающихся на различных SoC.
- Новый драйвер acpipci (4/arm64) для мостов хост-PCI, информация о которых берётся из ACPI.
- Новые драйвера mvclock (4), mvgpio (4), mvicu (4), mvrng (4), mvrtc (4) и mvtemp (4) для различных компонентов SoC Marvell Armada.
- Новые драйверы hiclock (4), hidwusb (4), hireset (4) и hitemp (4) для различных компонентов SoC HiSilicon.
- Новые драйверы ccp (4) и octcrypto (4/octeon) для аппаратной акселерации криптографических операций.
- Новые драйверы ccpmic (4) и tipmic (4) для управления питанием на Intel Crystal Cove и Dollar Cove TI.
- Новый драйвер imxrtc (4) для часов реального времени (RTC), интегрированных в процессоры Freescale i.MX7 и i.MX8.
- Новые драйверы fanpwr (4) для регуляторов напряжения Fairchild FAN53555 и Silergy SYR827/828.
- Новый драйвер pinctrl (4) для единого мультиплексирования pin.
- Новый драйвер plgpio (4) для GPIO-контроллеров ARM PrimeCell PL061.
- Поддержка PIE на платформе m88k.
- Поддержка для некоторых сенсорных экранов HID-over-I^2C в imt (4).
- Поддержка чипов RTL8188EE и RTL8723AE в rtwn (4).
- Поддержка RT3290 в ral (4).
- Поддержка контроллеров SAS 3.5 (SAS34xx и SAS35xx) в mpii (4).
- Поддержка сенсоров состояния диска и батареи, а также bio (4) в mfii (4).
- На платформе i386 микрокод для процессоров Intel загружается при запуске ядра ОС.
- На платформе i386 уменьшено зарезервированное для brk (2) адресное пространство с целью увеличения объёма памяти, доступного для анонимных вызовов mmap (2).
- На платформе sparc64 ldomctl (8) теперь поддерживает более новые системные прошивки в машинах SPARC T2+ и T3, в частности T1000, T5120 и T5240. Переменные NVRAM теперь могут выставлять на уровне логического домена.
- Улучшена поддержка UART Synopsys Designware в com (4).
- Новый драйвер https://man.openbsd.org/islrtc.4 islrtc (4)]] для часов реального времени (RTC) Intersil ISL1208.
- Поддержка Huawei k3772 в umsm (4).
- Поддержка чипсета VIA VX900 в viapm (4).
- Поддержка других, кроме GPS, сетей GNSS в nmea (4).
- Поддержка трекпойнтов Elantech в pms (4).
- Поддержка сенсора подключения репликатора портов в acpithinkpad (4).
- Поддержка SoC Allwinner H3 и A64 в scitemp (4).
Улучшения в bgpd (8)
- Фильтрующее действие по умолчанию изменено с «allow» на «deny».
- Параметр конфигурации «announce (all|self|none|default-route)» объявлен устаревшим, на замену пришло конфигурирование фильтров.
- Улучшена работа наборов префиксов (prefix-sets), как в скорости, так и в удобстве.
- Введены наборы AS (as-sets) для сопоставления ASPATH большому количеству номеров AS.
- Поддержка BGP Origin Validation (RFC 6811) посредством директивы «roa-set».
- Добавлены наборы исходящих пунктов (origin-sets) для эффективного сопоставления AS пар «префикс — источник».
- Небольшая чистка синтаксиса: переводы строк опциональны внутри раскрывающихся списков (ранее переводы строк должны были быть экранированы), однако в блоках «neighbor», «group» и «rdomain» записи должны быть на отдельных строках.
- Уменьшен объём работы при перезагрузке конфигурации.
- Перезагрузка конфигурации более не блокирует обработку остальных событий в механизме выбора маршрута.
- Улучшена поддержка и исправлен ряд ошибок при одновременной работе множества bgpd в разных доменах маршрутизации.
Прочие улучшения:
- Поддержка прокрутки по истории для фреймбуферных консолей на базе rasops (9), таких как inteldrm (4), radeondrm (4) и efifb (4).
- rebound (8) получил поддержку постоянных A-записей, по аналогии с «local-data» в Unbound.
- Новый драйвер kcov (4) для сбора статистики о покрытии кода внутри ядра. Он является частью текущего проекта по fuzz-тестированию ядра.
- uid_from_user (3) и gid_from_group (3) добавлены в стандартную библиотеку языка C и уже используются некоторыми программами для ускорения повторных запросов.
- Новая реализация семафоров, обеспечивающая безопасность асинхронного использования sem_post (3).
- pcap_set_immediate_mode (3) была импортирована из upstream libpcap, что позволяет программам обрабатывать пакеты сразу по мере их поступления.
- ksh (1) теперь использует 64-битные целые числа в арифметических выражениях на всех архитектурах.
- Исправлена ошибка в раскрытии ksh (1) переменных помеченных флагом «только для чтения».
- lam (1) теперь поддерживает UTF-8.
- trunk (4) и vlan (4) теперь включены в RAMDISK на arm64.
- Улучшен алгоритм пересборки IP-фрагментов в PF с целью защиты от DoS—атак.
- Новая утилита ldap (1), реализующая простой LDAP-клиент.
- Исправлен баг в init (8), приводивший к зависаниям на платформе i386 при работе под VMWare.
- Добавлена поддержка загрузки посредством TFTP в U-Boot на платформах arm64 и armv7 посредством EFI Simple Network protocol.
- Добавлена поддержка EFI Random Number Generator Protocol для получения дополнительной энтропии для ГПСЧ при запуске системы.
- В snmpd (8) добавлена поддержка RFC 3430 (подключение по TCP).
- Драйвер bwfm (4) включён на платформах amd64, i386, arm64 и armv7, а также — для USB-устройств — на платформах loongson и macppc.
- Новый консольный шрифт «Spleen 5×8», предназначенный для небольших OLED-дисплеев.
- usbdevs (8) теперь сообщает о состоянии USB-портов.
- top (1) и systat (1) теперь сообщают время, потраченное каждым ЦП на ожидании в критических секциях (spinning locks).
- Улучшена скорость чтения MSDOSFS благодаря кластеризации.
- Доступ к NFS-узлам теперь упорядочен.
- Утилита systat (1) получила новый экран «uvm», отображающий различную статистику подсистемы UVM.
- mg (1) теперь обрабатывает символы возврата каретки при последовательном поиске (incremental search) путём установки метки (mark) и выхода из поиска, как это делают другие современные клоны Emacs.
- В disklabel (8) улучшено округление смещений и размеров разделов на границы цилиндров.
- disklabel (8) теперь контролирует выход за допустимые пределы для всего пользовательского ввода.
- disklabel (8) более не позволяет разделам типа FS_RAID становиться точками монтирования.
- disklabel (8) теперь изменяет параметры разделов только если весь пользовательский ввод был валидирован.
- Улучшены директивы управления журналированием к конфигурационном файле relayd (8) для более гибкой настройки того, что необходимо логировать.
- tmux (1) теперь корректно работает с палитрами терминалов, состоящими более чем из 256 цветов.
- httpd (8) теперь поддерживает аутентификацию по клиентскому сертификату.
- Множество исправлений в подсистеме fuse (4).
- Улучшен алгоритм поиска ядром свободной памяти для удовлетворения запросов mmap (2) на анонимную память.
- efifb (4) теперь переназначает фреймбуфер EFI раньше для использования комбинированной записи (write combining mapping), что даёт значительное ускорение его (фреймбуфера) работы.
OpenSMTPD
- Нарушающие совместимость изменения в синтаксисе smtpd.conf: разделены сопоставление конвертов (envelope), происходящее во время SMTP-диалога, и выполняемые действия (actions), которые начинают выполняться при первой попытке доставки. Это изменение позволяет убрать ряд серьёзных барьеров для дальнейшего развития OpenSMTPD.
- Улучшен движок SMTP с появлением нового парсера сообщений, соответствующего RFC 5322.
- Убраны ограничения, не позволявшие smtpd (8) взаимодействовать с клиентами, отправляющими чрезмерно длинные строки.
- Улучшена безопасность путём перемещения раскрытия переменных для файлов .forward в процесс, отвечающий за доставку сообщений пользователю (MDA).
- Введены обёртки для MDA, позволяющие командам на получение быть прозрачно обёрнутыми внутри глобальных команд.
- Добавлен SMTP-клиент для командной строки.
- Множество улучшений документации и мелких исправлений в коде.
OpenSSH 7.9 Новые возможности:
- В большинстве мест конфигурации ssh (1) и sshd (8), где используются номера портов, теперь можно использовать названия сервисов из /etc/services.
- В директиве ssh (1) IdentityAgent теперь можно использовать переменные окружения. Это позволяет использовать несколько сокетов для SSH-агентов без необходимости задания фиксированных путей.
- Поддержка передачи сигналов сессиям по протоколу SSH в sshd (8).
- Команда «ssh -Q sig» может быть использована для получения списка поддерживаемых параметров подписей. Также, «ssh -Q help» покажет полный список поддерживаемых запросов.
- Новая опция CASignatureAlgorithms в ssh (1) и sshd (8) управляет разрешёнными формами подписей для центров сертификации, которыми можно подписывать сертификаты. Например, это позволяет заблокировать центры сертификации, подписывающие сертификаты с использованием алгоритма RSA-SHA1.
- Списки отзыва ключей (KRL) теперь могут ключать в себя ключи по хешу SHA-256. Эти списки управляются ssh-keygen (8). Более того, KRL теперь могут быть созданы из Base64-кодированного представления SHA256-отпечатков, то есть, из информации в сообщения об аутентификации sshd ((8).
Неполный список исправлений:
- ssh (1): ssh-keygen (1): убраны ошибки «invalid format» при загрузке приватных ключей в формате PEM с неверной парольной фразой.
- sshd (8): когда канал закрывается во время получения сообщения от клиента, теперь вместе со stdin и stdout закрывается также файловый дескриптор stderr. Это позволяет избежать зависания процессов, если они ожидают закрытия stderr, не обращая внимания на закрытие stdin и stdout.
- ssh (1): разрешено ForwardX11Timeout=0 для безусловного отключения недоверенного перенаправления X11. До этого поведение при ForwardX11Timeout=0 было неопределённым.
- sshd (8): не закрывается при конфигурировании текстового списка отзыва ключей, содержащего слишком короткий ключ.
- ssh (1): подключения с ProxyJump обрабатываются так же как с ProxyCommand касаемо приведения имени хоста к каноническому виду (то есть, приведение не производится, если только опция CanonicalizeHostname не выставлена в «always»).
- ssh (1): исправлена регрессия в OpenSSH 7.8, которая не позволяла аутентификацию по ключу с использованием сертификата в ssh-agent (1) или относительно sshd (8) из OpenSSH {7.8.
LibreSSL 2.8.2 (первый стабильный релиз ветки 2.8). Улучшения API и документации:
- Верификация X509 стала строже, любая проблема X509_VERIFY_PARAM для имени хоста, IP-адреса или email заставит X509_verify_cert (3) сообщить об ошибке.
- Убрана поддержка классического (одиночного) DES.
- В RSA_sign (3) добавлена поддержка RSASSA-PKCS1-v1_5 (RFC 8017).
- Изменено поведение функций CRYPTO_mem_leaks_*(3) на возврат значения -1. Эти функции являются пустышками в LibreSSL, поэтому возвращается индикатор ошибки, чтобы не показывать (не-)наличие утечек памяти.
- SSL_copy_session_id (3), PEM_Sign (3), EVP_EncodeUpdate (3), BIO_set_cipher (3), X509_OBJECT_up_ref_count (3) теперь возвращают int для обработки ошибок, как в OpenSSL.
- Часть #define превращена в настоящие функции, для соответствия OpenSSL ABI, в частности, X509_CRL_get_issuer (3) и другие функции X509_*get*(3).
- Добавлена X509_get0_serialNumber (3) из OpenSSL.
- Убраны EVP_PKEY2PKCS8_broken (3) и PKCS8_set_broken (3), и в то же время добавлены PKCS8_pkey_add1_attr_by_NID (3) и PKCS8_pkey_get0_attrs (3), для соответствия OpenSSL.
- Удалены неработоспособные pkcs8 форматы из openssl (1).
- Добавлены RSA_meth_get_finish (3) и RSA_meth_set1_name (3) из OpenSSL.
- Добавлены новые EVP_CIPHER_CTX_(get|set)_iv (3) API, позволяющие получать и заполнять инициализирующий вектор (IV) с подходящей валидацией.
- Экстенсивные обновления документации и истории API.
- Убраны глючные клиентские костыли SSL_OP_TLS_ROLLBACK_BUG.
- ENGINE_finish (3) и ENGINE_free (3) теперь возвращают NULL при успехе для упрощения жизни вызывающим и соответствия поведению OpenSSL; документация ENGINE_* переписана.
- Добавлена аннотация const ко множеству существующих API из OpenSSL, для облегчения взаимозаменяемости для использующих приложений.
- Документированы решаемые проблемы с безопасностью при описании BN_FLG_CONSTTIME и константного времени работы функций BN_*.
Тестирование и проактивная защита:
- Добавлена поддержка теста Wycheproof для тестовых векторов ECDH, RSASSA-PSS, AES-GCM, AES-CMAC, AES-CCM, AES-CBC-PKCS5, DSA, ChaCha20-Poly1305, ECDSA, X25519. Исправлены ошибки, выявленные в ходе тестирования.
- Добавлены тесты алгоритмов шифрования, включая все шифры TLS 1.2. Добавлены ослепляющие значения при генерации подписей DSA и ECDSA для усложнения проведения атак с утечкой приватного ключа по сторонним каналам.
- Добавлены timing-safe сравнения для проверки результатов верификации подписи.
- Добавлена поддержка скалярного умножения эллиптических кривых за константное время. От Билли Брумли (Billy Brumley) и его команды из Технологического университета Тампере.
Внутренние улучшения:
- Упрощены генерация и верификация сигнарутры обмена ключами.
- Ещё больше кода теперь использует CBB/CBS. В частности, все сообщения-приветствия (handshake) теперь создаются CBB. Обмен ключами RSA упрощён и использует отдельные буферы для хранения секретных данных.
- Упрощены разбор и обработка сессионных билетов (session tickets), по мотивам изменений в BoringSSL.
- Прекращена обработка AES-GCM в ssl_cipher_get_evp, так как там используется интерфейс EVP_AEAD.
- Прекращено использование составных EVP_CIPHER AEAD.
- Убраны неиспользуемые флаги SSL3_FLAGS_DELAY_CLIENT_FINISHED и SSL3_FLAGS_POP_BUFFER при записи, что упростило организацию ввода-вывода.
- BN_clear (3) теперь использует explicit_bzero (3).
- Почищены BN_* вслед за изменениями, сделанными в OpenSSL Давидом Галаси (Davide Galassi) и другими.
- Проведена ревизия реализации RSASSA-PKCS1-v1_5 на предмет соответствия RFC 8017, базируясь на коммите Дэвида Бенджамина (David Benjamin) в OpenSSL.
Исправления ошибок:
- Исправлено переполнение на один байт буфера у пользователей EVP_read_pw_string (3).
- Исправлены различные утечки памяти, найденные Coverity.
- Больше функций в публичных API теперь используют константные аргументы.
- Корректное очищение текущего состояния шифратора при смене состояния. Это исправляет проблему когда пересогласование заменяет AEAD-шифр на не-AEAD или наоборот. О проблеме сообщил Бернард Спил (Bernard Spil).
- Исправлена пара ошибок более чем двадцатилетней давности в X509_NAME_add_entry (3).
- Исправлены потенциальные утечки памяти при ошибке в ASN1_item_digest (3).
- Исправлена потенциальная ошибка выравнивания памяти в asn1_item_combine_free ().
- Исправлены небольшие сторонние каналы утечки, связанные со временем, в ecdsa_sign_setup () и dsa_sign_setup ().
- Добавлены пропущенные проверки на допустимые границы в c2i_ASN1_BIT_STRING ().
- Исправлена потенциальная утечка / ошибка при возврате значения в механизме генерации DSA-подписи.
Mandoc 1.14.4
- В HTML-выводе, многие mdoc (7)-макросы теперь используют более подходящие HTML-элементы.
- В HTML-выводе убраны почти все атрибуты «style» и часть избыточных «class».
- Первые шаги в сторону responsive design: @media в mandoc.css, HTML-элемент meta viewport, из генерируемого кода убраны все жёсткие размеры.
- Множество улучшений в стилях в mandoc.css.
- Более чем 15 новых низкоуровневых возможностей roff (7) и GNU man-ext. Mandoc теперь может форматировать руководства groff.
Порты и пакеты:
- Программа update-plist (1) была полностью переписана и теперь практически без ошибок обрабатывает ситуации с MULTI_PACKAGES и раскрытием переменных.
- Новые пакеты теперь инициируют запуск средств вроде update-desktop-database лишь один раз за сессию вместо запуска после каждого добавления/удаления пакета.
- Страницы руководства по системе портов (bulk (8), dpb (1) и другие) теперь включены в базовую поставку и поэтому доступны даже без дерева портов.
Подготовлено пакетов ко дню релиза, по архитектурам:
- aarch64 (arm64): 8139
- amd64: 10304
- i386: 10230
Пакеты для нижеследующих архитектур будут доступны по мере того как их сборка будет закончена:
- arm
- mips64
- mips64el
- powerpc
- sparc64
Из находящихся в портах приложений, отмечены:
- AFL 2.52b
- CMake 3.10.2
- Chromium 69.0.3497.100
- Emacs 21.4 и 26.1
- GCC 4.9.4
- GHC 8.2.2
- Gimp 2.8.22
- GNOME 3.28.2
- Go 1.11
- Groff 1.22.3
- JDK 8u172
- LLVM/Clang 6.0.1
- LibreOffice 6.1.1.2
- Lua 5.1.5, 5.2.4 и 5.3.5
- MariaDB 10.0.36
- Mono 5.14.0.177
- Mozilla Firefox 60.2.2esr и 62.0.3
- Mozilla Thunderbird 60.2.1
- Mutt 1.10.1 и NeoMutt 20180716
- Node.js 8.12.0
- OCaml 4.03.0
- OpenLDAP 2.3.43 и 2.4.46
- PHP 5.6.38, 7.0.32, 7.1.22 и 7.2.10
- Postfix 3.3.1 и 3.4–20180904
- PostgreSQL 10.5
- Python 2.7.15 и 3.6.6
- R 3.5.1
- Ruby 2.3.7, 2.4.4 и 2.5.1
- Rust 1.29.2
- Sendmail 8.16.0.29
- SQLite3 3.24.0
- Sudo 1.8.25
- Tcl/Tk 8.5.19 и 8.6.8
- TeX Live 2017
- Vim 8.1.438
- Xfce 4.12
Компоненты от сторонних разработчиков, входящие в состав OpenBSD 6.3:
- Графический стек Xenocara на базе X Server 1.19.6 c патчами, freetype 2.9.1, fontconfig 2.12.4, Mesa 13.0.6, xterm 331, xkeyboard-config 2.20;
- LLVM/Clang 6.0.0 с патчами
- GCC 4.2.1 (с патчами) и 3.3.6
- Perl 5.24.3 (с патчами)
- NSD 4.1.25
- Unbound 1.8.2
- Ncurses 5.7
- Binutils 2.17 (с патчами)
- Gdb 6.3 (с патчами)
- Awk версия от 10 августа 2011 года
- Expat 2.2.6
© OpenNet