The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

·15.04 Обновление X.Org Server 21.1.22 с устранением 5 уязвимостей (10 +2)
  Опубликованы корректирующие выпуски X.Org Server 21.1.22 и DDX-компонента (Device-Dependent X) xwayland 24.1.10, обеспечивающего запуск X.Org Server для организации выполнения X11-приложений в окружениях на базе Wayland. В новых версиях устранены 5 уязвимостей. Некоторые уязвимости потенциально могут быть эксплуатированы для повышения привилегий в системах, в которых X-сервер выполняется с правами root, а также для удалённого выполнения кода в конфигурациях, в которых для доступа используется перенаправление сеанса X11 при помощи SSH.

Исправленные уязвимости:

  • CVE-2026-34001 - обращение к памяти после её освобождения (Use-after-free) в функции miSyncTriggerFence(). Уязвимость проявляется с выпуска xorg-server 1.9.0 (2010 год).
  • CVE-2026-33999 - целочисленное переполнение через нижнюю границу (underflow) в функции XkbSetCompatMap(), приводящее к чтению данных из области вне буфера при обработке специально оформленных запросов. Уязвимость проявляется с выпуска X11R6.6 (2001 год).
  • CVE-2026-34000 - чтение из области вне буфера в функции XkbAddGeomKeyAlias, вызванная отсутствием проверки соответствия размера переданного названия клавиши с выделенным буфером. Уязвимость проявляется с выпусков xorg-server 21.1.4 и xwayland 22.1.3 (2022 год).
  • CVE-2026-34002 - чтение из области вне буфера в функции CheckModifierMap() из-за отсутствия проверки соответствия числа указанных в запросе клавиш с фактическим числом переданных параметров. Уязвимость проявляется с выпуска X11R6.6 (2001 год).
  • CVE-2026-34003 - переполнение буфера в XKB-функции CheckKeyTypes(), приводящее к чтению данных из области вне буфера из-за отсутствия проверки соответствия размера буфера переданным в запросе данным. Уязвимость проявляется с выпуска X11R6.6 (2001 год).

  1. Главная ссылка к новости
  2. OpenNews: Обновление X.Org Server 21.1.20 с устранением 3 уязвимостей
  3. OpenNews: Проект XLibre интегрирует драйверы в основную ветку X-сервера
  4. OpenNews: Выпуск проекта XLibre XServer 25.1.0, развивающего форк X.Org Server
  5. OpenNews: Вышел X.Org Server 1.20
  6. OpenNews: Доступен X.Org Server 21.1
Обсуждение (10 +2) | Тип: Проблемы безопасности |


·15.04 Из ядра Linux 7.1 удалены опции сборки для процессоров i486 (28 +2)
  Линус Торвальдс принял в состав ядра Linux 7.1, релиз которого ожидается в середине июня, первую серию изменений для прекращения поддержки процессоров i486. На данном этапе из Kconfig удалены опции для сборки ядра с поддержкой процессоров 486DX, 486SX и AMD ELAN (CONFIG_M486, CONFIG_M486SX и CONFIG_MELAN), а из Makefile исключены опции компиляции для систем i486 (-march=i486). Код для фактической поддержки работы на процессорах i486 пока оставлен в ядре, но сборка для подобных систем теперь потребует применения патчей к сборочным файлам.

Причины удаления поддержки процессоров i486 связаны с необходимостью сопровождать в ядре усложнённый код, эмулирующий некоторые аппаратные операции, такие как CX8 (сравнить и обменять 8 байт) и TSC (счётчик циклов CPU, используемый в планировщике задач). Подобный код время от времени становится источником проблем, разбор которых отнимает у разработчиков время, которое можно было бы потратить c большей пользой. При этом мало кто использует современные ветки ядра Linux на устаревших 32-разрядных CPU - ни осталось ни одного значимого дистрибутива, для которого продолжали бы публиковаться пакеты с ядром, собранные с опцией "M486=y".

В прошлом вопрос удаления поддержки CPU i486 поднимался разработчиками ядра Linux как минимум два раза. В октябре 2022 года Линус Торвальдс поднял тему удаления поддержки CPU i486, обсуждая проблему, возникшую из-за ошибки в коде эмуляции инструкции "CX8". Линус отметил, что процессоры i486 становятся музейными экспонатами и для них вполне можно обойтись "музейными" ядрами. В 2025 году после выявления очередной проблемы, проявляющейся при эмуляции инструкции "CX8", обсуждение возобновилось и Линус Торвальдс заявил, что чувствует, что настало время отказаться от поддержки CPU i486 и не видит причин, чтобы продолжать тратить время разработчиков на решение возникающих из-за этих процессоров проблем.

Поддержка процессоров i386 была удалена из ядра в 2012 году. Прекращение поддержки классических i486 не затронет выпускавшиеся до 2019 года встроенные процессоры Intel Quark, а также продолжающие производиться SoC Vortex86DX, так как данные процессоры хоть и относятся к классу i486, но включают свойственные поколению Pentium дополнительные инструкции, в том числе "cmpxchg8b".

  1. Главная ссылка к новости
  2. OpenNews: Возобновлены попытки удаления поддержки процессоров i486 из ядра Linux
  3. OpenNews: Разработчики ядра Linux на пути к удалению поддержки процессоров i486
  4. OpenNews: Линус Торвальдс предложил прекратить поддержку CPU i486 в ядре Linux
  5. OpenNews: В ядре Linux прекращена поддержка процессоров 386
Обсуждение (28 +2) | Тип: К сведению |


·14.04 Выпуск криптографической библиотеки OpenSSL 4.0.0 (29 +15)
  Состоялся релиз библиотеки OpenSSL 4.0.0, предлагающей с реализацию протоколов TLS и различных алгоритмов шифрования. OpenSSL 4.0 отнесён к выпускам с обычным сроком поддержки, обновления для которых выпускаются в течение 13 месяцев. Поддержка прошлых веток OpenSSL 3.6, 3.5 LTS, 3.4 и 3.0 LTS продлится до ноября 2026 года, апреля 2030 года, октября 2026 года и сентября 2026 года соответственно. Код проекта распространяется под лицензией Apache 2.0.

Основные новшества:

  • Реализован API для использования TLS-расширения ECH (Encrypted ClientHello, RFC 9849), предназначенного для шифрования информации о параметрах TLS-сеансов, таких как запрошенное доменное имя. В отличие от расширения ESNI (Encrypted Server Name Indication) в ECH вместо шифрования на уровне отдельных полей, целиком шифруется всё TLS-сообщение ClientHello, что позволяет блокировать утечки через поля, которые не охватывает ESNI, например, поле PSK (Pre-Shared Key).
  • Добавлена поддержка определённых в RFC 8998 алгоритмов, использующих стандартизированный в Китае набор криптоалгоритмов SM2: алгоритма формирования цифровой подписи sm2sig_sm3, группы обмена ключами curveSM2 и постквантовой группы curveSM2MLKEM768.
  • Добавлена криптографическая функция хэширования cSHAKE, основанная на алгоритме SHA-3 и позволяющая формировать разные хэши на основе одинаковых входных данных для защиты от атак, манипулирующих повторным использованием данных.
  • Добавлен гибридный алгоритм "ML-DSA-MU", сочетающий постквантовый алгоритм формирования цифровой подписи ML-DSA (CRYSTALS-Dilithium) с классической хеш-функцией SHAKE256.
  • Добавлена поддержка функций формирования ключей SNMP KDF на основе HMAC-SHA и SRTP KDF на основе AES-CM, используемых в сетевых протоколах SNMPv3 и SRTP.
  • В команду "openssl fipsinstall" добавлена опция "-defer_tests", позволяющая отложить запуск тестов при установке FIPS-модулей.
  • Для платформы Windows реализована поддержка статического или динамического связывания с Visual C++ Runtime.
  • В TLS 1.2 добавлена поддержка согласуемого обмена ключами на основе алгоритма FFDHE (Finite Field Diffie-Hellman Ephemeral), соответствующая RFC 7919.
  • Прекращена поддержка SSLv3 и SSLv2 Client Hello.
  • Удалена поддержка динамически загружаемых движков, вместо которых для расширения функциональности OpenSSL следует использовать концепцию подключаемых провайдеров.
  • В TLS на этапе компиляции отключена поддержка устаревших эллиптических кривых. Для возвращения можно использовать опцию "enable-tls-deprecated-ec".
  • Удалена утилита c_rehash, вместо которой следуют использовать команду "openssl rehash".
  • Из команды "openssl ca" удалена устаревшая опция "msie-hack".
  • Удалена поддержка собственных методов EVP_CIPHER, EVP_MD, EVP_PKEY и EVP_PKEY_ASN1.
  • Удалены устаревшие функции SSL/TLS, привязанные к фиксированным версиями протоколов, например, "TLSv1_client_method()".
  • Удалены устаревшие функции ERR_get_state(), ERR_remove_state() и ERR_remove_thread_state().
  • Прекращена поддержка целевых платформ darwin-i386{,-cc} и darwin-ppc{,64}{,-cc}.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск OpenSSL 3.6.0 с поддержкой EVP_SKEY и устранением переполнения буфера
  3. OpenNews: Выпуск криптографической библиотеки OpenSSL 3.5.0
  4. OpenNews: Реструктуризация проекта OpenSSL. Переход под крыло OpenSSL библиотек Bouncy Castle и Cryptlib
  5. OpenNews: Выпуск криптографической библиотеки Botan 3.1.0
  6. OpenNews: Выпуск криптографической библиотеки Libgcrypt 1.11.0
Обсуждение (29 +15) | Тип: Проблемы безопасности |


·14.04 Релиз StartWine-Launcher 420, программы для запуска Windows-приложений и игр в Linux (42 +3)
  Опубликован выпуск приложения Startwine-Launcher 420, развиваемого для запуска в Linux-системах программ и игр, собранных для платформы Windows. Основной целью разработки StartWine-Launcher было упрощение процесса создания новичками префиксов Wine, - наборов библиотек и зависимостей Windows, необходимых для работы Windows-приложений в Linux. Код StartWine-Launcher написан на языке Python и распространяется под лицензией GPLv3. Интерфейс реализован на основе библиотеки GTK.

Основные изменения:

  • В интерфейс StartWine интегрированы авторизация и игровые библиотеки сервисов GOG.COM и Epic Games Store.
  • Добавлена подсистема WOW64 для лучшей совместимости с 32-битными приложениями.
  • Добавлена виртуальная клавиатура для геймпада.
  • Добавлен Wine Proton EM.
  • Добавлен деинсталлятор StartWine.
  • Добавлена опция NTSYNC для повышения производительности.
  • Добавлена опция драйвера Wine Wayland для запуска с использованием чистого Wayland.
  • Добавлен алгоритм масштабирования без потерь для генерации кадров.
  • Добавлена поддержка HDR. Если игра поддерживает HDR, переключатель в игре будет разблокирован.
  • Для скачивания и установки добавлен репозиторий StartWine RU. Реализован автоматический выбор быстрого репозитория. Добавлена функция автоматической загрузки с самого быстрого сервера.
  • Добавлены несколько анимаций для интерфейса.
  • Добавлен образец цветовой схемы «Темная сторона».
  • Добавлена система сборки StartWine из исходного кода.
  • Часть кода переписана на Rust.
  • В настройках реализована параметр для задания периода обновления резервных копий.
  • По категориям сгруппирован список горячих клавиш.
  • Некоторые файлы конфигурации перенесены в каталог кэша, чтобы сохранять пользовательские настройки после обновления StartWine.
  • В StartWineShell добавлены цветовые схемы для интерфейса, реализована подсветка исполняемых файлов, возможности загружать Wine при запуске игры и запускать игры GOG и Epic, установленные через StartWine. Добавлена переменная окружения SW_EDITOR для установки текстового редактора по умолчанию.
  • Обновлён список версий Wine, dxvk и vkd3d.
  • Обновлены библиотеки в среде выполнения StartWine, резервная копия префикса по умолчанию, конфигурации префикса, локали, список DLL-файлов winetricks, библиотеки и драйверы в контейнере.

  1. Главная ссылка к новости
  2. OpenNews: Релиз StartWine-Launcher 412, программы для запуска Windows-приложений и игр в Linux
  3. OpenNews: Релиз ProteWine 1.0, инструмента для запуска Windows-приложений в Linux
  4. OpenNews: Релиз Wine Launcher 1.5.3, инструмента для запуска Windows-игр
  5. OpenNews: Выпуск Lutris 0.5.20 и Bottles 0.62, платформ для упрощения запуска игр в Linux
  6. OpenNews: Новая версия пакета PlayOnLinux 4.3
Обсуждение (42 +3) | Автор: Бредущий | Тип: Программы |


·14.04 Выпуск nginx 1.30.0 и форка FreeNginx 1.30.0 (10 +11)
  После года разработки опубликована новая стабильная ветка высокопроизводительного HTTP-сервера и многопротокольного прокси-сервера nginx 1.30.0, которая вобрала в себя изменения, накопленные в основной ветке 1.29.x. В дальнейшем все изменения в стабильной ветке 1.30 будут связаны с устранением серьёзных ошибок и уязвимостей. В скором времени будет сформирована основная ветка nginx 1.31, в которой будет продолжено развитие новых возможностей. Для обычных пользователей, у которых нет задачи обеспечить совместимость со сторонними модулями, рекомендуется использовать основную ветку, на базе которой раз в три месяца формируются выпуски коммерческого продукта Nginx Plus. Код nginx написан на языке Си и распространяется под лицензией BSD.

В соответствии с февральским отчётом компании Netcraft под управлением nginx работает около 321 млн сайтов (год назад 245 млн, два года назад - 243 млн, три года назад 289 млн). Nginx используется на 16.08% всех активных сайтов (год назад 17.89%, два года назад 18.15%, три года назад 18.94%), что соответствует второму месту по популярности в данной категории (доля Apache соответствует 13.27% (год назад 16.03%, два года назад 20.09%, три года назад 20.52%), Cloudflare - 20.62% (17.81%, 14.12%, 11.32%), Google - 10.65% (9.89%, 10.41%, 9.89%).

При рассмотрении всех сайтов nginx сохраняет лидерство и занимает 22.65% рынка (год назад 20.48%, два года назад - 22.31%, три года назад - 25.94%), в то время как доля Apache соответствует 12.19% (16.03%, 20.17%, 20.58%), Cloudflare - 15.27% (12.87%, 11.24%, 10.17%), OpenResty (платформа на базе nginx и LuaJIT) - 8.01% (9.36%, 7.93%, 7.94%).

Среди миллиона самых посещаемых сайтов в мире nginx занимает второе место с долей 19.85% (год назад 20.37%, два года назад 20.63%, три года назад 21.37%). Первое место удерживает Cloudflare - 26.84% (22.32%, 22.59%, 21.62%). Доля Apache httpd - 15.84% (17.95%, 20.09%, 21.18%).

По данным W3Techs nginx используется на 32.8% сайтов из миллиона самых посещаемых (в апреле прошлого года этот показатель составлял 33.8%, позапрошлого - 34.3%). Доля Apache за год снизилась с 26.3% до 23.9%, доля Microsoft IIS снизилась с 4% до 3.4%, а доля Caddy с 0.3% до 0.2%. Доля Node.js увеличилась с 4.4% до 6.0%, а доля LiteSpeed с 14.6% до 15.2%.

Наиболее заметные улучшения, добавленные в процессе формирования основной ветки 1.29.x:

  • Добавлена поддержка протокола Multipath TCP (MPTCP), позволяющего доставлять пакеты одновременно по нескольким маршрутам через разные сетевые интерфейсы. Для включения в директиву "listen" добавлен параметр "multipath".
  • Добавлена поддержка TLS-расширения ECH (Encrypted ClientHello), продолжающего развитие расширения ESNI (Encrypted Server Name Indication) и используемого для шифрования информации о параметрах TLS-сеансов, таких как запрошенное доменное имя. Ключевое отличие ECH от ESNI в том, что в ECH вместо шифрования на уровне отдельных полей целиком шифруется всё TLS-сообщение ClientHello, что позволяет блокировать утечки через поля, которые не охватывает ESNI, например, поле PSK (Pre-Shared Key). Использование ECH включается через указание в директиве "ssl_ech_file" файла конфигурации ECHConfig в формате PEM. Поддержка доступна при использовании библиотеки OpenSSL 4.0.
  • Добавлена возможность привязки сеансов клиентов к одним и тем же серверам в группе. Доступно три метода: "cookie" - передача данных о выбранном сервере через указанную Cookie; "route" - проксируемый сервер назначает клиенту маршрут при получении первого запроса; "learn" - nginx анализирует ответы от upstream-сервера и запоминает начатые сервером сеансы. Для настройки привязки в блок "upstream" модуля "http" добавлена директива "sticky", а в директиву "server" добавлены параметры "route" и "drain".
  • Добавлена директива "early_hints" и реализована поддержка HTTP-кода 103 в ответах от бэкендов proxy и gRPC. Код 103 позволяет информировать клиента о содержании некоторых HTTP-заголовков сразу после запроса, не дожидаясь пока сервер выполнит все связанные с запросом операции и начнёт отдачу контента. Подобным образом можно сообщать подсказки о связанных с отдаваемой страницей элементах, которые могут быть предварительно загружены (например, могут быть приведены ссылки на используемые на странице css и javascript). Получив информацию о подобных ресурсах браузер приступит к их загрузке не дожидаясь окончания отдачи основной страницы, что позволяет сократить общее время обработки запроса.
  • Добавлены директивы add_header_inherit и add_trailer_inherit, позволяющие изменить правила наследования значений, указанных в директивах add_header и add_trailer. Параметр "off" отменяет наследование значений, а параметр "merge" включает добавление значений с предыдущего уровня к значениям на текущем уровне.
  • Добавлена директива "ssl_certificate_compression" для управления сжатием TLS-сертификатов.
  • Добавлена директива max_headers, ограничивающая максимальное число HTTP-заголовков в запросе. При превышении лимита возвращается ошибка 400 (Bad Request). Возможность перенесена из FreeNginx.
  • Добавлены переменные $request_port и $is_request_port. Первая переменная содержит номер порта из компонента URI или из заголовка "Host", а вторая содержит ":", если переменная $request_port не пустая.
  • Добавлены переменные $ssl_sigalg и $ssl_client_sigalg, содержащие название алгоритма формирования цифровой подписи для TLS-соединения.
  • В директиву "geo" добавлен параметр "volatile", отключающий кэширование переменной. Разрешено использовать маски в директиве "include", указанной внутри блока "geo".
  • В блоке "upstream" активирована по умолчанию директива "keepalive". В директиву "keepalive", используемую в блоке "upstream", добавлен параметр "local". При указании данного параметра, вместо совместного использования одного соединения к общему upstream-серверу, упоминаемому в разных блоках location и server, для каждого блока поддерживается отдельное соединение к upstream.
  • При использовании в режиме прокси по умолчанию выставлена версия протокола HTTP/1.1 с включением режима keep-alive (в модуле ngx_http_proxy_module включена по умолчанию поддержка keep-alive и выставлено значение "1.1" в директиве "proxy_http_version" и прекращена отправка по умолчанию заголовка "Connection").
  • В модуль ngx_http_proxy добавлена поддержка протокола HTTP/2, что позволяет использовать HTTP/2 при обращении к бэкендам.
  • Предоставлена возможность загрузки криптографических ключей из аппаратных токенов, используя в качестве провайдера библиотеку OpenSSL.
  • В реализацию протокола QUIC добавлена поддержка режима 0-RTT, доступная на системах с OpenSSL 3.5.1 и более новыми выпусками.
  • Добавлена возможность сборки с криптографической библиотекой AWS-LC, развиваемой компанией Amazon.
  • По умолчанию отключено сжатие сертификатов TLSv1.3.
  • Обеспечена совместимость с библиотекой OpenSSL 4.0.



Дополнительно можно отметить публикацию релиза проекта FreeNginx 1.30.0, развивающего форк Nginx. Разработку форка ведёт Максим Дунин, один из ключевых разработчиков Nginx. FreeNginx позиционируется как некоммерческий проект, обеспечивающий разработку кодовой базы Nginx без корпоративного вмешательства. Код FreeNginx продолжает поставляться под лицензией BSD. Среди изменений в ветке FreeNginx 1.30: добавлена поддержка TLS-расширения ECH (Encrypted Client Hello); улучшена обработка директивы limit_rate; добавлены директивы send_min_rate и client_body_min_rate; реализована возможность ограничения числа соединений и интенсивности запросов в почтовом прокси; добавлена поддержка БД GeoIP2 в модуле GeoIP; усилена защита модуля XSLT.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск Angie 1.11.0, форка Nginx
  3. OpenNews: Выпуск nginx 1.28.0 и форка FreeNginx 1.28.0
  4. OpenNews: Проект Nginx перевёл разработку на Git и GitHub
  5. OpenNews: Представлен FreeNginx, форк Nginx, созданный из-за несогласия с политикой компании F5
Обсуждение (10 +11) | Тип: Программы |


·14.04 Уязвимость в Python-библиотеках lzma, bz2 и gzip, потенциально приводящая к выполнению кода (61 +14)
  В поставляемых в составе CPython классах распаковки сжатых данных в форматах lzma, bz2 и gzip (lzma.LZMADecompressor, bz2.BZ2Decompressor и gzip.GzipFile) выявлена уязвимость (CVE-2026-6100), приводящая к обращению к памяти после её освобождения. Проблема присвоен критический уровень опасности (9.1 из 10) - в случае успешной эксплуатации уязвимость может привести к утечке информации из памяти процесса или выполнению кода атакующего при распаковке специально оформленных данных. Исправление пока доступно в форме патча.

Проблема проявляется после завершении операции выделения памяти ошибкой, возникающей при нехватке памяти (для успешной эксплуатации уязвимости атакующий должен создать условия исчерпания доступной процессу памяти). Обращение к уже освобождённой памяти возникает в приложениях, повторно использующих экземпляр объекта после возвращения ошибки в процессе распаковки. Приложения при каждом вызове создающие новый экземпляр объекта уязвимости не подвержены.

  1. Главная ссылка к новости
  2. OpenNews: Уязвимость в zlib, проявляющаяся при сжатии специально оформленных данных
  3. OpenNews: Уязвимость Zip Slip, затрагивающая библиотеки для распаковки архивов
  4. OpenNews: Уязвимость в Python, проявляющаяся при обработке непроверенных дробных чисел в ctypes
  5. OpenNews: Уязвимость в Python, позволяющая вызвать системные команды из изолированных скриптов
  6. OpenNews: Уязвимость в Python-модуле TarFile, допускающая запись в любые части ФС
Обсуждение (61 +14) | Тип: Проблемы безопасности |


·14.04 Доступна библиотека управления памятью jemalloc 5.3.1 (37 +13)
  Спустя 4 года после публикации прошлого обновления доступен релиз библиотеки управления памятью jemalloc 5.3.1, предлагающей альтернативную реализацию функций malloc, оптимизированную для снижения фрагментации и работы на многопроцессорных системах. Для решения проблем с блокировками на многоядерных системах в jemalloc для каждого ядра CPU используется своя изолированная область распределения памяти, что позволяет добиться линейной масштабируемости при росте числа потоков.

В июне 2025 года автор проекта прекратил сопровождение и перевёл репозиторий jemalloc в архивный режим, но месяц назад разработку возобновила компания Meta, применяющая jemalloc в своей инфраструктуре. Изначально библиотека была разработана для FreeBSD и используется в данной ОС по умолчанию с 2005 года. Код библиотеки написан на Си и распространяется под лицензией BSD.

Среди изменений:

  • Реализована функция pvalloc, которая может оказаться полезной при замене аллокатора памяти libc.
  • В отладочных сборках включён режим обнаружения двойного вызова функции free(). Для настройки размера стека, в рамках которого выполняется сканирование, добавлен параметр debug_double_free_max_scan.
  • Добавлена сборочная опция "--enable-pageid" для выставления тегов при маппинге памяти, используя prctl с флагом PR_SET_VMA. После включения маппинг можно отслеживать через /proc/<pid>/maps.
  • Добавлен параметр "prof_bt_max", позволяющая выставить максимальную глубину стека для профилирования.
  • Добавлена сборочная опция "--enable-force-getenv" для использования в коде обычной функции getenv() вместо защищённой secure_getenv().
  • Добавлена сборочная опция "--disable-dss" для отключения использования функции sbrk().
  • Добавлен параметр "tcache_ncached_max" для ограничения числа элементов в кэше потоков.
  • Добавлен параметр "calloc_madvise_threshold" для настройки использования механизма ядра madvise или функции memset для обнуления памяти, выделяемой через функцию calloc.
  • Добавлена сборочная опция "--disable-user-config" для отключения загрузки настроек из файла /etc/malloc.conf или переменной окружения MALLOC_CONF.
  • Добавлен параметр "process_madvise_max_batch" для ограничения числа блоков памяти для каждой batch-операции madvise.
  • Добавлен параметр "disable_large_size_classes" для отключения нового алгоритма расчёта размера выделяемой памяти, снижающего накладные расходы при выделении блоков, размером более 4 страниц памяти.
  • В утилиту mallctl добавлены опции: opt.prof_bt_max, arena.<i>.name, thread.tcache.max, thread.tcache.ncached_max.write, thread.tcache.ncached_max.read_sizeclass, arenas.hugepage и approximate_stats.active.

  1. Главная ссылка к новости
  2. OpenNews: Facebook возобновил разработку библиотеки управления памятью jemalloc
  3. OpenNews: Прекращена разработка библиотеки управления памятью jemalloc
  4. OpenNews: Google опубликовал новый вариант системы распределения памяти TCMalloc
  5. OpenNews: Miсrosoft открыл код системы распределения памяти mimalloc
  6. OpenNews: Менеджер распределения памяти jemalloc выпущен в виде отдельной библиотеки
Обсуждение (37 +13) | Тип: Программы |


·14.04 Выпуск OpenBGPD 9.1 (9 +8)
  Представлен выпуск переносимой редакции пакета маршрутизации OpenBGPD 9.1, развиваемого разработчиками проекта OpenBSD и адаптированного для использования во FreeBSD и Linux (заявлена поддержка Alpine, Debian, Fedora, RHEL/CentOS, Ubuntu). Для обеспечения переносимости использованы части кода из проектов OpenNTPD, OpenSSH и LibreSSL. Проект поддерживает большую часть спецификаций BGP 4 и соответствует требованиям RFC8212, но не пытается объять необъятное и обеспечивает главным образом поддержку наиболее востребованных и распространённых функций.

Разработка OpenBGPD ведётся при поддержке регионального интернет-регистратора RIPE NCC, который заинтересован в доведении функциональности OpenBGPD до пригодности к использованию на серверах для маршрутизации в точках межоператорского обмена трафиком (IXP) и в создании полноценной альтернативы пакету BIRD (из открытых альтернатив с реализацией протокола BGP можно отметить проекты FRRouting, GoBGP, ExaBGP и Bio-Routing).

В проекте основное внимание уделяется обеспечению максимального уровня безопасности и надёжности. Для защиты применяется жёсткая проверка корректности всех параметров, средства для контроля соблюдения границ буферов, разделение привилегий и ограничение доступа к системным вызовам. Из достоинств также отмечается удобный синтаксис языка определения конфигурации, высокая производительность и эффективность работы с памятью (например, OpenBGPD может работать с таблицами маршрутизации, включающими сотни тысяч записей).

Ключевые изменения в новой версии:

  • Повышена производительность фильтра исходящих маршрутов (outbound filter). Правила фильтрации теперь сохраняются в массиве, а повторяющиеся у разных пиров фильтры дедуплицируются.
  • В процессе RDE (Route Decision Engine) повышена производительность обработки таблиц с фильтрами (filter_sets) - для повышения эффективности кэширования фильтры перемещены в линейный массив объектов. На серверах с большим числом маршрутов связанные с фильтрами оптимизации позволили сократить продолжительность начальной синхронизации более чем на 25%.
  • Улучшено отражение в логе ошибок разбора атрибутов, приводящих к сбросу сеанса.
  • В команду 'show rib memory' добавлены дополнительные метрики для оценки потребления памяти.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск OpenBGPD 9.0
  3. OpenNews: В рамках проекта GoBGP развивается реализация протокола BGP на языке Go
  4. OpenNews: BGPsec получил статус предложенного стандарта
  5. OpenNews: Ошибка при настройке BGP привела к 27-минутному сбою в работе Cloudflare
  6. OpenNews: RIPE NCC поддержал разработку OpenBGPD
Обсуждение (9 +8) | Тип: Программы |


·14.04 Выпуск сборочной системы Meson 1.11.0 (18 +3)
  Опубликован релиз сборочной системы Meson 1.11.0, которая используется для сборки таких проектов, как X.Org Server, Mesa, QEMU, Lighttpd, systemd, GStreamer, Wayland, GNOME и GTK. Код Meson написан на языке Python и поставляется под лицензией Apache 2.0.

Ключевой целью развития Meson является обеспечение высокой скорости сборочного процесса в сочетании с удобством и простотой использования. Вместо утилиты make при сборке по умолчанию применяется инструментарий Ninja, но возможно применение и других бэкендов, таких как Xcode и Visual Studio. В систему встроен многоплатформенный обработчик зависимостей, позволяющий использовать Meson для сборки пакетов для дистрибутивов. Правила сборки задаются на упрощённом предметно-ориентированном языке, отличаются хорошей читаемостью и понятны пользователю (по задумке авторов разработчик должен тратить минимум времени на написание правил).

Поддерживается кросс-компиляция и сборка в Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS и Windows с использованием GCC, Clang, Visual Studio и других компиляторов. Возможна сборка проектов на различных языках программирования, включая C, C++, Fortran, Java, D и Rust. Поддерживается инкрементальный режим сборки, при котором пересобираются только компоненты, напрямую связанные с изменениями, внесёнными с момента прошлой сборки. Meson можно использовать для формирования повторяемых сборок, при которых запуск сборки в разных окружениях приводит к генерации полностью идентичных исполняемых файлов.

Основные новшества Meson 1.11:

  • При вызове в скриптах Meson метода rust.workspace() реализован разбор корневого файла Cargo.toml внутри проекта, для корректной активации при сборке feature-флагов, определённых в общем для всех рабочих пространств файле Cargo.toml. Кроме того, метод rust.workspace() теперь возвращает объект, через который можно получить список feature-флагов и зависимостей для подпроектов, а также запустить сборку целей, объявленных в файлах Cargo.toml.
  • В команду "meson dist" добавлены опция "-j" (--num-processes) и переменная окружения MESON_NUM_PROCESSES для задания числа процессов, параллельно выполняемых при сборке и тестировании пакетов.
  • Параметр should_fail, допускающий прохождении теста при возвращении ошибки, объявлен устаревшим и переименован в expected_fail. Добавлен параметр expected_exitcode для выставления кода успешного завершения теста, отличного от 0.
  • В модуле external_project на платформе Windows задействована команда cygpath для преобразования специфичных для Windows файловых путей и Unix-подобные пути (например, из C:/path/to/configure в /path/to/configure).
  • В команды install_man и install_headers добавлена поддержка аргумента install_tag для выбора устанавливаемых файлов по произвольным тегам, а не только по тегам man и devel.
  • Добавлен параметр link_early_args, через который в командную строку при запуске компоновщика можно подставить опции (например, "-u" или "--defsym") до перечисления объектов и библиотек.
  • Добавлена константа "~", заменяемая на домашний каталог в файлах описания среды (machine files).
  • В команде "meson format" по умолчанию отключена сортировка файлов, указанных в числе аргументов функции files(). Для включения сортировки следует использовать опцию sort_files.
  • Анонсировано прекращение поддержки версий Python до выпуска 3.10. Meson 1.11.0 является последним выпуском с поддержкой веток Python 3.7, 3.8 и 3.9.
  • Добавлена поддержка новых возможностей C/C++ компилятора MPLAB XC32, появившихся в версии 5.0, таких как автоматическое включение LTO-оптимизаций и поддержка стандартов C2x и CPP23.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск сборочной системы Meson 1.0
  3. OpenNews: Facebook опубликовал систему сборки Buck2
  4. OpenNews: Проект Сicada развивает систему автоматизации сборок, похожую на GitHub Actions
  5. OpenNews: Компания Apple открыла код сборочной системы Swift Build
  6. OpenNews: Релиз сборочной системы CMake 4.0.0
Обсуждение (18 +3) | Тип: Программы |


·14.04 Новые версии свободного издательского пакета Scribus 1.6.6 и 1.7.3 (28 +10)
  Представлен выпуск свободного пакета для верстки документов Scribus 1.6.6. Пакет предоставляет средства для профессиональной верстки печатных материалов, включает инструменты для генерации PDF и поддерживает работу с раздельными цветовыми профилями, CMYK, плашечными цветами и ICC. Программа написана с использованием тулкита Qt и поставляется под лицензией GPLv2+. Готовые бинарные сборки подготовлены для Linux (AppImage), macOS и Windows. В версии 1.6.6 в основном исправлены ошибки, проведена чистка кода многих плагинов, улучшено масштабирование при импорте документов из MS Publisher и добавлены файлы для сборки в MSVC 2026 с использованием Windows 10 SDK.

Одновременно опубликован выпуск Scribus 1.7.3. Ветка 1.7 преподносится как экспериментальная - после проведения окончательной стабилизации и признания готовности для повсеместного внедрения на базе ветки 1.7 будет сформирован стабильный релиз Scribus 1.8.0. Ветка 1.7 примечательна портированием на Qt 6, поддержкой тёмной темы оформления, переводом пиктограмм на формат SVG, новой реализацией закрепляемых панелей инструментов, переработкой панели выбора цвета. Cборки сформированы для Linux (AppImage, Flatpak), macOS и Windows.

Среди изменений в версии Scribus 1.7.3:

  • Переделан механизм проверки правописания во время работы с документом. Проверка теперь выполняется в отдельном потоке и подсвечивает ошибки по мере набора и редактирования текста. Возможен откат (undo) принятых правок. Обеспечена корректная проверка слов с непечатными символами.
  • Переделан интерфейс поиска и замены, в котором реализован режим поиска по всем окнам, предоставлена поддержка скрытия расширенных настроек и добавлена возможность использования выделенного фрагмента в качестве поисковой маски.
  • Добавлен инструмент для быстрого преобразования регистра символов в выделенном блоке текста. Доступны различные режимы, например, инвертирование.
  • Модернизирован генератор штрих-кодов, в котором переделан интерфейс, добавлен полный доступ к опциям BWIPP (Barcode Writer in Pure Postscript), реализованы настройки форматирования текста и выставления границ, предоставлена возможность повторного редактирования объектов со штрих-кодом, добавлены функции для программной генерации штрих-кодов из скриптов.
  • Значительно улучшен импорт изображений в формате JPEG XL.

  1. Главная ссылка к новости
  2. OpenNews: Релиз графического редактора GIMP 3.2.0
  3. OpenNews: В библиотеке libxml2 сменились сопровождающие
  4. OpenNews: Выпуск свободного издательского пакета Scribus 1.7.0
  5. OpenNews: Следы вредоносной активности на сервере загрузки Inkscape
  6. OpenNews: Выпуск редактора векторной графики Inkscape 1.4
Обсуждение (28 +10) | Тип: Программы |


·13.04 Выпуск браузерного движка Servo 0.1.0, который теперь доступен в форме crate-пакета (32 +18)
  Опубликован выпуск браузерного движка Servo 0.1.0 и развиваемого вместе с ним демонстрационного браузера ServoShell, написанных на языке Rust. Готовые сборки сформированы для Linux, Android, macOS и Windows. Помимо отдельных сборок Servo теперь поставляется и в форме crate-пакета, позволяющего встраивать движок в приложения и использовать его в форме библиотеки.

Servo 0.1.0 стал первым выпуском, для которого обеспечен длительный цикл поддержки (LTS). Новые LTS-ветки будут публиковать раз в 6 месяцев на основе очередного промежуточного выпуска. Поддержка LTS-выпусков будет осуществляться 9 месяцев (3 месяца даётся для перехода на новую LTS-ветку). От обычных выпусков LTS-ветка отличается публикацией обновлений с исправлениями уязвимостей в библиотеке servo, JavaScript-движке и зависимостях. Предполагается, что LTS-ветка будет полезна для разработчиков, встраивающих Servo в свои проекты и не желающих ежемесячно переходить на очередной промежуточный выпуск с возможными изменениями в API.

Выпуск Servo 0.1.0 LTS построен на основе сформированной несколько дней назад промежуточной версии 0.0.6, в которой были реализованы следующие новые возможности:

  • В HTML-элементe "button" реализованы атрибуты "command" и "commandfor", которые можно использовать в кнопках вместо атрибутов "popovertargetaction" и "popovertarget" для декларативной настройки взаимодействия с меню, вызываемым при нажатии на кнопку.
  • Добавлен CSS-селектор ":modal", позволяющий определить, что диалог, созданный через элемент <dialog>, является модальным.
  • Реализовано CSS-правило @property, позволяющее регистрировать собственные CSS-свойства.
  • Добавлены CSS-свойства "alignment-baseline" и "baseline-shift" для выравнивания текста по вертикали.
  • Добавлена поддержка заголовка "Content-Security-Policy: base-uri", ограничивающего URL, которые могут использоваться в HTML-элементе <base>.
  • Добавлена частичная поддержка отложенной загрузки iframe-блоков, при которой содержимое, находящееся вне видимой области, не загружается до тех пор, пока пользователь не прокрутит страницу в место, непосредственно предшествующее элементу. Включение отложенной загрузки страниц осуществляется через атрибут "loading=lazy" в теге iframe (<iframe loading=lazy>).
  • Добавлена частичная поддержка CSS-свойства "transform-style: preserve-3d" для позиционирования дочерних элементов в 3D-пространстве.
  • Реализованы события pointermove, pointerdown, pointerup и pointercancel.
  • Обеспечен поворот изображений на основе метаданных EXIF.
  • Обеспечено использование переменной окружения LANG для выбора языка по умолчанию для заголовка "Accept-Language" и свойства navigator.language.
  • Добавлены API Pointer Events и UserActivation.
  • Реализованы методы import.meta.resolve(), formData(), toJSON(), createIndex(), deleteIndex() и index().
  • В демонстрационном браузере servoshell для изменения настроек реализованы страницы servo:preferences (GUI конфигуратор) и servo:config (изменение отдельных параметров в стиле about:config). Добавлена поддержка перезагрузки страницы при нажатии F5.
  • В инструментах для web-разработчиков в режиме инспектирования добавлена поддержка редактирования атрибутов DOM, в web-консоли обеспечен предпросмотр объектов, передаваемых через console.log(), в отладчике появилась возможность приостановки и возобновления выполнения скриптов.

  • Расширен API для встраивания браузерного движка в приложения.

Движок Servo изначально развивался компанией Mozilla, но затем перешёл под покровительство организации Linux Foundation. Servo отличается поддержкой многопоточного рендеринга web-страниц, распараллеливанием операций с DOM (Document Object Model) и задействованием предоставляемых языком Rust механизмов безопасного программирования. Servo изначально создан с поддержкой разбиения кода DOM и рендеринга на более мелкие подзадачи, которые могут выполняться параллельно и более эффективно использовать ресурсы многоядерных CPU. В Firefox уже интегрированы некоторые части Servo, такие как многопоточный CSS-движок и система отрисовки WebRender.

  1. Главная ссылка к новости
  2. OpenNews: Представлена библиотека Servo GTK для интеграции движка Servo с GTK-приложениями
  3. OpenNews: Браузер Ladybird опередил Servo при тестировании поддержки web-технологий
  4. OpenNews: В прототипе браузера на базе движка Servo появилась поддержка вкладок
Обсуждение (32 +18) | Тип: Программы |


·13.04 В OpenBSD переименовали поле в pfsync после ложного AI-отчёта об уязвимости (93 +30)
  Тэо де Раадт (Theo de Raadt) переименовал название поля в заголовке пакета pfsync после поступления ложного отчёта об уязвимости, сгенерированного AI-инструментами. Поле "pfcksum[PF_MD5_DIGEST_LENGTH]" переименовано в "spare[16]", так как AI-модель полагала, что имя pfcksum свидетельствует о хранении в поле хэша или контрольной суммы содержимого пакета и, так как поле не проверялось, считала, что в коде есть уязвимость.

Тэо пояснил, что на раннем этапе разработки pfsync указанное поле было добавлено для хранения хэша набора правил с целью оптимизации проверки состояния. В конечном счёте от этой идеи отказались, но поле было оставлено для сохранения обратной совместимости и всегда оставалось заполненным нулями. В коде данное поле лишь упоминалось в структуре пакета, но не проверялось и не заполнялось.

В сгенерированном AI-отчёте утверждалось о наличии уязвимости на основании предположения, что поле вычисляется при отправке пакета, но не проверяется при получении. В отчёте детально пояснялся принцип работы и источник проблемы, но на деле - это было AI-галлюцинацией, выдуманной лишь на основании использования в коде слов "pfcksum" и "PF_MD5_DIGEST_LENGTH". Человек, использовавший AI для поиска уязвимости, не потрудился проверить результат перед отправкой отчёта.

  1. Главная ссылка к новости
  2. OpenNews: Интервью с Грегом Кроа-Хартманом о созданных через AI отчётах об ошибках
  3. OpenNews: Сопровождающие Godot перегружены из-за обилия сомнительных изменений, созданных с помощью AI
  4. OpenNews: Защита от мусорных AI-изменений на GitHub. Оценка влияния вайб-кодинга на экосистему открытого ПО
  5. OpenNews: LLVM ввёл правила применения AI-инструментов. Curl и Node.js ограничат выплаты за уязвимости из-за AI
  6. OpenNews: Представлен Gixy-Next, форк Gixy-ng, избавленный от изменений, сгенерированных через AI
Обсуждение (93 +30) | Тип: К сведению |


·13.04 Релиз ядра Linux 7.0 (300 +43)
  После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 7.0. Среди наиболее заметных изменений: правила применения AI-ассистентов, перевод Rust в основные возможности ядра, повышение производительности подкачки, включение по умолчанию режима PREEMPT_LAZY, поддержка фильтров для операций io_uring, новая ФС Nullfs, инфраструктура fserror, средства мониторинга XFS, поддержка ремапинга в Btrfs, включение по умолчанию версии NFS 4.1, интеграция пост-квантового криптоалгоритма ML-DSA, активация AccECN в сетевой подсистеме, начальная поддержка WiFi 8.

Номер 7.0 присвоен, так как в ветке 6.x накопилось достаточного выпусков для смены первого числа в номере версии (в своё время выпуск 6.0 был сформирован следом за 5.19). Смена нумерации осуществляется из эстетических соображений и является формальным шагом, снимающим дискомфорт из-за накопления большого числа выпусков в серии.

В новую версию принято 15624 исправления от 2477 разработчиков, размер патча - 56 МБ (изменения затронули 18053 файла, добавлено 704060 строк кода, удалено 278132 строки). В прошлом выпуске было 15657 исправлений от 2237 разработчиков, размер патча - 52 МБ. Около 51% всех представленных в 7.0 изменений связаны с драйверами устройств, примерно 11% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 14% связано с сетевым стеком, 5% - с файловыми системами и 3% c внутренними подсистемами ядра.

Основные новшества в ядре 7.0 (1, 2, 3):

  • Дисковая подсистема, ввод/вывод и файловые системы
    • Реализована инфраструктура fserror и добавлен API для получения информации об ошибках ввода/вывода и повреждении метаданных при работе с файлами. Предложенная инфраструктура унифицирует в файловых системах передачу сведений об ошибках в пространство пользователя через механизм fsnotify.
    • В XFS добавлены новые возможности для мониторинга за состоянием файловой системы из пространства пользователя. Предложена ioctl-операция XFS_IOC_HEALTH_MONITOR, возвращающая файловый дескриптор, через который можно получать сведения о сбоях, связанных с повреждением метаданных или возникновение ошибок при вводе/вывода, а также отслеживать изменение состояний ФС, таких как отмонтирование и завершение работы. Дополнительно предложен управляемый через systemd фоновый процесс xfs_healer, обрабатывающий события о состоянии ФС из пространства пользователя и при необходимости автоматически запускающий процедуры восстановления.
    • В файловую систему Btrfs добавлена экспериментальная поддержка структуры "дерево ремапинга" (remap tree), которая в будущем может быть задействована в качестве промежуточного слоя при выполнении операций ввода-вывода. Суть добавленной возможности в том, что после перемещения данных на накопителе вместо обновления всех связанных с этими данными структур в дополнительной структуре "remap tree" сохраняются старые и новые адреса данных, после чего при обращении к данным адреса подменяются. Новый подход преподносится как более надёжный и гибкий, а также упрощающий дальнейшее расширение функциональности Btrfs.
    • В Btrfs реализована поддержка прямого ввода/вывода в ситуациях, когда размер блока превышает размер страницы памяти в системе.
    • В состав включена новая файловая система "Nullfs", которую можно использовать в качестве заглушки для корневой ФС. Файловая система Nullfs всегда пустая, не содержит данных и не поддерживает изменения. Назначением Nullfs является использование в качестве начальной ФС для упрощения процесса загрузки системы - поверх Nullfs затем монтируются другие ФС и используется системный вызов pivot_root() для переключения корневой ФС вместо очистки содержимого initramfs и использования связанной с ним корневой ФС.
    • Реализовано обновление информации о времени модификации файлов в неблокирующем режиме. Ранее вызов file_update_time_flags() с флагом IOCB_NOWAIT возвращал ошибку "-EAGAIN", что не позволяло использовать операции прямой записи в неблокирующем режиме.
    • В файловых системах в разряд отдельно включаемых опций переведена поддержка уведомительных блокировок (lease). По умолчанию подобный механизм теперь не активируется из-за проблем с ФС, изначально не рассчитанных на его применение. Например, его не поддерживают ФС 9p и cephfs.
    • В файловой системе Ext4 повышена эффективность кэширования экстентов и отложенного выделения блоков (delayed allocation). Реализован sysfs-параметр "err_report_sec", определяющий задержку записи в лог повторяющихся предупреждений о проблемах с целостностью и ошибках в ФС. Повышена производительность одновременной записи в несколько файлов в режиме прямого ввода/вывода (direct I/O).
    • В файловой системе EROFS (Extendable Read-Only File System), предназначенной для использования на разделах, доступных в режиме только для чтения, для сжатия по умолчанию задействован алгоритм LZMA. Опционально доступны алгоритмы DEFLATE и Zstandard, которые больше не помечены экспериментальными. Реализовано совместное использование записей в страничном кэше (page-cache) для идентичных файлов в отдельных ФС EROFS.
    • Удалён режим laptop_mode, экономящий энергопотребление за счёт откладывания и объединения операций записи на жёсткий диск с целью продления нахождения диска в спящем режиме и снижения числа пробуждений. Режим потерял актуальность, так как в современных мобильных устройствах жёсткие диски вытеснены твердотельными накопителями.
    • Файловая система F2FS переведена на использование больших фолиантов страниц памяти (large folios).
    • Возрождена работа над драйвером ntfs3, развиваемым компанией Paragon Software. Добавлена поддержка операций с файлами на базе iomap, реализованы опции llseek SEEK_DATA/SEEK_HOLE, добавлен режим delalloc для отложенного выделения блоков. Тем временем, в списке рассылки разработчиков ядра в феврале было одобрено включение в состав одной из будущих версий ядра новой реализации NTFS - ntfsplus, разработанной для замены ntfs3.
    • По умолчанию при сборке включена версия протокола NFS 4.1 (CONFIG_NFS_V4_1). Обеспечена блокировка экспорта через NFS специализированных псевдо-ФС, таких как pidfs и nsfs. В NFSD реализована экспериментальная возможность использования POSIX ACL и добавлена поддержка динамического изменения пула потоков (thread-pool) в зависимости от нагрузки.
  • Память и системные сервисы
    • Утверждены официальные правила применения AI-ассистентов и включения в ядро автоматически сгенерированного содержимого. При передаче сгенерированного кода предписано помечать его через указание используемого AI-ассистента при помощи тега "Assisted-by". AI-ассистентам запрещено добавлять тег "Signed-off-by" - человек, передавший патч, считается его автором, несёт ответственность за переданное изменение и ручается за его качество. Разработчикам предписано проводить ручное рецензирование полученного через AI кода и проверять соответствие результата лицензионным требованиям.
    • Поддержка Rust переведена из экспериментальных в основные возможности ядра. Поддержка Rust не активна по умолчанию и не приводит к включению Rust в число обязательных сборочных зависимостей к ядру.
    • Завершена интеграция в ядро механизма "Swap Table", позволяющего повысить производительность подкачки. Ускорение достигается благодаря уменьшению конкуренции за доступ к кэшу подкачки, более эффективного поиска в кэше и снижения фрагментации. Бэкенд на базе Swap Table задействован для кэширования подкачки вместо бэкенда XArray и позволил в тесте redis-benchmark с BGSAVE увеличить число обрабатываемых запросов на 22%.
    • Добавлена поддержка появившегося в Clang 22 расширения Thread Safety Analysis, позволяющего на этапе компиляции выявлять потенциальные состояния гонки и ошибки, вызванные некорректным выставлением блокировок. Расширение предлагает серию атрибутов, таких как GUARDED_BY(...), REQUIRES(...), RELEASE(...) и ACQUIRE(...), позволяющих отмечать охватываемые блокировками функции и разделять области действия блокировок (определять контекст). На этапе компиляции выполняется проверка корректности применения примитивов синхронизации, таких как мьютексы, на основе оценки активности или не активности, связанного с ними контекста.
    • В системный вызов open_tree добавлен флаг OPEN_TREE_NAMESPACE для упрощения настройки изолированных контейнеров и ускорения запуска контейнеров на системах с большим числом точек монтирования. По аналогии с OPEN_TREE_CLONE новый флаг копирует только указанное дерево точек монтирования (mount tree), но вместо локального файлового дескриптора возвращает файловый дескриптор в новом пространстве имён точек монтирования, в котором скопированное дерево монтируется поверх копии реальной корневой ФС. Флаг OPEN_TREE_NAMESPACE востребован для ухода от раздельного выполнения операций unshare(CLONE_NEWNS) и pivot_root(), применяемых при создании контейнеров.
    • В системный вызов rseq добавлен механизм расширения квантов времени (time slice), позволяющий получить дополнительное процессорное время для неразрывного выполнения критической секции. Идея в том, чтобы избежать прерывания планировщиком задач критической секции с выставленной блокировкой, приводящего к передаче управления другим потокам, использующим ресурс, на которых остаётся выставлена блокировка. Расширение кванта времени производится без дополнительных накладных расходов, но и без строгих гарантий, предоставляемых при полноценном регулировании приоритетов.
    • Для архитектур arm64, loongarch, powerpc, riscv, s390 и x86 режим вытеснения задач (preemption) в планировщике по умолчанию изменён с PREEMPT_NONE на PREEMPT_LAZY. Число возможных режимов сокращено с четырёх до двух - PREEMPT_FULL и PREEMPT_LAZY (режимы PREEMPT_NONE и PREEMPT_VOLUNTARY оставлены только для архитектур, не поддерживающих PREEMPT_FULL и PREEMPT_LAZY). Режим PREEMPT_LAZY применяет модель полного вытеснения (PREEMPT_FULL) для realtime-задач (RR/FIFO/DEADLINE), но задерживает вытеснение обычных задач (SCHED_NORMAL) до границы тика. Вносимая задержка приводит к сокращению случаев вытеснения держателей блокировок, что позволяет приблизить производительность к конфигурациям, использующим модель добровольного вытеснения (voluntary preemption), т.е. PREEMPT_LAZY позволяет сохранить возможности полного вытеснения в отношении realtime-задач, но сводит к минимуму проседание производительности для обычных задач.

      Включение PREEMPT_LAZY привело к серьёзной регрессии, в два раза снижающей производительность PostgreSQL на системах ARM64. Для устранения падения производительности разработчикам PostgreSQL предложено задействовать опцию PR_RSEQ_SLICE_EXTENSION для снижения вероятности вытеснения держателя блокировки.

    • Продолжен перенос изменений из ветки Rust-for-Linux, связанных с использованием языка Rust в качестве второго языка для разработки драйверов и модулей ядра. Благодаря ранее интегрированной библиотеке "syn", упрощающей написание сложных макросов, удалось сократить размер Rust-кода в ядре за счёт упрощения определений имеющихся процедурных макросов. Расширены возможности библиотек kernel, macros и pin-init.
    • В систему асинхронного ввода/вывода io_uring добавлена опция для использования не кольцевых очередей (non-circular submission queue), более эффективно кэшируемых в ситуации, когда выполнение запроса завершается раньше возврата из системного вызова.
    • В подсистеме eBPF в механизме BTF (BPF Type Format), предоставляющем информацию для проверки типов в псевдокоде BPF, для поиска отладочной информации задействован бинарный поиск, что повысило эффективность загрузки BPF-программ. В eBPF добавлена поддержка неявных аргументов при вызове kfunc (функции ядра, доступные для использования в программах BPF), определённых с флагом KF_IMPLICIT_ARGS.
    • Удалён код для поддержки начального RAM-диска (initrd) на базе linuxrc, давно объявленный устаревшим. Оставшиеся реализации initrd планируют удалить в 2027 году. Вместо initrd следует использовать initramfs (разница в том, что initrd размещает начальное загрузочное окружение в дисковом образе, а initramfs - в файловой системе).
    • В блочном устройстве zram, применяемом для сжатого хранения раздела подкачки в памяти, изменена логика работы со сжатыми страницами памяти при опциональном перемещении данных в постоянное хранилище в случае заполнения доступной оперативной памяти. Ранее страницы памяти распаковывались перед записью на физический носитель, а теперь сохраняются как есть в сжатом виде, что снижает нагрузку на CPU и экономит энергию при автономной работе.
    • В утилиту timerlat, предназначенную для измерения задержек при работе планировщика задач, добавлена опция "--bpf-action" для запуска BPF-программ в случае превышения заданного порога.
    • В систему трассировки ftrace добавлена настройка "bitmask-list" для вывода битовых масок в читаемом виде (в форме списка битов, а не шестнадцатеричного числа). В tracefs добавлены возможности для аудита фильтров и триггеров. Добавлена команда "perf sched stats" для сбора и отображения статистики о работе планировщика задач. В подсистему perf добавлена поддержка метрик производительности процессоров AMD Zen 6, Intel Nova Lake, Diamond Rapids и Wildcat Lake, Airmont NP.
    • В утилите Turbostat реализован вывод статистики о работе L2-кэша процессоров Intel.
    • Добавлены сборочные опции LOGO_LINUX_MONO_FILE, LOGO_LINUX_VGA16_FILE и LOGO_LINUX_CLUT224_FILE для определения файла с изображением логотипа, который будет показываться при загрузке ядра вместо штатного логотипа с пингвином Tux.
    • Реализовано автоматическое включение использования расширений Intel TSX (Transactional Synchronization Extensions) на системах c процессорами, не подверженными уязвимости Zombieload, такими как Cooper Lake, Ice Lake, Sapphire Rappids, Emerald Rappids и Granite Rappids. Уязвимость Zombieload приводит к утечке сведений по сторонним каналам при работе механизма асинхронного прерывания операций (TAA, TSX Asynchronous Abort). Включение TSX позволяет добиться повышения производительности многопоточных приложений за счёт динамического исключения лишних операций синхронизации.
  • Виртуализация и безопасность
    • В системе асинхронного ввода/вывода io_uring реализована возможность прикрепления BPF-программ с фильтрами, контролирующими, что могут делать конкретные SQE (Submission Queue Entry) операции (подобие системных вызовов в io_uring). Добавленная возможность является аналогом фильтров системных вызовов. Фильтры можно привязывать к определённым задачам и они наследуются при порождении других процессов после вызова fork(). При наличии активных фильтров, добавляемые поверх фильтры могут лишь прикреплять дополнительные ограничения, но не отключать имеющиеся. Реализованная возможность позволит блокировать методы обхода фильтрации системных вызовов в sandbox-окружениях, основанные на выполнении вместо системных вызовов аналогичных операций, предоставляемых в io_uring.
    • В SELinux добавлена возможность управления доступом к токенам BPF, позволяющим непривилегированным процессам выполнять некоторые привилегированные операции c BPF, например, загружать BPF-программы в ядро и создавать map-структуры.
    • Добавлена поддержка алгоритма формирования цифровых подписей ML-DSA (CRYSTALS-Dilithium), основанного на теории решёток и стойкого к подбору на квантовом компьютере. Предоставлена возможность использования ML-DSA для аутентификации модулей ядра.
    • Удалена возможность использования схем формирования цифровых подписей с алгоритмом SHA-1 для заверения модулей ядра (поддержка загрузки подписанных модулей сохранена).
    • В записи аудита NETFILTER_PKT добавлены поля 'sport' и 'dport' для инспектирования номеров сетевых портов, а не только IP-адресов.
    • Для систем с архитектурой RISC-V реализована поддержка расширений Zicfiss и Zicfilp, предоставляющих аппаратные возможности для применения защиты CFI (Control Flow Integrity), блокирующей нарушения нормального порядка выполнения инструкций (control flow) в результате применения эксплоитов, изменяющих хранимые в памяти указатели на функции.
    • В гипервизоре KVM реализована возможность передачи в гостевые системы информации о поддержке процессором расширения ERAPS (Enhanced Return Address Predictor Security), позволяющего обойтись без некоторых операций сброса состояния CPU при возвращении управления хосту гостевой системой. Кроме того, добавлена поддержка закрепления за гостевыми системами оборудования для отслеживания производительности (PMU, Performance Monitoring Unit), что позволяет повысить точность профилирования по сравнению с использованием эмулируемых PMU.
    • В драйвер для гипервизора Hyper-V добавлена поддержка интерфейса debugfs для просмотра статистики о работе гипервизора.
    • Добавлено отдельной хранилище ключей (keyring) для проверки целостности дисковых образов при помощи модуля dm-verity.
  • Сетевая подсистема
    • Включено по умолчанию расширение AccECN (Accurate Explicit Congestion Notification), реализующее улучшенный вариант расширения ECN, позволяющего хостам в случае перегрузки маркировать IP-пакеты вместо их отбрасывания, что даёт возможность определять возникновение начальной стадии затора в каналах связи без потери пакетов. Исходное расширение ECN имеет ограничение, допускающее выставление только одного сигнала о перегрузке в рамках одного цикла приёма-передачи TCP (RTT, Round-Trip Time, отправка запроса и получение ответа). AccECN снимает данное ограничение и даёт возможность получателю передавать отправителю более одной метки о перегрузке в заголовке TCP-пакета. Алгоритмы управления перегрузкой могут использовать полученную информацию для более точного реагирования на перегрузки и не прибегать к резкому снижению интенсивности отправки пакетов при появлении незначительной перегрузки.
    • В реализацию алгоритма управления сетевыми очередями Cake добавлена возможность обработки нескольких очередей для распределения нагрузки на несколько ядер CPU. Алгоритм CAKE применяется для снижения негативного влияния промежуточной буферизации пакетов на граничном сетевом оборудовании, и нацелен на достижение максимально возможной пропускной способности и минимального уровня задержек даже на медленных каналах связи.
    • В сокеты VSOCK, используемые для взаимодействия с виртуальными машинами, добавлена поддержка сетевых пространств имён (network namespace).
    • Добавлена начальная реализация будущего стандарта WiFi 8 (802.11bn, Ultra High Reliability" WiFi).
    • Добавлены оптимизации, позволившие повысить производительность обработки входящих UDP-пакетов на 12% при проведении стресс-тестирования в 100-гигабитной сети.
    • Добавлена возможность использования буферов приёма пакетов (RX), размером больше 4 КБ. Увеличение размера буфера сокращает число операций со стеком при использовании аппаратного агрегирования пакетов (hw-gro - Hardware Generic Receive Offload), что в однопоточных тестах приводит к снижению нагрузки на CPU почти на треть.
    • Реализована возможность применения механизмов аппаратного ускорения обработки пакетов GSO (Generic Segmentation Offload) и GRO (Generic Receive Offload) при использовании вложенных UDP-туннелей.
  • Оборудование
    • В драйвере AMDGPU реализована поддержка IP-блоков, используемых в новых GPU AMD, таких как SMUIO 15.x, PSP 15.x, IH 6.1.1/7.1, MMHUB 3.4/4.2, GC 11.5.4/12.1, SDMA 6.1.4/7.1/7.11.4 и JPEG 5.3.
    • В драйвере Nouveau улучшено управление частотой на системах Tegra 186+.
    • В драйвер i915 добавлена начальная поддержка дисплейного IP-блока Xe3p_LPD, применяемого в процессорах Intel Nova Lake-P.
    • Продолжена работа над drm-драйвером (Direct Rendering Manager) Xe для GPU на базе архитектуры Intel Xe, которая используется в видеокартах Intel семейства Arc и интегрированной графике, начиная с процессоров Tiger Lake. Добавлен режим Multi Queue. Добавлены компоненты, необходимые для диагностики зависаний GPU в Mesa. Добавлена поддержка механизма MERT для управления доступом к памяти GPU. Расширена поддержка датчиков температуры.
    • Продолжена интеграция компонентов драйвера Nova для GPU NVIDIA, оснащённых GSP-прошивками, используемыми начиная с серии NVIDIA GeForce RTX 2000 на базе микроархитектуры Turing. Драйвер написан на языке Rust. В новой версии проведена подготовка к реализации поддержки GPU на базе микроархитектуры Turing и внесены различные внутренние изменения.
    • Добавлена поддержка контроллеров и периферийных устройств с многоканальным интерфейсом SPI (Serial Peripheral Interface), позволяющим передавать данные в несколько параллельных потоков.
    • Добавлен драйвер для комбинированных коннекторов Type-C, применяемых на устройствах на чипах Apple Silicon и сочетающих интерфейсы USB3, DP-AltMode и Thunderbolt/USB4.
    • Добавлена поддержка звуковых подсистем чипов Tegra238, Minisforum V3 SE, iBasso DC04U, Intel Nova Lake, Nova Lake S и Focusrite Forte.
    • Реализована поддержка аппаратных декодировщиков видео в форматах H.264 и HEVC, применяемых в SoC RK3588 и RK3576 (используются, например, в платах Orange Pi 5).
    • Добавлена начальная поддержка ускорителей копирования и анализа данных Intel DSA 3.0 (Data Streaming Accelerator).
    • Добавлена поддержка ARM-плат, SoC и устройств: Arduino UnoQ, OrangePi 6 Plus, OrangePi CM5, Anbernic RG-DS, Realtek Kent, Qualcomm Kaanapali, Mediatek Ezurio, Facebook Anacapa, Microchip LAN9668, Khadas VIM1S, QNAP TS133, i.MX952, i.MX93, i.MX94, VHIP4 EvalBoard, TQ-Systems MBLS1028A, Agilex5, Radxa CM3J, Glymur,
    • Добавлена поддержка смартфонов и планшетов: Fairphone Gen 6 (SoC Qualcomm Milos/Snapdragon 7s Gen 3), Pixel 3/3 xl, Microsoft surface pro 11.

Одновременно латиноамериканский Фонд свободного ПО сформировал вариант полностью свободного ядра 7.0 - Linux-libre 7.0-gnu, очищенного от элементов прошивок и драйверов, содержащих несвободные компоненты или участки кода, область применения которых ограничена производителем. В выпуске 7.0 проведена чистка от блобов драйвера iwlwifi. Обновлён код чистки в драйверах amdgpu, adreno, TI PRUeth, air_en8811h, ath12k, TI VPE, rtw8852b, rt1320, rt5575 SPI, tas2783, Intel catpt. Выполнена чистка имён blob-ов в dts-файлах (devicetree) для ARM-чипов.

  1. Главная ссылка к новости
  2. OpenNews: Релиз ядра Linux 6.19. Следующему ядру будет присвоен номер 7.0
  3. OpenNews: Релиз ядра Linux 6.18
  4. OpenNews: Релиз ядра Linux 6.17
  5. OpenNews: Релиз ядра Linux 6.16
  6. OpenNews: Релиз ядра Linux 6.15
Обсуждение (300 +43) | Тип: Программы | Интересно


·12.04 Доступен полностью свободный Linux-дистрибутив Trisquel 12.0 (157 +17)
  После трёх лет с момента публикации прошлой ветки представлен релиз полностью свободного Linux-дистрибутива Trisquel 12.0, основанного на пакетной базе Ubuntu 24.04 LTS и ориентированного на использование в небольших предприятиях, в образовательных учреждениях и домашними пользователями. Trisquel лично одобрен Ричардом Столманом, официально признан Фондом Свободного ПО в качестве полностью свободного и помещен в список рекомендованных фондом дистрибутивов. Для загрузки доступны установочные образы, размером 3.4 ГБ (MATE), 2.7 ГБ (KDE), 1.9 ГБ (LXDE), 1.5 ГБ (Sugar) и 79 МБ (загрузка по сети), сформированные для архитектур x86_64, ppc64el, arm64 и armhf. Выпуск обновлений для дистрибутива будет осуществляться до апреля 2029 года.

Дистрибутив примечателен исключением из поставки всех несвободных компонентов, таких как бинарные драйверы, прошивки и элементы графического оформления, распространяемые под несвободной лицензией или использующие зарегистрированные торговые марки. Несмотря на полный отказ от проприетарных компонентов, Trisquel совместим с Java (OpenJDK), поддерживает большинство аудио- и видео-форматов, включая работу с защищенными DVD, задействуя при этом только полностью свободные реализации данных технологий. В качестве рабочих столов предлагаются MATE (по умолчанию), LXDE и KDE.

В новом выпуске:

  • Осуществлён переход с пакетной базы Ubuntu 22.04 на ветку Ubuntu 24.04.
  • До версии 6.8 (была 5.15) обновлён полностью свободный вариант ядра Linux - Linux Libre, очищенный от проприетарных прошивок и драйверов, содержащих несвободные компоненты. Повышена модульность поставки ядра.
  • С целью повышения безопасности переработаны правила AppArmor для графических окружений.
  • Пакетный менеджер APT обновлён до ветки 3.0, а настройки репозиториев переведены на использование формата deb822.
  • В состав включены web-браузеры GNU IceCat и ungoogled-chromium, помимо ранее поставляемого Abrowser (сборка Firefox от разработчиков Trisquel).
  • Рабочий стол MATE обновлён до версии 1.26.1. Опционально для установки доступны пользовательские окружения LXDE 0.99.2, KDE Plasma 5.27 и Sugar 0.121 (обучающее окружение для детей).
  • Обновлены версии программ, в том числе в бэкпортах доступны свежие версии LibreOffice, yt-dlp, Inkscape, Nextcloud Desktop, Kdenlive, Tuba, 0 A.D., fastfetch и многих других приложений.

Основные требования к полностью свободным дистрибутивам:

  • Включение в состав дистрибутива ПО с одобренными FSF лицензиями;
  • Недопустимость поставки бинарных прошивок (firmware) и любых бинарных компонентов драйверов;
  • Непринятие неизменяемых функциональных компонентов, но возможность включения нефункциональных, при условии разрешения копировать и распространять их в коммерческих и некоммерческих целях (например, CC BY-ND-карты к GPL-игре);
  • Недопустимость использования торговых марок, условия использования которых мешают свободному копированию и распространению всего дистрибутива или его части;
  • Соблюдение лицензионной чистоты документации, недопустимость документации, рекомендующей установку проприетарного ПО для решения определённых задач.


В настоящее время помимо Trisque в список полностью свободных дистрибутивов GNU/Linux включены следующие проекты:

  • Dragora - независимый дистрибутив, пропагандирующий идею максимального архитектурного упрощения;
  • Dynebolic - специализированный дистрибутив для обработки видео и аудио данных (более не развивается - последний релиз был 8 сентября 2011 года);
  • Guix - основан на пакетном менеджере Guix и системе инициализации GNU Shepherd (ранее известной как GNU dmd), написанными на языке Guile (одна из реализаций языка Scheme), который также используется и для определения параметров запуска сервисов.
  • Hyperbola - основан на стабилизированных срезах пакетной базы Arch Linux с переносом из Debian некоторых патчей для повышения стабильности и безопасности. Проект развивается в соответствии с принципом KISS (Keep It Simple Stupid) и нацелен на предоставление пользователям простого, легковесного, стабильного и безопасного окружения.
  • Parabola GNU/Linux - дистрибутив, основанный на наработках проекта Arch Linux;
  • PureOS - основан на пакетной базе Debian и разрабатывается компанией Purism, развивающей смартфон Librem 5 и выпускающей ноутбуки, поставляемые с данным дистрибутивом и прошивкой на базе CoreBoot;
  • libreCMC (libre Concurrent Machine Cluster), специализированный дистрибутив, рассчитанный на использование во встраиваемых устройствах, таких как беспроводные маршрутизаторы.
  • ProteanOS - обособленный дистрибутив, развивающийся в направлении достижения как можно более компактного размера;

  1. Главная ссылка к новости
  2. OpenNews: Доступен полностью свободный Linux-дистрибутив Trisquel 11.0
  3. OpenNews: Доступен полностью свободный вариант ядра Linux-libre 6.14
  4. OpenNews: Обновление сборки Debian Libre 13.3, поставляемой без несвободных компонентов
  5. OpenNews: Релиз web-браузера GNU IceCat 60.7.0
  6. OpenNews: UnGoogled Chromium, браузер, ориентированный на приватность
Обсуждение (157 +17) | Тип: Программы |


·11.04 Часть компьютеров в госучреждениях Франции планируют перевести с Windows на Linux (155 +36)
  Давид Амьель (David Amiel), министр бюджета, государственных счетов и гражданской администрации Франции, объявил о планах по переводу некоторых компьютеров в госучреждениях с Windows на Linux. Миграция осуществляется в рамках инициативы по обеспечению цифрового суверенитета и снижению зависимости от не европейских технологических компаний.

Амьель подчеркнул, что французское правительство больше не может мириться с тем, что не контролирует свои данные и цифровую инфраструктуру. Сроки перехода и внедряемый дистрибутив Linux пока не уточняются. Первым на Linux решено перевести рабочие станции в межминистерском управлении цифровизации (DINUM). Министерствам предписано до осени подготовить собственные планы снижения зависимости от не европейских технологий, охватывающие рабочие станции, инструменты совместной разработки, антивирусы, AI-системы, СУБД, платформы виртуализации и сетевое оборудование.

Решение о замене Windows принято спустя несколько месяцев после анонса перевода системы проведения видеоконференций с пакета Microsoft Teams на французский продукт Visio, основанный на открытой платформе Jitsi. До конца года также планируют заменить информационную систему здравоохранения на новую подконтрольную разработку. Кроме этого, объявлено о миграции 80 тысяч сотрудников отделений системы медицинского страхования на собственную платформу межведомственного документооборота.

В дополнение можно отметить развитие Linux-дистрибутива EU OS, нацеленного на использование в государственном секторе Евросоюза. Дистрибутив развивается энтузиастами, которые взаимодействуют с органами государственного управления ЕС и намерены получить статус проекта Европейской комиссии. Дистрибутив основан на Fedora Linux, формируется в виде атомарно обновляемого системного образа и поставляется со средой рабочего стола KDE. Среди других европейских дистрибутивов похожего назначения: GendBuntu (редакция Ubuntu, применяемая в Национальной жандармерии Франции), Linux Plus 1 (внедрён в немецком регионе Шлезвиг-Гольштейн), LiMux (выпускался до 2019 года и применялся в Мюнхене), Linux Barcelona (сборка Ubuntu, применяемая в госучреждениях Барселоны).

  1. Главная ссылка к новости
  2. OpenNews: Создан Euro-Office, форк ONLYOFFICE. Проект ONLYOFFICE обвинил форк в нарушении лицензии
  3. OpenNews: В Мюнхене и Гамбурге согласован перевод госучреждений с продуктов Microsoft на открытое ПО
  4. OpenNews: Давление французских силовых ведомств на GrapheneOS из-за отказа интегрировать бэкдор
  5. OpenNews: В госучреждениях Германии решено перевести 30 тысяч ПК на Linux и LibreOffice
  6. OpenNews: Госучреждения Дании уходят от продуктов Microsoft в пользу открытого ПО
Обсуждение (155 +36) | Тип: К сведению |


Следующая страница (раньше) >>



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2026 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру