| · | 16.07 |
Microsoft открыл код IRC-клиента ComicChat (1) |
| |
Компания Microsoft открыла исходный код IRC-клиента ComicChat, диалоги в котором отисовываются в форме комиксов, генерируемых на основе персонажей, выбранных участниками и отражающими их эмоции. ComicChat использует штатный протокол IRC, может подключаться к обычным IRC-серверам и совместим с текстовыми IRC-клиентами. Код написан на C++ и открыт под лицензией MIT.
Для формирования сюжета кадров используется экспертная система, которая при генерации картинки учитывает содержимое сообщений и контекст, на основе которых определяется расположение, позы, жесты и мимика персонажей, а также число участников, масштаб, ракурс и компоновка кадров. Персонажи для участников, использующих текстовые IRC-клиенты, выбираются автоматически.
Проект развивался как эксперимент с новыми способами визуализации общения в сети. В 1996 году первая версия ComicChat была добавлена в поставку Internet Explorer 3.0 и могла использоваться как отдельное приложение или внутри браузера. В 1998 году ComicChat был включён в поставку Windows 98. В 2000 году разработка проекта была прекращена, после того как на смену IRC пришли мессенджеры. ComicChat стал первой программой, в которой использовался шрифт Comic Sans, подходящий для пузырей с текстом на комиксах.
Опубликованная в 2026 году версия адаптирована для сборки современными компиляторами и расширена для совместимости с современными IRC-серверами и клиентами. В новой версии также добавлена поддержка TLS-шифрования и реализовано масштабирование интерфейса для экранов с высокой плотностью пикселей.
- Главная ссылка к новости
- OpenNews: Microsoft открыл исходные тексты PowerShell и портировал для Linux
- OpenNews: Microsoft открыл код Windows Subsystem for Linux и текстового редактора Edit
- OpenNews: Microsoft представил Coreutils для Windows, эмулятор терминала Intelligent Terminal и контейнеры в WSL
- OpenNews: Microsoft открыл код игр Zork I, II и III под лицензией MIT
- OpenNews: Microsoft открыл код 86-DOS и PC-DOS под лицензией MIT
|
|
|
| |
|
|
| · | 16.07 |
Доступен язык программирования Perl 5.44 (79 +12) |
| |
После года разработки опубликован релиз новой стабильной ветки языка программирования Perl - 5.44. При подготовке нового выпуска было изменено около 270 тысяч строк кода (без документации и автоматически сгенерированного кода - 110 тысяч), изменения затронули 860 файлов, в разработке принял участие 71 разработчик.
Ветка 5.44 выпущена в соответствии с утверждённым тринадцать лет назад фиксированным графиком разработки, подразумевающим выпуск новых стабильных веток раз в год и корректирующих релизов - раз в три месяца. Примерно через месяц планируется выпустить первый корректирующий релиз Perl 5.44.1, в котором будут исправлены наиболее значительные ошибки, выявленные в процессе внедрения Perl 5.44.0. Одновременно с выходом Perl 5.44 прекращена поддержка ветки 5.40, для которой обновления могут быть выпущены в будущем только в случае выявления критических проблем с безопасностью. Начался процесс разработки экспериментальной ветки 5.45, на базе которой в первой половине 2027 года будет сформирован стабильный релиз Perl 5.46, если не будет принято решение перейти к нумерации 7.x.
Ключевые изменения:
- Добавлена экспериментальная возможность использования именованных параметров в сигнатурах функций, определяющих перечень передаваемых в функцию переменных не в теле функции, а при её объявлении. Новая возможность позволяет передавать параметры не в строгом порядке следования, а в произвольном порядке с использованием пар ключ/значения и синтаксиса как при назначении элементов в хэшах:
Старый синтаксис:
sub f { my ($x, $y) = @_; ...}
f(1, 2);
Сигнатуры:
sub f ($x, $y) { ... }
f(1, 2);
Сигнатуры с именованными параметрами:
sub f (:$x, :$y) { ... }
f(y => 2, x => 1);
- Добавлена экспериментальная возможность использования алиасов (указателей на указатели) в циклах foreach с несколькими переменными. Реализованная возможность позволяет создавать алиас в цикле foreach при единовременном извлечением сразу нескольких значений в одной итерации цикла. Например, можно сформировать алиас для элемента хэша c массивом при переборе разом ключей и значений хэша:
use v5.44;
use feature qw( refaliasing declared_refs );
my %hash = (
one => [1],
two => [2, 2],
);
foreach my ( $key, \@items ) ( %hash ) {
say "The $key array contains: @items";
}
# До версии 5.44 потребовалось бы выполнять разыменование:
foreach my ( $key, $var ) ( %hash ) {
say "The $key array contains: @$var";
}
# Без экспериментальных возможностей refaliasing и declared_refs:
foreach my $key (keys %hash) {
say "The $key array contains: @{$hash{$key}}";
}
- В регулярных выражениях реализован экспериментальный режим 'enhanced_xx', позволяющий использовать модификатор "/xx" с классами символов в квадратных скобках ([a-zA-Z]) для их разделения на несколько строк или подстановки комментариев. Например, условие "if ($text =~ m/[a-zA-Z]/){" можно оформить так:
if ($text =~ m/[
a-z # строчные буквы
A-Z # заглавные буквы
]/xx) {
- В генераторе псевдослучайных чисел для получения энтропии задействован системный вызов getentropy() на системах с его поддержкой (Linux, BSD, macOS). На остальных системах для получения энтропии осуществляется чтение из устройства
/dev/urandom или использование хэша от времени, идентификатора процесса и значения указателя.
- Добавлена поддержка спецификации Unicode 17.0.
- Обеспечено строгое соблюдение правил Unicode для имён идентификаторов и групп регулярных выражений, в которых теперь запрещено использовать около 160 Unicode-символов, ранее подпадавших под класс "\w". Например, из действия класса "\w", охватывающего все буквы, цифры и символ подчеркивания, выведены латинские буквы в кружках, которые напоминают реальные буквы, но ими не являются.
Изменение поведения затрагивает только программы, использующие режим "use utf8".
- Устранены уязвимости, вызванные переполнениями буфера в функциях Perl_study_chunk (CVE-2026-8376, проявляется в 32-разрядных сборках) и S_measure_struct (CVE-2026-57432), а также переполнение 16-разрядного счётчика в Regex-движке (CVE-2026-13221), что может привести к неверному срабатыванию регулярного выражения.
- Запрещён переход при помощи оператора goto на позиции внутри циклов и блочных конструкций. Данная возможность была объявлена устаревшей в 2010 году.
- Проведены оптимизации производительности, ускорившие операции сложения, вычитания и умножения целых чисел, обработку сигнатур функций и заполнение хэшей из списков в формате ключ/значение с известными на этапе компиляции строковыми ключами.
- Главная ссылка к новости
- OpenNews: Доступен язык программирования Perl 5.42
- OpenNews: Язык Perl поднялся с 27 на 10 место в рейтинге Tiobe
- OpenNews: Переполнение буфера в Perl, связанное с обработкой символов
- OpenNews: Релиз компилятора Rakudo 2023.04 для языка программирования Raku (бывший Perl 6)
- OpenNews: Доступен язык программирования Perl 5.40.0
|
|
|
| |
|
|
| · | 16.07 |
В OpenBSD устранена локальная уязвимость, позволяющая получить права root (50 +6) |
| |
Проект OpenBSD опубликовал исправление уязвимости (CVE-2026-57589) в ядре, затрагивающей реализацию системных вызовов для работы с семафорами System V (sem). Проблема вызвана обращением к уже освобождённой памяти в функции sys_semget() и может эксплуатироваться для получения прав root непривилегированным локальным пользователем в конфигурации по умолчанию.
В кодовую базу OpenBSD-current исправление было включено 23 мая, но для уже выпущенных релизов патчи опубликованы только сегодня. Ошибка присутствовала в коде 23 года и была выявлена в рамках инициативы Patch the Planet по проверке открытых проектов AI-моделями OpenAI.
Помимо отмеченной проблемы опубликовано несколько исправлений, которые не помечены как устранения уязвимостей, но, судя по описанию, могут быть связаны с безопасностью: недостаточная проверка входных данных в коде IPsec и IPComp; двойное освобождение памяти в сервере NFS; повреждение памяти в коде для работы с блокировками в функциях pinsyscall и kbind.
- Главная ссылка к новости
- OpenNews: Релиз OpenBSD 7.9
- OpenNews: В OpenBSD переименовали поле в pfsync после ложного AI-отчёта об уязвимости
- OpenNews: Уязвимость в гипервизоре VMM, развиваемом OpenBSD, оказалась исправлена не полностью
- OpenNews: Удалённая уязвимость в IPv6-стеке OpenBSD
- OpenNews: Уязвимость в NFS-сервере FreeBSD и OpenBSD, приводящая к удалённому выполнению кода
|
|
|
| |
|
|
| · | 16.07 |
Обновление NTFS-3G 2026.7.7 с устранением 9 уязвимостей (45 +8) |
| |
Опубликован релиз пакета NTFS-3G 2026.7.7, включающего свободный драйвер, работающий в пространстве пользователя с использованием механизма FUSE, и комплект утилит ntfsprogs для манипуляций с разделами NTFS. Код проекта распространяется под лицензией GPLv2. В новой версии устранено 9 уязвимостей, которые могут привести к выполнению кода с правами root при обработке специально оформленных разделов или дисковых образов с ФС NTFS.
- CVE-2026-46569 - переполнение буфера в функции
ntfs_ib_copy_tail(), вызванное отсутствием проверки допустимого диапазона значений. Уязвимость может привести к выполнению кода с правами root через создание файла в специально оформленной директории после монтирования модифицированного атакующим образа NTFS.
- CVE-2026-42617 - переполнение буфера в функции ntfs_ir_to_ib(), которое может привести к выполнению кода с правами root через создание файла в директории после монтирования специально модифицированного образа NTFS.
- CVE-2026-42618 - переполнение буфера в функции
ntfs_decompress(), которое может привести к выполнению кода с правами root при чтении специально оформленного файла после монтирования модифицированного атакующим образа NTFS.
- CVE-2026-46570 - переполнение буфера в функции ntfs_index_walk_down(), которое может привести к выполнению кода с правами root при обращению к метаданным файла после монтирования специально оформленного образа NTFS.
- CVE-2026-46572 - переполнение буфера в функции ntfs_ib_cut_tail(), которое может привести к выполнению кода с правами root при создании файла в директории после монтирования специально оформленного образа NTFS с повреждённым индексом.
- CVE-2026-56135 - переполнение буфера в функции build_inherited_id(), которое может привести к выполнению кода с правами root при создании файла после монтирования специально оформленного образа NTFS c некорректными метаданными ACL у директории.
- CVE-2026-42616 - переполнение буфера в утилите ntfscat, которое потенциально может привести к выполнению кода при чтении специально оформленных образов NTFS.
- CVE-2026-46571, CVE-2026-56136 - чтение из области вне выделенного буфера при разборе символических ссылок и манипуляций с файлами после монтирования модифицированного атакующим образа NTFS. Уязвимости могут привести к утечке информации из памяти привилегированного процесса ntfs-3g.
- Главная ссылка к новости
- OpenNews: Выпуск NTFS-3G 2026.2.25
- OpenNews: Уязвимость в 7-Zip, приводящая к выполнению кода при обработке образов NTFS
- OpenNews: В состав ядра Linux 7.1 принят новый драйвер для NTFS
- OpenNews: Уязвимость в NTFS-драйвере из состава GRUB2, позволяющая выполнить код и обойти UEFI Secure Boot
- OpenNews: Уязвимость в драйвере NTFS-3G, потенциально позволяющая выполнить код с правами root
|
|
|
| |
|
|
| · | 15.07 |
Обновление nginx 1.31.3 с устранением RCE-уязвимости (39 +6) |
| |
Сформирован выпуск основной ветки nginx 1.31.3, в рамках которой продолжается развитие новых возможностей, а также выпуск параллельно поддерживаемой стабильной ветки nginx 1.30.4, в которую вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей. В обновлениях устранено 3 уязвимости:
- CVE-2026-42533 - переполнение буфера, проявляющееся при использовании в директиве "map" проверок через регулярные выражения с подстановками при помощи неименованных (например, $1 и $2) или именованных переменных, при условии, что данные переменные упомянуты до переменной результата map или использована переменная, которая не кэшируется. Потенциально уязвимость может привести к удалённому выполнению кода на сервере через отправку специально оформленного HTTP-запроса. Проблеме присвоен критический уровень опасности (9.2 из 10).
- CVE-2026-60005 - утечка неинициализированной памяти рабочего процесса при использовании модуля ngx_http_slice_module и указания в директиве slice регулярных выражений с подстановками при помощи неименованных переменных. Уязвимости присвоен уровень опасности 8.8 из 10.
- CVE-2026-56434 - обращение к памяти после её освобождения в модуле
ngx_http_ssi_module, возникающее при обработке специально оформленного ответа, возвращённого проксированным бэкендом. Уязвимость может привести к изменению содержимого памяти рабочего процесса. Проблеме присвоен уровень опасности 8.3 из 10.
Не связанные с уязвимостями изменения:
- В модуле ngx_http_xslt_filter_module отключена загрузка переменных в XML-документе, значения которых загружаются из внешних источников. Добавлена директива "xml_external_entities" для управления загрузкой внешних компонентов, указанных в блоке DTD обрабатываемого XML-документа.
- Добавлены директивы "proxy_socket_sndbuf", "proxy_socket_rcvbuf",
"fastcgi_socket_sndbuf", "fastcgi_socket_rcvbuf",
"grpc_socket_sndbuf", "grpc_socket_rcvbuf", "scgi_socket_sndbuf",
"scgi_socket_rcvbuf", "uwsgi_socket_sndbuf", "uwsgi_socket_rcvbuf",
"tunnel_socket_sndbuf" и "tunnel_socket_rcvbuf" для выставления размера буферов отправки (SO_SNDBUF) и приёма (SO_RCVBUF).
- Для архитектуры LoongArch64 реализовано определение размера блока (cache line), используемого для передачи данных между кэшем CPU и памятью.
- В модулях ngx_http_proxy_v2_module и ngx_http_grpc_module реализовано ограничение размера заголовков и трейлеров в ответах HTTP/2 при помощи директив proxy_buffer_size и grpc_buffer_size.
- Главная ссылка к новости
- OpenNews: Обновление nginx 1.31.2 с устранением уязвимостей, эксплуатируемых через HTTP/3, HTTP2 и gRPC
- OpenNews: Проект nginx опубликовал JavaScript-модуль njs 1.0.0
- OpenNews: Выпуск Angie 1.12.0, форка Nginx
- OpenNews: В nginx выявлена вторая за 10 дней удалённо эксплуатируемая уязвимость
- OpenNews: Обновление nginx 1.31.0 с устранением RCE-уязвимости, эксплуатируемой через HTTP-запрос
|
|
|
| |
|
|
| · | 15.07 |
Выпуск Angie 1.12.0, форка Nginx (20 +6) |
| |
Опубликован выпуск высокопроизводительного HTTP-сервера и многопротокольного прокси-сервера Angie 1.12.0, ответвлённого от Nginx группой бывших разработчиков проекта, уволившихся из компании F5 Network. Исходные тексты Angie доступны под лицензией BSD. Проект получил сертификаты совместимости с российскими операционными системами Ред ОС, Astra Linux Special Edition, Роса Хром Сервер, Альт и ФСТЭК-версии Альт. На базе Angie развивается проприетарный коммерческий продукт Angie PRO, включённый в реестр российского ПО.
Изменения в Angie 1.12.0:
- Из коммерческой версии Angie PRO в общедоступную открытую версию перенесены следующие возможности:
- Балансировка с учётом среднего времени получения заголовка ответа или полного ответа от проксируемых HTTP-серверов, а также с учётом среднего времени установки соединения, получения первого или последнего байта ответа от проксируемых stream-серверов. Настройка осуществляется при помощи директивы least_time в блоке upstream.
- Возможность привязки сессий к проксируемым серверам, позволяющая обнаруживать сессии и запоминать их в разделяемой памяти сервера. Возможность включается через установку режима learn в директиве sticky. Настройка создания и поиска сессий осуществляется через переменные, например, сессии можно выделять по значению Cookie.
- В директиву server добавлен режим "drain", при котором на сервер не направляются новые запросы, но продолжают приходить запросы, связанные с сессиями, ранее привязанными через директиву sticky (для плавного вывода сервера из ротации).
- В API статистики в разделы /status/http/upstreams/ и /status/stream/upstreams/ добавлены метрики со средним временем получения HTTP-заголовка ответа и полного ответа.
- Добавлен новый HTTP-модуль DoH с реализацией сервера DNS-over-HTTPS, принимающего DNS-запросы по HTTP/HTTPS и проксирующего их к DNS-серверам через UDP или TCP.
- Предоставлена возможность получения сертификатов для IP-адресов по протоколу ACME через сервис Let's Encrypt. Добавлена поддержка ACME-профилей, настраиваемая через параметр profile в директиве acme_client. Добавлена поддержка расширения EAB (External Account Binding для привязки ACME-аккаунта к внешней учётной записи на стороне удостоверяющего центра с использованием HMAC-аутентификации. Добавлена директива acme_dns_ttl для изменения значения TTL в ответах на DNS-запросы при верификации доменов через ACME (для обхода фильтрации DNS-ответов с низким TTL).
- Включено автоматическое получение адресов DNS-серверов из файла в формате resolv.conf, указанного в через параметр conf в директиве resolver. Файл автоматически перечитывается после его изменения.
- В директиву error_log добавлен параметр filter для фильтрации сообщений, записываемых в лог, по меткам, выставленным через новую директиву error_log_user_tag.
Из freenginx перенесён параметр rate для директивы error_log, позволяющий ограничить частоту логирования ошибок. Добавлена возможность вывода логов в формате JSON через выставление format=json в директиве error_log.
- В модуль rewrite добавлена директива goto для выполнения внутреннего редиректа на именованный блок "location" без изменения URI. Поддерживается условное выполнение внутри блока if.
- Реализована тёмная цветовая схема для встроенных страниц ошибок и списков AutoIndex.
- В модуле stream реализована поддержка сбора статистики с помощью модуля Metric, отдаваемой через API /status/stream/metric_zones/. Поддерживается агрегирование данных на разных стадиях обработки соединения в реальном времени с помощью переменных по заданным ключам.
Добавлен API /certificates/ с информацией о сертификатах, заданных в конфигурации или полученных ACME-клиентами.
- Из репозитория проекта nginx перенесены изменения, состояние которых соответствует версии nginx 1.31.2, включая модуль ngx_http_tunnel_module для туннелирования с использованием метода HTTP/1.1 CONNECT и возможность соединения с проксируемыми серверами по протоколу HTTP/2.
- Главная ссылка к новости
- OpenNews: Обновление nginx 1.31.2 с устранением уязвимостей, эксплуатируемых через HTTP/3, HTTP2 и gRPC
- OpenNews: Проект nginx опубликовал JavaScript-модуль njs 1.0.0
- OpenNews: Выпуск nginx 1.30.0 и форка FreeNginx 1.30.0
- OpenNews: Выпуск Angie 1.11.0, форка Nginx
|
|
|
| |
|
|
| · | 15.07 |
Выпуск среды рабочего стола COSMIC 1.3.0 (39 +7) |
| |
Компания System76, разрабатывающая Linux-дистрибутив Pop!_OS, опубликовала выпуск среды рабочего стола COSMIC 1.3.0. Пакеты с COSMIC 1.3.0 доступны в дистрибутиве Pop!_OS 24.04 и в ближайшее время ожидаются в Fedora, NixOS, Arch Linux, openSUSE, Aeyrin OS, Redox и CachyOS. Код написан на языке Rust и распространяется под лицензиями GPLv3 (приложения) и MPL-2.0 (библиотеки).
COSMIC развивается как универсальный проект, не привязанный к конкретному дистрибутиву и соответствующий спецификациям Freedesktop.
Для построения интерфейса в COSMIC задействована библиотека Iced, которая использует безопасные типы, модульную архитектуру и модель реактивного программирования, а также предлагает архитектуру, привычную для разработчиков, знакомых с языком декларативного построения интерфейсов Elm. Предоставляется несколько движков отрисовки, поддерживающих Vulkan, Metal, DX12, OpenGL 2.1+ и OpenGL ES 2.0+. Разработчикам предлагается готовый набор виджетов, возможность создавать асинхронные обработчики и использовать адаптивную компоновку элементов интерфейса в зависимости от размера окна и экрана.
Помимо использования языка Rust из особенностей COSMIC выделяются режимы гибридной мозаичной компоновки окон и стекового закрепления окон (группировка окон по аналогии со вкладками в браузере), которые могут включаться в привязке к виртуальным рабочим столам. Проектом также разрабатывается композитный сервер cosmic-comp на базе Wayland.
Основные изменения:
- Добавлен эффект прозрачности "Frosted glass", размывающий фоновое изображение, которое перекрывает окно, в стиле матового стекла по аналогии с эффектом Liquid Glass в macOS. Эффект реализован при помощи Wayland-протокола ext-background-effect, обеспечивающего стилизацию полупрозрачных частей Wayland-поверхностей.
- Апплет управления сетевым соединением и конфигуратор переведены с прямого обращения к NetworkManager на использование прослойки nmrs.
- Апплет переключения раскладок клавиатуры (input-sources) переведён на использование Wayland-протокола cosmic-keymap-unstable-v1, поддержка которого реализована в композитный менеджер cosmic-comp и фоновый процесс cosmic-settings-daemon.
- Для поддержки изображений в формате Avif в сервисе установки обоев рабочего стола cosmic-bg задействована библиотека libdav1d.
- В файловом менеджере добавлена возможность выбора подклассов при фильтрации содержимого по MIME-типам.
- В приложении cosmic-monitor, выводящем информацию о системе, запущенных процессах и потреблении ресурсов, добавлена поддержка сбора статистики для GPU Intel, реализован расчёт энергопотребления GPU AMD и Intel, обеспечен показ данных об энергопотреблении GPU и состоянии видеопамяти.
- В панели улучшено позиционирование всплывающих окон апплетов. Добавлены опции для скрытия панели и сохранения стиля при раскрытии окон на весь экран.
- В конфигуратор добавлена поддержка использования изображений в формате AVIF для обоев рабочего стола.
- В контекстном меню по умолчанию обеспечен показ дискретного GPU.
- Главная ссылка к новости
- OpenNews: Выпуск среды рабочего стола COSMIC 1.2.0
- OpenNews: Доступна среда рабочего стола COSMIC 1.1.0
- OpenNews: Выпуск дистрибутива Pop!_OS 24.04, поставляемого с рабочим столом COSMIC
- OpenNews: Первый стабильный релиз среды рабочего стола COSMIC
|
|
|
| |
|
|
| · | 15.07 |
Базовая система FreeBSD-CURRENT избавлена от компонентов под лицензией GPL (179 +16) |
| |
В кодовую базу FreeBSD-CURRENT, на основе которой формируется ветка FreeBSD 16, принято изменение, удаляющее из базовой системы последние остававшиеся компоненты, распространяемые под лицензией GPL - утилиты diff3 и dialog. Программа diff3 заменена на аналог от проекта OpenBSD, распространяемый под лицензией BSD, а для замены dialog специально для FreeBSD была разработана утилита bsddialog. Инсталлятор был переведён на bsddialog четыре года назад и последней программой, завязанной на GNU dialog, оставалась утилита dpv, которая была объявлена устаревшей более двух лет назад, а теперь удалена вместе с GNU dialog. Релиз FreeBSD 16, намеченный на декабрь 2027 года, будет полностью избавлен от кода под лицензией GPL.
Основным мотивом избавления FreeBSD от проектов под лицензиями GPL является переход утилит GNU на лицензию GPLv3, которая была признана неприемлемой для базовых компонентов FreeBSD. Разработчики FreeBSD были вынуждены оставаться на устаревших версиях утилит GNU, выпущенных до перехода на GPLv3. В 2012 году во FreeBSD утилита GNU patch была заменена на вариант утилиты patch, поставляемый под лицензией BSD и основанный на наработках проекта DragonFly BSD. В последующие годы из системы был удалён отладчик gdb (заменён на lldb). Утилита GNU grep была заменена на bsdgrep, вместо компилятора GCC был задействован Clang, а утилиты binutils заменены на аналоги от проекта LLVM.
Заменена утилита dtc (Device Tree Compiler), удалены процесс автоматического монтирования amd (задействован autofs) и утилита ctm.
- Главная ссылка к новости
- OpenNews: GCC удалён из основного состава FreeBSD
- OpenNews: FreeBSD-CURRENT переведён по умолчанию на Clang
- OpenNews: Gentoo/FreeBSD заморожен из-за несовместимости лицензий BSD и GPL
- OpenNews: Debian прекращает поддержку порта GNU/kFreeBSD
|
|
|
| |
|
|
| · | 15.07 |
Выпуск SVT-AV1 4.2.0, кодировщика для формата видео AV1 (13 +13) |
| |
Опубликован выпуск библиотеки SVT-AV1 4.2.0 (Scalable Video Technology AV1) c реализациями кодировщика и декодировщика формата кодирования видео AV1, для ускорения которых задействованы присутствующие в процессорах x86_64 и ARM расширения для аппаратного распараллеливания вычислений. Проект создан компанией Intel в партнёрстве с Netflix с целью достижения уровня производительности, пригодного для перекодирования видео на лету и применения в сервисах, отдающих видео по запросу (VOD). В настоящее время разработка ведётся под эгидой альянса Open Media (AOMedia), курирующего развитие формата кодирования видео AV1. Ранее проект развивался в рамках проекта OpenVisualCloud, который также разрабатывает кодировщики SVT-HEVC и SVT-VP9. Код распространяется под лицензией BSD.
SVT-AV1 может быть собран для систем на базе любых архитектур, для которых имеется компилятор с поддержкой стандарта C99, но наилучшая производительность достигается на системах x86_64, для которых применяются ассемблерные оптимизации на базе инструкций SIMD (желательно наличие в CPU поддержки AVX2, но в качестве минимума достаточно и SSE2). Потребление памяти зависит от числа задействованных при кодировании процессорных ядер, регулируемых опцией "--lp". Из-за усложнения применяемых в AV1 алгоритмов, для кодирования данного формата требуется существенно больше ресурсов, чем для других форматов.
Среди изменений в новом выпуске SVT-AV1:
- Реализован новый режим оптимизации TUNE-VMAF, позволяющий экономить до 15% битрейта при том же уровне визуального качества в соответствии с метрикой VMAF, оценивающей человеческое восприятие, и незначительном уменьшении качества по метрике PSNR, оценивающей точность воспроизведения исходных данных на уровне пикселей.
- Реализован однопоточный режим кодирования, который можно использовать с режимом случайного доступа (Random Access).
- В пресетах M3-M5 проведена оптимизация компромиссов качество/скорость при кодировании в режиме случайного доступа.
- Добавлены новые опции командной строки: --cqp, --enable-intrabc, --hbd-mds, --enable-kf-tf.
- Добавлена поддержка вывода в raw-формате OBU в дополнение к ранее поддерживаемому формату IVF.
- Проведена оптимизация компромиссов качество/скорость при кодировании в режиме "--rtc" (Real-Time Communications), а также повышена эффективность сжатия и снижено потребление памяти при кодировании в низких разрешениях. Добавлены параметры "--max-intra-bitrate-pct" и "--max-inter-bitrate-pct".
- Добавлен режим кодирования в реальном времени с постоянным битрейтом - CBR (Constant Bitrate), реализованный с использованием фильтра Калмана и поддерживающий цикличное обновление с размазыванием сложных изменений по нескольким кадрам и перекодирование кадров с худшим качеством, если они не укладываются в заданный битрейт.
- В режиме "--rtc" добавлена поддержка динамического изменения настроек битрейта и пресетов на лету.
- Добавлен API для управления опорными кадрами, поддерживающий LTR (Long-Term Reference) и двухуровневую структуру наборов опорных кадров (RPS, Reference Picture Set).
- Переработана реализация энтропийного кодирования, в которой обеспечена прямая запись в буфер сегментов (tile-buffer), упрощён арифметический кодер и реализовано отсечение остаточных данных после квантования.
- Добавлены новые оптимизации CDEF (Constrained Directional Enhancement Filter) для исключения размытия в областях смены контраста, MD (Mode Decision) и ME (Motion Estimation) для быстрой обработки статичных объектов.
- Оптимизировано определение наличия на видео изображения с содержимым экрана для применения специфичных методов кодирования для сохранения чёткости текста.
- Добавлена сборочная опция ENABLE_STACK_PROTECTOR для отключения
флага "-fstack-protector", позволяющая убрать накладные расходы на проверку переполнения стека.
- Добавлены дополнительные оптимизации для архитектуры ARM и задействованы расширенные инструкции NEON для ускорения вычислений.
- Главная ссылка к новости
- OpenNews: Выпуск SVT-AV1 4.0, кодировщика для формата видео AV1
- OpenNews: Выпуск программы для перекодирования видео HandBrake 1.11.0
- OpenNews: Проект VideoLAN опубликовал dav2d, декодировщик для видео в формате AV2
- OpenNews: Альянс AOMedia объявил о стабилизации видеокодека AV2
|
|
|
| |
|
|
| · | 15.07 |
Выпуск сервисного менеджера s6-rc 0.7 (58 +13) |
| |
Опубликован выпуск сервисного менеджера s6-rc 0.7.0.0, предназначенного для управления запуском скриптов инициализации и сервисов. Поддерживается отслеживание дерева зависимостей и автоматический запуск или завершение сервисов для достижения указанного состояния. Инструментарий s6-rc может применяться как в системах инициализации, так и для организации запуска произвольных сервисов в привязке к событиям, отражающим изменение состояния системы. Система поддерживает скрипты инициализации, совместимые с sysv-init, и может импортировать информацию о зависимостях из sysv-rc или OpenRC. Код написан на языке Си и распространяется под лицензией ISC.
Сервисный менеджер s6-rc включает набор утилит для запуска и остановки длительно функционирующих процессов (демонов) или сразу завершаемых скриптов инициализации. В процессе работы обеспечивается параллельный запуск не пересекающихся между собой сервисов и гарантируется повторяющаяся при разных запусках последовательность выполнения скриптов. Все изменения состояния обрабатываются с учётом зависимостей, например, при запуске какого-то сервиса будут автоматически запущены необходимые для его работы зависимости, а при остановке - остановлены и зависимые сервисы.
В отличие от других сервисных менеджеров s6-rc поддерживает упреждающее (в offline-режиме) построение графа зависимостей для имеющегося набора сервисов, что позволяет выполнить ресурсоёмкий анализ зависимостей отдельно, а не во время загрузки или изменения состояния. При этом система не является монолитной и разбита на серию отдельных и заменяемых модулей, каждый из которых в соответствии с философией Unix решает только определённую задачу. Проект s6-rc придерживается философии минимализма (не содержит ничего лишнего) и потребляет минимум ресурсов.
Вместо уровней запуска (runlevel) в s6-rc предлагается концепция наборов (bundles), позволяющая группировать сервисы по произвольным признакам и решаемым задачам. Для повышения эффективности работы используется скомпилированная БД зависимостей, создаваемая утилитой s6-rc-compile на основе содержимого каталогов с файлами для запуска/остановки сервисов. Для разбора и манипуляций с БД предлагаются утилиты s6-rc-db и s6-rc-update. Инструментарий s6 используется в дистрибутивах Obarun, Adelie и Artix, а также опционально может применяться в Gentoo, Void и Alpine.
Проектом также развиваются сопутствующие пакеты, дополняющие s6-rc:
- s6 - утилиты для отслеживания работы процессов и управления процессами (аналог daemontools и runit). Поддерживаются такие возможности как
перезапуск процессов после их аварийного завершения, запуск обработчика (активация сервиса) при обращении к сетевому порту, журналирование событий (замена syslogd) и контролируемое предоставление дополнительных привилегий (аналог sudo).
- s6-linux-init - реализация init-процесса для операционных систем на базе ядра Linux, применяемого для создания систем инициализации, в которых для управления сервисами и скриптами используются пакеты s6 и s6-rc.
- s6-networking - набор утилит для создания сетевых сервисов, похожий на
ucspi.
- s6-frontend - обвязка для воссоздания функциональности daemontools и runit поверх s6.
- s6-portable-utils - набор типовых Unix-утилит, таких как cut, chmod, ls, sort и grep, оптимизированных для потребления минимальных ресурсов и поставляемых под лицензией ISC.
- s6-linux-utils - набор утилит, привязанных к Linux, таких как chroot,
freeramdisk, logwatch, mount и swapon.
- mdevd - менеджер событий (аналог udevd), предназначенный для обработки горячего подключения устройств. По конфигурации mdevd совместим с mdev из состава Busybox.
- bcnm - сетевой конфигуратор с возможностями для настройки Wi-Fi на стороне клиента.
- execline - язык написания сценариев.
- skalibs - библиотека для создания безопасных системных приложений на языке Си.
- s6-dns - набор клиентских библиотек и утилит, заменяющих типовые DNS-утилиты из BIND и djbdns.
- dnsfunnel - перенаправляет локальные DNS-запросы на внешний сервер (DNS forwarder).
- shibari - простой DNS-сервер.
- tipidee - HTTP-сервер с поддержкой HTTP/1.1.
В новой версии s6-rc и связанных с ним утилитах:
|
|
|
| |
|
|
| · | 14.07 |
Сравнение отзывчивости ввода в X11 и Wayland (212 +53) |
| |
Опубликованы результаты тестирования задержек при использовании устройств ввода в играх, запускаемых в окружениях на базе X11 и Wayland. Дополнительно оценено влияние включения адаптивного изменения частоты обновления экрана (VRR, G-Sync) и использования вместо DXVK форка dxvk-low-latency с оптимизациями для снижения задержек. Тестирование подтвердило встречающиеся в среде игроков мнение, что окружения на базе X11 позволяют добиться более высокой отзывчивости ввода, чем при использовании Wayland. Также подтверждено благотворное влияние на отзывчивость включения VRR и применения dxvk-low-latency.
Измерение задержек проведено с использованием самодельного аппаратного устройства на базе микроконтроллера Raspberry Pi RP2040 и фотодиода, которое симулирует USB-мышь и измеряет время между генерируемым кликом и изменением яркости экрана. Тестирование осуществлялось на компьютере с CPU AMD Ryzen 7 5800X3D и GPU NVIDIA GeForce RTX 4070 SUPER. В качестве дистрибутива использовался CachyOS с ядром Linux 7.1.3, проприетарным драйвером NVIDIA 610.43.03 и рабочим столом KDE Plasma 6.7.2.
Измерение производилось в Windows-игре Diabotical на базе графического API DirectX 11, запускаемой через пакет Proton 11.0. Во всех тестах позиция игрока и состояние игры повторялись, в игре также были отключены боты и не выполнялось перемещение игрока. В каждом тесте выполнялось три итерации по 100 симулированных кликов. Каждый автоматизированный клик скрывал HUD-интерфейс с белым фоном, что приводило к большому изменению ярости, фиксируемому самодельным измерителем.
Наименьших задержек удалось добиться в сочетании X11 с VRR и dxvk-low-latency - 4.21 мс. На втором месте оказалась конфигурация Wayland + VRR + dxvk-low-latency - 4.38 мс. Средняя задержка при использовании чистого X11 составила 4.79 мc, а Wayland - 4.93 мс. Разница в 0.14 и 0.22 мс отмечена как слишком незначительная для распознавания игроками. Предполагается, что благодаря инициативам по оптимизации KWin отставание Wayland от X11 в ближайшее время сократится.
VRR и dxvk-low-latency несущественно снижают задержки, но помимо задержек их применение сужает разброс значений, сглаживает пики производительности, выравнивает FPS и делает задержки более предсказуемыми в реальных условиях, в которых нагрузка на GPU и CPU постоянно меняется.
Наихудшие показатели оказались у XWayland - 8.06 мс и связки XWayland c dxvk-low-latency - 5.95 мс. Разница в задержках при использовании XWayland уже более заметная, поэтому в пользовательских окружениях на базе Wayland рекомендуется запускать Proton с включением экспериментальной поддержки Wayland, активируемой через выставление переменной окружения "PROTON_ENABLE_WAYLAND=1".
- Главная ссылка к новости
- OpenNews: Выпуск дистрибутива CachyOS 260628
- OpenNews: Стабильный релиз Proton 11.0, пакета для запуска Windows-игр в Linux
|
|
|
| |
|
|
| · | 14.07 |
Firefox переходит на двухнедельный цикл подготовки релизов (69 –16) |
| |
Сильвестр Ледрю (Sylvestre Ledru), директор по инжинирингу в Mozilla, объявил о переходе на двухнедельный цикл подготовки релизов Firefox. Начиная с сентября новые выпуски будут формироваться каждые две недели, а не раз в 4 недели. Изменение уже отражено в графике подготовки релизов: последним с 4-недельным циклом разработки станет Firefox 154, намеченный на 18 августа. Далее через 2 недели 1 сентября выйдет Firefox 155, 15 сентября - Firefox 156, 29 сентября - Firefox 157.
Сокращение цикла подготовки релизов преподносится как эксперимент, нацеленный на более частое доведение новых возможностей до пользователей, обеспечение более предсказуемого процесса формирования релизов и снижение нагрузки на разработчиков перед релизами. При разработке можно будет снисходительней относиться к доведению незавершённых возможностей до готовности и тратить на выполнение работы столько времени, сколько требуется, не создавая дедлайны. Эффективность сокращения цикла разработки планируют пристально отслеживать и при необходимости откорректировать.
В марте о переходе на двухнедельный цикл разработки Chrome объявила компания Google, не меняя при этом цикл публикации сборок Extended Stable (раз в 8 недель), Dev (1-2 раза в неделю) и Canary (ежедневно).
Сокращённый цикл разработки Chrome начнёт действовать 8 сентября, после формирования по старому графику выпуска Chrome 153. Целью сокращения цикла разработки Chrome называется желание быстрее публиковать новые возможности, исправления ошибок и оптимизации. Предполагается, что более частая публикация релизов не повлияет на качество, снизит риск сбоев при обновлении и упростит отладку, так как в каждом выпуске будет предлагаться меньше изменений.
- Главная ссылка к новости
- OpenNews: Chrome переходит на двухнедельный цикл подготовки релизов
- OpenNews: Разработчики Mozilla рассматривают предложение о сокращении цикла подготовки релизов Firefox
- OpenNews: Firefox на пути сокращения цикла разработки и отказа от XUL
- OpenNews: Mozilla сокращает число стадий в разработке Firefox
- OpenNews: Firefox переходит на сокращённый цикл подготовки релизов
|
|
|
| |
|
|
| · | 14.07 |
Выпуск композитного сервера Weston 16.0 (39 –1) |
| |
После пяти месяцев разработки опубликован стабильный релиз композитного сервера Weston 16.0, развивающего технологии, содействующие появлению полноценной поддержки протокола Wayland в Enlightenment, GNOME, KDE и других пользовательских окружениях. Разработка Weston нацелена на предоставление высококачественной кодовой базы и рабочих примеров для использования Wayland в десктоп-окружениях и встраиваемых решениях, таких как платформы для автомобильных информационно-развлекательных систем, смартфонов, телевизоров и прочих потребительских устройств. Код проекта распространяется под лицензией MIT.
Изменения в новой ветке Weston:
- Добавлена поддержка отладочных аннотаций при использовании профилировщика Perfetto для выявления проблем с производительностью при отрисовке, а также отслеживания и визуализации времени выполнения различных операций.
- Продолжена реализация средств для поддержки HDR и управления цветом, используя Wayland-протокол color-representation.
- В renderer-gl добавлен шейдер для смешивания слоёв.
- Добавлена поддержка сжатых пиксельных форматов YUV.
- В compositor добавлена поддержка эффекта для вывода в оттенках серого.
- Добавлена поддержка Wayland-протокола alpha-modifier, позволяющего клиентам менять уровень прозрачности поверхности и выносить операции по обеспечению прозрачности на сторону композитного сервера, который в свою очередь может переадресовать эти операции KMS.
- В бэкенде для взаимодействия с DRM-подсистемой (Direct Rendering Manager) ядра Linux реализована поддержка параметров:
- "backgroud color" для изменения цвета фоновой подсветки экрана на дисплейных контроллерах, поддерживающих такую возможность.
- "blend mode" - для альфа-смешивания пикселей на стороне дисплейного контроллера при отрисовке текущего слоя поверх нижележащих слоёв.
- "color format" для выбора цветового формата (RGB, YUV), используемого при выводе на монитор.
- В libweston добавлен API для получения списка сенсорных устройств.
- Проведена работа по чистке дублирующейся функциональности, заменённой бэкендами и оболочками. Удалена поддержка screenshooter, бэкенда для записи через VA-API, фронтэнда screenshare для совместного доступа к экрану и полноэкранной оболочки fullscreen-shell. Объявлены устаревшими неатомарный KMS, drm_virtual_output_api, Wayland-протокол xdg-shell-v6, а также плагины pipewire и remoting.
- Главная ссылка к новости
- OpenNews: Выпуск композитного сервера Weston 15.0
- OpenNews: Доступен Wayland 1.25
- OpenNews: Выпуск Wayland-Protocols 1.49
- OpenNews: В среде рабочего стола Cinnamon реализована полноценная поддержка Wayland
|
|
|
| |
|
|
| · | 14.07 |
Анализ безопасности 281 VPN-приложения для Android (20 +43) |
| |
Исследователи из Мичиганского университета разработали инструментарий MVPNalyzer для выявления утечек информации и анализа работы VPN, и проверили с его помощью 281 VPN-приложение для платформы Android. Для изучения были отобраны наиболее популярные VPN-приложений, распространяемые через каталог Google Play. VPN-приложения, в которых были выявлены те или иные проблемы с безопасностью и приватностью, в сумме насчитывают 2.4 миллиарда установок. Основные выводы:
- В 61 приложении (22%) выявлена передача данных без использования шифрования, осуществляемая вне установленного туннеля.
Большинство приложений из этой категории пользуются популярностью и в среднем насчитывают 11 млн установок. В 18 приложениях осуществлялось прямое обращение к сервису ip-api.com для определения местоположения по IP-адресу клиента.
В 5 случаях без шифрования клиенту передавались файлы конфигурации, содержащие параметры подключения к VPN-серверу. Исследователи провели эксперимент и подтвердили возможность проведения MITM-атаки, позволяющей перенаправить трафик на свой сервер, имея возможность вклинится в канал связи жертвы, например, подключившейся к подконтрольной атакующему публичной беспроводной сети. Проблемные приложения (полный список всех приложений, в которых выявлены проблемы, приводятся на 17 странице PDF-отчёта):
- BambooVPN: Turbo Fast VPN (free.vpn.unblock.proxy.bamboovpn);
- VPN Pro (com.nebulatech.voocvpnpro);
- Free VPN (com.appoxide.freevpn);
- Hexa VPN (com.secure.vpn.proxy);
- 101 VPN (com.shwe.vpn101).
Исследователи уведомили о проблемах авторов данных приложений и спустя какое-то время провели повторную проверку самых свежих версий, которая показала, что уязвимость устранена только в двух приложениях - VPN Pro и Hexa VPN.
- При работе 29 приложений (10%) возникает утечка трафика за пределы установленного туннеля. В 24 приложениях, насчитывающих 360 млн установок, происходила утечка сведений о посещаемых сайтах из-за прямой отправки DNS-запросов (20 отправляли DNS-запросы через локальный резолвер, а 6 через публичные DNS-сервисы Google, Cloudflare, AliDNS и DNSPod). В 6 приложениях, насчитывающих 54 млн установок, была выявлена отправка вне туннеля трафика, связанного с работой пользователя в web-браузере. В 4 приложениях данные передавались через нешифрованный туннель.
- В 169 приложениях (60%) не применялась обфускация трафика, использовались типовые сетевые порты и отслеживаемые в общем потоке протоколы. Подобное поведение расходится с ожиданиями пользователей - в соответствии с опросом, проведённым в прошлом году, 82% пользователей VPN считают, что VPN обеспечивает им анонимность.
- В 76 приложениях (27%) передавались уникальные для устройств идентификаторы AAID (Android Advertising ID), позволяющие отслеживать устройства и пользователей. В 246 приложениях (87%) зафиксировано обращение к известным рекламным сетям и сервисам отслеживания пользователей (всего зафиксировано обращение по 3714 разным URL). Одно приложение отправляло точные GPS-координаты устройства.
- В 107 приложениях (38%) применялись настройки, не обеспечивающие оптимальный уровень безопасности. В 20 приложениях, в сумме насчитывающих 40 млн установок, применялись небезопасные методы шифрования. В 96 приложениях, насчитывающих 728 млн установок, использовались ненадёжные механизмы аутентификации.
В 3 приложениях в настройках OpenVPN параметр data-ciphers был выставлен в значение "none", допускающее установку каналов связи без шифрования. В 8 приложениях параметр "cipher" был выставлен в значение "none", отключающее шифрование при использовании OpenVPN 2.4 и более ранних версий. В 12 приложениях использовались директивы, объявленные устаревшими. В 61 приложении в конфигурации OpenVPN не были включены директивы для блокирования известных методов атак.
- Главная ссылка к новости
- OpenNews: Анализ безопасности 100 бесплатных VPN-приложений для платформы Android
- OpenNews: Анализ запроса ненадлежащих полномочий в VPN-приложениях для Android
- OpenNews: Большинство VPN-приложений для Android не заслуживают доверия
- OpenNews: Атака Port Shadow, позволяющая перенаправлять соединения других пользователей VPN и Wi-Fi
- OpenNews: 17 из 20 VPN-сервисов выдают неверную информацию о странах выходных узлов
|
|
Обсуждение (20 +43) |
Тип: Проблемы безопасности |
|
| |
|
|
| · | 13.07 |
Инициатива по упрощению тестирования экспериментальных версий программ в GNOME OS (27 –12) |
| |
Разработчики GNOME OS, дистрибутива для разработчиков и тестировщиков GNOME, представили инициативу по созданию инструментария для упрощения тестирования экспериментальных версий программ в дистрибутивах, распространяемых в форме атомарно обновляемых монолитных системных образов. Развиваемый инструментарий GNOME OS Developer Tool Suite позволит собирать, распространять и тестировать расширения к дистрибутивам, поставляемым в форме системных образов. Инструментарий даст возможность разработчикам и тестировщикам изменять части системы и тестировать вносимые изменения, не нарушая при этом монолитность системного образа, не используя изолированные от системы контейнеры и не отключая механизмы обеспечения безопасности.
В составе инструментария развивается графический интерфейс "Test Center", позволяющий управлять вносимыми в систему экспериментальными изменениями, а также будет создан online-репозиторий для распространения экспериментальных изменений. В качестве примеров подобных изменений приводится задействование в монолитных дистрибутивах экспериментальных версий программ и системных компонентов.
Отмечается, что применение пакетов в формате Flatpak решает задачу установки дополнительных программ в монолитных дистрибутивах, но не подходит для тестирования нестабильных версий программ в системе из-за излишнего усложнения процесса работы с тестовыми версиями для обычных пользователей и оставления в системе установленных компонентов до их ручного удаления. Test Center позволит устанавливать экспериментальные версии приложений по ссылке от разработчика. Установленные через Test Center приложения специально помечаются в системе как экспериментальные и привязываются ко времени проведения тестирования, после истечения которого автоматически удаляются.
Экспериментальные системные изменения реализованы в
Test Center при помощи инструментария systemd-sysext, предназначенного для создания и установки образов с системными расширениями, подключаемыми в форме оверлеев, накладываемых поверх системы. Подобные оверлеи в любой момент можно откатить и после тестирования изменения вернуться к исходному состоянию системы.
Попутно совместно с разработчиками Flatpak ведётся работа по организации установки дополнительных консольных утилит, не входящих в базовый системный образ. В текущем виде Flatpak ориентирован на установку графических программ и мало подходит для распространения консольных приложений.
- Главная ссылка к новости
- OpenNews: Выпуск среды рабочего стола GNOME 50 с удалением поддержки X11
- OpenNews: В GNOME будет усилена зависимость от systemd
- OpenNews: Дистрибутив GNOME OS перешёл на стадию тестирования на реальном оборудовании
- OpenNews: Превращение GNOME OS в дистрибутив для обычных пользователей
- OpenNews: GNOME OS переходит на организацию атомарных обновлений при помощи systemd-sysupdate
|
|
|
| |
|
|
| Следующая страница (раньше) >> |