Уязвимость в системе инициализации finit, позволяющая войти в систему без пароля
В системе инициализации finit выявлена уязвимость (CVE-2025-29906), позволяющая войти в систему под любым пользователем без проверки пароля. Эксплуатация уязвимости осуществляется через манипуляцию с приглашением входа (login) и требует наличия доступа к консоли. Уязвимость проявляется начиная с версии 3.0 (октябрь 2017 года) и устранена в выпуске finit 4.11. Следом уже сформирован выпуск 4.12 в котором устранено переполнение буфера в плагине urandom, которое не отмечено как уязвимость.
Уязвимость затрагивает реализацию программы getty, выводящей приглашение входа в терминале и запускающей процесс /bin/login для аутентификации пользователя. Уязвимость вызвана отсутствием разделения аргументов командой строки при запуске /bin/login, что позволяло указать опцию "-f" в имени пользователя, отключающую проверку пароля (например, можно ввести "-f root" вместо "root"). Проблема решена через добавление аргумента "--" перед полем с именем пользователя:
В качестве обходного пути для блокирования уязвимости рекомендуется использовать в finit внешнюю реализацию процесса getty, например,
аgetty. В дистрибутивах Debian 12, Ubuntu, Parrot, Raspbian и Trisquel пакеты с finit пока остаются без исправления уязвимости.
Cистема инициализации Finit (Fast init), развивается в качестве простой альтернативы SysV init и systemd, и получила распространение на встраиваемых системах. Проект основан на технологиях системы инициализации fastinit, используемой в Linux-прошивке нетбуков EeePC и примечательной очень быстрым процессом загрузки. Finit поддерживает уровни выполнения (runlevel) в стиле SysV init, автоматический перезапуск сервиса в случае сбоя, выполнение одноразовых обработчиков, запуск сервисов с учётом зависимостей и произвольных условий, прикрепление дополнительных обработчиков для запуска до или после выполнения сервиса, расширение функциональности через плагины, настройку ограничений через Cgroups v2.
https://opennet.ru/63171/
В системе инициализации finit выявлена уязвимость (CVE-2025-29906), позволяющая войти в систему под любым пользователем без проверки пароля. Эксплуатация уязвимости осуществляется через манипуляцию с приглашением входа (login) и требует наличия доступа к консоли. Уязвимость проявляется начиная с версии 3.0 (октябрь 2017 года) и устранена в выпуске finit 4.11. Следом уже сформирован выпуск 4.12 в котором устранено переполнение буфера в плагине urandom, которое не отмечено как уязвимость.
Уязвимость затрагивает реализацию программы getty, выводящей приглашение входа в терминале и запускающей процесс /bin/login для аутентификации пользователя. Уязвимость вызвана отсутствием разделения аргументов командой строки при запуске /bin/login, что позволяло указать опцию "-f" в имени пользователя, отключающую проверку пароля (например, можно ввести "-f root" вместо "root"). Проблема решена через добавление аргумента "--" перед полем с именем пользователя:
- execl(\_PATH\_LOGIN, \_PATH\_LOGIN, "-p", name, NULL);
+ execl(\_PATH\_LOGIN, \_PATH\_LOGIN, "-p", "--", name, NULL);
В качестве обходного пути для блокирования уязвимости рекомендуется использовать в finit внешнюю реализацию процесса getty, например,
аgetty. В дистрибутивах Debian 12, Ubuntu, Parrot, Raspbian и Trisquel пакеты с finit пока остаются без исправления уязвимости.
Cистема инициализации Finit (Fast init), развивается в качестве простой альтернативы SysV init и systemd, и получила распространение на встраиваемых системах. Проект основан на технологиях системы инициализации fastinit, используемой в Linux-прошивке нетбуков EeePC и примечательной очень быстрым процессом загрузки. Finit поддерживает уровни выполнения (runlevel) в стиле SysV init, автоматический перезапуск сервиса в случае сбоя, выполнение одноразовых обработчиков, запуск сервисов с учётом зависимостей и произвольных условий, прикрепление дополнительных обработчиков для запуска до или после выполнения сервиса, расширение функциональности через плагины, настройку ограничений через Cgroups v2.
https://opennet.ru/63171/
Выпуск загрузочных прошивок Libreboot 25.04 и Canoeboot 25.04
Опубликован релиз свободной загрузочной прошивки Libreboot 25.04, который имеет статус экспериментального выпуска, сосредоточенного на развитии функциональности (стабильные релизы в основном содержат исправления и публикуются примерно раз в год, прошлый стабильный релиз был в декабре). Проект развивает готовую сборку проекта Coreboot, предоставляющую замену проприетарным прошивкам UEFI и BIOS, отвечающим за инициализации CPU, памяти, периферийных устройств и других компонентов оборудования, с минимизацией бинарных вставок.
Libreboot нацелен на формирование системного окружения, позволяющего обойтись без проприетарного ПО настолько, насколько это возможно, не только на уровне операционной системы, но и прошивки, обеспечивающей загрузку. Libreboot дополняет Coreboot средствами для упрощения применения конечными пользователями, формируя готовый дистрибутив, которым может воспользоваться любой пользователь, не имеющий специальных навыков.
В новом выпуске:
- Добавлена поддержка материнской платы Acer Q45T-AM и улучшена поддержка похожей платы Acer G43T-AM3. Обеспечена корректная работа Ethernet на материнских платах Acer.
- Изменена нумерация версий, вместо формата "YYYYMMDD" теперь используется нумерация "YY.MM" (год. месяц).
- Улучшена система сборки. При формировании сборок использован свежий выпуск Debian 12.10. Обеспечена возможности сборки в Fedora 42 и Debian Sid с компилятором GCC 15.
- SeaBIOS синхронизирован с репозиторием основного проекта по состоянию на 4 марта, flashprog с состоянием репозитория от 1 марта,
uefitool - 26 апреля, GRUB2 - 20 апреля (с устранением уязвимостей). Выполнена синхронизация со свежей кодовой базой CoreBoot. U-Boot обновлён до версии 2025.04, а NASM до версии 2.16.03.
Оборудование, поддерживаемое в Libreboot:
- Серверные материнские платы:
- ASUS KFSN4-DRE
- ASUS KGPE-D16
- Десктоп-системы:
- Gigabyte GA-G41M-ES2L;
- Acer G43T-AM3, Q45T-AM;
- Intel D510MO / D410PT;
- Apple iMac 5,2;
- HP Elite 8200 SFF/MT;
- HP Elite 8300 USDT;
- ASUS KCMA-D8;
- Dell Precision T1650;
- Intel D945GCLF
- Dell OptiPlex 3050 Micro, 7010, 7020, 9010 и 9020 серии SFF, XE2 SFF, MT и XE2 MT, 780 USFF/MT ;
- Ноутбуки:
- ThinkPad X60 / X60S / X60 Tablet;
- ThinkPad T60;
- Lenovo ThinkPad X200 / X200S / X200 / X220 / X220 eDP / X230 Tablet;
- Lenovo ThinkPad X301;
- Lenovo ThinkPad R400;
- Lenovo ThinkPad T400 / T400S / T420 / T420S / T430 / T440 / T480 / T480S.
- Lenovo ThinkPad T500 / T530;
- Lenovo ThinkPad W530 / W541;
- Lenovo ThinkPad R500;
- HP EliteBook 2560p / 2570p / 2170p / 8470p / Folio 9470m;
- HP EliteBook 820 G2;
- HP Compaq Elite 8300 CMT;
- HP EliteBook 8460p;
- HP EliteBook 8560w;
- Dell Latitute E6400 / E6430;
- Dell Latitude E5420 / E5520 / E5530 / E6520 / E6530 / E6420 / E6220 / E6320 / E6330 / E6230 / E4300;
- Apple MacBook1 и MacBook2;
- ASUS Chromebook Flip C101 (ARM);
- Samsung Chromebook Plus (ARM).
- Игровые приставки:
- Sony PlayStation 1.
В дополнение к Libreboot сформирован выпуск проекта Canoeboot 25.04, который позиционируется как полностью свободная сборка Libreboot, соответствующая требованиям Фонда СПО к полностью свободным дистрибутивам. Выпуск Canoeboot основан на версии Libreboot 25.04, из которой удалены компоненты и изменения, не соответствующие критериям Фонда СПО.
Необходимость в создании отдельной сборки Libreboot объясняется тем, что сформированные Фондом СПО требования к свободным дистрибутивам не допускают поставку бинарных прошивок (firmware) и любых бинарных компонентов драйверов. При этом начиная с 2022 года проект Libreboot перешёл на более прагматичные правила использования...
https://opennet.ru/63172/
Опубликован релиз свободной загрузочной прошивки Libreboot 25.04, который имеет статус экспериментального выпуска, сосредоточенного на развитии функциональности (стабильные релизы в основном содержат исправления и публикуются примерно раз в год, прошлый стабильный релиз был в декабре). Проект развивает готовую сборку проекта Coreboot, предоставляющую замену проприетарным прошивкам UEFI и BIOS, отвечающим за инициализации CPU, памяти, периферийных устройств и других компонентов оборудования, с минимизацией бинарных вставок.
Libreboot нацелен на формирование системного окружения, позволяющего обойтись без проприетарного ПО настолько, насколько это возможно, не только на уровне операционной системы, но и прошивки, обеспечивающей загрузку. Libreboot дополняет Coreboot средствами для упрощения применения конечными пользователями, формируя готовый дистрибутив, которым может воспользоваться любой пользователь, не имеющий специальных навыков.
В новом выпуске:
- Добавлена поддержка материнской платы Acer Q45T-AM и улучшена поддержка похожей платы Acer G43T-AM3. Обеспечена корректная работа Ethernet на материнских платах Acer.
- Изменена нумерация версий, вместо формата "YYYYMMDD" теперь используется нумерация "YY.MM" (год. месяц).
- Улучшена система сборки. При формировании сборок использован свежий выпуск Debian 12.10. Обеспечена возможности сборки в Fedora 42 и Debian Sid с компилятором GCC 15.
- SeaBIOS синхронизирован с репозиторием основного проекта по состоянию на 4 марта, flashprog с состоянием репозитория от 1 марта,
uefitool - 26 апреля, GRUB2 - 20 апреля (с устранением уязвимостей). Выполнена синхронизация со свежей кодовой базой CoreBoot. U-Boot обновлён до версии 2025.04, а NASM до версии 2.16.03.
Оборудование, поддерживаемое в Libreboot:
- Серверные материнские платы:
- ASUS KFSN4-DRE
- ASUS KGPE-D16
- Десктоп-системы:
- Gigabyte GA-G41M-ES2L;
- Acer G43T-AM3, Q45T-AM;
- Intel D510MO / D410PT;
- Apple iMac 5,2;
- HP Elite 8200 SFF/MT;
- HP Elite 8300 USDT;
- ASUS KCMA-D8;
- Dell Precision T1650;
- Intel D945GCLF
- Dell OptiPlex 3050 Micro, 7010, 7020, 9010 и 9020 серии SFF, XE2 SFF, MT и XE2 MT, 780 USFF/MT ;
- Ноутбуки:
- ThinkPad X60 / X60S / X60 Tablet;
- ThinkPad T60;
- Lenovo ThinkPad X200 / X200S / X200 / X220 / X220 eDP / X230 Tablet;
- Lenovo ThinkPad X301;
- Lenovo ThinkPad R400;
- Lenovo ThinkPad T400 / T400S / T420 / T420S / T430 / T440 / T480 / T480S.
- Lenovo ThinkPad T500 / T530;
- Lenovo ThinkPad W530 / W541;
- Lenovo ThinkPad R500;
- HP EliteBook 2560p / 2570p / 2170p / 8470p / Folio 9470m;
- HP EliteBook 820 G2;
- HP Compaq Elite 8300 CMT;
- HP EliteBook 8460p;
- HP EliteBook 8560w;
- Dell Latitute E6400 / E6430;
- Dell Latitude E5420 / E5520 / E5530 / E6520 / E6530 / E6420 / E6220 / E6320 / E6330 / E6230 / E4300;
- Apple MacBook1 и MacBook2;
- ASUS Chromebook Flip C101 (ARM);
- Samsung Chromebook Plus (ARM).
- Игровые приставки:
- Sony PlayStation 1.
В дополнение к Libreboot сформирован выпуск проекта Canoeboot 25.04, который позиционируется как полностью свободная сборка Libreboot, соответствующая требованиям Фонда СПО к полностью свободным дистрибутивам. Выпуск Canoeboot основан на версии Libreboot 25.04, из которой удалены компоненты и изменения, не соответствующие критериям Фонда СПО.
Необходимость в создании отдельной сборки Libreboot объясняется тем, что сформированные Фондом СПО требования к свободным дистрибутивам не допускают поставку бинарных прошивок (firmware) и любых бинарных компонентов драйверов. При этом начиная с 2022 года проект Libreboot перешёл на более прагматичные правила использования...
https://opennet.ru/63172/
Проект Redis вернулся на использование открытой лицензии. Представлен Redis 8.0
Компания Redis Ltd объявила об изменении лицензионной политики проекта. Начиная с выпуска Redis 8.0 код проекта стал доступен под свободной лицензией AGPLv3. Переход на открытую лицензию стал возможным благодаря возвращению в компанию Сальвадора Санфилиппо (Salvatore Sanfilippo), создателя СУБД Redis. После своего ухода из Redis Ltd Сальвадор разработал набор векторных расширений (Vector Sets), которые был готов передать в состав Redis, но хотел чтобы созданный им код поставлялся под открытой лицензией. Сальвадор смог убедить коллег в целесообразности восстановления открытого характера проекта и улучшения взаимодействия с сообществом.
Роуэн Троллоп (Rowan Trollope), директор Redis Ltd, заявил, что совершённый в прошлом году переход на проприетарные лицензии достиг своей цели, так как компании AWS и Google основали форк, начали принимать участие в совместной разработке и делиться своими прошлыми наработками. При этом смена лицензий навредила отношениям с сообществом, которые теперь компания попытается восстановить, вернувшись к поставке кода под свободной лицензией.
После перехода на проприетарные лицензии развитие открытой кодовой базы Redis было продолжено в форках Valkey (форк, развиваемый при участии Amazon, Google, Oracle, Ericsson и Snap), Redict (форк от автора пользовательской оболочки Sway и языка Hare), Garnet (СУБД от Microsoft, совместимая с Redis) или
KeyDB (высокопроизводительный форк Redis 5 от Snapchat). В репозиториях дистрибутивов Debian 13, Ubuntu 24.10, Fedora 41, RHEL 10, Azure Linux 3, Arch Linux и Alpine 3.20 пакет Redis был заменён на форк Valkey.
Изначально Redis поставлялся под разрешительной лицензией BSD, позволявшей не открывать свои изменения, после чего перешёл на проприетарные лицензии RSALv2 (Redis Source Available License v2) и SSPLv1 (Server Side Public License v1). Начиная с Redis 8 код проекта доступен под лицензией AGPLv3, особенностью которой является наличие ограничений для приложений, обеспечивающих функционирование сетевых сервисов. При использовании AGPL-компонентов в работе сетевых сервисов, разработчик обязан предоставить пользователю исходный код всех внесённых в эти компоненты изменений, даже если лежащее в основе сервиса программное обеспечение не распространяется и используется исключительно во внутренней инфраструктуре для организации работы сервиса. Лицензия AGPLv3 совместима с GPLv3, но конфликтует с лицензией GPLv2.
Используемые до этого лицензии SSPL и RSAL приводили к дискриминации отдельных категорий пользователей, что не позволяло считать их открытыми или свободными. По своим целям обе лицензии походят друг на друга, а отличия сводятся к тому, что лицензия SSPL основана на копилефт лицензии AGPLv3, а лицензия RSAL основана на пермиссивной лицензии BSD. Лицензия RSAL позволяет использовать, изменять, распространять и интегрировать код в приложения, за исключением случаев, когда эти приложения являются коммерческими или используются для предоставления управляемых платных сервисов. Лицензия SSPL дополнительно содержит требование поставки под той же лицензией не только кода самого приложения, но и исходных текстов всех компонентов, вовлечённых в предоставление облачного сервиса.
Одновременно с объявлением о смене лицензии представлен релиз Redis 8.0. Тем не менее, несмотря на объявление о доступности релиза, в репозитории пока размещён только кандидат в релизы, а ссылка для загрузки Redis 8.0 на сайте проекта ведёт на страницу с общим описанием процесса установки. В примечании к релизу также пока отмечен только выпуск 8.0-RC1.
Основные изменения в Redis 8.0:
- Добавлен тип для хранения наборов векторных данных, востребованных в системах машинного обучения и семантического поиска. Векторные наборы (vector set) расширяют ранее доступную функциональность упорядоченных списков (sorted set) возможностью хранения многомерных векторов. Д...
https://opennet.ru/63175/
Компания Redis Ltd объявила об изменении лицензионной политики проекта. Начиная с выпуска Redis 8.0 код проекта стал доступен под свободной лицензией AGPLv3. Переход на открытую лицензию стал возможным благодаря возвращению в компанию Сальвадора Санфилиппо (Salvatore Sanfilippo), создателя СУБД Redis. После своего ухода из Redis Ltd Сальвадор разработал набор векторных расширений (Vector Sets), которые был готов передать в состав Redis, но хотел чтобы созданный им код поставлялся под открытой лицензией. Сальвадор смог убедить коллег в целесообразности восстановления открытого характера проекта и улучшения взаимодействия с сообществом.
Роуэн Троллоп (Rowan Trollope), директор Redis Ltd, заявил, что совершённый в прошлом году переход на проприетарные лицензии достиг своей цели, так как компании AWS и Google основали форк, начали принимать участие в совместной разработке и делиться своими прошлыми наработками. При этом смена лицензий навредила отношениям с сообществом, которые теперь компания попытается восстановить, вернувшись к поставке кода под свободной лицензией.
После перехода на проприетарные лицензии развитие открытой кодовой базы Redis было продолжено в форках Valkey (форк, развиваемый при участии Amazon, Google, Oracle, Ericsson и Snap), Redict (форк от автора пользовательской оболочки Sway и языка Hare), Garnet (СУБД от Microsoft, совместимая с Redis) или
KeyDB (высокопроизводительный форк Redis 5 от Snapchat). В репозиториях дистрибутивов Debian 13, Ubuntu 24.10, Fedora 41, RHEL 10, Azure Linux 3, Arch Linux и Alpine 3.20 пакет Redis был заменён на форк Valkey.
Изначально Redis поставлялся под разрешительной лицензией BSD, позволявшей не открывать свои изменения, после чего перешёл на проприетарные лицензии RSALv2 (Redis Source Available License v2) и SSPLv1 (Server Side Public License v1). Начиная с Redis 8 код проекта доступен под лицензией AGPLv3, особенностью которой является наличие ограничений для приложений, обеспечивающих функционирование сетевых сервисов. При использовании AGPL-компонентов в работе сетевых сервисов, разработчик обязан предоставить пользователю исходный код всех внесённых в эти компоненты изменений, даже если лежащее в основе сервиса программное обеспечение не распространяется и используется исключительно во внутренней инфраструктуре для организации работы сервиса. Лицензия AGPLv3 совместима с GPLv3, но конфликтует с лицензией GPLv2.
Используемые до этого лицензии SSPL и RSAL приводили к дискриминации отдельных категорий пользователей, что не позволяло считать их открытыми или свободными. По своим целям обе лицензии походят друг на друга, а отличия сводятся к тому, что лицензия SSPL основана на копилефт лицензии AGPLv3, а лицензия RSAL основана на пермиссивной лицензии BSD. Лицензия RSAL позволяет использовать, изменять, распространять и интегрировать код в приложения, за исключением случаев, когда эти приложения являются коммерческими или используются для предоставления управляемых платных сервисов. Лицензия SSPL дополнительно содержит требование поставки под той же лицензией не только кода самого приложения, но и исходных текстов всех компонентов, вовлечённых в предоставление облачного сервиса.
Одновременно с объявлением о смене лицензии представлен релиз Redis 8.0. Тем не менее, несмотря на объявление о доступности релиза, в репозитории пока размещён только кандидат в релизы, а ссылка для загрузки Redis 8.0 на сайте проекта ведёт на страницу с общим описанием процесса установки. В примечании к релизу также пока отмечен только выпуск 8.0-RC1.
Основные изменения в Redis 8.0:
- Добавлен тип для хранения наборов векторных данных, востребованных в системах машинного обучения и семантического поиска. Векторные наборы (vector set) расширяют ранее доступную функциональность упорядоченных списков (sorted set) возможностью хранения многомерных векторов. Д...
https://opennet.ru/63175/
KDE прекращает формирование LTS-релизов и реформирует отправку телеметрии
На состоявшейся в Граце (Австрия) встрече разработчиков проекта KDE принято решение о сворачивании программы длительной поддержки релизов (LTS) среды рабочего стола KDE Plasma. Вместо сопровождения LTS-веток силами проекта KDE данная задача будет делегирована разработчикам дистрибутивов, которые при желании поставлять устаревший код должны будут самостоятельно отслеживать исправление ошибок в пакетах со старыми версиями KDE Plasma. В текущем виде длительная поддержка со стороны KDE не охватывает весь продукт - LTS ветка доступна только для рабочего стола, но не формируется для фреймворков и приложений. Таким образом, основную работу по поддержанию длительной поддержки KDE как продукта, состоящего из множества компонентов, большая часть из которых не имеет статуса LTS, и без того брали на себя дистрибутивы.
Со своей стороны разработчики KDE вместо создания отдельных LTS-веток немного продлят цикл сопровождения обычных релизов и будут публиковать для каждой значительной ветки дополнительный корректирующий релиз (будет шесть промежуточных обновлений вместо пяти). В обсуждении находится вопрос продления цикла разработки - вместо трёх предлагается выпускать два значительных релиза в год с более длительным периодом сопровождения, что позволит рассматривать каждый выпуск KDE Plasma как мини-LTS. Переход на более длинный цикл разработки пока отложен до устранения всех проблем с Wayland, но разработчики намерены вернуться к его обсуждению через 4 месяца на конференции Akademy.
Разбор сообщений об ошибках в старых LTS-ветках отнимает у разработчиков KDE много времени, так как часть проблем не удаётся воспроизвести из-за использования в дистрибутивах специфичных программных стеков или рассинхронизации состояния пакетов с актуальной кодовой базой KDE (например, проблема может быть уже устранена в основном репозитории KDE, но остаётся неисправленной в каких-то дистрибутивах). Применение термина LTS создаёт излишние ожидания стабильности от пользователей, в то время как разработчики рассматривают его как согласие исправлять ошибки в старых версиях.
Прекращение работы над LTS-ветками высвободит ресурсы и позволит сосредоточить внимание на устранение текущих проблем, которые разработчики KDE могут воспроизвести и исправить. Пользователям будет предложено сообщать о проблемах в старых ветках KDE через системы отслеживания ошибок в дистрибутивах, так как сопровождающие пакеты лучше осведомлены о состоянии графического стека и пакетов в каждом конкретном дистрибутиве.
Дополнительно отмечается реформирование механизма отправки телеметрии. Как и раньше телеметрия по умолчанию останется отключена и
отправка отчётов будет производиться только после явной активации пользователем. Отличия сводятся к возможности проведения отдельных целевых проверок, необходимых для принятия решений. Например, если разработчики заходят удалить какой-то эффект в KWin, предполагая, что им никто не пользуется, они смогут провести целевую проверку, которая даст возможность понять включён ли данный эффект у каких-то пользователей на деле.
Новая система будет напоминать Steam Hardware Survey - пользователям также будет выводиться диалог с предложением поучаствовать в исследованиях, приводящих к отправке телеметрии. Для каждого исследования будет представлен полный список всех собираемых данных. Пользователь может согласиться поучаствовать в конкретном исследовании, отказаться или полностью отключить показ подобных предложений. Отчёты со сводной статистикой по каждому исследованию будут публиковаться в открытом доступе.
https://opennet.ru/63176/
На состоявшейся в Граце (Австрия) встрече разработчиков проекта KDE принято решение о сворачивании программы длительной поддержки релизов (LTS) среды рабочего стола KDE Plasma. Вместо сопровождения LTS-веток силами проекта KDE данная задача будет делегирована разработчикам дистрибутивов, которые при желании поставлять устаревший код должны будут самостоятельно отслеживать исправление ошибок в пакетах со старыми версиями KDE Plasma. В текущем виде длительная поддержка со стороны KDE не охватывает весь продукт - LTS ветка доступна только для рабочего стола, но не формируется для фреймворков и приложений. Таким образом, основную работу по поддержанию длительной поддержки KDE как продукта, состоящего из множества компонентов, большая часть из которых не имеет статуса LTS, и без того брали на себя дистрибутивы.
Со своей стороны разработчики KDE вместо создания отдельных LTS-веток немного продлят цикл сопровождения обычных релизов и будут публиковать для каждой значительной ветки дополнительный корректирующий релиз (будет шесть промежуточных обновлений вместо пяти). В обсуждении находится вопрос продления цикла разработки - вместо трёх предлагается выпускать два значительных релиза в год с более длительным периодом сопровождения, что позволит рассматривать каждый выпуск KDE Plasma как мини-LTS. Переход на более длинный цикл разработки пока отложен до устранения всех проблем с Wayland, но разработчики намерены вернуться к его обсуждению через 4 месяца на конференции Akademy.
Разбор сообщений об ошибках в старых LTS-ветках отнимает у разработчиков KDE много времени, так как часть проблем не удаётся воспроизвести из-за использования в дистрибутивах специфичных программных стеков или рассинхронизации состояния пакетов с актуальной кодовой базой KDE (например, проблема может быть уже устранена в основном репозитории KDE, но остаётся неисправленной в каких-то дистрибутивах). Применение термина LTS создаёт излишние ожидания стабильности от пользователей, в то время как разработчики рассматривают его как согласие исправлять ошибки в старых версиях.
Прекращение работы над LTS-ветками высвободит ресурсы и позволит сосредоточить внимание на устранение текущих проблем, которые разработчики KDE могут воспроизвести и исправить. Пользователям будет предложено сообщать о проблемах в старых ветках KDE через системы отслеживания ошибок в дистрибутивах, так как сопровождающие пакеты лучше осведомлены о состоянии графического стека и пакетов в каждом конкретном дистрибутиве.
Дополнительно отмечается реформирование механизма отправки телеметрии. Как и раньше телеметрия по умолчанию останется отключена и
отправка отчётов будет производиться только после явной активации пользователем. Отличия сводятся к возможности проведения отдельных целевых проверок, необходимых для принятия решений. Например, если разработчики заходят удалить какой-то эффект в KWin, предполагая, что им никто не пользуется, они смогут провести целевую проверку, которая даст возможность понять включён ли данный эффект у каких-то пользователей на деле.
Новая система будет напоминать Steam Hardware Survey - пользователям также будет выводиться диалог с предложением поучаствовать в исследованиях, приводящих к отправке телеметрии. Для каждого исследования будет представлен полный список всех собираемых данных. Пользователь может согласиться поучаствовать в конкретном исследовании, отказаться или полностью отключить показ подобных предложений. Отчёты со сводной статистикой по каждому исследованию будут публиковаться в открытом доступе.
https://opennet.ru/63176/
Intel открыл iaprof, инструментарий для профилирования производительности GPU
Брендан Грег (Brendan Gregg), один из разработчиков системы динамической отладки DTrace, ныне работающий в Intel и развивающий средства для анализа производительности на базе eBPF в ядре Linux, объявил об открытии исходного кода инструментария iaprof (AI Flame Graphs). Инструментарий предназначен для анализа информации о производительности GPU Intel и её наглядной визуализации. Код написан на языке Си и открыт под лицензией Apache 2.0.
Из аппаратных платформ поддерживаются графические карты Intel Arc на базе микроархитектуры Battlemage (серия "B"), GPU для датацентров серии "Max" и различные графические карты Intel Xe2, среди прочего на базе iGPU Lunar Lake. В системе требуется наличие ядра Linux со свежими драйверами для GPU Intel (для Intel Battlemage требуется ядро 6.15 и драйвер Xe, а для Intel Max Series достаточно ядра 5.15 и драйвер i915). Ядро Linux должно быть собрано со специфичными для драйверов Intel интерфейсами EU Stall и EU Debug.
В собираемых профилях отражаются задержки в работе исполнительных блоков (Execution Unit), состояние CPU и информация о ядрах GPU. Собираемые сведения позволяют связать метрики производительности GPU с кодом, выполняемым на CPU. На практике инструментарий удобно использовать для анализа производительности компьютерных игр и AI-приложений, активно использующих GPU, сопоставляя нагрузку на GPU с выполнением на CPU компонентов ядра ОС, runtime-библиотек и AI-фреймворков.
Результаты профилирования могут быть сохранены в формате SVG для интерактивного анализа в браузере (пример), используя цветные диаграммы "FlameGraph" и карты "FlameScope" с
выделением цветом проблемных мест. Графики интерактивные и позволяют увеличивать детализацию до кадров стека и выполняемых инструкций GPU, просматривать подробности и выполнять операции поиска.
https://opennet.ru/63170/
Брендан Грег (Brendan Gregg), один из разработчиков системы динамической отладки DTrace, ныне работающий в Intel и развивающий средства для анализа производительности на базе eBPF в ядре Linux, объявил об открытии исходного кода инструментария iaprof (AI Flame Graphs). Инструментарий предназначен для анализа информации о производительности GPU Intel и её наглядной визуализации. Код написан на языке Си и открыт под лицензией Apache 2.0.
Из аппаратных платформ поддерживаются графические карты Intel Arc на базе микроархитектуры Battlemage (серия "B"), GPU для датацентров серии "Max" и различные графические карты Intel Xe2, среди прочего на базе iGPU Lunar Lake. В системе требуется наличие ядра Linux со свежими драйверами для GPU Intel (для Intel Battlemage требуется ядро 6.15 и драйвер Xe, а для Intel Max Series достаточно ядра 5.15 и драйвер i915). Ядро Linux должно быть собрано со специфичными для драйверов Intel интерфейсами EU Stall и EU Debug.
В собираемых профилях отражаются задержки в работе исполнительных блоков (Execution Unit), состояние CPU и информация о ядрах GPU. Собираемые сведения позволяют связать метрики производительности GPU с кодом, выполняемым на CPU. На практике инструментарий удобно использовать для анализа производительности компьютерных игр и AI-приложений, активно использующих GPU, сопоставляя нагрузку на GPU с выполнением на CPU компонентов ядра ОС, runtime-библиотек и AI-фреймворков.
Результаты профилирования могут быть сохранены в формате SVG для интерактивного анализа в браузере (пример), используя цветные диаграммы "FlameGraph" и карты "FlameScope" с
выделением цветом проблемных мест. Графики интерактивные и позволяют увеличивать детализацию до кадров стека и выполняемых инструкций GPU, просматривать подробности и выполнять операции поиска.
https://opennet.ru/63170/
Релиз Wine 10.7 и бета-версия Proton 10.0
Опубликован экспериментальный выпуск открытой реализации Win32 API - Wine 10.7. С момента выпуска 10.6 было закрыто 14 отчётов об ошибках и внесено 271 изменение.
Наиболее важные изменения:
- В библиотеке ntdll для повышения производительности отслеживания операций записи в память задействован механизм UFFD (userfaultfd), дающий возможность создавать обработчики обращений к невыделенным страницам памяти (page faults) в пространстве пользователя.
- В наборе библиотек WindowsCodecs реализована поддержка преобразования между целочисленными форматами представления цвета и форматами с плавающей запятой: 24bppBGR -> 128bppRGBAFloat, 32bppBGRA -> 128bppRGBAFloat, 128bppRGBAFloat -> 32bppBGRA, 96bppRGBFloat -> 128bppRGBFloat и 96bppRGBFloat -> 32bppBGRA.
- В библиотеке DbgHelp продолжена работа над новым бэкендом для формата PDB (Program database).
- Закрыты отчёты об ошибках, связанные с работой приложений: Winamp, Teach2000, winhelp, Barnham Junction, HeidiSQL,
Native Access 1.13.5.
- Закрыты отчёты об ошибках, связанные с работой игр: Stray, The Forest, PokerStars.
Компания Valve опубликовала первый бета-выпуск пакета Proton 10.0, основанного на кодовой базе проекта Wine и нацеленного на обеспечение запуска в Linux игровых приложений, созданных для Windows и представленных в каталоге Steam. Proton позволяет напрямую запускать в Linux-клиенте Steam игровые приложения, поставляемые только для Windows. Пакет включает в себя реализацию DirectX 9/10/11 (на базе пакета DXVK) и DirectX 12 (на базе vkd3d-proton), работающие через трансляцию вызовов DirectX в API Vulkan, предоставляет улучшенную поддержку игровых контроллеров и возможность использования полноэкранного режима независимо от поддерживаемых в играх разрешений экрана.
В новой ветке Proton выполнена синхронизация с выпуском Wine 10.0. До версии 2.6.1 обновлена прослойка DXVK, транслирующая вызовы в API Vulkan. VKD3D-Proton, ответвление от vkd3d, созданное Valve для улучшения поддержки Direct3D 12 в Proton, обновлено до версии 2.14.1. Обновлены wine-mono 9.4.0, dxvk-nvapi 0.9.0, Xalia 0.4.5. Добавлена поддержка Steamworks SDK 1.62.
Добавлена поддержка игр:
- Batman: Arkham Asylum Game of the Year Edition
- Black Ink
- Factorio
- Ignited Entry
- Microsoft Flight Simulator 2024
- MySims Kingdom
- No Man's Sky
- Rising Storm 2: Vietnam
- Sniper Elite: Nazi Zombie Army
- Soul Interface
- THE KING OF FIGHTERS XIII GLOBAL MATCH
- VIDEO GAME
- Willful
- X Rebirth VR Edition
Решены проблемы в играх:
- Agony Unrated
- All-Star Fruit Racing
- Amerzone: The Explorer's Legacy
- Assassin’s Creed Shadows
- ATRI - My Dear Moments
- Audiosurf
- Beyond Handwell
- Bloodstained: Ritual of the Night
- Champions Online
- Creatures of Ava
- Dark and Darker
- DARK SOULS III
- Deviator
- Dirt Rally 2.0
- Disney Epic Mickey 2: The Power of Two
- Dread X Collection 3 Bete Grise
- Evochron Legacy SE
- Final Fantasy XIV
- Final Fantasy XVI
- Finals
- Gal*Gun 2
- Grand Theft Auto V
- Greedfall
- Hunt: Showdown 1896
- Indigo Park: Chapter 1
- Killsquad
- Locoland
- Marvel Rivals
- Master Magistrate
- Max: The Curse of Brotherhood
- Microsoft Flight Simulator
- Neverwinter
- NieR: Automata
- Nioh: Complete Edition
- Omensight
- Rivals of Aether II
- Sea of Thieves
- Sekiro: Shadows Die Twice
- Shadow Warrior 2
- SOULCALIBUR VI
- SpellForce: Platinum Edition
- Spirit Hunter: NG
- Stalker 2
- Star Trek Online
- Supermarket Together
- TELEFORUM
- The Axis Unseen
- The Bright Star Of Seraph-Katis
- The Finals
- Tintin Reporter - Cigars of the Pharaoh
- Tiny Cauldron
- Twisted Sails
- Warhammer: Vermintide 2
- XCOM 2
- Zero Escape: The Nonary Games
https://opennet.ru/63179/
Опубликован экспериментальный выпуск открытой реализации Win32 API - Wine 10.7. С момента выпуска 10.6 было закрыто 14 отчётов об ошибках и внесено 271 изменение.
Наиболее важные изменения:
- В библиотеке ntdll для повышения производительности отслеживания операций записи в память задействован механизм UFFD (userfaultfd), дающий возможность создавать обработчики обращений к невыделенным страницам памяти (page faults) в пространстве пользователя.
- В наборе библиотек WindowsCodecs реализована поддержка преобразования между целочисленными форматами представления цвета и форматами с плавающей запятой: 24bppBGR -> 128bppRGBAFloat, 32bppBGRA -> 128bppRGBAFloat, 128bppRGBAFloat -> 32bppBGRA, 96bppRGBFloat -> 128bppRGBFloat и 96bppRGBFloat -> 32bppBGRA.
- В библиотеке DbgHelp продолжена работа над новым бэкендом для формата PDB (Program database).
- Закрыты отчёты об ошибках, связанные с работой приложений: Winamp, Teach2000, winhelp, Barnham Junction, HeidiSQL,
Native Access 1.13.5.
- Закрыты отчёты об ошибках, связанные с работой игр: Stray, The Forest, PokerStars.
Компания Valve опубликовала первый бета-выпуск пакета Proton 10.0, основанного на кодовой базе проекта Wine и нацеленного на обеспечение запуска в Linux игровых приложений, созданных для Windows и представленных в каталоге Steam. Proton позволяет напрямую запускать в Linux-клиенте Steam игровые приложения, поставляемые только для Windows. Пакет включает в себя реализацию DirectX 9/10/11 (на базе пакета DXVK) и DirectX 12 (на базе vkd3d-proton), работающие через трансляцию вызовов DirectX в API Vulkan, предоставляет улучшенную поддержку игровых контроллеров и возможность использования полноэкранного режима независимо от поддерживаемых в играх разрешений экрана.
В новой ветке Proton выполнена синхронизация с выпуском Wine 10.0. До версии 2.6.1 обновлена прослойка DXVK, транслирующая вызовы в API Vulkan. VKD3D-Proton, ответвление от vkd3d, созданное Valve для улучшения поддержки Direct3D 12 в Proton, обновлено до версии 2.14.1. Обновлены wine-mono 9.4.0, dxvk-nvapi 0.9.0, Xalia 0.4.5. Добавлена поддержка Steamworks SDK 1.62.
Добавлена поддержка игр:
- Batman: Arkham Asylum Game of the Year Edition
- Black Ink
- Factorio
- Ignited Entry
- Microsoft Flight Simulator 2024
- MySims Kingdom
- No Man's Sky
- Rising Storm 2: Vietnam
- Sniper Elite: Nazi Zombie Army
- Soul Interface
- THE KING OF FIGHTERS XIII GLOBAL MATCH
- VIDEO GAME
- Willful
- X Rebirth VR Edition
Решены проблемы в играх:
- Agony Unrated
- All-Star Fruit Racing
- Amerzone: The Explorer's Legacy
- Assassin’s Creed Shadows
- ATRI - My Dear Moments
- Audiosurf
- Beyond Handwell
- Bloodstained: Ritual of the Night
- Champions Online
- Creatures of Ava
- Dark and Darker
- DARK SOULS III
- Deviator
- Dirt Rally 2.0
- Disney Epic Mickey 2: The Power of Two
- Dread X Collection 3 Bete Grise
- Evochron Legacy SE
- Final Fantasy XIV
- Final Fantasy XVI
- Finals
- Gal*Gun 2
- Grand Theft Auto V
- Greedfall
- Hunt: Showdown 1896
- Indigo Park: Chapter 1
- Killsquad
- Locoland
- Marvel Rivals
- Master Magistrate
- Max: The Curse of Brotherhood
- Microsoft Flight Simulator
- Neverwinter
- NieR: Automata
- Nioh: Complete Edition
- Omensight
- Rivals of Aether II
- Sea of Thieves
- Sekiro: Shadows Die Twice
- Shadow Warrior 2
- SOULCALIBUR VI
- SpellForce: Platinum Edition
- Spirit Hunter: NG
- Stalker 2
- Star Trek Online
- Supermarket Together
- TELEFORUM
- The Axis Unseen
- The Bright Star Of Seraph-Katis
- The Finals
- Tintin Reporter - Cigars of the Pharaoh
- Tiny Cauldron
- Twisted Sails
- Warhammer: Vermintide 2
- XCOM 2
- Zero Escape: The Nonary Games
https://opennet.ru/63179/
Уязвимость в LibJS, позволяющая выполнить код при открытии страницы в браузере Ladybird
В JavaScript-движке LibJS, применяемом в web-браузере Ladybird, выявлена уязвимость (CVE-2025-47154), позволяющая добиться выполнения своего кода в системе при обработке специально оформленного JavaScript-кода. Уязвимость вызвана обращением к уже освобождённой области памяти из-за освобождения памяти на вектор m_argument_values_buffer, на который оставался указатель в структуре arguments_list. Доступен рабочий пототип эксплоита.
Выявивший проблему исследователь провёл fuzzing-тестирование LibJS, в коде которого были зафиксированы 10 аварийных завершений. Разбор одного из сбоев показал, что проблема может быть эксплуатирована при обработке JavaScript-кода. Уязвимость позволяла читать и записывать в произвольные области памяти процесса. Выполнение кода было организовано в эксплоите через замену указателя возврата из функции отрисовки. При помощи возвратно-ориентированного программирования (ROP - Return-Oriented Programming, эксплоит формируется из уже имеющихся кусков машинных инструкций, завершающихся инструкцией возврата управления) была сформирована цепочка для выполнения системного вызова execve с для запуска внешнего приложения.
Браузер Ladybird развивается Андреасом Клингом, который когда-то работал в компании Nokia и занимался разработкой KHTML, а затем в Apple был одним из разработчиков Safari. На текущем этапе развития Ladybird находится на стадии пре-альфа версии, пригодной только для использования разработчиками. Изначально проект был создан как приложение для операционной системы SerenityOS, но летом прошлого года был выделен в отдельный проект и получил пожертвование в 1 млн. долларов. Браузер написан на языке С++ (решено перейти на язык Swift) и распространяется под лицензией BSD. Проектом развиваются собственный движок LibWeb, JavaScript-интерпретатор LibJS и сопутствующие библиотеки.
https://opennet.ru/63178/
В JavaScript-движке LibJS, применяемом в web-браузере Ladybird, выявлена уязвимость (CVE-2025-47154), позволяющая добиться выполнения своего кода в системе при обработке специально оформленного JavaScript-кода. Уязвимость вызвана обращением к уже освобождённой области памяти из-за освобождения памяти на вектор m_argument_values_buffer, на который оставался указатель в структуре arguments_list. Доступен рабочий пототип эксплоита.
Выявивший проблему исследователь провёл fuzzing-тестирование LibJS, в коде которого были зафиксированы 10 аварийных завершений. Разбор одного из сбоев показал, что проблема может быть эксплуатирована при обработке JavaScript-кода. Уязвимость позволяла читать и записывать в произвольные области памяти процесса. Выполнение кода было организовано в эксплоите через замену указателя возврата из функции отрисовки. При помощи возвратно-ориентированного программирования (ROP - Return-Oriented Programming, эксплоит формируется из уже имеющихся кусков машинных инструкций, завершающихся инструкцией возврата управления) была сформирована цепочка для выполнения системного вызова execve с для запуска внешнего приложения.
Браузер Ladybird развивается Андреасом Клингом, который когда-то работал в компании Nokia и занимался разработкой KHTML, а затем в Apple был одним из разработчиков Safari. На текущем этапе развития Ladybird находится на стадии пре-альфа версии, пригодной только для использования разработчиками. Изначально проект был создан как приложение для операционной системы SerenityOS, но летом прошлого года был выделен в отдельный проект и получил пожертвование в 1 млн. долларов. Браузер написан на языке С++ (решено перейти на язык Swift) и распространяется под лицензией BSD. Проектом развиваются собственный движок LibWeb, JavaScript-интерпретатор LibJS и сопутствующие библиотеки.
https://opennet.ru/63178/
Проект Debian начал общее голосование по критериям открытости AI-моделей
Проект Debian объявил о проведении общего голосования (GR, general resolution) разработчиков проекта для утверждения критериев принятия моделей машинного обучения в состав основного репозитория проекта. На данном этапе запущена фаза обсуждения, после которой начнётся сбор голосов (дата начала голосования пока не определена). Право голоса имеют около тысячи разработчиков, участвующих в сопровождении пакетов и поддержании инфраструктуры Debian.
AI-модели, распространяемые под отрытыми лицензиями, но без предоставления исходного материала и инструментария для обучения модели, предлагается признать несовместимыми с критериями Debian, определяющими свободное ПО (DFSG, Debian Free Software Guideline). В случае утверждения предложения подобные модели не смогут быть включены в основной репозиторий проекта ("main"). Возможность поставки таких моделей в репозитории "non-free" в запущенном голосовании не рассматривается.
Среди проблем, возникающих при отсутствии данных, используемых при обучении, упомянуты:
- Отсутствие исходных данных или программ, используемых для проведения обучения, сильно ограничивает возможности по модификации готовых AI-моделей. Несмотря на разрешение модификации в лицензии, на практике подобная модификация затруднена. Изменение может потребоваться, например, при необходимости замены токенизатора, необходимого для добавления поддержки новых языков.
- Применяемые для обучения данные можно трактовать как "исходный код" модели, а готовая модель как результат обработки этого "исходного кода" инструментарием для проведения обучения. Соответственно, для модификации модели должна быть возможность модификации исходных данных и инструментария.
- Невозможность воспроизвести работу, выполненную для создания модели, без доступа к исходным данным и инструментарию.
- Безопасность и этические вопросы. Без исходных данных и инструментария возможности устранения уязвимостей в моделях ограничены применением бинарных патчей или полной заменой модели. Подобные патчи может подготовить только автор модели и потребители модели становятся целиком зависимы от него. При этом никто, включая авторов модели, не способен понять суть предлагаемых таким образом изменений. Отсутствие исходных данных также затрудняет выявление подстановки бэкдоров в модели машинного обучения.
- Ограничения по изучению. Без исходных данных невозможно подтвердить, что модель обучена на данных, поставляемых под лицензиями, допускающими подобное использование, или исключить, что при обучении не использовались данные, полученные нелегальным путём. Кроме того, если при обучении использовались данные под лицензией GPL, может потребоваться анализ наличия в выдаваемом моделью результате фрагментов с копией этих данных, для которых необходимо упоминание источника и лицензии (разработчик может добавить в своей проект сгенерированный моделью код и невольно нарушить лицензию GPL).
В октябре прошлого года организация OSI (Open Source Initiative)
опубликовала определение открытой AI-системы (Open Source AI). Открытая AI-система должна предоставлять следующие возможности: использование в любых целях без необходимости получения отдельного разрешения; изучение работы системы и инспектирование её компонентов; внесение изменений для любых целей; передача другим лицам как исходного варианта, так и редакции после внесения изменений, без ограничения целей использования. Открытая AI-система должна включать детальную информацию об архитектуре модели, данных, использованных при обучении, и методологии обучения, а также исходный код, позволяющий как запустить AI-систему, так и провести её обучение. Информации должно быть достаточно для того, чтобы профессиональный разработчик смог своими силами воссоздать эквивалентную AI-систему, используя для обучения те же самые или похожие данные. Код также должен охватывать такие области, как препр...
https://opennet.ru/63180/
Проект Debian объявил о проведении общего голосования (GR, general resolution) разработчиков проекта для утверждения критериев принятия моделей машинного обучения в состав основного репозитория проекта. На данном этапе запущена фаза обсуждения, после которой начнётся сбор голосов (дата начала голосования пока не определена). Право голоса имеют около тысячи разработчиков, участвующих в сопровождении пакетов и поддержании инфраструктуры Debian.
AI-модели, распространяемые под отрытыми лицензиями, но без предоставления исходного материала и инструментария для обучения модели, предлагается признать несовместимыми с критериями Debian, определяющими свободное ПО (DFSG, Debian Free Software Guideline). В случае утверждения предложения подобные модели не смогут быть включены в основной репозиторий проекта ("main"). Возможность поставки таких моделей в репозитории "non-free" в запущенном голосовании не рассматривается.
Среди проблем, возникающих при отсутствии данных, используемых при обучении, упомянуты:
- Отсутствие исходных данных или программ, используемых для проведения обучения, сильно ограничивает возможности по модификации готовых AI-моделей. Несмотря на разрешение модификации в лицензии, на практике подобная модификация затруднена. Изменение может потребоваться, например, при необходимости замены токенизатора, необходимого для добавления поддержки новых языков.
- Применяемые для обучения данные можно трактовать как "исходный код" модели, а готовая модель как результат обработки этого "исходного кода" инструментарием для проведения обучения. Соответственно, для модификации модели должна быть возможность модификации исходных данных и инструментария.
- Невозможность воспроизвести работу, выполненную для создания модели, без доступа к исходным данным и инструментарию.
- Безопасность и этические вопросы. Без исходных данных и инструментария возможности устранения уязвимостей в моделях ограничены применением бинарных патчей или полной заменой модели. Подобные патчи может подготовить только автор модели и потребители модели становятся целиком зависимы от него. При этом никто, включая авторов модели, не способен понять суть предлагаемых таким образом изменений. Отсутствие исходных данных также затрудняет выявление подстановки бэкдоров в модели машинного обучения.
- Ограничения по изучению. Без исходных данных невозможно подтвердить, что модель обучена на данных, поставляемых под лицензиями, допускающими подобное использование, или исключить, что при обучении не использовались данные, полученные нелегальным путём. Кроме того, если при обучении использовались данные под лицензией GPL, может потребоваться анализ наличия в выдаваемом моделью результате фрагментов с копией этих данных, для которых необходимо упоминание источника и лицензии (разработчик может добавить в своей проект сгенерированный моделью код и невольно нарушить лицензию GPL).
В октябре прошлого года организация OSI (Open Source Initiative)
опубликовала определение открытой AI-системы (Open Source AI). Открытая AI-система должна предоставлять следующие возможности: использование в любых целях без необходимости получения отдельного разрешения; изучение работы системы и инспектирование её компонентов; внесение изменений для любых целей; передача другим лицам как исходного варианта, так и редакции после внесения изменений, без ограничения целей использования. Открытая AI-система должна включать детальную информацию об архитектуре модели, данных, использованных при обучении, и методологии обучения, а также исходный код, позволяющий как запустить AI-систему, так и провести её обучение. Информации должно быть достаточно для того, чтобы профессиональный разработчик смог своими силами воссоздать эквивалентную AI-систему, используя для обучения те же самые или похожие данные. Код также должен охватывать такие области, как препр...
https://opennet.ru/63180/
Представлены принципы дизайна компилятора Nimony для будущего Nim 3.0
В процессе разработки языка программирования Nim 3.0 развивается новый компилятор Nimony, основополагающим принципом проектирования которого является достижение предсказуемости времени выполнения в худшем случае (Worst Case Execution Time, WCET). Это требование продиктовано ориентацией на системы жёсткого реального времени, где недетерминированное поведение недопустимо. Как следствие, архитектура Nimony исключает использование JIT-компиляторов и сборщиков мусора с трассировкой (tracing garbage collectors), поскольку их операции могут вносить непредсказуемые задержки.
Для достижения предсказуемости, примитивные типы данных (целые числа, символы) напрямую отображаются на машинные слова и байты соответствующей архитектуры. Композитные типы (структуры, объекты) формируются без использования косвенной адресации (indirection), размещаясь непосредственно в стеке или внутри других структур данных. Такой подход минимизирует накладные расходы и обеспечивает более прозрачное соответствие между исходным кодом и генерируемым машинным кодом.
В области автоматического управления памятью (MM), Nimony отходит от многообразия опций, доступных в Nim 2.0, предлагая единственный стандартизированный режим: "mm:atomicArc". Данный режим базируется на подсчёте ссылок с использованием атомарных операций, дополненном семантикой перемещения (move semantics) и вызовом деструкторов при уничтожении объекта, что сближает подход с практиками, принятыми в Rust и современном C++.
Ключевым нововведением является явное разделение объектов на ацикличные и потенциально цикличные. По умолчанию объекты считаются ацикличными (.acyclic), что является новым поведением. Для типов данных, экземпляры которых могут формировать циклические ссылки, требуется явная аннотация прагмой .cyclic. Отмечается, что ведётся разработка нового алгоритма сборки циклических ссылок, однако его готовность к промышленному использованию на данный момент не гарантирована. Преимуществом MM на основе деструкторов называется его композируемость: управление ресурсами, требующими освобождения (например, файловые дескрипторы, сетевые сокеты, каналы), интегрируется естественным образом через деструкторы соответствующих типов.
Подход к обработке ошибок в Nimony претерпел значительные изменения. Автор Nim выражает неудовлетворённость традиционными механизмами исключений и их эмуляцией через алгебраические типы данных (sum types). Вместо этого предлагается концепция интеграции состояния ошибки непосредственно в сам объект данных. В качестве примеров приводятся: представление ошибки в потоках ввода-вывода через специальное состояние, использование NaN для чисел с плавающей запятой, или low(int) для невалидных целочисленных значений. В случаях, когда объект не может инкапсулировать состояние ошибки, предлагается использовать потоко-локальную (thread-local) переменную для сигнализации.
Тем не менее, традиционный механизм исключений Nim сохраняется, но с одним важным уточнением: любая процедура, способная порождать исключение, теперь должна быть в обязательном порядке аннотирована прагмой {.raises.}. Это требование направлено на явное обозначение потенциальных нелокальных переходов управления.
В качестве альтернативы или дополнения вводится новый перечислимый тип ErrorCode. Данный тип является типобезопасным и требует исчерпывающей обработки всех возможных вариантов (аналогично case для enum). ErrorCode спроектирован с учётом возможности отображения на стандартные коды ошибок различных систем и протоколов, таких как POSIX errno, коды ошибок Windows API и статусы HTTP. Цель — унифицировать обработку ошибок между различными библиотеками и обеспечить возможность прямой трансляции системных ошибок (например, "диск переполнен") в соответствующие коды состояния (например, HTTP 507) без дополнительных преобразований. Использование ErrorCode также позволяет обрабатывать и распростран...
https://opennet.ru/63182/
В процессе разработки языка программирования Nim 3.0 развивается новый компилятор Nimony, основополагающим принципом проектирования которого является достижение предсказуемости времени выполнения в худшем случае (Worst Case Execution Time, WCET). Это требование продиктовано ориентацией на системы жёсткого реального времени, где недетерминированное поведение недопустимо. Как следствие, архитектура Nimony исключает использование JIT-компиляторов и сборщиков мусора с трассировкой (tracing garbage collectors), поскольку их операции могут вносить непредсказуемые задержки.
Для достижения предсказуемости, примитивные типы данных (целые числа, символы) напрямую отображаются на машинные слова и байты соответствующей архитектуры. Композитные типы (структуры, объекты) формируются без использования косвенной адресации (indirection), размещаясь непосредственно в стеке или внутри других структур данных. Такой подход минимизирует накладные расходы и обеспечивает более прозрачное соответствие между исходным кодом и генерируемым машинным кодом.
В области автоматического управления памятью (MM), Nimony отходит от многообразия опций, доступных в Nim 2.0, предлагая единственный стандартизированный режим: "mm:atomicArc". Данный режим базируется на подсчёте ссылок с использованием атомарных операций, дополненном семантикой перемещения (move semantics) и вызовом деструкторов при уничтожении объекта, что сближает подход с практиками, принятыми в Rust и современном C++.
Ключевым нововведением является явное разделение объектов на ацикличные и потенциально цикличные. По умолчанию объекты считаются ацикличными (.acyclic), что является новым поведением. Для типов данных, экземпляры которых могут формировать циклические ссылки, требуется явная аннотация прагмой .cyclic. Отмечается, что ведётся разработка нового алгоритма сборки циклических ссылок, однако его готовность к промышленному использованию на данный момент не гарантирована. Преимуществом MM на основе деструкторов называется его композируемость: управление ресурсами, требующими освобождения (например, файловые дескрипторы, сетевые сокеты, каналы), интегрируется естественным образом через деструкторы соответствующих типов.
Подход к обработке ошибок в Nimony претерпел значительные изменения. Автор Nim выражает неудовлетворённость традиционными механизмами исключений и их эмуляцией через алгебраические типы данных (sum types). Вместо этого предлагается концепция интеграции состояния ошибки непосредственно в сам объект данных. В качестве примеров приводятся: представление ошибки в потоках ввода-вывода через специальное состояние, использование NaN для чисел с плавающей запятой, или low(int) для невалидных целочисленных значений. В случаях, когда объект не может инкапсулировать состояние ошибки, предлагается использовать потоко-локальную (thread-local) переменную для сигнализации.
Тем не менее, традиционный механизм исключений Nim сохраняется, но с одним важным уточнением: любая процедура, способная порождать исключение, теперь должна быть в обязательном порядке аннотирована прагмой {.raises.}. Это требование направлено на явное обозначение потенциальных нелокальных переходов управления.
В качестве альтернативы или дополнения вводится новый перечислимый тип ErrorCode. Данный тип является типобезопасным и требует исчерпывающей обработки всех возможных вариантов (аналогично case для enum). ErrorCode спроектирован с учётом возможности отображения на стандартные коды ошибок различных систем и протоколов, таких как POSIX errno, коды ошибок Windows API и статусы HTTP. Цель — унифицировать обработку ошибок между различными библиотеками и обеспечить возможность прямой трансляции системных ошибок (например, "диск переполнен") в соответствующие коды состояния (например, HTTP 507) без дополнительных преобразований. Использование ErrorCode также позволяет обрабатывать и распростран...
https://opennet.ru/63182/
Разработчики ядра Linux на пути к удалению поддержки процессоров i486
Инго Молнар (Ingo Molnar), мэйнтейнер архитектуры x86, механизма блокировок и планировщика задач в ядре Linux, выставил на обсуждение набор патчей, удаляющих из ядра поддержку процессоров 486 (M486, M486SX, AMD ELAN) и начальных серий процессоров 586. В ядре предлагается оставить только возможность работы с процессорами x86, поддерживающими инструкцию CX8 (CMPXCHG8B) и регистр TSC (Time Stamp Counter), которые появились в CPU Pentium.
Отмечается, что для поддержки CPU 486 в ядре приходится держать код, эмулирующий операции CX8 (сравнить и обменять 8 байт) и TSC (счётчик циклов CPU, используемый в планировщике задач). Подобный код усложняет ядро, затрудняет сопровождение и временами становится источником проблем, разбор которых отнимает время у разработчиков. Прекращение поддержки 486 позволит удалить из ядра 14104 строк кода, что значительно упростит некоторые функции в ядре за счёт исключения прослоек, эмулирующих CX8 и TSC, и позволит избавиться от библиотеки math-emu, эмулирующей FPU.
За день до публикации патчей вопрос целесообразности удаления поддержки 486 поднял Линус Торвальдс при обсуждении очередной проблемы, проявляющейся при эмуляции CX8. Линус считает, что настало время отказаться от поддержки CPU 486 и не видит причин, чтобы продолжать тратить время разработчиков на решение возникающих из-за них проблем. Поддержка процессоров 386 году была удалена из ядра в 2012 году. По мнению участников дискуссии, сейчас настало время для удаления поддержки CPU 486. В октябре 2022 года Линус уже публиковал подобное предложение, но оно не получило развития.
В остающихся в обиходе системах 486 актуальные ядра Linux практически не используются. Специализированные варианты процессоров 486 для встраиваемых систем, такие как Intel Quark, поддерживают CX8 и TSC, их изменение не коснётся. Старые оригинальные CPU 486, как правило, продолжают использоваться с устаревшими дистрибутивами, поставляющими старые версии ядра Linux. Современные дистрибутивы Linux давно прекратили поддержку 32-разрядных систем x86 или перешли на использование при сборке опции X86_PAE, требующей наличия поддержки CX8.
https://opennet.ru/63184/
Инго Молнар (Ingo Molnar), мэйнтейнер архитектуры x86, механизма блокировок и планировщика задач в ядре Linux, выставил на обсуждение набор патчей, удаляющих из ядра поддержку процессоров 486 (M486, M486SX, AMD ELAN) и начальных серий процессоров 586. В ядре предлагается оставить только возможность работы с процессорами x86, поддерживающими инструкцию CX8 (CMPXCHG8B) и регистр TSC (Time Stamp Counter), которые появились в CPU Pentium.
Отмечается, что для поддержки CPU 486 в ядре приходится держать код, эмулирующий операции CX8 (сравнить и обменять 8 байт) и TSC (счётчик циклов CPU, используемый в планировщике задач). Подобный код усложняет ядро, затрудняет сопровождение и временами становится источником проблем, разбор которых отнимает время у разработчиков. Прекращение поддержки 486 позволит удалить из ядра 14104 строк кода, что значительно упростит некоторые функции в ядре за счёт исключения прослоек, эмулирующих CX8 и TSC, и позволит избавиться от библиотеки math-emu, эмулирующей FPU.
За день до публикации патчей вопрос целесообразности удаления поддержки 486 поднял Линус Торвальдс при обсуждении очередной проблемы, проявляющейся при эмуляции CX8. Линус считает, что настало время отказаться от поддержки CPU 486 и не видит причин, чтобы продолжать тратить время разработчиков на решение возникающих из-за них проблем. Поддержка процессоров 386 году была удалена из ядра в 2012 году. По мнению участников дискуссии, сейчас настало время для удаления поддержки CPU 486. В октябре 2022 года Линус уже публиковал подобное предложение, но оно не получило развития.
В остающихся в обиходе системах 486 актуальные ядра Linux практически не используются. Специализированные варианты процессоров 486 для встраиваемых систем, такие как Intel Quark, поддерживают CX8 и TSC, их изменение не коснётся. Старые оригинальные CPU 486, как правило, продолжают использоваться с устаревшими дистрибутивами, поставляющими старые версии ядра Linux. Современные дистрибутивы Linux давно прекратили поддержку 32-разрядных систем x86 или перешли на использование при сборке опции X86_PAE, требующей наличия поддержки CX8.
https://opennet.ru/63184/
Уязвимость в ADOdb, допускающая подстановку SQL-запросов
В библиотеке ADOdb, применяемой во многих PHP-проектах для абстрагирования доступа к СУБД и насчитывающей около 3 млн установок из репозитория Packagist, выявлена уязвимость (CVE-2025-46337), позволяющая выполнить подстановку своего SQL-запроса. Проблеме присвоен критический уровень опасности (10 из 10). Уязвимость устранена в выпуске ADOdb 5.22.9.
Уязвимость проявляется при использовании ADOdb вместе с СУБД PostgreSQL в приложениях, вызывающих метод pg_insert_id() с передачей непроверенных внешних данных в параметре $fieldname. Проблема вызвана ошибкой должного в ADOdb-драйвере к PostgreSQL, связанной с отсутствием должного экранирования спецсимволов в параметрах $tablename и $fieldname, перед их применением в функции pg_insert_id() для формирования имени последовательности.
https://opennet.ru/63186/
В библиотеке ADOdb, применяемой во многих PHP-проектах для абстрагирования доступа к СУБД и насчитывающей около 3 млн установок из репозитория Packagist, выявлена уязвимость (CVE-2025-46337), позволяющая выполнить подстановку своего SQL-запроса. Проблеме присвоен критический уровень опасности (10 из 10). Уязвимость устранена в выпуске ADOdb 5.22.9.
Уязвимость проявляется при использовании ADOdb вместе с СУБД PostgreSQL в приложениях, вызывающих метод pg_insert_id() с передачей непроверенных внешних данных в параметре $fieldname. Проблема вызвана ошибкой должного в ADOdb-драйвере к PostgreSQL, связанной с отсутствием должного экранирования спецсимволов в параметрах $tablename и $fieldname, перед их применением в функции pg_insert_id() для формирования имени последовательности.
$result=pg\_query($this->\_connectionID, 'SELECT last\_value FROM '. $tablename .'\_'. $fieldname .'\_seq');
https://opennet.ru/63186/
Выпуск BleachBit 5.0.0, приложения для освобождения места на диске
Опубликован выпуск приложения BleachBit 5.0.0, высвобождающего свободное дисковое пространство за счёт удаления ненужных файлов. Программа предлагает список рекомендуемых для удаления компонентов, из которого пользователь может исключить определённые позиции. Программа поддерживает консольный и графический интерфейсы и может работать в Linux и Windows. Код написан на языке Python с использованием PyGTK и распространяется под лицензией GPLv3. Готовые пакеты собраны для популярных дистрибутивов Linux.
BleachBit позволяет выполнить чистку кэшей, логов и временных файлов различных приложений, удалить неиспользуемые локали и оставшиеся после установки файлы с rpm- и deb-пакетами, оптимизировать внутренние БД браузеров, почтовых клиентов и пакетных менеджеров. Программа также поддерживает режим "шредера", позволяющий перезаписать отдельные файлы или всё свободное место на накопителе для предотвращения восстановления удалённых приложениями файлов.
В новой версии добавлена возможность выбора в настройках языка для интерфейса. Улучшена работа в многопользовательских системах. На платформе Linux реализована чистка Librewolf, Microsoft Edge и Geary, удаление временных файлов Bash. Улучшена чистка логов после ротации и повреждённых .desktop-файлов. Добавлены готовые пакеты для Fedora 41/42, CentOS 9 и Ubuntu 24.10/25.04. Прекращена поддержка Windows XP и Windows 7. Обновлена тема оформления для Windows 10.
https://opennet.ru/63181/
Опубликован выпуск приложения BleachBit 5.0.0, высвобождающего свободное дисковое пространство за счёт удаления ненужных файлов. Программа предлагает список рекомендуемых для удаления компонентов, из которого пользователь может исключить определённые позиции. Программа поддерживает консольный и графический интерфейсы и может работать в Linux и Windows. Код написан на языке Python с использованием PyGTK и распространяется под лицензией GPLv3. Готовые пакеты собраны для популярных дистрибутивов Linux.
BleachBit позволяет выполнить чистку кэшей, логов и временных файлов различных приложений, удалить неиспользуемые локали и оставшиеся после установки файлы с rpm- и deb-пакетами, оптимизировать внутренние БД браузеров, почтовых клиентов и пакетных менеджеров. Программа также поддерживает режим "шредера", позволяющий перезаписать отдельные файлы или всё свободное место на накопителе для предотвращения восстановления удалённых приложениями файлов.
В новой версии добавлена возможность выбора в настройках языка для интерфейса. Улучшена работа в многопользовательских системах. На платформе Linux реализована чистка Librewolf, Microsoft Edge и Geary, удаление временных файлов Bash. Улучшена чистка логов после ротации и повреждённых .desktop-файлов. Добавлены готовые пакеты для Fedora 41/42, CentOS 9 и Ubuntu 24.10/25.04. Прекращена поддержка Windows XP и Windows 7. Обновлена тема оформления для Windows 10.
https://opennet.ru/63181/
Новые версии сервисного менеджера s6-rc и системы инициализации s6-linux-init
Представлен выпуск сервисного менеджера s6-rc 0.5.6.0, предназначенного для управления запуском скриптов инициализации и сервисов. Поддерживается отслеживание дерева зависимостей и автоматический запуск или завершение сервисов для достижения указанного состояния. Инструментарий s6-rc может применяться как в системах инициализации, так и для организации запуска произвольных сервисов в привязке к событиям, отражающим изменение состояния системы. Система поддерживает скрипты инициализации, совместимые с sysv-init, и может импортировать информацию о зависимостях из sysv-rc или OpenRC. Код написан на языке Си и распространяется под лицензией ISC.
Сервисный менеджер s6-rc включает набор утилит для запуска и остановки длительно функционирующих процессов (демонов) или сразу завершаемых скриптов инициализации. В процессе работы обеспечивается параллельный запуск не пересекающихся между собой сервисов и гарантируется повторяющаяся при разных запусках последовательность выполнения скриптов. Все изменения состояния обрабатываются с учётом зависимостей, например, при запуске какого-то сервиса будут автоматически запущены необходимые для его работы зависимости, а при остановке - остановлены и зависимые сервисы.
В отличие от других сервисных менеджеров s6-rc поддерживает упреждающее (в offline-режиме) построение графа зависимостей для имеющегося набора сервисов, что позволяет выполнить ресурсоёмкий анализ зависимостей отдельно, а не во время загрузки или изменения состояния. При этом система не является монолитной и разбита на серию отдельных и заменяемых модулей, каждый из которых в соответствии с философией Unix решает только определённую задачу. Проект s6-rc придерживается философии минимализма (не содержит ничего лишнего) и потребляет минимум ресурсов.
Вместо уровней запуска (runlevel) в s6-rc предлагается концепция наборов (bundles), позволяющая группировать сервисы по произвольным признакам и решаемым задачам. Для повышения эффективности работы используется скомпилированная БД зависимостей, создаваемая утилитой s6-rc-compile на основе содержимого каталогов с файлами для запуска/остановки сервисов. Для разбора и манипуляций с БД предлагаются утилиты s6-rc-db и s6-rc-update.
Одновременно сформированы новые версии сопутствующих пакетов, дополняющих s6-rc:
- s6 2.13.2.0 - утилиты для отслеживания работы процессов и управления процессами (аналог daemontools и runit). Поддерживаются такие возможности как
перезапуск процессов после их аварийного завершения, запуск обработчика (активация сервиса) при обращении к сетевому порту, журналирование событий (замена syslogd) и контролируемое предоставление дополнительных привилегий (аналог sudo).
- s6-linux-init 1.1.3.0 - реализация init-процесса для операционных систем на базе ядра Linux, применяемого для создания систем инициализации, в которых для управления сервисами и скриптами используются пакеты s6 и s6-rc.
- s6-networking 2.7.1.0 - набор утилит для создания сетевых сервисов, похожий на
ucspi.
- s6-frontend - обвязка для воссоздания функциональности daemontools и runit поверх s6.
- s6-portable-utils 2.3.1.0 - набор типовых Unix-утилит, таких как cut, chmod, ls, sort и grep, оптимизированных для потребления минимальных ресурсов и поставляемых под лицензией ISC.
- s6-linux-utils 2.6.3.0 - набор утилит, привязанных к Linux, таких как chroot,
freeramdisk, logwatch, mount и swapon.
- mdevd 0.1.7.0 - менеджер событий (аналог udevd), предназначенный для обработки горячего подключения устройств. По конфигурации mdevd совместим с mdev из состава Busybox.
- bcnm 0.0.2.0 - сетевой конфигуратор с возможностями для настройки Wi-Fi на стороне клиента.
- execline 2.9.7.0 - язык написания сценариев.
- skalibs 2.14.4.0 - библиотека для создания безопасных системных приложений на языке Си.
- s6-dns 2.4.1.0 - набор клиентск...
https://opennet.ru/63187/
Представлен выпуск сервисного менеджера s6-rc 0.5.6.0, предназначенного для управления запуском скриптов инициализации и сервисов. Поддерживается отслеживание дерева зависимостей и автоматический запуск или завершение сервисов для достижения указанного состояния. Инструментарий s6-rc может применяться как в системах инициализации, так и для организации запуска произвольных сервисов в привязке к событиям, отражающим изменение состояния системы. Система поддерживает скрипты инициализации, совместимые с sysv-init, и может импортировать информацию о зависимостях из sysv-rc или OpenRC. Код написан на языке Си и распространяется под лицензией ISC.
Сервисный менеджер s6-rc включает набор утилит для запуска и остановки длительно функционирующих процессов (демонов) или сразу завершаемых скриптов инициализации. В процессе работы обеспечивается параллельный запуск не пересекающихся между собой сервисов и гарантируется повторяющаяся при разных запусках последовательность выполнения скриптов. Все изменения состояния обрабатываются с учётом зависимостей, например, при запуске какого-то сервиса будут автоматически запущены необходимые для его работы зависимости, а при остановке - остановлены и зависимые сервисы.
В отличие от других сервисных менеджеров s6-rc поддерживает упреждающее (в offline-режиме) построение графа зависимостей для имеющегося набора сервисов, что позволяет выполнить ресурсоёмкий анализ зависимостей отдельно, а не во время загрузки или изменения состояния. При этом система не является монолитной и разбита на серию отдельных и заменяемых модулей, каждый из которых в соответствии с философией Unix решает только определённую задачу. Проект s6-rc придерживается философии минимализма (не содержит ничего лишнего) и потребляет минимум ресурсов.
Вместо уровней запуска (runlevel) в s6-rc предлагается концепция наборов (bundles), позволяющая группировать сервисы по произвольным признакам и решаемым задачам. Для повышения эффективности работы используется скомпилированная БД зависимостей, создаваемая утилитой s6-rc-compile на основе содержимого каталогов с файлами для запуска/остановки сервисов. Для разбора и манипуляций с БД предлагаются утилиты s6-rc-db и s6-rc-update.
Одновременно сформированы новые версии сопутствующих пакетов, дополняющих s6-rc:
- s6 2.13.2.0 - утилиты для отслеживания работы процессов и управления процессами (аналог daemontools и runit). Поддерживаются такие возможности как
перезапуск процессов после их аварийного завершения, запуск обработчика (активация сервиса) при обращении к сетевому порту, журналирование событий (замена syslogd) и контролируемое предоставление дополнительных привилегий (аналог sudo).
- s6-linux-init 1.1.3.0 - реализация init-процесса для операционных систем на базе ядра Linux, применяемого для создания систем инициализации, в которых для управления сервисами и скриптами используются пакеты s6 и s6-rc.
- s6-networking 2.7.1.0 - набор утилит для создания сетевых сервисов, похожий на
ucspi.
- s6-frontend - обвязка для воссоздания функциональности daemontools и runit поверх s6.
- s6-portable-utils 2.3.1.0 - набор типовых Unix-утилит, таких как cut, chmod, ls, sort и grep, оптимизированных для потребления минимальных ресурсов и поставляемых под лицензией ISC.
- s6-linux-utils 2.6.3.0 - набор утилит, привязанных к Linux, таких как chroot,
freeramdisk, logwatch, mount и swapon.
- mdevd 0.1.7.0 - менеджер событий (аналог udevd), предназначенный для обработки горячего подключения устройств. По конфигурации mdevd совместим с mdev из состава Busybox.
- bcnm 0.0.2.0 - сетевой конфигуратор с возможностями для настройки Wi-Fi на стороне клиента.
- execline 2.9.7.0 - язык написания сценариев.
- skalibs 2.14.4.0 - библиотека для создания безопасных системных приложений на языке Си.
- s6-dns 2.4.1.0 - набор клиентск...
https://opennet.ru/63187/
Проект CoMaps начал развитие форка приложения Organic Maps
Представлен CoMaps - форк проекта Organic Maps, развивающего мобильное приложение для автономной навигации с картографическими данными OpenStreetMap. Форк основан участниками сообщества, недовольными зависимостью проекта от интересов акционеров коммерческой компании Organic Maps OÜ, закрытостью процесса управления и непрозрачностью распределения пожертвований.
Созданный форк будет развиваться в соответствии с принципами открытости, прозрачности и совместной работы. За принятие решений будет отвечать управляющий совет, избираемый из представителей сообщества. Для проекта зарегистрирован домен comaps.app, но сайт ещё не запущен.
Структура проекта CoMaps подразумевает ведение только некоммерческой деятельности и подотчётность сообществу. Основной целью форка называется работа для удовлетворения интересов сообщества, а не с целью получения прибыли. Все ресурсы, кодовая база и интеллектуальная собственность будет принадлежать сообществу и будут распространяться только под открытой лицензией.
В плане функциональности приложения заявлены следующие принципы:
- Ориентация на работу в offline-режиме. Планирование маршрутов, навигация, поиск путевых точек и другие возможности функционируют без необходимости подключения к глобальной сети.
- Забота о конфиденциальности. Приложение не собирает и не отправляет данные об активности пользователя, не присваивает пользователям идентификаторы, не отслеживает перемещение и не показывает рекламу.
- Экономия аккумулятора. Эффективное потребление энергии для максимального продления работы в автономном режиме.
- Развитие функциональности сообществом и для сообщества.
Проект Organic Maps развивает бесплатные мобильные приложения (Android, iOS, альфа поддержка Linux) для оффлайн навигации, использующие картографические данные из OpenStreetMap. Код проекта распространяется под лицензией Apache 2.0. В приложении делается упор на простоту использования и конфиденциальность (не отслеживает местоположение пользователя и не собирает личные данные). Organic Maps основан как форк приложения MAPS.ME, созданный в том числе его изначальными авторами после продажи MAPS.ME компанией Mail.ru компании Daegu Limited, которая перевела проект на проприетарную модель разработки.
https://opennet.ru/63188/
Представлен CoMaps - форк проекта Organic Maps, развивающего мобильное приложение для автономной навигации с картографическими данными OpenStreetMap. Форк основан участниками сообщества, недовольными зависимостью проекта от интересов акционеров коммерческой компании Organic Maps OÜ, закрытостью процесса управления и непрозрачностью распределения пожертвований.
Созданный форк будет развиваться в соответствии с принципами открытости, прозрачности и совместной работы. За принятие решений будет отвечать управляющий совет, избираемый из представителей сообщества. Для проекта зарегистрирован домен comaps.app, но сайт ещё не запущен.
Структура проекта CoMaps подразумевает ведение только некоммерческой деятельности и подотчётность сообществу. Основной целью форка называется работа для удовлетворения интересов сообщества, а не с целью получения прибыли. Все ресурсы, кодовая база и интеллектуальная собственность будет принадлежать сообществу и будут распространяться только под открытой лицензией.
В плане функциональности приложения заявлены следующие принципы:
- Ориентация на работу в offline-режиме. Планирование маршрутов, навигация, поиск путевых точек и другие возможности функционируют без необходимости подключения к глобальной сети.
- Забота о конфиденциальности. Приложение не собирает и не отправляет данные об активности пользователя, не присваивает пользователям идентификаторы, не отслеживает перемещение и не показывает рекламу.
- Экономия аккумулятора. Эффективное потребление энергии для максимального продления работы в автономном режиме.
- Развитие функциональности сообществом и для сообщества.
Проект Organic Maps развивает бесплатные мобильные приложения (Android, iOS, альфа поддержка Linux) для оффлайн навигации, использующие картографические данные из OpenStreetMap. Код проекта распространяется под лицензией Apache 2.0. В приложении делается упор на простоту использования и конфиденциальность (не отслеживает местоположение пользователя и не собирает личные данные). Organic Maps основан как форк приложения MAPS.ME, созданный в том числе его изначальными авторами после продажи MAPS.ME компанией Mail.ru компании Daegu Limited, которая перевела проект на проприетарную модель разработки.
https://opennet.ru/63188/
Open WebUI перешёл на ограничивающую лицензию, запрещающую удаление бренда
Проект Open WebUI, развивающий платформу для развёртывания больших языковых моделей на своём оборудовании и взаимодействия с ними через web-интерфейс, перешёл на ограничивающую лицензию, запрещающую переименование. Изначально проект поставлялся под лицензией BSD-3, но начиная с выпуска 0.6.6 в текст лицензии были добавлены ограничивающие изменения. Кроме того, проектом введено обязательное подписание соглашения о передаче имущественных прав для участников из сообщества, желающих передавать свои изменения.
При установке или распространении копий Open WebUI пользователь теперь обязан сохранять изначальные элементы бренда, название и логотип. Исключение сделано только для разработчиков, отправлявших изменения до смены лицензии, обладателей коммерческой лицензии и установок, с которыми взаимодействует менее 50 пользователей в месяц. Подобные условия не соответствуют критериям открытых лицензией OSI, поэтому проект теперь можно рассматривать как проприетарный, несмотря на слово "Open" в его названии. Код, выпущенный до версии 0.6.6, остаётся под лицензией BSD.
При этом разработчики Open WebUI не считают, что изменение сделало проект проприератным. Требование по сохранению бренда преподносится как копилефт-подобная защита, нацеленная на борьбу со злоупотреблениями и нечестными поставщиками, выдающими чужую работу за свой продукт. В остальном проект сохраняет все права, предоставляемые лицензией BSD, такие как возможность распространения, модификации и создания форков. При создании форка или собственной редакции, основанных на кодовой базе после версии 0.6.6, требуется сохранить элементы бренда и указать, что продукт является неофициальным ответвлением. Упоминание Open WebUI должно быть явным и видимым. Запрещены заявления о том, что сторонняя редакция развивается с одобрения проекта Open WebUI или при его участии.
Отмечается, что причиной изменения лицензии стали злоупотребления со стороны некоторых потребителей, которые просто удаляли упоминания связи кода с проектом Open WebUI, выдавали результат за новую разработку и пытались продавать как собственный продукт. Также вокруг проекта образовались паразитирующие на проекте посредники, которые вводили пользователей в заблуждение и продвигали свои сборки как официальные редакции Open WebUI, сопровождаемые разработчиками оригинального проекта. В случае проблем создатели подобных модификаций перекладывали работу по поддержке на основной проект, не внося при этом вклада в общее дело и не участвуя в разработке.
https://opennet.ru/63189/
Проект Open WebUI, развивающий платформу для развёртывания больших языковых моделей на своём оборудовании и взаимодействия с ними через web-интерфейс, перешёл на ограничивающую лицензию, запрещающую переименование. Изначально проект поставлялся под лицензией BSD-3, но начиная с выпуска 0.6.6 в текст лицензии были добавлены ограничивающие изменения. Кроме того, проектом введено обязательное подписание соглашения о передаче имущественных прав для участников из сообщества, желающих передавать свои изменения.
При установке или распространении копий Open WebUI пользователь теперь обязан сохранять изначальные элементы бренда, название и логотип. Исключение сделано только для разработчиков, отправлявших изменения до смены лицензии, обладателей коммерческой лицензии и установок, с которыми взаимодействует менее 50 пользователей в месяц. Подобные условия не соответствуют критериям открытых лицензией OSI, поэтому проект теперь можно рассматривать как проприетарный, несмотря на слово "Open" в его названии. Код, выпущенный до версии 0.6.6, остаётся под лицензией BSD.
При этом разработчики Open WebUI не считают, что изменение сделало проект проприератным. Требование по сохранению бренда преподносится как копилефт-подобная защита, нацеленная на борьбу со злоупотреблениями и нечестными поставщиками, выдающими чужую работу за свой продукт. В остальном проект сохраняет все права, предоставляемые лицензией BSD, такие как возможность распространения, модификации и создания форков. При создании форка или собственной редакции, основанных на кодовой базе после версии 0.6.6, требуется сохранить элементы бренда и указать, что продукт является неофициальным ответвлением. Упоминание Open WebUI должно быть явным и видимым. Запрещены заявления о том, что сторонняя редакция развивается с одобрения проекта Open WebUI или при его участии.
Отмечается, что причиной изменения лицензии стали злоупотребления со стороны некоторых потребителей, которые просто удаляли упоминания связи кода с проектом Open WebUI, выдавали результат за новую разработку и пытались продавать как собственный продукт. Также вокруг проекта образовались паразитирующие на проекте посредники, которые вводили пользователей в заблуждение и продвигали свои сборки как официальные редакции Open WebUI, сопровождаемые разработчиками оригинального проекта. В случае проблем создатели подобных модификаций перекладывали работу по поддержке на основной проект, не внося при этом вклада в общее дело и не участвуя в разработке.
https://opennet.ru/63189/
В GNOME SDK добавлена поддержка языка построения интерфейсов Blueprint
В состав предлагаемого проектом GNOME инструментария для разработки приложений (GNOME SDK) включён компилятор blueprint-compiler, позволяющий использовать для определения интерфейса приложений разметку Blueprint. Поддержка Blueprint в GNOME SDK даст возможность применять данный язык описания интерфейса в приложениях GNOME без ручной установки дополнительных зависимостей. В настоящее время Blueprint добавлен в ночные сборки GNOME SDK и войдёт в состав релизов, начиная с осеннего выпуска GNOME 49.
Blueprint упрощает создание интерфейса с использованием библиотеки GTK4 и отличается задействованием простого декларативного синтаксиса, повторяющего модель виджетов GTK, поддерживающего типовые шаблоны, типы и обработчики. В отличие от формата ui-файлов GTK в Blueprint не применяется разметка XML, которая воспринимается как перегруженная и неудобная для редактирования вручную.
Для интеграции с интегрированными средами разработки и редакторами кода предоставляется LSP-сервер (Language Server Protocol), который можно использовать для подсветки, анализа ошибок, вывода подсказок и автодополнения кода. Поддержка Blueprint уже встроена в GNOME Builder и доступна в форме плагинов для Vim, GNU Emacs и Visual Studio Code.
Имеется утилита для упрощения портирования определений интерфейса из XML в Blueprint.
Благодаря читаемому синтаксису формат Blueprint позволяет обойтись без применения специализированных визуальных редакторов интерфейса. При этом Blueprint не требует внесения изменений в GTK и позиционируется как надстройка, компилирующая разметку в штатный для GtkBuilder формат XML. Функциональные возможности Blueprint полностью соответствуют GtkBuilder, отличается лишь метод представления информации. Код инструментария написан на языке Python и распространяется под лицензией LGPLv3.
https://opennet.ru/63190/
В состав предлагаемого проектом GNOME инструментария для разработки приложений (GNOME SDK) включён компилятор blueprint-compiler, позволяющий использовать для определения интерфейса приложений разметку Blueprint. Поддержка Blueprint в GNOME SDK даст возможность применять данный язык описания интерфейса в приложениях GNOME без ручной установки дополнительных зависимостей. В настоящее время Blueprint добавлен в ночные сборки GNOME SDK и войдёт в состав релизов, начиная с осеннего выпуска GNOME 49.
Blueprint упрощает создание интерфейса с использованием библиотеки GTK4 и отличается задействованием простого декларативного синтаксиса, повторяющего модель виджетов GTK, поддерживающего типовые шаблоны, типы и обработчики. В отличие от формата ui-файлов GTK в Blueprint не применяется разметка XML, которая воспринимается как перегруженная и неудобная для редактирования вручную.
Для интеграции с интегрированными средами разработки и редакторами кода предоставляется LSP-сервер (Language Server Protocol), который можно использовать для подсветки, анализа ошибок, вывода подсказок и автодополнения кода. Поддержка Blueprint уже встроена в GNOME Builder и доступна в форме плагинов для Vim, GNU Emacs и Visual Studio Code.
Имеется утилита для упрощения портирования определений интерфейса из XML в Blueprint.
Благодаря читаемому синтаксису формат Blueprint позволяет обойтись без применения специализированных визуальных редакторов интерфейса. При этом Blueprint не требует внесения изменений в GTK и позиционируется как надстройка, компилирующая разметку в штатный для GtkBuilder формат XML. Функциональные возможности Blueprint полностью соответствуют GtkBuilder, отличается лишь метод представления информации. Код инструментария написан на языке Python и распространяется под лицензией LGPLv3.
using Gtk 4.0;
template $MyAppWindow: ApplicationWindow {
default-width: 600;
default-height: 300;
title: \_("Hello, Blueprint!");
\[titlebar]
HeaderBar {}
Label {
label: bind template.main\_text;
}
}
https://opennet.ru/63190/
Опубликована платформа Node.js 24.0.0
Состоялся релиз Node.js 24.0.0, платформы для выполнения сетевых приложений на языке JavaScript. Node.js 24.0 отнесён к веткам с длительным сроком поддержки, но данный статус будет присвоен только в октябре, после проведения стабилизации. Поддержка Node.js 24.x будет осуществляться до 30 апреля 2028 года. Сопровождение прошлой LTS-ветки Node.js 22.x продлится до апреля 2027 года, а позапрошлой LTS-ветки 20.x до апреля 2026 года. Сопровождение LTS-ветки 18.x прекращено 30 апреля 2025 года, промежуточной ветки Node.js 23.x будет прекращено 1 июня 2025 года.
Основные улучшения:
- В API AsyncLocalStorage по умолчанию задействован класс AsyncContextFrame, который помечен стабильным. AsyncContextFrame реализует более эффективный механизм отслеживания асинхронного контекста, позволяющий заметно повысить производительность.
- API URLPattern теперь доступен в виде глобального объекта, который можно использовать без явного импортирования. URLPattern предоставляет возможности для проверки соответствия URL определённому шаблону, что, например может применяться для разбора ссылок.
- Улучшен и стабилизирован механизм Permission Model, позволяющий ограничить доступ к определённым ресурсам в процессе исполнения (например, можно запретить создание дочерних процессов, ограничить доступ на запись или чтение к определённым частям ФС, отключить дополнения). Вместо экспериментального флага "--experimental-permission" для включения Permission Model теперь можно использовать
флаг "--permission".
- Расширены возможности модуля node:test (test_runner), предназначенного для создания и запуска тестов на языке JavaScript, возвращающих результат в формате TAP (Test Anything Protocol). Модуль теперь автоматически ожидает завершения вложенных тестов без необходимости использования await.
- HTTP-клиент undici обновлён до ветки 7.x, в которой повышена производительность и добавлена поддержка новых возможностей HTTP.
- Движок V8 обновлён до версии 13.6, применяемой в Chromium 136. Из новых возможностей по сравнению с прошлым выпуском Node.js отмечена
поддержка типизированных массивов Float16Array, ручного управления ресурсами, метода RegExp.escape (экранирование строк для RegExp), 64-разрядных указателей (Memory64) в WebAssembly, метода Error.isError.
- Пакетный менеджер NPM обновлён до версии 11.
- Прекращена поддержка компилятора MSVC. Для компиляции на платформе Windows необходимо использовать ClangCL.
Платформа Node.js может быть использована как для серверного сопровождения работы Web-приложений, так и для создания обычных клиентских и серверных сетевых программ. Для расширения функциональности приложений для Node.js подготовлена большая коллекция модулей, в которой можно найти модули с реализацией серверов и клиентов HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, модули для интеграции с различными web-фреймворками, обработчики WebSocket и Ajax, коннекторы к СУБД (MySQL, PostgreSQL, SQLite, MongoDB), шаблонизаторы, CSS-движки, реализации криптоалгоритмов и систем авторизации (OAuth), XML-парсеры.
Для обеспечения обработки большого числа параллельных запросов Node.js задействует асинхронную модель запуска кода, основанную на обработке событий в неблокирующем режиме и определении callback-обработчиков. В качестве способов мультиплексирования соединений поддерживаются такие методы, как epoll, kqueue, /dev/poll и select. Для мультиплексирования соединений используется библиотека libuv, которая является надстройкой над libev в системах Unix и над IOCP в Windows. Для создания пула потоков (thread pool) задействована библиотека libeio, для выполнения DNS-запросов в неблокирующем режиме интегрирован c-ares. Все системные вызовы, вызывающие блокирование, выполняются внутри пула потоков и затем, как и обработчики сигналов, передают результат своей работы обратно через неименованный кан...
https://opennet.ru/63194/
Состоялся релиз Node.js 24.0.0, платформы для выполнения сетевых приложений на языке JavaScript. Node.js 24.0 отнесён к веткам с длительным сроком поддержки, но данный статус будет присвоен только в октябре, после проведения стабилизации. Поддержка Node.js 24.x будет осуществляться до 30 апреля 2028 года. Сопровождение прошлой LTS-ветки Node.js 22.x продлится до апреля 2027 года, а позапрошлой LTS-ветки 20.x до апреля 2026 года. Сопровождение LTS-ветки 18.x прекращено 30 апреля 2025 года, промежуточной ветки Node.js 23.x будет прекращено 1 июня 2025 года.
Основные улучшения:
- В API AsyncLocalStorage по умолчанию задействован класс AsyncContextFrame, который помечен стабильным. AsyncContextFrame реализует более эффективный механизм отслеживания асинхронного контекста, позволяющий заметно повысить производительность.
- API URLPattern теперь доступен в виде глобального объекта, который можно использовать без явного импортирования. URLPattern предоставляет возможности для проверки соответствия URL определённому шаблону, что, например может применяться для разбора ссылок.
- Улучшен и стабилизирован механизм Permission Model, позволяющий ограничить доступ к определённым ресурсам в процессе исполнения (например, можно запретить создание дочерних процессов, ограничить доступ на запись или чтение к определённым частям ФС, отключить дополнения). Вместо экспериментального флага "--experimental-permission" для включения Permission Model теперь можно использовать
флаг "--permission".
- Расширены возможности модуля node:test (test_runner), предназначенного для создания и запуска тестов на языке JavaScript, возвращающих результат в формате TAP (Test Anything Protocol). Модуль теперь автоматически ожидает завершения вложенных тестов без необходимости использования await.
- HTTP-клиент undici обновлён до ветки 7.x, в которой повышена производительность и добавлена поддержка новых возможностей HTTP.
- Движок V8 обновлён до версии 13.6, применяемой в Chromium 136. Из новых возможностей по сравнению с прошлым выпуском Node.js отмечена
поддержка типизированных массивов Float16Array, ручного управления ресурсами, метода RegExp.escape (экранирование строк для RegExp), 64-разрядных указателей (Memory64) в WebAssembly, метода Error.isError.
- Пакетный менеджер NPM обновлён до версии 11.
- Прекращена поддержка компилятора MSVC. Для компиляции на платформе Windows необходимо использовать ClangCL.
Платформа Node.js может быть использована как для серверного сопровождения работы Web-приложений, так и для создания обычных клиентских и серверных сетевых программ. Для расширения функциональности приложений для Node.js подготовлена большая коллекция модулей, в которой можно найти модули с реализацией серверов и клиентов HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, модули для интеграции с различными web-фреймворками, обработчики WebSocket и Ajax, коннекторы к СУБД (MySQL, PostgreSQL, SQLite, MongoDB), шаблонизаторы, CSS-движки, реализации криптоалгоритмов и систем авторизации (OAuth), XML-парсеры.
Для обеспечения обработки большого числа параллельных запросов Node.js задействует асинхронную модель запуска кода, основанную на обработке событий в неблокирующем режиме и определении callback-обработчиков. В качестве способов мультиплексирования соединений поддерживаются такие методы, как epoll, kqueue, /dev/poll и select. Для мультиплексирования соединений используется библиотека libuv, которая является надстройкой над libev в системах Unix и над IOCP в Windows. Для создания пула потоков (thread pool) задействована библиотека libeio, для выполнения DNS-запросов в неблокирующем режиме интегрирован c-ares. Все системные вызовы, вызывающие блокирование, выполняются внутри пула потоков и затем, как и обработчики сигналов, передают результат своей работы обратно через неименованный кан...
https://opennet.ru/63194/
Опубликованы официальные сборки Fedora, AlmaLinux и Arch Linux для WSL
Компания Microsoft объявила о формировании официальных сборок с Fedora Linux для подсистемы WSL (Windows Subsystem for Linux). В конце апреля аналогичные сборки начали публиковаться для Arch Linux и AlmaLinux. Для Arch Linux подобные сборки планируют обновлять раз в месяц, а для остальных по мере выхода новых релизов.
Сборки с Fedora, AlmaLinux и Arch Linux включены в распространяемый через репозиторий WSL перечень Linux-дистрибутивов, предлагаемых для быстрой установки в WSL. Из других дистрибутивов в перечень WSL входят Debian GNU/Linux, Ubuntu, openSUSE Leap, openSUSE Tumbleweed, SUSE Linux Enterprise, Kali Linux и Oracle Linux. Для установки сборок достаточно выполнить в Windows команду "wsl --install дистрибутив", например, "wsl --install FedoraLinux-42", "wsl --install archlinux" или "wsl --install AlmaLinux-9".
Сборки сформированы в новом формате, позволяющем распространять дистрибутив со своих серверов без загрузки в каталог Microsoft Store, без упаковки в формате appx и без размещения в сборке кода, специфичного для Windows. Новый метод сводится к размещению tar-архива с системным окружением дистрибутива и файлом /etc/wsl-distribution.conffile, содержащим метаданные, такие как название, пиктограмма, идентификатор пользователя по умолчанию и скрипты для настройки окружения, выполняемые при первом запуске.
WSL предоставляет виртуальную машину с полноценным ядром Linux (на базе веток 6.6 или 5.15), в которой могут запускаться специально адаптированные для WSL дистрибутивы Linux. Ядро включает специфичные для WSL изменения, такие как оптимизации для сокращения времени запуска и уменьшения потребления памяти, возможность возвращения Windows освобождённой Linux-процессами памяти и настройки для исключения лишних драйверов и подсистем. Система устанавливается в отдельный дисковый образ (VHD) c файловой системой ext4 и виртуальным сетевым адаптером.
https://opennet.ru/63195/
Компания Microsoft объявила о формировании официальных сборок с Fedora Linux для подсистемы WSL (Windows Subsystem for Linux). В конце апреля аналогичные сборки начали публиковаться для Arch Linux и AlmaLinux. Для Arch Linux подобные сборки планируют обновлять раз в месяц, а для остальных по мере выхода новых релизов.
Сборки с Fedora, AlmaLinux и Arch Linux включены в распространяемый через репозиторий WSL перечень Linux-дистрибутивов, предлагаемых для быстрой установки в WSL. Из других дистрибутивов в перечень WSL входят Debian GNU/Linux, Ubuntu, openSUSE Leap, openSUSE Tumbleweed, SUSE Linux Enterprise, Kali Linux и Oracle Linux. Для установки сборок достаточно выполнить в Windows команду "wsl --install дистрибутив", например, "wsl --install FedoraLinux-42", "wsl --install archlinux" или "wsl --install AlmaLinux-9".
Сборки сформированы в новом формате, позволяющем распространять дистрибутив со своих серверов без загрузки в каталог Microsoft Store, без упаковки в формате appx и без размещения в сборке кода, специфичного для Windows. Новый метод сводится к размещению tar-архива с системным окружением дистрибутива и файлом /etc/wsl-distribution.conffile, содержащим метаданные, такие как название, пиктограмма, идентификатор пользователя по умолчанию и скрипты для настройки окружения, выполняемые при первом запуске.
WSL предоставляет виртуальную машину с полноценным ядром Linux (на базе веток 6.6 или 5.15), в которой могут запускаться специально адаптированные для WSL дистрибутивы Linux. Ядро включает специфичные для WSL изменения, такие как оптимизации для сокращения времени запуска и уменьшения потребления памяти, возможность возвращения Windows освобождённой Linux-процессами памяти и настройки для исключения лишних драйверов и подсистем. Система устанавливается в отдельный дисковый образ (VHD) c файловой системой ext4 и виртуальным сетевым адаптером.
https://opennet.ru/63195/
В Ubuntu 25.10 решено задействовать аналог sudo, написанный на Rust
Компания Canonical намерена в осеннем выпуске Ubuntu 25.10 задействовать по умолчанию аналог утилиты sudo, развиваемый проектом sudo-rs и написанный на языке Rust. В марте аналогичное решение было принято в отношении замены утилит GNU Coreutils на инструментарий uutils. На стадии рассмотрения находятся инициативы по замене zlib и ntpd на zlib-rs и ntpd-rs, а также задействованию Sequoia вместо GnuPG в пакетном менеджере APT.
В sudo-rs по возможности обеспечена совместимость с классическими утилитами sudo и su, позволяющая использовать sudo-rs в качестве прозрачной замены sudo в большинстве сценариев использования. Для пользователей не желающих переходить на uutils и sudo-rs в Ubuntu 25.10 будет предоставлена опция для отката на классические варианты
системных утилит coreutils и sudo.
Протестировать использование sudo-rs не дожидаясь выпуска Ubuntu 25.10 можно при помощи инструментария oxidizr. В настоящее время в oxidizr доступны эксперименты для перехода по умолчанию на использование пакетов uutils coreutils, uutils findutils, uutils diffutils и sudo-rs. Например, для замены в своей системе sudo достаточно выполнить команду
"sudo oxidizr enable --experiments sudo-rs", а для возвращения в исходное состояние можно использовать команду "oxidizr disable".
Замена системных компонентов производится в рамках инициативы по повышения качества системного окружения через поставку программ, изначально разрабатываемых с оглядкой на безопасность, надёжность и корректность. Поставка утилит, написанных на языке Rust, даст возможность снизить риск появления ошибок при работе с памятью, таких как обращение к области памяти после её освобождения и выход за границы буфера. Если эксперимент будет признан удачным, то утилиты на Rust также будут задействованы по умолчанию в LTS-ветке Ubuntu 26.04.
В анонсе также упоминается спонсирование компанией Canonical расширения возможностей sudo-rs и uutils. Из задач, которые планируют реализовать в sudo-rs до выпуска Ubuntu 25.10, отмечена реализация режима NOEXEC, добавление поддержки профилей AppArmor, создание утилиты sudoedit и обеспечение поддержки старых ядер Linux (старше выпуска 5.9). Режим NOEXEC позволит через фильтрацию системных вызовов execve и execveat блокировать запуск дочерних процессов для запущенных через sudo приложений. Из проспонсированных Canonical доработок в uutils отмечена реализация поддержки SELinux в типовых утилитах, таких как mv, ls и cp, а также добавление поддержки интернационализации в утилиты (например, в утилите sort не полностью поддерживаются параметры локали).
https://opennet.ru/63197/
Компания Canonical намерена в осеннем выпуске Ubuntu 25.10 задействовать по умолчанию аналог утилиты sudo, развиваемый проектом sudo-rs и написанный на языке Rust. В марте аналогичное решение было принято в отношении замены утилит GNU Coreutils на инструментарий uutils. На стадии рассмотрения находятся инициативы по замене zlib и ntpd на zlib-rs и ntpd-rs, а также задействованию Sequoia вместо GnuPG в пакетном менеджере APT.
В sudo-rs по возможности обеспечена совместимость с классическими утилитами sudo и su, позволяющая использовать sudo-rs в качестве прозрачной замены sudo в большинстве сценариев использования. Для пользователей не желающих переходить на uutils и sudo-rs в Ubuntu 25.10 будет предоставлена опция для отката на классические варианты
системных утилит coreutils и sudo.
Протестировать использование sudo-rs не дожидаясь выпуска Ubuntu 25.10 можно при помощи инструментария oxidizr. В настоящее время в oxidizr доступны эксперименты для перехода по умолчанию на использование пакетов uutils coreutils, uutils findutils, uutils diffutils и sudo-rs. Например, для замены в своей системе sudo достаточно выполнить команду
"sudo oxidizr enable --experiments sudo-rs", а для возвращения в исходное состояние можно использовать команду "oxidizr disable".
Замена системных компонентов производится в рамках инициативы по повышения качества системного окружения через поставку программ, изначально разрабатываемых с оглядкой на безопасность, надёжность и корректность. Поставка утилит, написанных на языке Rust, даст возможность снизить риск появления ошибок при работе с памятью, таких как обращение к области памяти после её освобождения и выход за границы буфера. Если эксперимент будет признан удачным, то утилиты на Rust также будут задействованы по умолчанию в LTS-ветке Ubuntu 26.04.
В анонсе также упоминается спонсирование компанией Canonical расширения возможностей sudo-rs и uutils. Из задач, которые планируют реализовать в sudo-rs до выпуска Ubuntu 25.10, отмечена реализация режима NOEXEC, добавление поддержки профилей AppArmor, создание утилиты sudoedit и обеспечение поддержки старых ядер Linux (старше выпуска 5.9). Режим NOEXEC позволит через фильтрацию системных вызовов execve и execveat блокировать запуск дочерних процессов для запущенных через sudo приложений. Из проспонсированных Canonical доработок в uutils отмечена реализация поддержки SELinux в типовых утилитах, таких как mv, ls и cp, а также добавление поддержки интернационализации в утилиты (например, в утилите sort не полностью поддерживаются параметры локали).
https://opennet.ru/63197/
Выпуск сканера сетевой безопасности Nmap 7.96
После года разработки опубликован выпуск сканера сетевой безопасности Nmap 7.96, предназначенного для проведения аудита сети и выявления активных сетевых сервисов. Код проекта поставляется под лицензией NPSL (Nmap Public Source License), основанной на лицензии GPLv2, которая дополнена рекомендациями (не требованиями) по использованию программы OEM-лицензирования и покупке коммерческой лицензии, если производитель не желает открывать код своего продукта в соответствии требованиями копилефт-лицензии или намерен интегрировать Nmap в продукты, несовместимые с GPL.
Основные изменения:
- Добавлены новые идентификаторы версий приложений, операционных систем и сервисов. Расширено число определяемых сетевых протоколов, например, добавлена поддержка IP-протокола с номером 255 (зарезервирован).
- В состав включены новые NSE-скрипты для обеспечения автоматизации различных действий с Nmap: targets-ipv6-eui64 для генерирования IPv6-адресов на основа MAC-адреса, mikrotik-routeros-version для получения сведений о маршрутизаторах MikroTik и mikrotik-routeros-username-brute для подбора имён пользователей (CVE-2024-54772) на маршрутизаторах MikroTik.
- В GUI Zenmap добавлен тёмный режим оформления, включаемый через настройку "Profile->Toggle Dark Mode" или параметр window::dark_mode в zenmap.conf.
- В Ncat изменён применяемый по умолчанию режим закрытия соединений и добавлена опция "-q" для задержки перед выходом после окончания (EOF) стандартного ввода (stdin). Обеспечена совместимость со всеми движками
Nsock (--nsock-engine=iocp или --nsock-engine=poll) на платформе Windows.
- В Nsock улучшено управление списком событий.
- В Nmap реализована возможность одновременного указания списка проверяемых хостов в командной строке и через файл (ранее, в подобном случае сканировались только хосты из файла, а хосты из командной строки игнорировались).
- В Nmap обеспечена отправка DNS-запросов по определению имён хостов в параллельном режиме. Сканирование по большим спискам имён хостов теперь выполняется заметно быстрее (раньше на определение имён 1 миллиона хостов тратилось 49 частов, а теперь чуть больше часа).
- В готовых сборках обновлены версии Lua 5.4.7, libssh2 1.11.1, libpcap 1.10.5, libpcre 10.45.
https://opennet.ru/63198/
После года разработки опубликован выпуск сканера сетевой безопасности Nmap 7.96, предназначенного для проведения аудита сети и выявления активных сетевых сервисов. Код проекта поставляется под лицензией NPSL (Nmap Public Source License), основанной на лицензии GPLv2, которая дополнена рекомендациями (не требованиями) по использованию программы OEM-лицензирования и покупке коммерческой лицензии, если производитель не желает открывать код своего продукта в соответствии требованиями копилефт-лицензии или намерен интегрировать Nmap в продукты, несовместимые с GPL.
Основные изменения:
- Добавлены новые идентификаторы версий приложений, операционных систем и сервисов. Расширено число определяемых сетевых протоколов, например, добавлена поддержка IP-протокола с номером 255 (зарезервирован).
- В состав включены новые NSE-скрипты для обеспечения автоматизации различных действий с Nmap: targets-ipv6-eui64 для генерирования IPv6-адресов на основа MAC-адреса, mikrotik-routeros-version для получения сведений о маршрутизаторах MikroTik и mikrotik-routeros-username-brute для подбора имён пользователей (CVE-2024-54772) на маршрутизаторах MikroTik.
- В GUI Zenmap добавлен тёмный режим оформления, включаемый через настройку "Profile->Toggle Dark Mode" или параметр window::dark_mode в zenmap.conf.
- В Ncat изменён применяемый по умолчанию режим закрытия соединений и добавлена опция "-q" для задержки перед выходом после окончания (EOF) стандартного ввода (stdin). Обеспечена совместимость со всеми движками
Nsock (--nsock-engine=iocp или --nsock-engine=poll) на платформе Windows.
- В Nsock улучшено управление списком событий.
- В Nmap реализована возможность одновременного указания списка проверяемых хостов в командной строке и через файл (ранее, в подобном случае сканировались только хосты из файла, а хосты из командной строки игнорировались).
- В Nmap обеспечена отправка DNS-запросов по определению имён хостов в параллельном режиме. Сканирование по большим спискам имён хостов теперь выполняется заметно быстрее (раньше на определение имён 1 миллиона хостов тратилось 49 частов, а теперь чуть больше часа).
- В готовых сборках обновлены версии Lua 5.4.7, libssh2 1.11.1, libpcap 1.10.5, libpcre 10.45.
https://opennet.ru/63198/