home tags events about rss login

Things happen.

opennet honked 25 Mar 2025 22:00 +0100

Релиз видеоплеера MPV 0.40

После шести месяцев разработки сформирован выпуск открытого видеоплеера MPV 0.40, в 2013 году ответвившегося от кодовой базы проекта MPlayer2. В MPV основное внимание уделяется разработке новых возможностей, не заботясь о сохранении совместимости с MPlayer. Код MPV распространяется под лицензией LGPLv2.1+, некоторые части остаются под GPLv2, но процесс перехода на LGPL почти завершён и для отключения оставшегося GPL-кода можно использовать опцию "--enable-lgpl".

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

  • На платформе Linux при использовании DRM (Direct Rendering Manager) или dmabuf-wayland реализована поддержка расширенного динамического диапазона (HDR).
  • В консоли улучшен визуальный стиль и работа автодополнения ввода.
  • Во встроенный графический интерфейс OSC (On Screen Controller) добавлено новое меню выбора элементов, показываемое при клике правой кнопкой мыши.
  • Для скриптов добавлено свойство clipboard, позволяющее получить доступ к буферу обмена.
  • Добавлено новое меню для быстрого доступа к типовым действиям.
  • В скрипт select.lua добавлена поддержка навигации по истории просмотра, редакциям и материалам, записанным на DVD/Blu-Ray.
  • Улучшен стриминг Blu-ray, DVD и CDDA.
  • Улучшен выбор треков и отображение метаданных.
  • Добавлены профили osd-box, sub-box и box для упрощения включения стилизованных вариантов экранного интерфейса (OSD/OSC).
  • В скрипт umpv, применяемый для задействования при воспроизведении уже запущенного экземпляра mpv, добавлена поддержка платформы Windows.


Источник: https://www.opennet.ru/opennews/art.shtml?num=62948

continue bonked 25 Mar 2025 13:05 +0100
original: opennet@honk.any-key.press

Уязвимости в ingress-nginx, позволяющие выполнить код и захватить управление кластерами Kubernetes

В развиваемом проектом Kubernetes ingress-контроллере ingress-nginx выявлены четыре уязвимости, позволяющие добиться выполнения своего кода на серверах облачных систем, использующих платформу Kubernete, и получить полный привилегированный доступ к кластеру Kubernete. Проблемам присвоен критический уровень опасности (9.8 из 10). Выявившие проблемы исследователи присвоили уязвимостям кодовое имя IngressNightmare и отметили, что уязвимости затрагивают около 43% облачных окружений. Уязвимости устранены в версиях ingress-nginx 1.11.5 и 1.12.1.

Ingress-контроллер выступает в роли шлюза и используется в Kubernetes для организации доступа из внешней сети к сервисам внутри кластера. Контроллер ingress-nginx является наиболее популярным и применяет сервер NGINX для проброса обращений к кластеру, маршрутизации внешних запросов и балансировки нагрузки. Проект Kubernetes предоставляет базовые ingress-контроллеры для AWS, GCE и nginx, последний из которых никак не связан с контроллером kubernetes-ingress, сопровождением которого занимается компания F5/NGINX (рассматриваемые уязвимости не затрагивают проекты, развиваемые разработчиками NGINX, упоминание nginx в названии ingress-nginx связано лишь с задействованием nginx в качестве прокси).

Уязвимости позволяют неаутентифицированному атакующему добиться выполнения своего кода в контексте контроллера ingress-nginx, при возможности отправки запроса к web-обработчику Admission. В ходе сканирования сети выявлено более 6500 уязвимых кластеров Kubernetes, использующих общедоступные уязвимые контроллеры с открытым для внешних запросов обработчиком Admission.

В конфигурации по умолчанию запущенный атакующим код может получить доступ к настройкам объекта Ingress, в которых, среди прочего, хранятся и учётные данные для обращения к серверам Kubernetes, что позволяет добиться привилегированного доступа ко всему кластеру. В качестве обходного пути защиты рекомендуется отключить в ingress-nginx функцию "Validating Admission Controller".

Контроллер Admission запускается в отдельном pod-окружении и выполняет операцию проверки входящих ingress-объектов перед их развёртыванием. По умолчанию web-обработчик Admission принимает запросы без аутентификации из публичной сети. При выполнении проверки контроллер Admission создаёт конфигурацию для http-сервера nginx на основе содержимого полученного ingress-объекта и проверяет её корректность.

Выявленные уязвимости позволяют добиться подстановки своих настроек в nginx через отправку специально оформленного ingress-объекта напрямую в контроллер Admission. Исследователи обнаружили, что некоторые свойства проверочных запросов, выставленные в поле ".request.object.annotations", напрямую подставляются в конфигурацию nginx. При этом сгенерированная конфигурация не применяется, а лишь тестируется путём запуска исполняемого файла "nginx" c опцией "-t".

В частности, подстановка внешних данных в конфигурацию выполняется для параметров "mirror-target", "mirror-host" (CVE-2025-1098), "auth-tls-match-cn" (CVE-2025-1097) и "auth-url" (CVE-2025-24514). Например, в строке конфигурации "set $target {{ $externalAuth.URL }};" вместо "{{ $externalAuth.URL }}" подставляется URL, указанный в параметре "auth-url". При этом корректность URL не проверяется. Соответственно, атакующий может передать в качестве URL значение вида "http://example.com/#;\nнастройки" и подставить свои настройки в файл конфигурации.

Для выполнения произвольного кода в процессе проверки конфигурации командой "nginx -t" исследователи воспользовались тем, что помимо проверки синтаксиса nginx загружает библиотеки с модулями и открывает файлы, упомянутые в конфигурации, для оценки их доступности. Среди прочего, при обработке директивы ssl_engine производится загрузка указанной в директиве разделяемой библиотеки для SSL-движка.

Для загрузки своей библиотеки на сервер Kubernetes исследователи воспользовались (CVE-2025-1974) тем, что при обработке больших запросов nginx сохраняет тело запроса во временном файле, который сразу удаляется, но в файловой системе "/proc" для этого файла остаётся открытый файловый дескриптор. Таким образом, можно одновременно отправить запросы для сохранения временного файла и инициирования проверки конфигурации, в которой в директиве "ssl_engine" указан путь к дескриптору в файловой системе "/proc".

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

<iframe src="https://player.vimeo.com/video/1068882440?h=99b4db6dd8">

Для проверки использования уязвимого ingress-nginx можно выполнить команду:

   kubectl get pods --all-namespaces --selector app.kubernetes.io/name=ingress-nginx


Источник: https://www.opennet.ru/opennews/art.shtml?num=62946

opennet honked 25 Mar 2025 13:00 +0100

Уязвимости в ingress-nginx, позволяющие выполнить код и захватить управление кластерами Kubernetes

В развиваемом проектом Kubernetes ingress-контроллере ingress-nginx выявлены четыре уязвимости, позволяющие добиться выполнения своего кода на серверах облачных систем, использующих платформу Kubernete, и получить полный привилегированный доступ к кластеру Kubernete. Проблемам присвоен критический уровень опасности (9.8 из 10). Выявившие проблемы исследователи присвоили уязвимостям кодовое имя IngressNightmare и отметили, что уязвимости затрагивают около 43% облачных окружений. Уязвимости устранены в версиях ingress-nginx 1.11.5 и 1.12.1.

Ingress-контроллер выступает в роли шлюза и используется в Kubernetes для организации доступа из внешней сети к сервисам внутри кластера. Контроллер ingress-nginx является наиболее популярным и применяет сервер NGINX для проброса обращений к кластеру, маршрутизации внешних запросов и балансировки нагрузки. Проект Kubernetes предоставляет базовые ingress-контроллеры для AWS, GCE и nginx, последний из которых никак не связан с контроллером kubernetes-ingress, сопровождением которого занимается компания F5/NGINX (рассматриваемые уязвимости не затрагивают проекты, развиваемые разработчиками NGINX, упоминание nginx в названии ingress-nginx связано лишь с задействованием nginx в качестве прокси).

Уязвимости позволяют неаутентифицированному атакующему добиться выполнения своего кода в контексте контроллера ingress-nginx, при возможности отправки запроса к web-обработчику Admission. В ходе сканирования сети выявлено более 6500 уязвимых кластеров Kubernetes, использующих общедоступные уязвимые контроллеры с открытым для внешних запросов обработчиком Admission.

В конфигурации по умолчанию запущенный атакующим код может получить доступ к настройкам объекта Ingress, в которых, среди прочего, хранятся и учётные данные для обращения к серверам Kubernetes, что позволяет добиться привилегированного доступа ко всему кластеру. В качестве обходного пути защиты рекомендуется отключить в ingress-nginx функцию "Validating Admission Controller".

Контроллер Admission запускается в отдельном pod-окружении и выполняет операцию проверки входящих ingress-объектов перед их развёртыванием. По умолчанию web-обработчик Admission принимает запросы без аутентификации из публичной сети. При выполнении проверки контроллер Admission создаёт конфигурацию для http-сервера nginx на основе содержимого полученного ingress-объекта и проверяет её корректность.

Выявленные уязвимости позволяют добиться подстановки своих настроек в nginx через отправку специально оформленного ingress-объекта напрямую в контроллер Admission. Исследователи обнаружили, что некоторые свойства проверочных запросов, выставленные в поле ".request.object.annotations", напрямую подставляются в конфигурацию nginx. При этом сгенерированная конфигурация не применяется, а лишь тестируется путём запуска исполняемого файла "nginx" c опцией "-t".

В частности, подстановка внешних данных в конфигурацию выполняется для параметров "mirror-target", "mirror-host" (CVE-2025-1098), "auth-tls-match-cn" (CVE-2025-1097) и "auth-url" (CVE-2025-24514). Например, в строке конфигурации "set $target {{ $externalAuth.URL }};" вместо "{{ $externalAuth.URL }}" подставляется URL, указанный в параметре "auth-url". При этом корректность URL не проверяется. Соответственно, атакующий может передать в качестве URL значение вида "http://example.com/#;\nнастройки" и подставить свои настройки в файл конфигурации.

Для выполнения произвольного кода в процессе проверки конфигурации командой "nginx -t" исследователи воспользовались тем, что помимо проверки синтаксиса nginx загружает библиотеки с модулями и открывает файлы, упомянутые в конфигурации, для оценки их доступности. Среди прочего, при обработке директивы ssl_engine производится загрузка указанной в директиве разделяемой библиотеки для SSL-движка.

Для загрузки своей библиотеки на сервер Kubernetes исследователи воспользовались (CVE-2025-1974) тем, что при обработке больших запросов nginx сохраняет тело запроса во временном файле, который сразу удаляется, но в файловой системе "/proc" для этого файла остаётся открытый файловый дескриптор. Таким образом, можно одновременно отправить запросы для сохранения временного файла и инициирования проверки конфигурации, в которой в директиве "ssl_engine" указан путь к дескриптору в файловой системе "/proc".

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

<iframe src="https://player.vimeo.com/video/1068882440?h=99b4db6dd8">

Для проверки использования уязвимого ingress-nginx можно выполнить команду:

   kubectl get pods --all-namespaces --selector app.kubernetes.io/name=ingress-nginx


Источник: https://www.opennet.ru/opennews/art.shtml?num=62946

continue bonked 25 Mar 2025 10:43 +0100
original: b000ka@mastodon.ml

@kirill увидела ряд "домовой, водяной, леший" - и стало очевидно, что он "лесной".
Не могу привести лингвистически правильное обоснование, но переход "лес - леш" ощущается органичным русскому языку.

А подтверждение - в толковых словарях: https://dic.academic.ru/dic.nsf/enc2p/262130

opennet honked 25 Mar 2025 09:00 +0100

Разработчики GRUB2 рассматривают возможность использования языка Rust

Владимир Сербиненко, один из трёх мэйнтейнеров загрузчика GRUB2, внёсший в кодовую базу более пяти тысяч изменений, выставил на обсуждение возможность написания модулей для GRUB2 c использованием языка Rust. Владимир представил первые результаты экспериментов с добавлением поддержки Rust в GRUB2 и созданием необходимых обвязок. Для GRUB также подготовлены изменения, позволяющие использовать разделяемые библиотеки (".so", ET_DYN) для модулей, вместо связывания на уровне объектных файлов (".o", ET_REL).

Инициатива пока позиционируется как отдельный эксперимент, который не будет влиять на разработку GRUB2. В качестве оптимального применения Rust в GRUB упоминается написание модулей для новых файловых систем. Также не исключается переписывание на Rust кода для работы с дисковыми разделами и GPT.

Предполагается, что использование Rust поможет проекту уменьшить вероятность появление некоторых видов ошибок, особенно в коде модулей, содержащем множество больших с сложных процедур парсинга. В феврале в результате аудита кодовой базы GRUB были выявлены 72 проблемы с безопасностью, 21 из которых признаны опасными уязвимостями, пригодными для обхода механизма верифицированной загрузки UEFI Secure Boot. 20 из 21 уязвимостей вызваны ошибками при работе с памятью, приводившими к переполнению буфера или обращению к памяти после её освобождения.

Дополнительно можно отметить выпуск проекта GNU Boot 0.1 RC6, в состав которого вошли вышеотмеченные исправления уязвимостей (в самом GRUB2 исправления продолжают распространяться в виде патчей без формирования отдельного релиза). Проект GNU Boot развивает замену проприетарным прошивкам UEFI и BIOS, основанную на CoreBoot, но применяющую более жёсткие требования к включению бинарных компонентов. GNU Boot преподносится как "coreboot-libre", т.е. как редакция CoreBoot, избавленная от блобов и несвободных компонентов, по аналогии с тем, как проект Linux-libre развивает очищенный вариант ядра Linux. Отдельно развиваются похожие проекты Libreboot и Canoeboot.

Источник: https://www.opennet.ru/opennews/art.shtml?num=62945

opennet honked 25 Mar 2025 08:00 +0100

Корректирующее обновление графического редактора GIMP 3.0.2

Представлен выпуск графического редактора GIMP 3.0.2, в котором по горячим следам устранены некоторые проблемы, выявленные после публикации на прошлой неделе первого релиза ветки GIMP 3.0. Среди прочего устранены конфликты с некоторыми системными темами оформления, приводящие к некорректному отображению интерфейса. Разработчики также откатили патч с улучшенной поддержкой графических планшетов, так как при его использовании всплыли проблемы с учётом давления при нажатии на некоторых старых устройствах. Готовые сборки опубликованы для Linux (AppImage и Flatpak для архитектур x86 и ARM64), macOS и Windows.

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

Источник: https://www.opennet.ru/opennews/art.shtml?num=62944

opennet honked 25 Mar 2025 07:00 +0100

Доступен полностью свободный вариант ядра Linux-libre 6.14

Латиноамериканский Фонд свободного ПО опубликовал полностью свободный вариант ядра Linux 6.14 - Linux-libre 6.14-gnu, очищенный от элементов прошивок и драйверов, содержащих несвободные компоненты или участки кода, область применения которых ограничена производителем. В Linux-libre также отключены функции ядра для загрузки внешних несвободных компонентов, не входящих в поставку ядра, а из документации удалены упоминания об использовании несвободных компонентов.

Для очистки ядра от несвободных частей проектом Linux-libre создан универсальный shell-скрипт, который содержит тысячи шаблонов для определения наличия бинарных вставок и исключения ложных срабатываний. Также доступны для загрузки готовые патчи, созданные на основе использования вышеупомянутого скрипта. Ядро Linux-libre рекомендовано для использования в дистрибутивах, соответствующих критериям Фонда СПО по построению полностью свободных дистрибутивов GNU/Linux. Например, Linux-libre используется в таких дистрибутивах, как GNU Guix System, Dragora Linux, Trisquel, Dyne:Bolic, gNewSense, Parabola, Musix и Kongoni.

В выпуске Linux-libre 6.14-gnu предложен код для чистки блобов в новых драйверах hx9023s, amdxdna и tas2781 spi. Произведена чистка имён блобов в dts-файлах (devicetree) для архитектуры Aarch64. Обновлён код удаления блобов в драйверах Intel avs, amdgpu, r8169, mt7996 и iwlwifi. Прекращена чистка драйвера wl128x, который был удалён из состава ядра.

Источник: https://www.opennet.ru/opennews/art.shtml?num=62943

opennet honked 25 Mar 2025 07:00 +0100

WindowsDefender блокирует свободный драйвер WinRing0, используемый в официальном OEM-ПО

Начиная с 11 марта встроенный в ОС Windows антивирусный пакет WindowsDefender начал блокировать (помещать в карантин) свободный драйвер WinRing0. Драйвер используется для получения доступа из пространства пользователя к различному оборудованию, для которого не предусмотрено другого API в системе.

Драйвер WinRing0 востребован в проектах, управляющих настройками оборудования, как свободных (OpenRGB, Libre Hardware Monitor, FanControl), так и проприетарных (SignalRGB, Razer Synapse 3). Среди программ, использующих драйвер, есть официальное ПО от десятков производителей оборудования, в том числе популярных. Стоит отметить, что драйвер был подписан самостоятельно автором (разработчиком CrystalDiskMark) и принят Microsoft.

Отмеченная Microsoft проблема, из-за которой произведена блокировка, связана с тем, что доступ к установленному в системе драйверу может получить любая программа, и посредством драйвера программа может манипулировать любым устройством в системе или повысить свои привилегии (CVE-2020-14979).

В свете произведённой блокировки, многие компании были вынуждены отреагировать. Например, SignalRGB перевели программу на использование собственной проприетарной замены, в то время как Steelseries полностью отключили в своём ПО функциональность для вывода показателей системы на встроенные экраны их оборудования.

На данный момент для WinRing0 выпущено исправление, ограничивающее использование драйвера только программами, запущенными с правами администратора, однако, из-за изменений политики Microsoft в отношении драйверов, получить для новой сборки подпись является затруднительным.

Китайская компания HYTE, разрабатывающая ПО для мониторинга оборудования HYTE Nexus, в котором также используется этот драйвер, вызвалась взять бюрократическую процедуру на себя, и анонсировала, что опубликует подписанную сборку для свободного использования. Тем не менее, даже если Microsoft примет обновлённый драйвер, множество программ для управления настройками оборудования и мониторинга потребуется запускать с правами администратора или адаптировать для работы с изменённым драйвером.

У драйвера WinRing0 существует единственный аналог под названием inpout32, который на данный момент не блокируется WindowsDefender и антивирусами, однако он блокируется популярными античитами (наиболее известен этим Vanguard от RIOT, используемый в таких играх как Valorant).

Источник: https://www.opennet.ru/opennews/art.shtml?num=62942

opennet honked 24 Mar 2025 20:00 +0100

Выпуск композитного сервера Hyprland 0.48

Доступен композитный сервер Hyprland 0.48, использующий протокол Wayland. Проект ориентирован на мозаичную (tiling) компоновку окон, но поддерживает и классическое произвольное размещение окон, группировку окон в форме вкладок, псевдомозаичный режим и полноэкранное раскрытие окон. Предоставляются возможности для создания визуально привлекательных интерфейсов: градиенты в обрамлении окон, размытие фона, анимационные эффекты и тени. Для расширения функциональности могут подключаться плагины, а для внешнего управления работой предоставляется IPC на базе сокетов. Код написан на языке С++ и распространяется под лицензией BSD.

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

В новой версии:

  • Добавлена полная поддержка управления цветом, реализованная на базе Wayland-протокола color-management.
  • Улучшена реализация панели для работы со сгруппированными окнами (groupbar). Обеспечено скругление углов и предоставлены настройки для отступов, размеров, шрифтов и других параметров внешнего вида.
  • Предложен новый диалог, выводимый когда приложение зависло.
  • Решены многие проблемы, связанные с синхронизацией буферов и подвисаниями при отрисовки на системах c GPU NVIDIA.
  • Добавлен новый стиль анимации окон "gnomed", напоминающий анимацию в GNOME.
  • Добавлен новый переключатель правил для закреплённых окон.
  • Добавлена возможность цикличного переключения между окнами в порядке истории обращения к окнам.
  • Добавлена поддержка Wayland-протокола ext-idle-notify для отслеживания неактивности пользователя.
  • Улучшена поддержка запуска X11-приложений с использованием Xwayland.


Источник: https://www.opennet.ru/opennews/art.shtml?num=62941

continue honked 24 Mar 2025 18:33 +0100

https://docs.kernel.org/next/userspace-api/ntsync.html

ntsync is a support driver for emulation of NT synchronization primitives by user-space NT emulators. It exists because implementation in user-space, using existing tools, cannot match Windows performance while offering accurate semantics. It is implemented entirely in software, and does not drive any hardware device.
  • NTSYNC_IOC_CREATE_SEM
  • NTSYNC_IOC_CREATE_MUTEX
  • NTSYNC_IOC_CREATE_EVENT
  • NTSYNC_IOC_SEM_POST
  • NTSYNC_IOC_MUTEX_UNLOCK
  • NTSYNC_IOC_SET_EVENT
  • NTSYNC_IOC_RESET_EVENT
  • NTSYNC_IOC_PULSE_EVENT
  • NTSYNC_IOC_READ_SEM
  • NTSYNC_IOC_READ_MUTEX
  • NTSYNC_IOC_READ_EVENT
  • NTSYNC_IOC_KILL_OWNER
  • NTSYNC_IOC_WAIT_ANY
  • NTSYNC_IOC_WAIT_ALL

(#linux #osdev #windows)

opennet honked 24 Mar 2025 17:00 +0100

Релиз ядра Linux 6.14

После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 6.14. Среди наиболее заметных изменений: драйвер ntsync c примитивами синхронизации Windows NT, настройка балансировки операций чтения в Btrfs RAID1, поддержка reflink в XFS в режиме realtime, возможность некэшируемого буферизированного ввода/вывода, dmem cgroup для ограничения памяти GPU, задействование io_uring в FUSE, делегирование атрибутов в NFS, поддержка атомарной записи в Device mapper, ускорение символических ссылок, управление возможностью выполнения скриптов, поддержка чипов Qualcomm Snapdragon 8 Elite, драйвер для NPU AMD.

Основные новшества в ядре 6.14:

  • Дисковая подсистема, ввод/вывод и файловые системы
    • В файловой системе Btrfs появилась поддержка новых методов балансировки операций чтения между накопителями, входящими в массив RAID1. Помимо ранее действующего распределения нагрузки на основе идентификаторов процессов (pid), в новой версии предложены три новых режима балансировки: "rotation" (равномерное распределение нагрузки по всем накопителям, режим включён по умолчанию); "latency" (распределение с учётом задержек, может быть полезным при сбоях или нестабильной работе накопителей); devid (ручное управление). Для изменения режима балансировки добавлен интерфейс "/sys/fs/btrfs/‹UUID›/read_policy". Среди других изменений в Btrfs - реализация ioctl FS_IOC_READ_VERITY_METADATA.
    • Добавлен режим некэшируемого буферизированного ввода/вывода, при котором данные удаляются из страничного кэша сразу после того, как завершены операции по их чтению или записи. Изменение может быть полезным при использовании очень быстрых устройств хранения, кэширование операций с которыми в оперативной памяти избыточно. Для таких устройств новый режим позволяет исключить излишнее расходование памяти страничным кэшем не прибегая к использованию усложнённого API прямого ввода/вывода (Direct I/O).
    • В fsnotify, механизм отслеживания изменений в ФС, добавлено новое событие FS_PRE_ACCESS, генерируемое на стадии перед обращением к содержимому файла. Событие обрабатывается в синхронном режиме, т.е. ядро отправляет событие и ожидает получения ответа. Если ответ получен - операция выполняется, а если произошёл сбой - системный вызов возвращает в пространство пользователя код ошибки. При помощи FS_PRE_ACCESS процессом в пространстве пользователя, например, может быть организовано заполнение файла по мере готовности данных в медленном хранилище.
    • В подсистему FUSE, позволяющую создавать реализации файловых систем в пространстве пользователя, добавлена поддержка обмена данными между ядром и обработчиком в пространстве пользователя с использованием механизма ввода/вывода io_uring. Изменение позволяет повысить производительность FUSE за счёт сокращения переключений контекста между ядром и пространством пользователя.
    • В файловую систему XFS добавлена возможность использования обратного маппинга (rmap, reverse-mapping) в режиме работы с предсказуемыми задержками ("realtime device"). Обратный маппинг позволяет определить для хранения какого файла используется указанный блок на устройстве хранения. При помощи rmap в XFS для realtime-режима реализована поддержка операции reflink, позволяющей создавать копии файлов путём клонирование метаданных файла и создания ссылки на уже имеющиеся данные без их фактического копирования.
    • В VFS реализовано кэширование размера символических ссылок, позволившее на 1.5% ускорить выполнение операции readlink (в тесте с /initrd.img в ext4). Кэширование включено в ФС ext4 и tmpfs.
    • В реализацию NFSv4.2 добавлена поддержка делегирования атрибутов файлов, позволяющая управлять такими атрибутами файлов, как время изменения (mtime), на стороне NFS-клиента, без необходимости сброса изменений на сервер. В NFS также улучшена поддержка протокола "LOCALIO", позволяющего определить находятся ли клиент и сервер NFS на одном и том же хосте, для задействования соответствующих оптимизаций, таких как использование клиентом прямого ввода/вывода (Direct I/O).
    • Повышена производительность операций чтения в файловых системах NETFS, CIFS и AFS (Andrew File System).
    • В Squashfs включён режим прямой загрузки блоков в страничный кэш (SQUASHFS_FILE_DIRECT), позволяющий обойтись без отдельного кэша read_page. Изменение позволило сократить размер памяти, потребляемой при работе Squashfs.
    • В системном вызове statx() реализован флаг STATX_DIO_READ_ALIGN, для определения требуемого выравнивания для операций чтения из файла.
    • В файловой системе Bcachefs обновлён и стабилизирован формат дисковых структур. Любые дальнейшие изменения формата будут отнесены к категории не обязательных и будут реализовываться в форме опциональных дополнений. Значительно повышена скорость проверки целостности ФС. Кроме того, в Bcachefs улучшена работа в режиме только для чтения; устранены проблемы, приводящие к обращению к памяти после её освобождения (use after free); решены проблемы c reflink-указателями в fsck; исправлена обработка перезапуска транзакции.
    • Возвращён модуль md-linear, предназначенный для объединения блочных устройств. Данный модуль ранее был объявлен устаревшим и удалён из ядра 6.8, но как оказалось он был востребован и поэтому теперь восстановлен.
    • Файловые системы F2FS и SQUASHFS переведены на использование фолиантов страниц памяти (page folios).
    • Файловые системы OCFS2 и DLMFS переведены на использование нового API монтирования разделов.
    • В драйвере null_blk реализован атрибут "rotational", выставляемый через configfs и позволяющий симулировать работу с устройством на базе вращающихся дисков для упрощения тестирования функций ядра.
    • В системе Device mapper и в модулях dm-mirror, dm-io, dm-table, dm-linear, dm-stripe и dm-raid1 реализована поддержка атомарной записи.
  • Память и системные сервисы
    • Завершена интеграция в ядро драйвера ntsync, реализующего символьное устройство /dev/ntsync и набор примитивов для синхронизации, применяемых в ядре Windows NT. Реализация подобных примитивов на уровне ядра позволяет существенно поднять производительность Windows-игр, запускаемых при помощи Wine. Прирост производительности достигается благодаря избавлению от накладных расходов, связанных с применением RPC в пространстве пользователя. Создание отдельного драйвера для ядра Linux объясняется проблематичностью корректной реализации API синхронизации NT поверх существующих примитивов в ядре.
    • Добавлен новый контроллер cgroup DMEM для раздельного учёта областей памяти устройств, таких как GPU. DMEM позволяет создавать отдельные cgroup для различных задач, работающих с GPU, чтобы они могли выполняться не влияя друг на друга. Новая возможность решает проблему с принудительным завершением операций с GPU при исчерпании доступной памяти, благодаря учёту отражённой памяти GPU и используемой драйверами памяти CPU в отдельных cgroup.
    • Внесены оптимизации по масштабированию операции сброса (flush) кэша TLB (Translation Lookaside Buffer), применяемого для ускорения преобразования виртуальных адресов в физические. Добавленные оптимизации сводятся к отложенному обновлению некоторых структур данных во время переключения контекста, что позволяет повысить производительность при прохождении некоторых тестов.
    • Повышена производительность механизма MGLRU (Multi-Generational LRU), применяемый для определения какие страницы памяти используются, а какие можно вытеснить в раздел подкачки.
    • Продолжен перенос изменений из ветки Rust-for-Linux, связанных с использованием языка Rust в качестве второго языка для разработки драйверов и модулей ядра (поддержка Rust не активна по умолчанию, и не приводит ко включению Rust в число обязательных сборочных зависимостей к ядру). Предоставлена возможность использования в коде ядра макроса "derive(CoercePointee)", позволяющего использовать умные указатели с trait-объектами. В состав ядра включены Rust-обвязки для PCI, платформ, Open Firmware, символьных устройств и некоторых функций ввода/вывода. Грег Кроа-Хартман (Greg Kroah-Hartman), отвечающий за поддержку стабильной ветки ядра Linux, охарактеризовал текущее состояние, как "почти готовность к написанию реального драйвера на Rust".
    • В сборочных сценариях предложен новый код для генерации версий отладочных символов для загружаемых модулей, который теперь использует информацию из отладочных записей в формате DWARF, а не разбирает исходный код напрямую. Изменение позволяет применять версионирование отладочных символов для модулей, написанных на языке Rust. Старая реализация тоже оставлена в ядре, а выбор генератора производится на уровне сборочных опций.
    • Для архитектуры PowerPC реализована поддержка режима ленивого вытеснения задач (PREEMPT_LAZY, lazy preemption), который соответствует режиму полного вытеснения ("full preemption") для realtime-задач (RR/FIFO/DEADLINE), но задерживает вытеснение обычных задач (SCHED_NORMAL) до границы тика.
    • В подсистему профилирования производительности "perf" добавлена поддержка счётчиков энергопотребления процессоров AMD. Добавлена возможность работы на системах, насчитывающих до 2048 ядер CPU.
    • Предоставлена возможность использования sysctl-параметра pid_max с пространствами имён идентификаторов процессов (ID namespace). Параметр pid_max предназначен для ограничения максимального значения идентификаторов процессов (PID) и теперь может использоваться для ограничения максимально возможного числа процессов, запущенных в указанном пространстве имён. Обработка параметра производится иерархически, т.е. ограничения во внешних пространствах имён распространяются на вложенные пространства имён.
    • При использовании для запуска процесса системного вызова execveat в файловой системе /proc теперь будет отображаться имя запущенного файла, а не номер файлового дескриптора.
    • В состав исходного кода ядра (в каталог samples) добавлена утилита mountinfo, демонстрирующая использование системных вызовов statmount() и listmount().
    • В подсистеме BPF предложены новые функции bpf_local_irq_save() и bpf_local_irq_restore() для временного отключения прерываний на локальном CPU. Функции могут применяться для реализации структур, обработка которых не приостанавливается прерываниями.
    • В системном вызове madvise() при использовании флагов MADV_DONTNEED и MADV_FREE обеспечено освобождение таблиц страниц памяти, связанных с освобождаемым диапазоном адресов, так как в некоторых ситуациях пустые страницы памяти могут занимать достаточно много памяти.
    • Для архитектуры OpenRISC реализована поддержка механизма перезапускаемых последовательностей (rseq, restartable sequences), предназначенного для быстрого атомарного выполнения операций, которые в случае прерывания другим потоком очищаются и предпринимается повторная попытка выполнения.
    • Проведена реорганизация кода с реализацией алгоритмов CRC32 и CRC-T10DIF, который больше не пересекается с подсистемой crypto и вызывается напрямую из библиотечного интерфейса. Изменение позволило упростить код и повысить его эффективность.
    • В систему асинхронного ввода/вывода io_uring добавлен интерфейс для передачи дополнительных метаданных о целостности при выполнении операций чтения и записи.
  • Виртуализация и безопасность
    • В системный вызов execveat добавлен флаг AT_EXECVE_CHECK, позволяющий выполнить проверку допустимости исполнения файла без его фактического запуска, но c учётом политик безопасности, прав доступа и активных LSM-модулей. Для использования в сочетании с AT_EXECVE_CHECK предложены securebit-флаги SECBIT_EXEC_RESTRICT_FILE и SECBIT_EXEC_DENY_INTERACTIVE, которые можно использовать для ограничения исполнения файлов со скриптами на интерпретируемых языках программирования. Флаг SECBIT_EXEC_RESTRICT_FILE предписывает компоновщикам и интерпретаторам использовать опцию AT_EXECVE_CHECK для проверки допустимости исполнения, а флаг SECBIT_EXEC_DENY_INTERACTIVE запрещает обрабатывать интерактивные команды. Основная идея изменения в возможности применения политик безопасности не только к традиционным исполняемым файлам, но и к текстовым файлам со скриптами, которые можно загрузить через запуск интерпретатора (т.е. запрет на исполнение может быть реализован не только при запуске "./script.sh" но и при выполнении в форме "sh script.sh").
    • На системах x86 реализована поддержка защищённых счётчиков времени для гостевых систем, не позволяющих изменять системные часы гостевой системы из хост окружения. Возможность реализована на базе механизма AMD SEV (Secure Encrypted Virtualization), применяемого в системах виртуализации для защиты виртуальных машин от вмешательства со стороны гипервизора или администратора хост-системы.
    • В систему мандатного контроля доступа SELinux добавлена поддержка xperm-правил, позволяющих привязывать политики SELinux к определённым вызовам ioctl() или сообщениям netlink.
    • Для заверения модулей ядра цифровой подписью вместо SHA1 по умолчанию задействован алгоритм SHA512.
    • В драйверах для гостевых систем VirtualBox включена поддержка архитектуры ARM64.
    • В гипервизоре KVM продолжена работа над задействованием механизма Intel TDX (Trusted Domain Extensions) для шифрования памяти гостевых систем.
    • В virtio_blk добавлена поддержка режима восстановления ошибок.
  • Сетевая подсистема
    • В реализации протокола RxRPC появилась возможность использования больших кадров UDP для повышения пропускной способности.
    • Для TCP добавлена поддержка алгоритма RACK-TLP для определения потери пакетов.
    • Добавлен новый параметр sysctl tcp_tw_reuse_delay, действующий в привязке к пространству имён (network namespace) и позволяющий определить задержку, вносимую перед тем как система сможет повторно использовать номер сетевого порта после закрытия TCP-сокета.
    • Добавлена возможность выбора провайдера точного времени (PTP) для формирования временных меток на уровнях PHY и MAC.
    • Для IPsec реализована поддержка механизма агрегирования и фрагментирования инкапсулированных IP-пакетов - IP-TFS/AGGFRAG (IP Traffic Flow Security/Aggregation and Fragmentation Mode for Encapsulating Security Payload).
    • В систему сетевых сокетов добавлена поддержка передачи информации о приоритете (SO_PRIORITY) в форме управляющих сообщений (cmsg - control messages). Для сетевых сокетов добавлена опция SO_RCVPRIORITY, включающая в функции recvmsg() передачу информацию о приоритете сокета.
  • Оборудование
    • Добавлен драйвер amdxdna для интегрированных в CPU AMD ускорителей NPU (Neural Processing Unit) на базе архитектуры XDNA, предназначенных для ускорения операций, связанных с машинным обучением. NPU на базе архитектуры XDNA поставляется в сериях 7040 и 8040 процессоров AMD Ryzen, ускорителях AMD Alveo V70 и SoC AMD Versal.
    • В драйвер i915 добавлены идентификаторы новых GPU, реализован обработчик сбоев инициализации HDMI, повышена надёжность сброса движков GPU на Haswell и более старых системах.
    • Продолжена работа над drm-драйвером (Direct Rendering Manager) Xe для GPU на базе архитектуры Intel Xe, которая используется в видеокартах Intel семейства Arc и интегрированной графике, начиная с процессоров Tiger Lake.
    • В драйвере Nouveau добавлена возможность передачи буферов с логами GSP-RM через debugfs.
    • В драйвере AMDGPU реализована поддержка механизма DRM panic, отображающего подобие "синего экрана смерти" при сбоях. Продолжена подготовка к поддержке будущей серии графических карт Radeon RX 9000 на базе архитектуры RDNA4. Обновлена поддержка DCN 3.5, GG 9.5, IH 4.4, PSP 13.x, SMU 13.x, VCN 5.x, JPEG 5.x, GC 12.x, DC FAMS, RAS и ISP.
    • В DRM-драйвер msm (GPU Qualcomm Adreno) добавлена поддержка платформы Qualcomm SM6150 (QCS615).
    • В DRM-драйвер panfrost добавлена поддержка SoC MediaTek MT8188 c GPU Mali-G57.
    • В DRM-драйвер vc4 добавлена поддержка SoC Broadcom BCM2712 (Raspberry Pi 5).
    • В vfio-драйвер nvgrace-gpu добавлена поддержка чипов NVIDIA Grace Blackwell 200.
    • В состав включён драйвер для контроллеров Intel THC (Touch Host Controller), применяемый для взаимодействия с сенсорными экранами и тачпадами на некоторых ноутбуках. Добавлена поддержка устройств Wacom с интерфейсом PCI. Добавлена поддержка игровых контроллеров QH Electronics.
    • Добавлена поддержка ARM-плат, SoC и устройств: Qualcomm Snapdragon 8 Elite (SM8750), Qualcomm Snapdragon AR2 (SAR2130P), Qualcomm IQ6/IQ8, Snapdragon 425 (MSM8917), Samsung Exynos 9810, Blaize BLZP1600, Microchip SAMA7D65, Renesas R-Car V4H ES3.0, Renesas RZ/G3E. Добавлена поддержка платы SpacemiT K1 на базе архитектуры RISC-V.
    • В звуковой подсистеме ALSA для MIDI 2.0 расширены API rawmidi и sequencer. В API для выноса операций сжатия на сторону звуковой карты добавлена поддержка ASRC (Asynchronous Sample Rate Conversion).
    • Добавлена поддержка звуковых систем устройств Allwinner suinv F1C100s, Awinc AW88083, Realtek ALC5682I-VE, TAS2781, Focusrite Scarlett 4th Gen 16i16, 18i16 и 18i20. Добавлена поддержка беспроводных наушников SteelSeries Arctis 9.


Источник: https://www.opennet.ru/opennews/art.shtml?num=62937

opennet honked 24 Mar 2025 17:00 +0100

Выпуск Wayland-Protocols 1.42

Опубликован выпуск пакета wayland-protocols 1.42, содержащего набор протоколов и расширений, дополняющих базовый протокол Wayland и предоставляющих возможности, необходимые для построения композитных серверов и пользовательских окружений.

В Wayland-Protocols 1.42 предложена новая версия протокола "cursor-shape", в которой расширены возможности по формированию внешнего вида курсора, добавлена поддержка форм курсора с индикаторами получения информации (знак вопроса) и изменения размера. Также обновлена версия протокола "tablet", предоставляющего возможности для организация ввода с графических планшетов. В новой версии протокола tablet добавлена поддержка событий "bustype" и реализована возможность обработки событий от поворотных элементов управления с передачей относительных изменений по аналогии обработкой движения колеса мыши.

Все протоколы последовательно проходят фазы разработки, тестирования и стабилизации. После завершения стадии разработки (категория "unstable") протокол помещается в ветку "staging" и официально включается в состав набора wayland-protocols, а после завершения тестирования перемещается в категорию стабильных. Протоколы из категории "staging" уже можно применять в композитных серверах и клиентах, где требуется связанная с ними функциональность. В отличие от категории "unstable" в "staging" запрещено внесение изменений, нарушающих совместимость, но в случае выявление проблем и недоработок в ходе тестирования, не исключается замена новой значительной версией протокола или другим Wayland-расширением.

Для ускорения доведения протоколов до разработчиков и стимулирования ранней реализации протоколов в существующих проектах, начиная с позапрошлого выпуска дополнительно была добавлена фаза "experimental", в которой допускается внесение изменений, нарушающих совместимость, и добавление "сырых" протоколов, которые можно постепенно доводить до должного уровня. Если для попадания протокола в фазу "staging" требуется сформировать команду поддержки и получить определённое число подтверждений (ACK) от участников рецензирования, то для попадания в "experimental" достаточно отсутствия возражений (NACK) в течение двухнедельного периода рецензирования.

В настоящее время в состав набора wayland-protocols входят следующие стабильные протоколы, в которых обеспечивается обратная совместимость:

  • "viewporter" - позволяет клиенту выполнять действия по масштабированию и обрезанию краёв поверхности на стороне сервера.
  • "presentation-time" - обеспечивает отображение видео.
  • "xdg-shell" - интерфейс создания и взаимодействия с поверхностями как с окнами, позволяющий передвигать их по экрану, сворачивать, разворачивать, изменять размер и т.д.
  • "linux-dmabuf" - предоставляет возможности для создания wl_buffer-ов на базе DMA-BUF.
  • "tablet" - организация ввода с графических планшетов.

Протоколы, тестируемые в ветке "staging":

  • drm-lease - предоставляет ресурсы, необходимые для формирования стереокартинки с разными буферами для левого и правого глаза при выводе на шлемы виртуальной реальности.
  • "ext-session-lock" - определяет средства блокировки сеанса, например, во время работы хранителя экрана или вывода диалога аутентификации.
  • "single-pixel-buffer" - позволяет создавать однопиксельные буферы, включающие четыре 32-разрядных значения RGBA.
  • "xdg-activation" - позволяет передать фокус между разными поверхностями первого уровня (например, при помощи xdg-activation одно приложение может переключить фокус на другое).
  • content-type - позволяет клиентам передать композитному серверу сведения об отображаемом содержимом, которые могут использоваться для оптимизации поведения с учётом содержимого, например, выставлении специфичных DRM-свойств, таких как "content type". Заявлена поддержка следующих типов контента: none (нет сведений о типе данных), photo (вывод цифровых фото, требующий минимальной обработки), video (видео или анимация, требуется более точная синхронизация, чтобы исключить подтормаживания) и game (запуск игр, требуется вывод с минимальной задержкой).
  • ext-idle-notify - даёт возможность композитным серверам передавать клиентам уведомления о неактивности пользователя, что может использоваться для активации дополнительных режимов энергосбережения после определённого времени неактивности.
  • tearing-control - позволяет отключить в полноэкранных приложениях вертикальную синхронизацию (VSync) с кадровым гасящим импульсом, применяемую для защиты от появления разрывов при выводе (tearing). В мультимедийных приложениях появление артефактов из-за разрывов является нежелательным эффектом, но в игровых программах с артефактами можно смириться, если борьба с ними приводит к дополнительным задержкам.
  • ext-foreign-toplevel-list - получение информации о поверхностях, размещённых на самом верхнем уровне (toplevel), которые позволяют организовать закрепление окон поверх другого содержимого, например, для подключения собственных панелей и переключателей окон.
  • security-context - позволяет идентифицировать клиентов, использующих sandbox-изоляцию. Клиент может зарегистрировать новое подключение к композитному серверу на базе Wayland и прикрепить к нему контекст безопасности, после чего в соответствии с указанным контекстом безопасности композитный менеджер ограничит возможности, доступные для установленного соединения.
  • cursor-shape - альтернативный способ настройки внешнего вида курсора, основанный на передаче серии изображений курсора вместо привязки к поверхности (wl_surface).
  • "ext-transient-seat" - предназначен для создания временных независимых сеансов (seat), рассчитанных на использование вместе с виртуальными устройствами ввода. Например, при реализации возможности подключения к удалённому рабочему столу протокол позволяет создать для каждого пользователя отдельный сеанс с виртуальными клавиатурой и мышью.
  • "xdg-toplevel-drag" - расширяет механизм "drag & drop" возможностью прикрепления окон верхнего уровня к операции перемещения, что может быть использовано, например, для организации перетаскивания мышью панелей инструментов или вкладок браузера. Новый протокол позволяет создавать отсоединяемые части окна, которые при перетаскивании из этого окна становятся новыми окнами и могут перемещаться поверх существующего окна перед повторным прикреплением.
  • "xdg-dialog" - позволяет назначать поверхностям верхнего уровня признаки, специфичные для диалоговых окон, например, можно создавать модальные диалоги, которые блокируют взаимодействие пользователя с остальной частью интерфейса.
  • "linux-drm-syncobj" - предоставляет инструменты для явной синхронизации буферов при помощи объектов синхронизации DRM (Direct Rendering Manager). Предполагается, что в контексте синхронизации при отрисовке в буфер предложенный протокол позволит улучшить работу с драйверами на базе графических API Vulkan и OpenGL (реализация базируется на обработчиках в драйверах). Новый протокол даёт возможность убедиться, что операция отрисовки в буфер завершена до того, как композитный менеджер отобразит данный буфер.
  • alpha-modifier, позволяющий клиентам менять уровень прозрачности поверхности и выносить операции по обеспечению прозрачности на сторону композитного сервера, который в свою очередь может переадресовать эти операции KMS.
  • xdg-toplevel-icon - привязка пиктограммы к окну верхнего уровня.
  • ext-image-capture-source и ext-image-copy-capture - организация захвата контента, выводимого на экран.
  • xdg-system-bell - позволяет выводить системный сигнал, который может использоваться, например, как предупреждение в эмуляторе терминалов. Форма вывода сигнала определяется на усмотрение композитного менеджера, это может быть не только звук, но визуальный отклик.
  • fifo - реализует FIFO-механизм (первым пришёл - первым ушёл) обработки очереди обновления содержимого отображаемой поверхности. С практической стороны протокол позволяет при выводе использовать ожидание завершения вертикальной развёртки (vblank) вместо использования callback-вызовов при каждой готовности отобразить новый кадр, что решает проблему с высокой нагрузкой на GPU при использовании VSync.
  • commit-timing - позволяет привязать ограничение времени к содержимому поверхности (композитный сервер должен отобразить изменение контента по возможности через указанное время, но не раньше).
  • ext-data-control - позволяет привилегированным клиентам управлять обработкой данных, например, для реализации менеджеров буфера обмена.
  • ext-workspace - реализует концепцию виртуальных рабочих столов и предлагает события с информацией о состоянии рабочих столов, а также возможности для активации и деактивации рабочих столов. Протокол может применяться для создания панелей и индикаторов, выводящих список доступных виртуальных рабочих столов и позволяющих переключаться между ними.
  • color-management - предоставляет возможности для управления цветом и поддержки расширенного динамического диапазона яркости (HDR, High Dynamic Range). При помощи добавленного расширения клиентские приложения могут получать информацию о связанных с цветопередачей свойствах устройств вывода и передавать композитному серверу данные о свойствах цветопередачи собственного контента. В композитном сервере данная информация может использоваться для автоматического управления цветом при отображении содержимого на различных устройствах вывода, например, для преобразования контента в предоставление, подходящее для отображения на HDR-мониторах. Для описания цветовых пространств используются профили ICC.

Протоколы, разрабатываемые в ветке "unstable":

  • "fullscreen-shell" - управление работой в полноэкранном режиме.
  • "input-method" - обработка методов ввода.
  • "idle-inhibit" - блокировка запуска скринсейвера (экранной заставки).
  • "input-timestamps" - временные метки для событий ввода.
  • "keyboard-shortcuts-inhibit" - управление прикреплением клавиатурных комбинаций и горячих клавиш.
  • "linux-explicit-synchronization" - специфичный для Linux механизм синхронизации буферов в привязке к поверхности.
  • "pointer-gestures" - управление с сенсорных экранов.
  • "pointer constraints" - ограничения указателей (блокировка).
  • "primary-selection" - по аналогии с X11 обеспечивает работу первичного буфера обмена (primary selection), вставка информации из которого обычно осуществляется средней кнопкой мыши.
  • "relative pointer events" - относительные события указателей.
  • "text-input" - организация ввода текста.
  • "xdg-foreign" - интерфейс взаимодействия с поверхностями "соседнего" клиента.
  • "xdg-decoration" - отрисовка декораций окон на стороне сервера.
  • "xdg-output" - дополнительные сведения о видеовыходе (используется для дробного масштабирования).
  • "xwayland-keyboard-grab" - захват ввода в приложениях XWayland.


Источник: https://www.opennet.ru/opennews/art.shtml?num=62940

opennet honked 24 Mar 2025 16:00 +0100

Выпуск игры The Dark Mod 2.13, созданной по мотивам Thief

После года разработки вышел релиз свободно распространяемой игры с открытым исходным кодом The Dark Mod 2.13, созданной в жанре "стелс" по мотивам игрового мира и серии игр Thief. Игровой движок TDM основан на движке Id Tech 4 и распространяется под лицензией GPLv3.

Основное внимание в версии 2.13 уделено улучшению работы игрового AI, добавлена поддержка Parallax Occlusion Mapping, исправлено около 70 ошибок, переработана система локализации миссий. На русский язык переведено больше 100 игровых миссий (из 210). Установочные пакеты подготовлены для Linux и Windows.



<iframe src="https://www.youtube.com/embed/JhJYFMNLfT4?feature=oembed">

Источник: https://www.opennet.ru/opennews/art.shtml?num=62939

contrinitiator honked 24 Mar 2025 13:03 +0100

Что такое государство сегодня. От аватархии к анонимархии.

continue bonked 24 Mar 2025 10:54 +0100
original: xenomorph@mastodon.ml

unspecified horror

unspecified horror

23 марта 1960 года родился Андрей Валерьевич Панов — человек, чьё имя стало синонимом панк-рока в Советском Союзе и России. Музыкант, поэт, эпатажный фронтмен «Автоматических удовлетворителей», известный под прозвищем Свин, он не просто исполнял панк — он был им в каждом слове, жесте и аккорде. Его музыка — это голос, прорвавшийся сквозь бетон идеологических стен, насмешка над прилизанной, фальшивой действительностью, хриплый крик свободы там, где все привыкли облизывать сапог и заискивать.

continue honked back 24 Mar 2025 10:32 +0100
in reply to: https://juick.com/n/3071914-0

@Strephil

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

И. Бродский, "Развивая Платона"

continue honked back 24 Mar 2025 10:05 +0100
in reply to: https://mastodon.ml/users/pongo/statuses/114216422869331068

@pongo

перестал работать клик средней кнопки по папке с закладками

О, я этот самый баг репортил году эдак в 2017 в yandex браузер.
Мне ответили, что бы я записал видео воспроизведения :)

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

contrinitiator bonked 24 Mar 2025 08:41 +0100
original: shuro@friends.deko.cloud

@mstadmin Идея домофона как некоего отдельного сервиса, за который можно платить или нет, где ключ может стоить неплохих денег и т.п. - это само по себе мне кажется странноватым, особенно в новых домах.

Если это часть дома, должен покрываться обслуживанием помещения.

contrinitiator honked 24 Mar 2025 06:31 +0100

Мда, оказывается, сняли уже сериальчик (Konflikti) про нападение ихтамнетов на Финляндию, которое начинается с захвата Ханко, и я даже просмотрел пару серий. Настолько продуманная и подготовленная операция - это совсем не уровень Эрэфии.
(Так что видимо имелась в виду какая-то другая страна))

opennet honked 24 Mar 2025 06:00 +0100

Релиз языка программирования V 0.4.10

Опубликован релиз статически типизированного языка программирования V 0.4.10 (vlang). Основными целями при создании V были простота изучения и использования, высокая читаемость, быстрая компиляция, повышенная безопасность, эффективная разработка, кроссплатформенное использование, улучшенное взаимодействие с языком C, лучшая обработка ошибок, отключаемый сборщик мусора (GC), современные возможности и более удобное сопровождение программ. Проект также развивает свою графическую библиотеку и пакетный менеджер. Код компилятора, библиотек и сопутствующих инструментов открыт под лицензией MIT.

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

  • Добавлены анонимные структуры.
  • Удалена старая функциональность, ранее объявленная устаревшей (до этого 6 месяцев при компиляции проекта выводилось предупреждение о таком коде).
  • Множество улучшений в парсере и верификаторе (checker) языка.
  • Изменения, нарушающие совместимость:
    • Старый синтаксис "[attr]" теперь приводит к выводу ошибки, следует использовать "@[attr]".
    • string.index_after() теперь возвращает Option (как и string.index()), для старого поведения следует использовать string.index_after_().
    • vweb объявлен устаревшим в пользу более быстрого, стабильного и простого в использовании veb.
  • В стандартной библиотеке помимо множества оптимизаций и пополнения документации можно выделить:
    • Добавлен встроенный метод string.split_by_space()
    • В модуль os добавлены вспомогательные методы File.write_u8/1 и File.read_u8/0.
    • В модуль os добавлена функция disk_usage, показывающая доступное место для файлового пути.
    • В модуль time добавлена функция week_of_year().
    • В x.json2 добавлен Any.as_map_of_strings/0.
  • Среди web-изменений:
    • Удалён модуль x.vweb (теперь это модуль veb).
    • В veb.request_id добавлена новая прослойка (middleware) для отслеживания ID запросов.
    • Обновлено руководство по veb.
  • Базы данных:
    • В модуле orm исправлен генератор кода для опции fk.
    • В db.sqlite добавлена трассировка для большего количества вызовов при использовании "-d trace_sqlite", а не только для ORM.
    • В db.pg добавлена поддержка операторов - db.prepare/3 и db.exec_prepared/2.
    • В db.mysql добавлена поддержка SSL и вынесена во флаг подключения.
  • Примеры:
    • Добавлен пример HTTP-сервера vanilla_http_server - быстрого, многопоточного, неблокируемого, повторно использующего порты и хосты, потокобезопасного, использующего epoll.
    • Добавлен пример "1 Billion Row Challenge" для демонстрации возможностей производительности языка.
    • Добавлен пример игры "Сапер" (examples/gg/minesweeper.v).
    • Добавлен пример головоломке Sokoban с уровнями.
    • Добавлен пример игры про астероиды (сейчас она содержит ‹ 400 строк кода и использует gg).
    • Добавлен пример небольшой игры, поддерживающую клавиатуру и сенсорное управление.
  • В утилиту "v" добавлен флаг "-show-depgraph", который генерирует изображение с ModGraph:
  • Проектом развивается новая ОС Vinix со своим ядром, написанная с нуля на языке V. Vinix теперь может работать с GTK3:


Источник: https://www.opennet.ru/opennews/art.shtml?num=62938

opennet honked 23 Mar 2025 14:00 +0100

Выпуск Wayland Maker 0.5, композитный сервер в стиле Window Maker

Доступен выпуск композитного сервера Wayland Maker 0.5, реализующего пользовательское окружение в стиле Window Maker, построенное с использованием протокола Wayland. Код проекта написан на языке Си и распространяется под лицензией Apache 2.0. C 2023 года проект развивает сотрудник Google, также занимающийся разработкой минималистичной стандартной Си-библиотеки libbase.

Среди поддерживаемых возможностей: стековый режим компоновки окон, использование виртуальных рабочих столов, боковая панель и оформление в стиле NeXTSTEP, поддержка закрепления приложений на экране, ориентация на легковесность и высокую производительность. Поддерживаются Wayland протоколы: xdg-decoration-unstable-v1, ext_session_lock_v1, wlr_layer_shell_unstable_v1, xdg_shell и idle_inhibit_unstable_v1.

Основные возможности Wayland Maker 0.5:

  • Реализация корневого меню и меню управления окнами.
  • Начальная поддержка управления окнами при помощи клавиатуры.
  • Переход на использование библиотеки wlroots 0.18.
  • Настраиваемая раскладка элементов на экране.
  • Поддержка масштабирования вывода.
  • Привязка действий к переводу указателя мыши в углы экрана.
  • Поддержка хранителя экрана (задействованы Wayland-протоколы ext_session_lock_v1 и idle_inhibit_unstable_v1).
  • Настройка параметров, стилей, меню, панели и рабочих столов через текстовые файлы конфигурации.
  • Начальная возможность запуска X11-приложений, используя DDX-сервер XWayland.
  • Прототип возможность закрепления приложений на экране (DockApp). Из закрепляемых приложений пока доступны только часы.


Источник: https://www.opennet.ru/opennews/art.shtml?num=62932

opennet honked 23 Mar 2025 13:00 +0100

Выпуск Finnix 250, Live-дистрибутива для системных администраторов

Представлен выпуск Live-дистрибутива Finnix 250, приуроченный к 25-летию проекта (первая версия Finnix была опубликована 22 марта 2000 года). Дистрибутив основан на пакетной базе Debian, поддерживает только работу в консоли и предоставляет подборку утилит для нужд системного администратора. В состав входит более 600 пакетов со всевозможными утилитами. Размер iso-образа - 528 МБ.

В новой версии:

  • Пакетная база синхронизирована с репозиториями Debian testing по состоянию на 13 марта.
  • Ядро Linux обновлено до ветки 6.12.
  • Добавлен пакет util-linux-extra.
  • Удалены пакеты reiserfsprogs и reiser4progs после прекращения поддержки ReiserFS ядре Linux.
  • Повышена стабильность работы ssh-agent.
  • В загрузочный образ initramfs добавлена поддержка специфичных для сборки носителей.
  • Улучшена работа утилиты htop на системах с большим числом процессорных ядер.


Источник: https://www.opennet.ru/opennews/art.shtml?num=62935

opennet honked 23 Mar 2025 12:00 +0100

Проект Landrun развивает непривилегированную систему изоляции приложений

Проект Landrun начал развитие новой системы для изолированного выполнения отдельных приложений. Для изоляции задействован LSM-модуль ядра Linux Landlock, позволяющий обойтись без выполнения привилегированных операций во время создания sandbox-окружения. По своим задачам Landrun близок к утилите Firejail, но отличается более простой реализацией, легковесностью и возможностью работы под обычным непривилегированным пользователем без поставки с флагом suid. Код проекта написан на языке Go и распространяется под лицензией GPLv2.

Механизм Landlock позволяет непривилегированным программам ограничить использование объектов ядра Linux, таких как иерархии файлов, сетевые сокеты и ioctl. В отличие от пространств имён и фильтрации системных вызовов изолированное окружение формируется ядром Linux в форме дополнительного слоя над существующими системными механизмами управления доступом. Для взаимодействия с подсистемой Landlock в утилите landrun используется библиотека go-landlock от разработчиков LandLock.

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

Например, при помощи Landrun процессу можно запретить запуск исполняемых файлов, разрешить запись только в отдельный подкаталог c данными, запретить создание слушающих сокетов для приёма сетевых соединений и разрешить отправку сетевых запросов только на указанные TCP-порты. В простейшем случае для запрета записи, запуска и сетевых возможностей программу можно выполнить командой "landrun --ro /", а для изоляции nginx можно использовать:

   landrun --rox /usr/bin --ro /lib,/lib64,/var/www --rwx /var/log --bind-tcp 80,443 /usr/bin/nginx

В планах на будущее упоминается расширенное управление доступом к файловой системе, поддержка UDP и управление ресурсами процессов. Для ограничения доступа на уровне файловой системы требуется как минимум ядро Linux 5.13, а для сетевых ограничений - 6.8.

Дополнительно можно отметить, что в кодовую базу Firejail уже приняты изменения, позволяющие использовать подсистему ядра Landlock для изоляции без suid-бита и повышения привилегий, но релиз с данной поддержкой ещё не опубликован.

Источник: https://www.opennet.ru/opennews/art.shtml?num=62934

continue bonked 23 Mar 2025 09:34 +0100
original: lev@mastodon.ml

Уже классика, но я рекомендую перед призывом будь вы срочником или невезучим получателем повестки проконсультироваться в сообществе дсо - движение сознательных отказчиков ,у них есть база критических данных по защите и взаимодействию с военкоматом - " https://docs.google.com/document/u/0/d/e/2PACX-1vR3mfTkjt525hM7VnAIonLeml1NMr3_jMSariDkaeVJyzh3xJxF-D_1BCrbgyuTKC-capDCyHkUWb9R/pub?pli=1#h.94hdf3e9hp0j " а так же само сообщество в телеграмме
" • Каталог ДСО – cutt.ly/B3f9yDc
• Консультации – @stoparmybot
• Форум ДСО и иные чаты – @stoparmy_netbot
• Расписание созвонов-консультаций – cutt.ly/L1eRxtt
• Видео созвонов – @stoparmy_video
https://t.me/stoparmy
П.с : Всем удачи и мира

opennet honked 23 Mar 2025 09:00 +0100

Для NixOS предложен метод защиты от подстановки бэкдоров, таких как в XZ

Для включения в репозиторий пакетов nixpkgs, применяемый в дистрибутиве NixOS, предложен режим повторяемых сборок, позволяющий выявлять случаи внедрения в код бэкдоров, напоминающие инцидент с проектом XZ. Представленный метод защиты позволяет выявлять модификации в архивах с исходным кодом релиза, отсутствующие в репозиториях с кодом.

Суть метода в том, что исходный код новой версии приложения собирается два раза - первый раз из кода, загруженного из git-репозитория, а второй из кода, распространяемого в готовых архивах. Если полученные в результате сборок бинарные файлы различаются, возникает повод для подозрений в наличии скрытых модификаций в репозитории или в архивном файле с кодом.

Напомним, что в случае с проектом XZ репозиторий с кодом не содержал подозрительных изменений. Образующие бэкдор вредоносные компоненты поставлялись внутри файлов, используемых в тестовом наборе для проверки корректности работы распаковщика XZ. Бэкдор активировался на уровне системы сборки, а сам исходный код XZ совпадал с кодом из репозитория. Активирующие бэкдор m4-макросы для инструментария Automake были включены только в готовый архив с кодом и отсутствовали в репозитории.

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

Для упрощения проверки соответствия файлов-архивов и срезов репозитория, соответствующих релизам, некоторые открытые проекты, такие как PostgreSQL, ввели в обиход систему повторяемой генерации архивов. В данном случае предоставляется инструментарий, позволяющий самостоятельно собрать из кода свой архив, полностью соответствующий готовому архиву, доступному для загрузки. Если независимо созданный архив и архив, предоставляемый основным проектом, будут отличаться - имеет место компрометация репозитория или эталонного архива.

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

Источник: https://www.opennet.ru/opennews/art.shtml?num=62933

opennet honked 22 Mar 2025 22:00 +0100

Уязвимости в Pagure и OBS, допускавшие компрометацию пакетов в репозиториях Fedora и openSUSE

Исследователи безопасности из компании Fenrisk раскрыли информацию об уязвимостях в инструментариях Pagure и OBS (Open Build Service), позволявших скомпрометировать инфраструктуры формирования пакетов дистрибутивов Fedora и openSUSE. Исследователи продемонстрировали возможность совершения атаки для выполнения произвольного кода на серверах с Pagure и OBS, что можно было использовать для подстановки изменений в пакеты в репозиториях Fedora и openSUSE.

В платформе Pagure, используемой в Fedora для совместной работы c кодом и метаданными пакетов, выявлены 4 уязвимости. Для эксплуатации выявленных проблем требуется наличие учётной записи в сервисе Pagure, которую может получить любой желающий (в настоящее время в Pagure.io зарегистрировано 24899 пользователей). Три проблемы позволяют прочитать файлы в системе, а одна проблемы выполнить свой код на сервере. Проблемы были выявлены 1 января 2024 года, сообщены через bugzilla.redhat.com 25 апреля 2024 года и устранены в Pagure через 3 часа.

  • Уязвимости CVE-2024-4981 и CVE-2024-47515 вызваны некорректной обработкой символических ссылок в функциях обновления файла и генерации архивов. Уязвимости позволяют прочитать содержимое локальных файлов на сервере, например, можно узнать содержимое файла с параметрами сеанса администратора Pagure и получить доступ с его правами. Эксплуатация уязвимости в функции _update_file_in_git() сводится к созданию репозитория в Pagure; добавлению в него коммита с новым файлом, который создан как символическая ссылка на желаемый системный файл; открытию данного файла для редактирования в web-интерфейсе.
  • Уязвимость (CVE-2024-4982) в функции view_issue_raw_file() позволяет выйти за пределы базового каталога через указание символов "/.." в параметрах запрошенного Issue. Проблема позволяет прочитать файлы в системе, насколько позволяют права доступа процесса под которым выполняется web-интерфейс. Например, для просмотра файла /etc/passwd можно открыть страницу "http://pagure.local:5000/your-repository/issue/raw/../../../../../../../etc/passwd".
  • Уязвимость (CVE-2024-47516) в функции PagureRepo.log(), даёт возможность добиться подстановки своих команд и выполнения кода на сервере. Проблема вызвана тем, что при просмотре истории изменения файла через web-интерфейс вызывается команда "git" с передачей идентификатора ветки в командной строке (например, "/usr/bin/git --pretty=oneline --abbrev-commit ‹HERE› -- README.md"). Корректность идентификатора не проверяется, поэтому можно вместо него передать любую опцию командной строки, например, "--output=/tmp/foo.bar" для перенаправления вывода в файл. Атакующий может перезаписать файл в системе через отправку запроса следующего вида:
       http://pagure.local:5000/test/history/README.md?identifier=--output=/tmp/foo.bar
    

    Pagure выполняется под пользователем git, поэтому перезаписать получится только файлы данного пользователя. Для организации выполнения своего кода на сервере можно воспользоваться сервисом для доступа к репозиторию по SSH, при обращении к которому выполняется команда "bash -c /usr/libexec/pagure/aclchecker.py". Атакующий может использовать уязвимость для перезаписи файла "/srv/git/.bashrc" и данный файл будет запущен командным интерпретатором bash при обращении к репозиторию по ssh.

    Атака сводится к регистрации в системе Pagure, созданию репозитория, добавлению в репозиторий файла README.md с примечанием к коммиту вида "|| /bin/bash" и отправке запроса "http://pagure.local:5000/test/history/README.md?identifier=--output=/srv/git/.bashrc". В ходе данных шагов в файл "/srv/git/.bashrc" будет записана строка вида "34а5с43 || /bin/bash". Для запуска созданного файла "/srv/git/.bashrc" достаточно подключиться к репозиторию по SSH под своей учётной записью. Выполнения кода с правами пользователя git на сервере Pagure позволяет контролировать всё содержимое репозиториев с пакетами.



<iframe src="https://player.vimeo.com/video/1066145210?h=0716980f9b">


В платформе OBS (Open Build Service), применяемой в openSUSE и некоторых других дистрибутивах для сборки пакетов, выявлена одна уязвимость (CVE-2024-22033), позволяющая выполнить свой код на сервере. Уязвимость выявлена 27 июня 2024 года, сообщена проекту openSUSE 29 июня и устранена 10 июля.

Уязвимость присутствует в сервисе "obs-service-download_url", в котором отсутствовала должная проверка URL, применяемого при запуске утилиты wget из скрипта, осуществляющего загрузку исходного кода в OBS. Атакующий может указать в сервисе OBS конфигурацию формируемого пакета, в которой вместо URL для загрузки кода будет указана опция командной строки для wget, например:

   ‹services›
   ‹service name="download_url"›
   ‹param name="url"›--output-document=/tmp/test‹/param›
   ‹param name="download-manifest"›tempfile‹/param›
   ‹/service›
   ‹/services›

Для обхода возвращения ошибки при попытке запустить wget без URL в примере указана опция "download-manifest", позволяющая указать список URL в отдельном файле. Вышеуказанный пример приведёт к запуску команды:

   /usr/bin/wget -i /srv/obs/service/XXXXX/src/tempfile -4 --output-document=/tmp/test

которая позволяет записать в файл /tmp/test содержимое, загруженное по ссылке, указанной в файле /srv/obs/service/XXXXX/src/tempfile из кода, загруженного атакующим в OBS через интерфейс build.opensuse.org, допускающий свободную регистрацию. Кроме перезаписи файла на сервере, атакующий также может отправить себе любой файл, указав вместо "--output-document" опцию "--post-file", например, "--post-file=/etc/passwd". Таким образом атакующий может читать и записывать файлы на сервере, насколько позволяют права доступа, под которым выполняется сервис OBS.

Для того, чтобы превратить возможность записи в файл в выполнение кода на сервере исследователи предложили метод, состоящий из двух этапов. Два этапа необходимы, так атакующий может создать файл ".wgetrc" с настройками к wget, но этого недостаточно для запуска команд. Но при этом, через ".wgetrc" можно создать условия для выполнения в системе любой программы, но без передачи ей аргументов. Для запуска произвольного кода предложено запускать программу "prove", которая обрабатывает файл конфигурации ".proverc", допускающий указание опции "--exec" для выполнения любого кода.

На первом этапе через вышеотмеченные манипуляции с "download-manifest" в домашнем каталоге пользователя "obsservicerun" создаётся файл ".proverc", включающая команды, которые будут выполнены при запуске процесса "prove". На втором этапе создаётся файл .wgetrc" с параметром "use-askpass=/usr/bin/prove", приводящим к вызову "prove". После появления данных файлов достаточно создать условия загрузки любых данных при помощи wget и это приведёт к запуску кода атакующего на сервере с правами пользователя "obsservicerun". Прав пользователя "obsservicerun" достаточно для извлечения из репозиториев ключей, используемых пользователями OBS для заверения пакетов.

<iframe src="https://player.vimeo.com/video/1066093605?h=d7a210d719">

Источник: https://www.opennet.ru/opennews/art.shtml?num=62928

continue honked 22 Mar 2025 17:37 +0100

#сегодня утром на градусник показывал -10, а я наконец-то выбрался в лес. Из-за ночного мороза снежный наст уверено держит взрослого человека.

В лесу я нашёл свежие следы лосей и решил идти по ним. Через какое-то я вышел к поваленным стволам деревьев: похоже, это место лосиной трапезы. Искренне надеюсь, что я не спугнул их во время еды.

Стволы и ветки поваленных деревьев с лишайником на коре. Часть коры обглодана до светлой древесины. Стволы и ветки поваленных деревьев с лишайником на коре. Часть коры обглодана до светлой древесины. Стволы и ветки поваленных деревьев с лишайником на коре. Часть коры обглодана до светлой древесины.

undeadly honked 22 Mar 2025 12:18 +0100

fw_update(8) gains support for arbitrary dmesg files

Hitherto, fw_update(8) has gathered system information largely from /var/run/dmesg.boot (on the host on which it is invoked).

Andrew Hewus Fresh (afresh1@) has committed a change which allows specifying an arbitrary dmesg file. The commit message explains the rationale:

CVSROOT:	/cvs
Module name:	src
Changes by:	afresh1@cvs.openbsd.org	2025/03/21 18:33:34

Modified files:
	usr.sbin/fw_update: fw_update.8 fw_update.sh 

Log message:
Allow using a different dmesg for driver detection

This also solves an issue that jmc@ was having with installing
downloaded firmware. (thanks for reporting)

It also adjusts detecting the OpenBSD version from the dmesg
instead of from sysctl while still allowing sysupgrade to override.

I see two main uses for this, the first being downloading firmware
to be used on a machine that doesn't have access to download for
itself.  The other would be for testing detection of devices in a
dmesg for a machine you don't have or that is hard to test such as
from the installer.

This is a very welcome change indeed!

At least one of the editors (and we suspect several of our readers) would have saved quite a bit of time while installing our favourite operating system on hardware that requires firmware that for some reason is not included in the install media, such as some recent-ish laptops.

opennet honked 22 Mar 2025 10:00 +0100

Выпуск операционной системы ReactOS 0.4.15

После более трёх лет разработки представлен релиз операционной системы ReactOS 0.4.15, нацеленной на обеспечение совместимости с программами и драйверами Microsoft Windows. Для загрузки подготовлены установочный ISO-образ (117 МБ) и Live-сборка (в zip-архиве 85 МБ). Код проекта распространяется под лицензиями GPLv2 и LGPLv2.

После прошлого выпуска внесено более 8600 изменений и закрыто 1319 отчётов о проблемах. Ключевые изменения:

  • Визуальный стиль по умолчанию изменён на стиль "Mizu".
  • Добавлена поддержка размещения крупных пиктограмм в панели задач.
  • Добавлена поддержка архивов в формате ZIP, с которыми можно работать в файловом менеджере, как c виртуальной файловой системой, а также распаковывать при помощи отдельного мастера.
  • На рабочий стол добавлена пиктограмма "Internet Browser" для вызова web-браузера.
  • Решены проблемы с некорректным отображением пиктограмм в приложениях, таких как Microsoft Office 2000, Microsoft Visual Basic 6 и Hoyle Cards. Повышена стабильность работы библиотеки Shell32.
  • В ядре значительно переделан PnP-менеджер (Plug and Play), что расширило возможности ReactOS по запуску сторонних драйверов, созданных для Windows.
  • Добавлена возможность загрузки ReactOS с USB-устройств на чипсетах с контроллерами EHCI, OHCI и UHCI. Решены проблемы с зацикливанием в USB-драйвере при неготовности USB-устройства, мешавшие загрузке на некоторых системах.
  • Улучшен звуковой стек. Из Windows Driver Kit (WDK) перенесён драйвер AC’97, позволяющий использовать звук при установке в VirtualBox и выборе в настройках звукового контроллера ICH AC’97 или при загрузке на системах со старыми материнскими платами. Добавлена поддержка более высокой частоты дискретизации, многоканального вывода, новых форматов звуковых файлов и зацикливания воспроизведения wav-файлов.
  • В системе управления памятью переработан механизм "Section Objects", позволяющий совместно использовать области памяти. Изменение решило проблему с невозможностью запуска исполняемых файлов с внешних разделов, таких как сетевые хранилища и совместные диски виртуальных машин.
  • Из Windows Driver Kit (WDK) перенесён драйвер FAT, открытый компанией Microsoft. Новый драйвер FAT решил проблемы с низкой стабильностью и производительностью старого драйвера, а также позволил реализовать корректное извлечение внешних устройств.
  • Реализованы механизмы для восстановления, сброса состояния и кэширования реестра, позволившие повысить живучесть системы в случае аварийного завершения или выключения питания. Механизм восстановления позволяет автоматически откорректировать повреждённые области реестра, механизм сброса состояния (flush) обеспечивает периодическое сохранение изменений на диск, а кэширование заметно повышает скорость работы с реестром.
  • В ядре улучшена подсистема Se (Security Subsystem), в которой реализован механизм для управления доступом к системным объектам.
  • Расширены возможности базовых приложений и системных утилит. Например, в графическом редакторе Paint появился инструмент для работы с текстом, а в текстовом редакторе Notepad реализован диалог вывода на печать. Улучшен IME (Input Method Editor) для управления методами ввода.
  • Добавлена начальная поддержка загрузки на многопроцессорных системах со включённым режимом SMP.
  • Значительно улучшена работа в 64-разрядном режиме.
  • Добавлена новая утилита командной строки tasklist для отображения списка активных задач.

В master-ветке дополнительно развивается поддержка UEFI, SMP и управления энергопотреблением, добавлены графический инсталлятор и драйвер NTFS.

Источник: https://www.opennet.ru/opennews/art.shtml?num=62931

opennet honked 22 Mar 2025 09:00 +0100

Выпуск Wine 10.4

Опубликован экспериментальный выпуск открытой реализации Win32 API - Wine 10.4. С момента выпуска 10.3 было закрыто 28 отчётов об ошибках и внесено 241 изменение.

Наиболее важные изменения:

  • В библиотеке DbgHelp улучшена поддержка формата PDB (Program database).
  • В WineD3D расширены возможности для ускорения декодирования видео при помощи API Vulkan.
  • В окне SysLink добавлены средства для людей с ограниченными возможностями (Accessibility).
  • Продолжена разработка драйвера для Bluetooth.
  • Закрыты отчёты об ошибках, связанные с работой приложений: Adobe Illustrator CS6, Chessmaster 9000, Steam, iTunes 12.9.4, ShaderMap 4.x, IE 8, Roon 2.0.23, Enterprise Architect, Q-Dir, Firefox 136.0.1.
  • Закрыты отчёты об ошибках, связанные с работой игр: Strong Bad's Episode 1 - Homestar Ruiner, Battle.net client, Need for Speed: Shift, Command & Conquer 3: Kane's Wrath, Europa Universalis 4 Golden Century, Myst, Chessbase 17, Zenless Zone Zero.


Источник: https://www.opennet.ru/opennews/art.shtml?num=62930

opennet honked 21 Mar 2025 21:00 +0100

Google развивает систему перезагрузки ядра без остановки работы устройств

Инженеры из компании Google опубликовали для обсуждения разработчиками ядра Linux набор патчей с реализацией подсистемы Live Update Orchestrator (LUO), предназначенной для обновления ядра в Live-режиме. В отличие от таких механизмов, как livepatch, Ksplice, kpatch и kGraft, новая система не ограничивается возможностью применения отдельных исправлений к работающему ядру Linux, а позволяет полноценно перезагрузить и обновить ядро без остановки работы отдельных устройств. Проект базируется на наборе патчей KHO (Kexec HandOver) к механизму kexec, применяемому для загрузки нового ядра из уже запущенного ядра Linux без физической перезагрузки.

В качестве основной области применения LUO называются облачные окружения, в которых появится возможность обновления гипервизора KVM без нарушения работы запущенных виртуальных машин. В частности, можно будет приостановить виртуальные машины на время перезагрузки ядра с гипервизором, сохранив в рабочем состоянии все прикреплённые к виртуальным машинам устройства.

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

Для координации сохранения состояния и переключения на новое ядро LUO предоставляет API, позволяющий другим подсистемам ядра подключать обработчики для отслеживания и участия в процессе Live-перезагрзки. Среди подсистем, которые могут интегрироваться с LUO, отмечены гипервизор KVM, iommu, система прерываний и драйверы. Для передачи состояния памяти от старого ядра к новому задействован KHO (Kexec HandOver). Управление производится через файлы sysfs "/sys/kernel/liveupdate/{state, prepare, finish}".

Источник: https://www.opennet.ru/opennews/art.shtml?num=62929

opennet honked 21 Mar 2025 20:00 +0100

Для плат Raspberry Pi опубликован генератор системных образов rpi-image-gen

Разработчики проекта Raspberry Pi представили инструментарий rpi-image-gen, предназначенный для упрощения генерации собственных системных образов для плат Raspberry Pi. Из достоинств инструментария упоминаются: быстрая сборка за счёт задействования готовых бинарных пакетов; применение идентичных с Raspberry Pi OS версий библиотек и приложений; возможность настройки произвольной раскладки разделов и использования шифрования ФС; поддержка генерации списка задействованных пакетов и проверки отсутствия уязвимых версий программ. Код написан на Shell и распространяется под лицензией BSD.

Инструментарий rpi-image-gen концептуально отличается от ранее предлагаемых утилит pi-gen, рассчитанных на подготовку вариантов сборок дистрибутива Raspberry Pi OS. В rpi-image-gen система формируется с использованием концепции "коллекций" (примеры), представляющих собой подборки YAML-файлов со списками устанавливаемых пакетов и метаданными, определяющими выполняемые операции. Выбранные коллекции образуют профиль сборки. Для генерации rootfs и образов с различными ФС и раскладкой разделов в rpi-image-gen применяются утилиты bdebstrap, mmdebstrap и genimage.



Источник: https://www.opennet.ru/opennews/art.shtml?num=62927

opennet honked 21 Mar 2025 19:00 +0100

Опубликована децентрализованная видеовещательная платформа PeerTube 7.1

Опубликован выпуск платформы PeerTube 7.1, предназначенной для создания независимых децентрализованных систем видеохостинга и видеовещания, альтернативных таким сервисам, как YouTube, Dailymotion и Vimeo. Создаваемая при помощи PeerTube сеть распространения контента основывается на связывании браузеров посетителей между собой и использовании P2P-коммуникаций. Код проекта распространяется под лицензией AGPLv3.

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

Каждый сервер с видео выполняет роль BitTorrent-трекера, размещающего учётные записи и видео пользователей. Для взаимодействия серверов в федеративной сети применяется протокол ActivityPub. Идентификатор пользователя формируются как "@имя_пользователя@домен_сервера". При просмотре видео данные по возможности загружаются через обращение к браузерам других посетителей, просматривающих тот же контент. Если запрошенное видео никто не просматривает, отдача организуется сервером, на который загружено видео (используется протокол WebSeed).

Помимо распределения трафика между пользователями, просматривающими видео, PeerTube позволяет серверам кэшировать видео других авторов. Таким образом формируется распределённая сеть не только из клиентов, но и из серверов, а также обеспечивается отказоустойчивость. Кроме распространения готового видео имеется поддержка потокового вещания (live streaming) с доставкой контента в режиме P2P. Для управления стримингом могут использоваться типовые программы, такие как OBS.

Для начала вещания через PeerTube пользователю необходимо загрузить на один из серверов видеоролик, описание и набор тегов. После этого ролик станет доступен во всей федеративной сети, а не только на сервере первичной загрузки. Для работы с PeerTube и участия в распространении контента достаточно обычного браузера. Распространять видео с использованием P2P-коммуникаций можно добавив на свой сайт специальный виджет со встроенным web-плеером, по аналогии с тем как на страницы встраиваются ролики с YouTube. Отслеживать появление видео можно через подписку на выбранные видеоканалы в федеративных социальных сетях (например, в Mastodon и Pleroma) или через RSS.

В настоящее время в федеративную сеть входит 994 сервера, поддерживаемых добровольцами и организациями. Если пользователя не устраивают правила размещения видео на определённом сервере PeerTube, он может подключиться к другому серверу или запустить свой собственный сервер. Для быстрого развёртывания сервера предоставляется преднастроенный образ в формате Docker (chocobozzz/peertube).

Изначально платформа PeerTube основывалась на применении BitTorrent-клиента WebTorrent, запускаемого в браузере и использующего технологию WebRTC для организации прямого P2P-канала связи между браузерами. Позднее вместо WebTorrent был задействован протокол HLS (HTTP Live Streaming) в связке с WebRTC, позволяющий адаптивно управлять потоком в зависимости от полосы пропускания. Web-интерфейс построен с использованием фреймворка Angular.

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

  • Улучшена идентификация узлов федеративной сети - под миниатюрами теперь показывается информация о сервере, который использует автор видео. При нажатии на данную информацию появляется диалог с более подробными сведения о том, от куда получено видео.
  • Расширена поддержка спецификации Podcast 2.0. Добавлена возможность использования контента с PeerTube в качестве подкастов - пользователи могут подписаться на каналы с подкастами и отдельно воспроизводить звуковой поток из видео, используя для прослушивания типовые подкастовые приложения, такие как AntennaPod и Podverse. Обеспечена совместимость ленты подкастов с Apple Podcast.
  • Изменено оформление страницы "About". Добавлен блок с информацией об экземпляре платформы, такой как число пользователей и размещённых видео, описание платформы и правила использования.
  • Включён модернизированный протокол, позволяющий увеличить число одновременно просматривающих контент пользователей за счёт сокращения числа сообщений, отправляемых в федеративную сеть.
  • Добавлена поддержка верификации в микроблогах Mastodon - пользователь может связать свои каналы и платформы PeerTube с учётной записью в Mastodon и выставить кнопку для подписки на свой блог в Mastodon.
  • Обновлена библиотека p2p-media-loader, позволяющая использовать P2P-режим в проигрывателе видео для повышения стабильности воспроизведения контента. Изменение особенно заметны при просмотре стримов, настроенных для работы в режиме с низкими задержками.
  • Добавлена поддержка размещения субтитров к видео в объектном хранилище.
  • Администратору предоставлены настройки для определения поведения проигрывателя по умолчанию.
  • Добавлена поддержка клиентских плагинов для вставки внешних ссылок в меню в левой панели.
  • Прекращена поддержка ветки платформы Node.JS 18.


Источник: https://www.opennet.ru/opennews/art.shtml?num=62923

contrinitiator bonked 21 Mar 2025 17:43 +0100
original: Konstantin@pixelfed.de

А лебеди уже, похоже, всей стаей подтянулись. Освоились, огляделись, и уже без страха подплывают к самому берегу, когда там появляются люди: "Вкусняшку давай!" И даже позируют, картинно растопырив крылья. 😀️
#photography #WTphoto #nature #landscape #lake #swans #by #природа #пейзаж #озеро #лебеди

А лебеди уже, похоже, всей стаей подтянулись. Освоились, огляделись, и уже без страха подплывают к самому берегу, когда там появляются люди: "Вкусняшку давай!" И даже позируют, картинно растопырив крылья. 😀️

opennet honked 21 Mar 2025 14:00 +0100

В GCC-фронтэнде с компилятором Rust реализован Borrow checker

Для включения в состав ветки GCC 15 предложена серия патчей с улучшением поддержки языка Rust во фронтэнде gccrs. Наиболее заметным изменением стала поддержка проверки заимствования переменных (borrow checker), реализованная на основе компонента Polonius, разрабатываемого основной командой разработчиков Rust в качестве следующего поколения Borrow checker.

Предложенная реализация Borrow checker отличается тем, что написана на языке Rust и предоставляет расширенные возможности верификации кода, позволяющие в ряде случаев считать безопасным (safe) код, который до сих пор требовал пометки ключевым словом Unsafe из-за ограничений применяемой по умолчанию реализации Borrow checker.

Подготовленное для GCC решение имеет ограничения:

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

Полная реализация самодостаточной сборки подразумевает 2-стадийную раскрутку, при которой сначала GCC соберёт gccrs без Borrow checker, а затем соберёт упомянутую реализацию Borrow checker, написанную на языке Rust, используя урезанный варианта компилятора и считая код условно-доверяемым (т.е. не выполняя проверку заимствования). После сборки Borrow checker-а будет выполнена ещё одна пересборка компилятора, но уже с выполнением проверок заимствования.

Источник: https://www.opennet.ru/opennews/art.shtml?num=62924

opennet honked 21 Mar 2025 14:00 +0100

Для ОС Haiku началось портирование драйвера NVIDIA и опубликован порт GIMP 3.0

Илья Чугин (X512) сообщил о первых результатах портирования драйвера NVIDIA для операционной системы Haiku. Порт пока находится на начальной стадии развития, но уже пригоден для простой отрисовки. В работе задействованы открытый модуль ядра от компании NVIDIA и Vulkan-драйвер NVK из состава Mesa. В Mesa-драйвер NVK добавлена поддержка работающего на уровне ядра драйвера NVIDIA вместо DRM-драйвера Nouveau. Libdrm и связанные c данной библиотекой компоненты в порте не используются.

Решение использовать код от компании NVIDIA, а не драйвер Nouveau, было принято исходя из лёгкости портирования - драйвер от NVIDIA спроектирован как переносимый и использующий общий код в сборках для Windows, Linux, FreeBSD и Solaris. Кроме того, драйвер NVIDIA имеет более высокое качество и лучше поддерживается.

Дополнительно можно отметить портирование для Haiku графического редактора GIMP 3.0. Порт создан Герасимом Троеглазовым (3dEyes).



Источник: https://www.opennet.ru/opennews/art.shtml?num=62926

contrinitiator honked 21 Mar 2025 13:07 +0100

Питерские "силовики" расхреначили Апрашку, при этом чиновники называют это освобождением Апраксина двора, так, словно там засели какие-то враги и долго оборонялись.

opennet honked 21 Mar 2025 13:00 +0100

Перегрузка инфраструктуры KDE, GNOME, Fedora, Codeberg и SourceHut из-за ИИ-индексаторов

Различные открытые проекты столкнулись с волной сбоев и замедления работы элементов инфраструктуры из-за повышения активности индексаторов содержимого сайтов (скраперов), собирающих информацию для обучения больших языковых моделей или для обеспечения ИИ-поиска в Web (например, компания Anthropic вчера представила вариант модели Claude 3.7 с возможностью поиска в Web).

Проблемы возникают из-за того, что подобные ИИ-индексаторы действуют агрессивно, собирают информацию в несколько потоков и не учитывают правила доступа к контенту, заданные на сайтах через файл robots.txt. Проблему усугубляет то, что разработками в области машинного обучения занимаются большое число разных компаний по всему миру, которые пытаются собирать как можно больше данных в меру своих возможностей. Каждая компания запускает свой индексатор и все вместе они создают огромную паразитную нагрузку на элементы инфраструктуры.

После начала блокировки подобного трафика, некоторые индексаторы начали притворяться типовыми браузерами для обхода фильтрации по идентификатору User Agent и использовать распределённые сети, охватывающие большое число хостов, для преодоления ограничений интенсивности обращений с одного IP. Наиболее сильно из-за активности ИИ-индексаторов страдают инфраструктуры открытых проектов, использующих собственные хостинги Git-репозиториев, форумы и Wiki, которые изначально не были рассчитаны на обработку высокой нагрузки.

Проблемы возникли у платформы совместной разработки SourceHut, развиваемой Дрю ДеВолтом (Drew DeVault), автором пользовательского окружения Sway. Дрю сетует на то, что в очередной раз вместо того, чтобы заниматься развитием платформы ему приходится тратить большую часть своего времени на разгребание неожиданно возникших проблем. Четыре года назад проблемой для SourceHut стало использование CI-инфраструктуры для майнинга криптовалют. Два года назад пришлось разбираться с флудом запросами "git clone" из-за сервиса Go Module Mirror. В прошлом году платформа была выведена из строя на неделю из-за DDoS-атаки. Теперь возникла новая напасть - ИИ-индексаторы.

По словам Дрю, решение нескольких приоритетных задач было отложено на недели или даже месяцы из-за того, что создателей SourceHut постоянно отвлекает блокировка ИИ-ботов. Чтобы избежать сбоев правила блокировки приходится пересматривать по несколько раз в день. Для снижения запросов к ресурсоёмким обработчикам в SourceHut были внедрены ловушки на базе инструментария Nepenthes, генерирующего в ответ на запросы ботов случайный контент с зацикленными на ловушку ссылками. До этого разработчики SourceHut из-за агрессивного поведения ИИ-ботов были вынуждены заблокировать трафик из нескольких облачных платформ, включая Google Cloud Platform и Azure.

При этом введённые меры не лишены ложных срабатываний, от чего уже пострадали многие пользователи, так как внедрённая система блокировки не всегда может отличить реальных пользователей от ботов (например, возникли проблемы со сборкой пакетов для репозиториев Nix). ИИ-боты сканируют всё до чего могут дотянуться, включая ресурсоёмкие операции, такие как "git blame", перебирают каждую страницу в "git log" каждого репозитория, мимикрируя под запросы обычных пользователей, используя случайные индинтификаторы реальных браузеров (User Agent) и отправляя запросы с десятков тысяч IP, не связанных к какой-то одной подсетью.

Другие проекты, обратившие внимание на проблему:

  • Из-за высокой нагрузки на инфраструктуру для противостояния ИИ-индексаторам разработчики GNOME внедрили систему защиты от ботов Anubis, допускающую вход только после вычисления хэша sha256 (proof-of-work). При открытии страниц в GitLab GNOME теперь появляется характерная аниме-заставка, которая у некоторых пользователей приводит к минутной задержке загрузки страниц. За два с половиной часа тестирования только 3% запросов прошили проверку в Anubis, а 97% обращений были совершены ботами. Ранее для предотвращения высокой нагрузки от ИИ-ботов разработчики GNOME ограничили интенсивность обращений с IP-адресов при доступе незарегистрированных пользователей к запросам на слияние и к коммитам.
  • В проекте Fedora из-за запросов ИИ-индексаторов наблюдаются сбои с работой платформы совместной разработки Pagure. В процессе противостояния с ИИ-ботами пришлось заблокировать множество подсетей, включая весь диапазон IP-адресов Бразилии, что привело к блокировке и некоторых пользователей.
  • Сообщается о проблемах с сервисом совместной разработки Codeberg и инфраструктурой платформы Forgejo (code.forgejo.org), которые пытаются отразить поток запросов ИИ-индексаторов. Упоминаются как индексаторы, отправляющие запросы с указанием известных ИИ-платформ в заголовке User Agent, так и ИИ-боты, прикрывающиеся идентификаторами обычных браузеров и отправляющие запросы с десятков тысяч IP-адресов.
  • GitLab-сервер проекта KDE на некоторое время оказался недоступен из-за перегрузки в результате активности ИИ-индексаторов, отравлявших запросы из подсети, принадлежащей компании Alibaba. Запросы поступали с одним заголовком User-Agent, притворяющимся браузером MS Edge. В настоящее время активность бота блокирована на уровне фильтрации по User-Agent.
  • Из-за высокой нагрузки на сайт разработчики Inkscape начали блокировку по спискам Prodigious и планируют установить систему Anubis для защиты от ИИ-индексаторов.
  • Из-за наплыва ИИ-индексаторов отмечаются сбои в работе форума проекта FreeCAD и проблемы с Wiki проекта Arch Linux.
  • Разработчики открытой социальной сети Diaspora сообщили о возрастании нагрузки на форумы Discourse, Wiki и web-сайт проекта. По статистике за ноябрь и декабрь, собранной до нашествия обезличенных ботов, около 70% всего трафика пришлось на запросы от ИИ-индексаторов: 24.6% трафика сгенерировано ботом GPTBot, 17.1% - Amazonbot, 4.3% - ClaudeBot, 2.2% - meta-externalagent (для сравнения на ботов Google и Bing приходится по 0.14% трафика). В пиковые моменты интенсивность работы ботов достигала 10 запросов в секунду. ИИ-боты не обращали внимание на robots.txt, перебирая всё, вплоть до истории редактирования в Wiki. При блокировке IP-адресов, боты возобновляли работу с новых адресов, а при блокировке User-Agent переходили к индексации под идентификаторами типовых браузеров.

Администраторы микроблогинговой платформы Framapiaf подготовили список блокировки, насчитывающий 460 тысяч адресов с которых зафиксирована активность ИИ-ботов. Отдельно развивается проект ai.robots.txt, собравший список идентификаторов (User Agent) ИИ-индексаторов, которые не скрывают имя бота, а также опубликовавший статистику о том, какие из ботов учитывают правила из файла robots.txt. Примеры блокировки по заголовку User-Agent предложены для Apache httpd и nginx.

Дополнительно можно отметить, ловушку для ИИ-ботов AI Labyrinth, представленную вчера компанией Cloudflare. Пользователям Cloudflare предоставлена опция, позволяющая вместо блокировки ИИ-ботов, игнорирующих запрет на индексацию, отдавать фиктивные страницы и зацикливать ботов на их обработке. Предполагается, что выдача ИИ-ботам мусорного контента заставит их разработчиков следовать правилам robots.txt и снизить интенсивность запросов. По статистике Cloudflare около 1% всего трафика в сети приходится на ИИ-ботов.

Источник: https://www.opennet.ru/opennews/art.shtml?num=62925

continue honked back 21 Mar 2025 11:27 +0100
in reply to: https://craba.cab/users/cybertailor/statuses/114198643975166334

@evgeny_afanasev

Заказал себе одноплатник на RiscV, хочу провести белый IP и сделать из него домашний сервер под пет проекты.
Хочу, чтобы все устройства подключённые к роутеру пользовались бы серым IP, а белый вывести только на одно устройство. Как такое делается ?

Вот этот одноплатник нужно сделать роутером.

Но проще с роутерера прокинуть нужные порты (80, 443 и т.п.) на одноплатник.

contrinitiator honked 21 Mar 2025 10:25 +0100

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

opennet honked 20 Mar 2025 14:00 +0100

Браузер Chrome переведён на шрифтовой движок Skrifa, написанный на Rust

Компания Google перевела браузер Chrome на библиотеку Skrifa, написанную на языке Rust и предоставляющую возможности для обработки шрифтов в формате OpenType. Библиотека Skrifa реализует подмножество возможностей шрифтового движка FreeType, необходимое для 2D-библиотеки Skia, применяемой в Chrome и Chromium. Для избавления библиотеки Skia от привязки к движку FreeType создан новый шрифтовой бэкенд, основанный на Skrifa.

В Chrome 128 написанный на Rust бэкенд был включён в экспериментальном режиме для редко используемых форматов шрифтов, таких как CFF2 и цветные шрифты. Начиная с выпуска Chrome 133 новый бэкенд задействован для всех web-шрифтов в сборках для платформ Linux, Android и ChromeOS. На платформах Windows и macOS новый движок пока используется в качестве запасного и применяется в случае, если система не поддерживает формат шрифта, который пытается отобразить браузер.

Код Skrifa разработан инженерами Google в рамках инструментария Fontations и открыт под лицензиями MIT и Apache 2.0. Для проверки корректности работы Skrifa подготовлено около 700 unit-тестов. Помимо библиотеки Skrifa, предоставляющей API для доступа к метаданным шрифтов и загрузки контуров глифов, инструментарий Fontations включает низкоуровневые библиотеки для чтения, разбора, изменения и создания шрифтовых данных в формате OpenType. В свою очередь Fontations является частью проекта Oxidize, созданного для перевода утилит и библиотек для работы с текстом и шрифтами с компонентов на языках Python (fonttools, fontmake, nanoemoji) и C++ (HarfBuzz, FreeType) на новые реализации, написанные на Rust.

Разработка компонентов на Rust началась из-за недостаточной эффективности выявления ошибок при помощи fuzzing-тестирования, так как форматы шрифтов слишком сложны для охвата всех возможных комбинаций. Например, на прошлой неделе во FreeType была выявлена критическая уязвимость, позволяющая выполнить код при обработке специально оформленных шрифтов. Помимо движка FreeType проблемы с обеспечением безопасности могут создавать и используемые в нём зависимости, такие как bzip2, libpng и zlib.

Использование Rust позволило значительно снизить вероятность появления проблем при работе с памятью, повысить качество кода, тратить меньше времени на исправление проблем с безопасностью и ускорить внесение улучшений в возможности Chrome, связанные со шрифтами. По статистике Google и Microsoft около 70% опасных уязвимостей вызваны проблемами при работе с памятью, которых можно избежать при использовании языка Rust без unsafe-блоков.

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

Источник: https://www.opennet.ru/opennews/art.shtml?num=62922

opennet honked 20 Mar 2025 12:00 +0100

Релиз программы для редактирования видео LosslessCut 3.65.0

Опубликован выпуск программы LosslessCut 3.65.0, предоставляющей графический интерфейс для редактирования мультимедийных файлов без перекодирования содержимого. Наиболее востребованной функцией LosslessCut является кадрирование и обрезка видео и звука, например, для сокращения размера больших файлов, снятых на экшн-камеру или камеру квадрокоптера. LosslessCut позволяет выбрать в файле актуальные фрагменты записи и отбросить лишнее, без проведения полного перекодирования и сохранив исходное качество материала. Так как обработка выполняется путём копирования имеющихся данных, а не перекодирования, операции выполняются очень быстро. LosslessCut написан на языке JavaScript с использованием платформы Electron и является надстройкой над пакетом FFmpeg. Наработки распространяются под лицензией GPLv2. Сборки подготовлены для Linux (snap, flatpak), macOS и Windows.

Без перекодирования программа также может решать такие задачи как прикрепление звукового трека или субтитров к видео, вырезание отдельных сцен из роликов (например, вырезание рекламы из записей телепередач), раздельное сохранение фрагментов, привязанных к меткам/главам, перегруппировка частей видео, разделение звука и видео по разным файлам, изменение типа мультимедийного контейнера (например, из MKV в MOV), сохранение в форме изображений отдельных кадров видео, создание миниатюр, экспорт фрагмента в отдельный файл, изменение метаданных (например, данных о местоположении, времени записи, горизонтальной или вертикальной ориентации). Присутствуют средства для определения и автоматического вырезания пустых областей (чёрный экран на видео и фрагменты без звука в звуковых файлах), а также привязки к изменениям сцены.

Возможно соединение фрагментов из разных файлов, но файлы должны быть закодированы с использованием идентичного кодека и параметров (например, сняты одной камерой без изменения настроек). Возможно редактирование отдельных частей с выборочным перекодированием только изменяемых данных, но с оставлением в исходном видео остальной информации, не затронутой при редактировании. В процессе редактирования поддерживается откат изменений (undo/redo) и показ лога команд FFmpeg (можно повторить типовые операции из командной строки без использования LosslessCut).

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

  • Реализованы маркеры для размещения закладок на временной шкале, которые могут быть экспортированы в форме скриншотов. Технически маркеры оформлены как сегменты видео, не имеющие времени окончания, исключаемые при экспорте и отображаемые по иному.
  • Добавлена возможность одновременного воспроизведения нескольких звуковых дорожек.
  • Обеспечено сохранение состояние выделенных сегментов внутри файлов ".llc".
  • Добавлен режим разделения временной шкалы на основе размера контента. Например, файл, размером 4 ГБ может быть экспортирован в форме 4 файлов по 1 ГБ.
  • Добавлена поддержка программного изменения сегментов, используя выражения на JavaScript.
  • Реализовано запоминание параметров диалогов.
  • Добавлена возможность выбора дорожек со звуком и видео для определения областей с тишиной и пустотой.
  • Добавлены новые комбинации клавиш: shift+alt+up, shift+alt+down, shift+alt+pageup и shift+alt+pagedown для перемещения между сегментами.
  • Улучшена отрисовка визуализации звуковой волны.
  • Добавлены новые переменные FILE_EXPORT_COUNT и EXPORT_COUNT для подстановки в имена файлов.
  • Обновлены версии пакетов Electron 35 и FFmpeg 7.1.


Источник: https://www.opennet.ru/opennews/art.shtml?num=62921

opennet honked 20 Mar 2025 11:00 +0100

Выпуск miracle-wm 0.5, композитного менеджера на базе Wayland и Mir

Мэтью Косарек (Matthew Kosarek), разработчик из компании Canonical, опубликовал выпуск композитного менеджера miracle-wm 0.5, использующего протокол Wayland и компоненты для построения композитных менеджеров Mir. Miracle-wm поддерживает мозаичную (tiling) компоновку окон, схожую с аналогичной в проектах i3 и Sway. В качестве панели может применяться Waybar. Код проекта написан на языке C++ и распространяется под лицензией GPLv3. Готовые сборки сформированы в формате snap, а также в пакетах rpm и deb для Fedora и Ubuntu.

Целью miracle-wm является создание композитного сервера, применяющего мозаичное управление окнами, но более функционального и стильного, чем такие продукты, как Swayfx. При этом проект позволяет использовать и классические приёмы работы с плавающими окнами, например, можно размещать отдельные окна поверх мозаичной сетки или закреплять окна к определённому месту на рабочем столе. Поддерживается виртуальные рабочие столы с возможностью выставления для каждого рабочего стола своего режима работы с окнами по умолчанию (мозаичная компоновка или плавающие окна).

Предполагается, что miracle-wm может оказаться полезным пользователям, которые отдают предпочтение мозаичной компоновке, но желают получить визуальные эффекты и более яркое графическое оформление с плавными переходами и цветами. Конфигурация определяется в формате YAML. Для установки miracle-wm можно использовать команду "sudo snap install miracle-wm --classic".

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

  • Добавлена возможность перемещения контейнеров (закреплённых окон) в режиме drag&drop. Для захвата окна используется левая кнопка мыши с удержанием клавиш Meta (Win) и Shift, после чего окно можно свободно перемещать по мозаичной сетке.
  • Добавлена поддержка перемещения плавающих окон при помощи указателя мыши. Для захвата окна используется левая кнопка мыши с удержанием клавиши Meta (Win).
  • Появилась возможность прикрепления к плавающему окну мини-ячеек с другими окнами, которые можно перемещать вместе, не привязываясь к основной мозаичной сетке.
  • Реализованы соответствующие оконному менеджеру i3 и композитному менеджеру Sway критерии, определяющие область действия управляющих IPC-команд.
  • Добавлена анимация закрытия окон.
  • По умолчанию включена возможность плавного пропадания и появления окон.


<iframe src="https://www.youtube.com/embed/KwOp8J09Zdw?si=bPfWVwoONr4n_U4V">

Источник: https://www.opennet.ru/opennews/art.shtml?num=62918

contrinitiator bonked 20 Mar 2025 10:06 +0100
original: gusev@mastodon.ml

День весеннего равноденствия — это не только символ победы света над тьмой, но и важное астрономическое событие, когда день становится равен ночи. Этот день неизменен и не подвластен человеку. Никто не может перенести его или изменить, разве что в своём воображении.

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

Земля существует уже 4,5 миллиарда лет и пережила множество изменений. Человеческая деятельность не может существенно повлиять на её судьбу, но важно понимать и ценить окружающую природу.

Сегодня прекрасный день, чтобы выйти под высокое весеннее небо, где поёт жаворонок, собраться с мыслями и насладиться красотой весеннего дня.
#деньвесеннегоравноденствия

Март. Восход Солнца

continue bonked 20 Mar 2025 09:58 +0100
original: gusev@mastodon.ml

День весеннего равноденствия — это не только символ победы света над тьмой, но и важное астрономическое событие, когда день становится равен ночи. Этот день неизменен и не подвластен человеку. Никто не может перенести его или изменить, разве что в своём воображении.

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

Земля существует уже 4,5 миллиарда лет и пережила множество изменений. Человеческая деятельность не может существенно повлиять на её судьбу, но важно понимать и ценить окружающую природу.

Сегодня прекрасный день, чтобы выйти под высокое весеннее небо, где поёт жаворонок, собраться с мыслями и насладиться красотой весеннего дня.
#деньвесеннегоравноденствия

Март. Восход Солнца

contrinitiator honked 20 Mar 2025 07:06 +0100

Поздравляю с Равноденствием!
Наконец нормальный праздник в этом году.
Теперь можно и блинами полакомиться. Хотя можно было и до того, и даже после!
Птиц уже закликали, Тополя будили. Костёр сегодня не получится сделать, но что-нибудь зажжём.

#equinox #равноденствие #Ostara #комоедица

opennet honked 19 Mar 2025 22:00 +0100

Выпуск среды рабочего стола GNOME 48

После шести месяцев разработки представлен выпуск среды рабочего стола GNOME 48. Для быстрой оценки возможностей GNOME 48 предложены специализированные Live-сборки на основе openSUSE и установочной образ, подготовленный в рамках инициативы GNOME OS. GNOME 48 также уже включён в состав экспериментальных сборок Ubuntu 25.04 и Fedora 42.

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

  • Добавлена поддержка расширенного динамического диапазона яркости (HDR, High Dynamic Range) и возможность вывода HDR-контента на мониторы, поддерживающие HDR. Для включения поддержки HDR в конфигураторе в секции с настройками экрана появилась опция "High Dynamic Range".
  • В композитный сервер Mutter добавлена поддержка тройной буферизации, позволяющей добиться более плавной отрисовки изменений на экране и анимации. При тройной буферизации используется три экранных буфера - в первый осуществляется отрисовка, из второго производится вывод на экран, а третий используется для продолжения непрерывного процесса отрисовки, если первый буфер был заполнен до завершения вертикальной развёртки. Применение третьего дополнительного буфера позволяет избавиться от задержки, возникающей при двойной буферизации из-за невозможности переключения между буферами отрисовки и вывода до завершения вертикальной развёртки (vblank).
  • Новые окна теперь по умолчанию размещаются с выравниванием по центру экрана. Улучшено позиционирование окон в многомониторных конфигурациях.
  • Реализована стековая компоновка списка уведомлений, в которой уведомления сгруппированы по приложениям. Для того чтобы избежать нагромождения группы свёрнуты и для просмотра отдельных уведомлений необходимо раскрыть желаемую группу.
  • Предложен новый музыкальный проигрыватель Decibels, который отличается минималистичным интерфейсом, оптимизированным для воспроизведения отдельных звуковых файлов при попытке их открытия в других приложениях, например, в файловом менеджере или почтовом клиенте. В окне визуализируется форма звуковой волны, имеется ползунок для быстрой смены позиции, переключатель скорости воспроизведения, регулятор громкости и кнопки для быстрой перемотки на 5 и 10 секунд вперёд и назад. Код Decibels написан на языке TypeScript с использованием JavaScript-обвязок над GStreamer, Libadwaita, Gio, GObject и GTK4, и распространяется под лицензией AGPLv3.

  • В просмотрщик изображений встроены инструменты для редактирования, позволяющие кадрировать, поворачивать и зеркально отражать изображения. Изменены элементы интерфейса для изменения масштаба, добавлена кнопка для возвращения к исходному масштабу и меню для быстрого выбора типовых уровней масштабирования. Добавлена экспериментальная поддержка форматов RAW-изображений и метаданных, таких как формат XMP.
  • По умолчанию задействован новый шрифт Adwaita Sans, который пришёл на смену шрифту Cantarell, применявшемуся с 2010 года. Adwaita Sans основан на шрифте Inter, спроектированном для использования в интерфейсах пользователя и оптимизированном для достижения высокой чёткости символов малого и среднего размера (менее 12px) при отображении на экранах компьютеров. В отличие от шрифта Cantarell вокруг проекта Inter сформировалось большое сообщество, продолжающее развитие шрифта, устраняющее недостатки, реализующее новые шрифтовые возможности и тестирующее качество отображения для различных языков и типов экранов.

    Для терминалов и редакторов кода задействован моноширинный шрифт Adwaita Mono, являющийся модифицированным вариантом шрифта Iosevka, приближенным по стилю к шрифту Inter.

  • В конфигуратор добавлена новая секция "Digital Wellbeing" для выработки привычек здорового поведения при работе за компьютером. Программа позволяет проанализировать сколько времени пользователь проводит за компьютером каждый день и оценить динамику изменений за последние дни или недели. При желании можно настроить вывод уведомления или перевод экрана в черно-белый режим при превышении заданного для себя дневного лимита. Также программа может использоваться для напоминания о необходимости сделать перерыв после непрерывной работы, время которой превышает рекомендованные нормы.
  • В настройки управления питанием добавлена опция для продления жизни аккумулятора через ограничение максимального уровня заряда в 80%.
  • Обновлён интерфейс текстового редактора - панель интегрирована в заголовок окна, а все опции сосредоточены в одном меню. Предоставлен быстрый доступ к параметрам автоматического форматирования. В основное окно перемещён индикатор положения курсора.
  • В web-браузере Epiphany расширены возможности диалога для навигации по истории посещений. Сокращено число операций обновления экрана. Добавлена возможность закрытия закреплённых вкладок. Упрощён интерфейс для импорта закладок и паролей из других браузеров. Реализована цикличная прокрутка элементов в выпадающем блоке адресной строки. Улучшен механизм автозаполнения полей с паролями. В контекстное меню на странице открытия новой вкладки добавлен пункт для перезагрузки страницы. Улучшены диалоги для работы с закладками и показа информации о проблемах с конфиденциальностью (заблокированного кода для отслеживания).
  • В JavaScript-движке GJS при выполнении многих типовых операций снижена нагрузка на CPU и сокращено потребление памяти.
  • В системе индексации файлов снижено потребление памяти при обработке содержимого больших каталогов и ускорено извлечение метаданных из мультимедийных файлов.
  • Повышена стабильность и производительность конфигураций с мониторами, напрямую подключёнными к дискретной видеокарте.
  • В файловом менеджере значительно повышена производительность кода загрузки содержимого каталогов и отрисовки изменений при прокрутке. При навигации по каталогам с большим числом миниатюр производительность загрузки содержимого возросла в пять раз, а отрисовки при прокрутке - в 10 раз.
  • В библиотеке GTK ускорены операции создания и изменения размера элементов интерфейса.
  • Добавлена поддержка глобальных сочетаний клавиш - приложения могут определять общесистемные комбинации клавиш, действующие когда окно приложения не в фокусе. Для добавления общесистемных комбинаций клавиш требуется подтверждение операции пользователем.
  • Расширена поддержка специальных функциональных клавиш, таких как Copy, Paste, Cut, Undo и Redo, которые теперь могут использоваться в полях ввода. Для быстрого перехода к поиску реализована поддержка клавиши Find.
  • Улучшен интерфейс для редактирования контактов в адресной книге.
  • В конфигураторе в секции "Region and Language" обновлён диалог настройки форматов и локали. Проведена реструктуризация настроек управления энергопотреблением.
  • В экранном ридере Orca реализована корректная поддержка комбинаций клавиш в окружениях на базе Wayland.
  • Немного оптимизированы цвета в интерфейсе приложений, а кнопки и формы ввода сильнее скруглены.
  • Улучшен диалог редактирования событий в календаре-планировщике. Изменена форма планирования даты и времени. Добавлена поддержка указания часового пояса.
  • В композитный сервер Mutter добавлена возможность сборки без стека отрисовки шрифтов.
  • Добавлена поддержка порталов xdg для задания общесистемных комбинаций клавиш и доступа к USB-устройствам (требуется наличие Flatpak 1.16).
  • Развиваемый проектом дистрибутив GNOME OS переведён на использование компонента systemd-sysupdate для организации атомарного обновления системы. Замена OSTree на systemd-sysupdate позволила задействовать верифицированный процесс загрузки на системах с UEFI Secure Boot. Инструментарий systemd-sysupdate предназначен для автоматического определения, загрузки и установки обновлений с использованием атомарного механизма замены разделов, файлов или каталогов. Systemd-sysupdate позволяет использовать два независимых раздела/файла/каталога, на одном из которых находится текущий работающий ресурс, а на другом устанавливается очередное обновление, после чего разделы/файлы/каталоги меняются местами.


Источник: https://www.opennet.ru/opennews/art.shtml?num=62916

opennet honked 19 Mar 2025 19:00 +0100

Выпуск Java SE 24 и OpenJDK 24

После шести месяцев разработки компания Oracle опубликовала платформу Java SE 24 (Java Platform, Standard Edition 24), в качестве эталонной реализации которой используется открытый проект OpenJDK. За исключением удаления некоторых устаревших возможностей в Java SE 24 сохранена обратная совместимость с прошлыми выпусками платформы Java - большинство ранее написанных Java-проектов без изменений будут работоспособны при запуске под управлением новой версии. Готовые для установки сборки Java SE 24 (JDK, JRE и Server JRE) подготовлены для Linux (x86_64, AArch64), Windows (x86_64) и macOS (x86_64, AArch64). Разработанная в рамках проекта OpenJDK эталонная реализация Java SE 24 полностью открыта под лицензией GPLv2 с исключениями GNU ClassPath, разрешающими динамическое связывание с коммерческими продуктами.

Java SE 24 отнесён к категории выпусков с обычным сроком поддержки, обновления для которого будут выпускаться до следующего релиза. В качестве ветки с длительным сроком поддержки (LTS) следует использовать Java SE 21 или Java SE 17, обновления для которых будут выпускаться до 2031 и 2029 годов соответственно (общедоступные - до 2028 и 2026 годов). Расширенная поддержка LTS-ветки Java SE 8 продлится до 2030 года, а Java SE 11 - до 2032 года. Следующим LTS-релизом станет осенний выпуск Java SE 25.

Среди предложенных в Java SE 24 новшеств:

  • Предложен экспериментальный генеративный режим работы сборщика мусора Shenandoah, при котором раздельно обрабатываются старые и недавно созданные объекты для повышения эффективности очистки объектов с небольшим временем жизни. Новый режим обеспечивает более предсказуемую пропускную способность, устойчивость к изменению нагрузки и снижение потребления памяти при сборке мусора. Планировщик Shenandoah нацелен на сокращение времени остановок во время сборки мусора за счёт проведения большего объёма работ параллельно с выполнением Java-приложений.
  • В HotSpot JVM реализована экспериментальная поддержка компактных заголовков объектов, размер которых на 64-разрядных системах уменьшен с 96 до 64 бит (с 12 до 8 байт). Уменьшение размера заголовков позволяет сократить размер кучи и повысить эффективность работы кэша.
  • В сборщике мусора G1 упрощена реализация барьеров, отслеживающих доступ приложения к памяти. В новой версии операции расширения барьеров перенесены на более поздний этап компиляции в C2 JIT. Проведённые тесты показывают, что подобный перенос позволяет снизить накладные расходы в JIT-компиляторе C2 на 10-20% в зависимости от приложения.
  • Добавлен API для использования криптографических функций формирования ключа (KDF, key derivation function), позволяющих сформировать дополнительные ключи необходимой длины на основе секретного ключа (например, пароля) и произвольного набора данных. KDF API пока имеет статус предварительного (preview).
  • Добавлена возможность упреждающей (Ahead-of-Time) загрузки и компоновки классов. Изменение позволяет ускорить запуск HotSpot JVM за счёт предоставления используемых в приложении классов в уже загруженном и скомпонованном состоянии. Во время первого запуска приложения состояние всех классов сбрасывается в кэш и при последующих запусках используется для ускорения загрузки.
  • Добавлен API Class-File для разбора, генерации и преобразования файлов с классами Java.

       ClassFile cf = ClassFile.of();
       ClassModel classModel = cf.parse(bytes);
       byte[] newBytes = cf.build(classModel.thisClass().asSymbol(),
            classBuilder -> {
                for (ClassElement ce : classModel) {
                    if (!(ce instanceof MethodModel mm
                            && mm.methodName().stringValue().startsWith("debug"))) {
                        classBuilder.with(ce);
                    }
                }
            });
    
    
  • Добавлен расширенный API Stream, поддерживающий определение собственных промежуточных операций, которые могут оказаться полезны в случаях, когда существующих встроенных промежуточных операций недостаточно для желаемого преобразования данных. Собственные обработчики подключаются при помощи новой промежуточной операции Stream::gather(Gatherer), которая обрабатывает элементы потока, применяя к ним заданный пользователем обработчик.
       jshell› Stream.of(1,2,3,4,5,6,7,8,9).gather(new WindowFixed(3)).toList()
       $1 ==› [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
    
  • Предложена четвёртая предварительная реализация ограниченных значений (Scoped Values), позволяющих совместно использовать неизменяемые данные в потоках и эффективно обмениваться данными между дочерними потоками (значения наследуются). Scoped Values развиваются для замены механизма переменных локальных к потоку (thread-local variables) и более эффективны при использовании очень большого числа виртуальных потоков (тысячи и миллионы потоков). Главное отличие Scoped Values от переменных локальных к потоку в том, что первые записываются один раз, в дальнейшем не могут быть изменены и остаются доступны только на время выполнения потока.
  • В механизмы сопоставления с образцом добавлена предварительная поддержка использования примитивных типов (int, byte, char и другие базовые типы, не являющиеся объектами) во всех видах шаблонов, в операторе "instanceof" и в блоках "switch".
       switch (x.getStatus()) {
           case 0 -› "okay";
           case 1 -› "warning";
           case 2 -› "error";
           case int i -› "unknown status: " + i;
       }
       if (i instanceof byte b) {
        ... b ...
       }
    
  • Предложена девятая предварительная реализация API Vector, предоставляющего функции для векторных вычислений, которые выполняются с использованием векторных инструкций процессоров x86_64 и AArch64 и позволяют одновременно применить операции сразу к нескольким значениям (SIMD). В отличие от предоставляемых в JIT-компиляторе HotSpot возможностей по автовекторизации скалярных операций, новый API даёт возможность явно управлять векторизацией для параллельной обработки данных.
  • Реализована поддержка синхронизации виртуальных потоков без их прикрепления (pinning) к потокам, связанным с платформой. Виртуальные потоки в синхронизированном методе или выражении в состоянии блокировки теперь освобождают свой платформенный поток, позволяя другим виртуальным потокам использовать его, что значительно увеличивает количество доступных виртуальных потоков и улучшает масштабируемость приложений, использующих многопоточность.
  • Добавлен третий предварительный вариант возможности, разрешающей указание в конструкторах выражений перед вызовом super(...), используемого для явного вызова конструктора родительского класса из конструктора наследуемого класса, если эти выражения не ссылаются на создаваемый конструктором экземпляр.
       class Outer {
           void hello() {
               System.out.println("Hello");
           }
           class Inner {
               Inner() {
                   hello();
                   super();
               }
           }
       }
    
  • В утилите jlink реализована поддержка создания образов run-time без использования файлов JMOD, что позволяет примерно на 25% сократить размер JDK.
  • Добавлен второй предварительный вариант использования одного выражения "import module M" для импорта сразу всех пакетов, экспортируемых указанным модулем. Изменение существенно упрощает повторное использование модульных библиотек, позволяя подключать библиотеки и классы без определения их места в иерархии пакетов. Например, указание "import module java.base" приведёт к импорту всех 54 пакетов, входящих в модуль java.base, которые ранее потребовалось бы упоминать по-отдельности ("import java.io.*", "import java.util.*" и т.п.).
  • Добавлена четвёртая предварительная реализация неявно объявленных классов и безымянных экземпляров метода "main", в которых можно обойтись без объявлений public/static, передачи массива аргументов и прочих сущностей, связанных с объявлением класса.
       // было
       public class HelloWorld {
         public static void main(String[] args) {
           System.out.println("Hello world!");
         }
       }
    
       // теперь можно
       void main() {
           System.out.println("Hello, World!");
       }
    
  • Предложен для тестирования четвёртый предварительный вариант API для cтруктурированного параллелизма (Structured Concurrency), упрощающего разработку многопоточных приложений за счёт обработки нескольких задач, выполняемых в разных потоках, как единого блока.
  • В API KeyPairGenerator, Signature и KeyFactory добавлена поддержка алгоритмов ML-KEM (CRYSTALS-Kyber) и ML-DSA (CRYSTALS-Dilithium), стандартизированных Национальным институтом стандартов и технологий США (NIST) и стойких к подбору на квантовом компьютере. Данные алгоритмы используют методы криптографии, основанные на решении задач теории решёток, время решения которых не отличается на обычных и квантовых компьютерах.
  • В сборщике мусора ZGC удалена поддержка не генеративного режима работы, не разделяющего обработку "старых" и "молодых" объектов. Начиная с Java SE 23 генеративный режим ZGC применяется по умолчанию.
  • Добавлен вывод предупреждений об использовании API JNI (Java Native Interface) и FFM (Foreign Function & Memory) с целью подготовки разработчиков к ограничению доступа к данным API из-за включения в одном из будущих выпусков режима обеспечения целостности, по умолчанию запрещающего взаимодействие с нативным кодом.
  • Включён вывод предупреждения при использовании методов доступа к внешней памяти (вне JVM), предоставляемых классом sun.misc.Unsafe. Для обращения к памяти вне кучи (off-heap) и взаимодействия с внешними кодом рекомендуется использовать API VarHandle. В прошлом выпуске поддержка sun.misc.Unsafe была объявлена устаревшей.
  • Отключён Security Manager, который давно потерял актуальность и оказался невостребованным после прекращения поддержки браузерного плагина. Security Manager был переведён в разряд устаревших в Java 17. В одном из следующих выпусков планируется полностью удалить код Security Manager.
  • Удалён код для поддержки 32-разрядной платформы ОС Windows на системах x86. Объявлен устаревшим и запланирован к удалению порт Java для 32-разрядных систем x86 (будет прекращена поддержка Linux на 32-разрядных системах x86).

Дополнительно можно отметить публикацию обновления платформы для создания приложений с графическим интерфейсом JavaFX 24 и новый выпуск универсальной виртуальной машины GraalVM, поддерживающей запуск приложений на JavaScript (Node.js), Python, Ruby, R, любых языках для JVM (Java, Scala, Clojure, Kotlin) и языках, для которых может формироваться биткод LLVM (C, C++, Rust). Кроме поддержки JDK 24 в новой версии GraalVM проведены оптимизации для задач, связанных с машинным обучением, улучшена поддержка компиляции Java-байткода в машинный код, добавлен механизм SkipFlow для сокращения размера исполняемых файлов и уменьшения времени компиляции.

Источник: https://www.opennet.ru/opennews/art.shtml?num=62914

opennet honked 19 Mar 2025 14:00 +0100

Представлены две модели умных часов на открытой платформе PebbleOS

Эрик Мигиковски (Eric Migicovsky), основатель компании Pebble Technology, представил две новые модели умных часов, которые будут выпускаться на базе открытой платформы PebbleOS. Новые модели полностью совместимы с приложениями и темами оформления, разработанными для старых часов Pebble. Устройства являются усовершенствованными вариантами ранее выпускаемых часов Pebble 2 и Pebble Time 2, и отличаются увеличением автономной работы с 7 до 30 дней, громкоговорителем, иным вибросигналом, улучшенными кнопками, датчиками давления и магнитного поля.

Прошлые модели часов Pebble выпускались с 2013 по 2016 год и пользовались популярностью благодаря длительной автономной работе из-за экрана не базе электронной бумаги и возможности установки на часы дополнительных программ из каталога, насчитывающего более 10 тысяч приложений. В 2016 году производство и разработка часов Pebble были свёрнуты после поглощения компанией Fitbit. В 2021 году компания Fitbit была куплена корпорацией Google, которая в январе 2025 года открыла код операционной системы PebbleOS под лицензией Apache 2.0 в рамках инициативы по поддержке энтузиастов, заинтересованных в продолжении развития платформы.

Основатель Pebble воспользовался публикацией PebbleOS для возрождении проекта и разработал две новые модели часов - "Core 2 Duo" и "Core Time 2". Между собой новые модели отличаются использованием 1.26-дюймового черно-белого (144x168) и 1.5-дюймового цветного сенсорного (200x228) экрана на базе электронной бумаги, а также пластиковым и металлическим корпусом. В остальном параметры часов близки. Модель Core Time 2 доступна для предзаказа по цене $149, а Core Time 2 - $225. Производство первой модели начнётся в июле, а второй в декабре.

У часов Core 2 Duo 1.26-дюймовый черно-белый экран и корпус идентичен ранее выпускаемой модели Pebble 2. Устройство тоже доступно в черном и белом исполнении, защищено от попадания влаги (IPX8), имеет встроенный микрофон, функции отслеживания продолжительности сна и шагомер. Отличия от Pebble 2 сводятся к автономной работе в течение 30 суток, задействованием Bluetooth LE чипа Nordic nRF52840, наличием громкоговорителя, барометра, компаса, линейного резонансного привода (тише и мощнее вибромотора) и более надёжными 4 кнопками.

Модель Core Time 2 оснащена 64-цветным 1.5-дюймовым экраном на базе электронной бумаги, превышающим экран модели Pebble Time 2, выполненный по той же технологии, на 53% по размеру и на 88% по числу пикселей. Экран сенсорный и накрыт плоской стеклянной линзой, которая в отличие от изогнутой линзы часов Pebble Time 2 вносит меньше искажений и бликов. Корпус и 4 кнопки выполнены из металла. Обеспечен уровень защиты от попадания влаги IPX8. Время автономной работы заявлено в 30 дней. Помимо функций отслеживания продолжительности сна и шагомера, часы укомплектованы пульсометром. Имеется микрофон и громкоговоритель.

Новые модели созданы в соответствии со следующими принципами:

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

Прошивки для устройств построены на открытом коде платформы PebbleOS и поддерживают все основные возможности старых часов Pebble, такие как вывод уведомлений и сообщений со смартфона (например, уведомления о входящих звонках и событиях календаря-планировщика, информация о новых SMS, email и сообщениях из популярных мессенджеров), списки действий, смена тем оформления экрана, будильник, таймер, календарь, управление воспроизведением музыки, функции фитнес-трекера, расширение функциональности через установку приложений из каталога apps.rebble.io. Для Android и iOS будут опубликованы новые сопутствующие приложения для взаимодействия смартфона с умными часами.

Источник: https://www.opennet.ru/opennews/art.shtml?num=62913

opennet honked 19 Mar 2025 12:00 +0100

Производительность Ubuntu-пакета jq удалось увеличить в 1.9 раза путём пересборки

Опубликованы результаты оценки влияния на производительность пересборки пакетов для Ubuntu с различными опциями и реализациями функций выделения памяти. Экспериментатору удалось на 90% (в 1.9 раза) повысить производительность пакета jq с инструментарием для обработки данных в формате JSON, путём обычной пересборки из того же пакета с исходным кодом, без внесения изменений в сам код. Производительность оценивалась через измерение времени выполнения типового фильтрующего запроса над данными GeoJSON, размером 500МБ.

Итоги эксперимента:

  • Вариант, собранный в GCC из тех же исходных текстов с флагами по умолчанию оказался быстрее бинарного пакета Ubuntu на 2-4%.
  • Пересборка в Clang 18 с уровнем оптимизации"-O3", включением оптимизации на этапе связывания ("-flto") и отключением отладочной информации ("-DNDEBUG") привела к ускорению на 20%.
  • Пересборка с системой распределения памяти TCMalloc (добавление "-L/usr/lib/x86_64-linux-gnu -ltcmalloc_minimal" в LDFLAGS) привела к ускорению на 40%.
  • Замена функций malloc на системы распределения памяти tcmalloc, jemalloc и mimalloc через "LD_PRELOAD=/usr/lib/x86_64-linux-gnu/lib....so" привела к увеличению производительности на 27%, 29% и 44%. При запуске с mimalloc, показавшем ускорение на 44%, выставлялась переменная окружения "MIMALLOC_LARGE_OS_PAGES=1".
  • Пересборка пакета с mimalloc в LDFLAGS вместо связывания через LD_PRELOAD привела к ускорению прохождения теста на 90%. Другой тест по обработке 2.2GB JSON-данных в 13000 файлах также показал прирост производительности примерно в два раза.


Источник: https://www.opennet.ru/opennews/art.shtml?num=62912

continue bonked 19 Mar 2025 10:15 +0100
original: h3artbl33d@exquisite.tube

[2023] How OpenBSD’s malloc helps the developer - Otto Moerbeek

[2023] How OpenBSD’s malloc helps the developer - Otto Moerbeek

Otto Moerbeek: How OpenBSD's malloc helps the developer It has been 15 years since my malloc implementation was imported into OpenBSD. It features randomization, keeping meta-data strictly separate from user data and detecting various forms of API misuse like use-after-free and writes inside the allocation but outside the requested size. These features not only improve security but also help the developer to find bugs. We will discuss the malloc features that help the developer doing proper memory management, concentrating on memory leak detection. While available for some time, the leak detection code was not compiled in by default and cumbersome to use. Recently it was reworked to make it easier to use and it is now available by default. Otto Moerbeek has been a OpenBSD developer for 20 years. His contributions to OpenBSD include major work on utilities like patch(1) and diff(1), new versions of dc(1) and bc(1), privilege separated tcpdump(8), work on ntpd(8) and kernel time code, unwind(8), large partition and ffs2 support, a complete rewrite of malloc(3) and work on the OpenBSD/loongson port. Otto Moerbeek:

(#*bsd #development #openbsd)

External Attachment: https://exquisite.tube/w/4kzn4wYpbi6zxXrEX82Zrq

External Attachment: https://exquisite.tube/static/streaming-playlists/hls/1b071bbd-abb1-4e6f-ac26-08cbd778dabe/ba5ecdf2-f847-4405-ad88-50984a96ed58-master.m3u8

External Attachment: tracker-http

External Attachment: tracker-websocket

continue bonked 19 Mar 2025 10:04 +0100
original: sn4il@blog.sn4il.site

https://t.me/RepkaPitalk/40643

В проекте Repka Pi стали доступными и открытыми репозитории с исходными кодами загрузчика U-Boot (с DeviceTree) и ядра Linux (также с DT) на GitFlic — это российском аналоге GitHub.

Репозитории пока опубликованы для Repka Pi 4, скоро ожидается и для Repka Pi 3.

Repka Pi является российской альтернативой и аналогом одноплатников Raspberry Pi, выполнен в идентичном форм-факторе, включая размеры, расположение портов, крепления, распиновку 40 pin разъема. При этом Repka Pi оснащается более производительной оперативной памятью DDR, а не LP DDR, как у аналогов, что позволяет получать производительность на 15-20% выше, чем у аналогичных моделей (Raspberry Pi и других).

Repka Pi — одноплатные компьютеры отечественной разработки, со 100% локализацией производства с использованием комплектующих материковой части КНР. Применяя Repka Pi вы получаете прямые поставки без посредников из России, гарантийные обязательства, возможности сервиса, замены и ремонта, возможности адаптации под свои задачи и получения необходимых консультаций.


Загрузчик U-Boot (с DT)
https://gitflic.ru/project/npo_rbs/repka-os_boot-loader
Ядро Linux (так же с DT)
https://gitflic.ru/project/npo_rbs/repka-os_kernel
пока для Repka Pi 4, скоро будет для Repka Pi 3.


#РепкаОС #ОС #RepkaOS #OS

opennet honked 19 Mar 2025 10:00 +0100

Проект SDL3Lite развивает версию библиотеки SDL3 с поддержкой старых систем

Проект SDL3Lite нацелен на воссоздание библиотеки SDL3 с поддержкой старых архитектур и операционных систем, при сохранении совместимости с SDL3 на уровне C API. С ограниченной функциональностью SDL3Lite уже поддерживает работу в Linux, начиная с Debian 3, и Windows, начиная с Windows 95. Из системных требований для работы графического API заявлена поддержка OpenGL 1.0, а 2D-отрисовки - OpenGL 1.2. В будущем автор планирует добавить поддержку Windows 3.1 и MS-DOS. Код написан на С++ и распространяется под лицензией BSL (Boost Software License).

Источник: https://www.opennet.ru/opennews/art.shtml?num=62909

opennet honked 19 Mar 2025 10:00 +0100

Выпуск платформы OpenSilver 3.2, продолжающей развитие технологии Silverlight

Представлен выпуск проекта OpenSilver 3.2, продолжающего развитие платформы Silverlight и позволяющего создавать интерактивные web-приложения при помощи технологий C#, F#, XAML и .NET. Скомпилированные при помощи OpenSilver приложения Silverlight могут работать в любых настольных и мобильных браузерах с поддержкой WebAssembly. Для разработки могут использоваться среда Visual Studio и редактор кода VS Code, поддерживающий работу в Windows, macOS и Linux. Код проекта написан на языке C# и распространяется под лицензией MIT.

Изначально проект OpenSilver был нацелен на предоставление инструментария для продления жизни существующих Silverlight-приложений, после прекращения разработки и сопровождения платформы Silverlight компанией Microsoft в 2021 году, а также прекращения поддержки связанных с ней плагинов в браузерах. В OpenSilver поддерживаются все основные возможности движка Silverlight, включая полную поддержку языков C# и XAML, а также реализацию большей части API платформы, достаточную для использования таких C#-библиотек, как Telerik UI, WCF RIA Services, PRISM и MEF.

В текущем виде OpenSilver вышел за рамки прослойки для продления жизни Silverlight и может рассматриваться как самостоятельная платформа для создания новых приложений. Например, проектом развивается среда разработки, обеспечивается поддержка новых версий языка C# и платформы .NET, предоставляется совместимость с библиотеками на языке JavaScript.

В качестве основы OpenSilver задействован код открытых проектов Mono (mono-wasm) и Microsoft Blazor (часть ASP.NET Core), а для выполнения в браузере применяется компиляция приложений в промежуточный код WebAssembly. OpenSilver продолжает развитие проекта CSHTML5, позволяющего компилировать приложения C#/XAML/.NET в представление на языке JavaScript, пригодное для запуска в браузере, и расширяет его кодовую базу возможностями для компиляции C#/XAML/.NET в WebAssembly, а не в JavaScript.

В новой версии:

  • Добавлена поддержка развёртывания приложений на базе фреймворка "WPF" (Windows Presentation Foundation) для iOS, Android, Windows, macOS, Linux и Web-браузеров, используя одну общую кодовую базу на XAML/C#. Поддержка мобильных платформ реализована через интеграцию инструментария .NET MAUI Hybrid, позволяющего использовать WebView для отображения интерфейса при компиляции бизнес-логики в нативный код. Для доступа к API мобильных платформ можно использовать фреймворк MAUI.
  • Улучшена совместимость с фреймворком "WPF" (Windows Presentation Foundation): добавлена поддержка RTL-начертания текста (right-to-left), передачи событий вверх по иерархии элементов, расширенной анимации, API VirtualizingStackPanel и плавной прокрутки на сенсорных экранах.
  • Предоставлены средства для миграции существующих кодовых баз и их адаптации к возможностям WPF, специфичным для OpenSilver.
  • Улучшена интеграция со средой разработки Visual Studio и редактором кода VS Code. Дополнения c поддержкой OpenSilver размещены в штатных каталогах дополнений Visual Studio и VS Code.
  • Добавлено новое приложение ToDoCalendar с примером реализации календаря-планировщика, компилируемого для разных типов устройств. Демнострационное приложение Showcase расширено возможностями для интеграции с мобильными платформами, позволяющими обращаться к API для управления датчиками, ориентацией, вибромотором и уведомлениями, а также для определения местоположения и доступа к файлами.


Источник: https://www.opennet.ru/opennews/art.shtml?num=62911

continue honked back 19 Mar 2025 09:58 +0100
in reply to: https://honk.any-key.press/u/opennet/h/sdrV97cv7x3VMQV1KJ

Устранена проблема , из-за которой запрос master-пароля выводился в ситуациях, когда он не требуется.

У меня при старте пустого FF выводился, я уже волноваться начал.

continue bonked 19 Mar 2025 09:55 +0100
original: opennet@honk.any-key.press

Обновление Firefox 136.0.2. Новые требования Mozilla к удостоверяющим центрам

Доступен корректирующий выпуск Firefox 136.0.2, в котором устранено несколько проблем:
  • Исправлена ошибка, приводившая к включению опций для удаления Cookie, данных сайтов и содержимого кэша страниц после обновления до версии Firefox 136, если до этого в настройках были включены опции очистки истории навигации или настроек сайтов во время завершения работы.
  • Устранена проблема, из-за которой запрос master-пароля выводился в ситуациях, когда он не требуется.
  • Решены проблемы с отображением переключателей в web-формах на страницах с тёмным фоном.
  • Решена специфичная для Windows проблема, приводившая к большой нагрузке на CPU во время блокировки экрана или закрытии крышки ноутбука.

Дополнительно можно отметить публикацию третьей версии правили хранилища корневых сертификатов Mozilla (MRSP - Mozilla Root Store Policy). Изменения вступили в силу 15 марта и нацелены на решение проблем с задержкой отзыва сертификатов удостоверяющими центрами. Добавлены новые требования для обеспечения оперативного отзыва сертификатов, убрана возможность получения отсрочки отзыва сертификатов в отдельных ситуациях и расширены условия отслеживания жизненного цикла закрытых ключей. Кроме того, добавлен пункт, запрещающий создание корневых сертификатов двойного назначения, применяемых как для сайтов, так и для почты (для TLS и S/MIME теперь должны создаваться отдельные корневые сертификаты).

Источник: https://www.opennet.ru/opennews/art.shtml?num=62906

opennet honked 19 Mar 2025 09:00 +0100

Выпуск дистрибутива elementary OS 8.0.1

Опубликован выпуск дистрибутива elementary OS 8.0.1, позиционируемого в качестве быстрой, открытой и заботящейся о конфиденциальности альтернативы Windows и macOS. Основное внимание в проекте уделяется качественному дизайну, нацеленному на создание простой в использовании системы, потребляющей минимальные ресурсы и обеспечивающей высокую скорость запуска. Пользователям предлагается собственное окружение рабочего стола Pantheon. Для загрузки подготовлены загрузочные iso-образы (3.3 ГБ), доступные для архитектуры amd64 (для бесплатной загрузки с сайта проекта в поле с суммой пожертвования необходимо ввести 0).

При разработке оригинальных компонентов elementary OS используется GTK3, язык Vala и собственный фреймворк Granite. В качестве основы дистрибутива используются наработки проекта Ubuntu. На уровне пакетов и поддержки репозиториев elementary OS 8.x совместим с Ubuntu 24.04. Все дополнительные приложения, предлагаемые для установки через AppCenter, а также некоторые поставляемые по умолчанию приложения упакованы с использованием формата Flatpak. Графическое окружение основано на собственной оболочке Pantheon, которая объединяет собой такие компоненты, как оконный менеджер Gala (на базе LibMutter), лаунчер Slingshot, панель управления Switchboard, верхнюю панель Wing, панель задач Dock и менеджер сессий Pantheon Greeter (на основе LightDM).

В состав окружения входит набор тесно интегрированных в единое окружение приложений, необходимых для решения задач пользователей. Среди приложений большую часть составляют собственные разработки проекта, такие как эмулятор терминала Pantheon Terminal, файловый менеджер Pantheon Files, текстовый редактор Code и музыкальный проигрыватель Music (Noise). Проектом также развиваются менеджер фотографий Pantheon Photos (ответвление от Shotwell) и почтовый клиент Mail (ответвление от Evolution).

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

  • В центре установки приложений (AppCenter) улучшена поддержка тёмного режима оформления - задействованы общие для всего дистрибутива тёмные цвета и реализовано отображение скриншотов с тёмной темой оформления. При поставке нескольких скриншотов приоритет отдаётся тем, что созданы для среды рабочего стола Pantheon.
  • Улучшено окно для вывода примечаний к релизу.
  • В файловом менеджере решены проблемы с вводом файлового пути в режиме поиска, прокруткой после удаления файлов и пропаданием файлов при перетаскивании на непримонтированный накопитель. Добавлена поддержка URI admin:// для открытия файловых путей с правами администратора.
  • В конфигуратор добавлена возможность настройки уведомлений (System Settings → Notications).
  • В интерфейсе управления установленными приложениями (Applications) добавлена опция для запрета вывода уведомлений.
  • На страницу с настройками сети добавлены опции для управления автоматическим подключением и допустимостью запуска фоновых задач, потребляющих трафик, таких как загрузка обновлений.
  • Отключена автоматическая загрузка обновлений при подключении к сетям с тарификацией по трафику. При наличии обновлений в подобных сетях теперь выводится уведомление. Добавлена информация о размере обновления и реализован индикатор прогресса загрузки. Отключена проверка обновлений в демонстрационных сеансах.
  • В инсталляторе переделан и сведён в одну страницу интерфейс настройки шифрования дисковых разделов.
  • В панели улучшена поддержка работы на экранах с высокой плотностью пикселей (HiDPI). В контекстное меню, показываемое в меню приложений, добавлен пункт "Keep in Dock" для закрепления в панели приложений. В меню Power показана модель устройства. Добавлена страница со списком других активных сеансов и возможностью переключаться между ними.
  • В панели приложений увеличены отступы между ярлыками и индикаторами запуска. Добавлен непрозрачный стиль панели.
  • Повышена скорость поиска.
  • Пакеты с ядром Linux обновлены до версии 6.11 (перенесены из Ubuntu 24.04.2 LTS).


Источник: https://www.opennet.ru/opennews/art.shtml?num=62908

opennet honked 19 Mar 2025 07:00 +0100

Обновление Firefox 136.0.2. Новые требования Mozilla к удостоверяющим центрам

Доступен корректирующий выпуск Firefox 136.0.2, в котором устранено несколько проблем:
  • Исправлена ошибка, приводившая к включению опций для удаления Cookie, данных сайтов и содержимого кэша страниц после обновления до версии Firefox 136, если до этого в настройках были включены опции очистки истории навигации или настроек сайтов во время завершения работы.
  • Устранена проблема, из-за которой запрос master-пароля выводился в ситуациях, когда он не требуется.
  • Решены проблемы с отображением переключателей в web-формах на страницах с тёмным фоном.
  • Решена специфичная для Windows проблема, приводившая к большой нагрузке на CPU во время блокировки экрана или закрытии крышки ноутбука.

Дополнительно можно отметить публикацию третьей версии правили хранилища корневых сертификатов Mozilla (MRSP - Mozilla Root Store Policy). Изменения вступили в силу 15 марта и нацелены на решение проблем с задержкой отзыва сертификатов удостоверяющими центрами. Добавлены новые требования для обеспечения оперативного отзыва сертификатов, убрана возможность получения отсрочки отзыва сертификатов в отдельных ситуациях и расширены условия отслеживания жизненного цикла закрытых ключей. Кроме того, добавлен пункт, запрещающий создание корневых сертификатов двойного назначения, применяемых как для сайтов, так и для почты (для TLS и S/MIME теперь должны создаваться отдельные корневые сертификаты).

Источник: https://www.opennet.ru/opennews/art.shtml?num=62906

opennet honked 19 Mar 2025 07:00 +0100

Новая стабильная версия браузера Vivaldi 7.2

Состоялся релиз проприетарного браузера Vivaldi 7.2, разрабатываемого на базе движка Chromium бывшими разработчиками движка Opera Presto. Сборки Vivaldi подготовлены для Linux, Windows и macOS. Изменения, вносимые в кодовую базу Chromium, проект распространяет под открытой лицензией. Интерфейс браузера написан на языке JavaScript с использованием библиотеки React, платформы Node.js, Browserify и различных готовых NPM-модулей. Реализация интерфейса доступна в исходных текстах, но под проприетарной лицензией.

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

В новой версии отмечены следующие улучшения:

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


Источник: https://www.opennet.ru/opennews/art.shtml?num=62904