The OpenNET Project / Index page

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

·21.01.2022 openSUSE развивает web-интерфейс для инсталлятора YaST (26 +3)
  После объявления о переводе на web-интерфейс инсталлятора Anaconda, применяемого в Fedora и RHEL, разработчики инсталлятора YaST раскрыли планы по разработке проекта D-Installer и созданию фронтэнда для управления установкой дистрибутивов openSUSE и SUSE Linux через web-интерфейс.

Отмечается, что проектом уже давно развивается web-интерфейс WebYaST, но он ограничен возможностями удалённого администрирования и настройки системы, не рассчитан для использования в качестве инталлятора, и жестко привязан к коду YaST. D-Installer рассматривается как платформа, обеспечивающая работу поверх YaST нескольких фронтэндов для установки (Qt GUI, CLI и Web). Из сопутствующих планов отмечается проведение работы по сокращению процесса установки, отделению пользовательского интерфейса от внутренних компонентов YaST и добавлению web-интерфейса.

Технически D-Installer представляет собой слой абстракции, реализованный поверх библиотек YaST и предоставляющий унифицированный интерфейс для обращения через D-Bus к таким функциям, как установка пакетов, проверка оборудования и разбивка дисков. На указанный D-Bus API будут переведены графический и консольный установщики, а также подготовлен работающий в браузере установщик, взаимодействующий с D-Installer через прокси-сервис, обеспечивающий доступ к вызовам D-Bus через HTTP. Разработка пока находится на стадии начального прототипа. D-Installer и прокси разрабатываются на языке Ruby, на котором написан и сам YaST, а web-интерфейс создаётся на JavaScript с использованием фреймворка React (не исключается задействование компонентов Cockpit).

Среди целей которые преследует проект D-Installer: устранение имеющихся ограничений графического интерфейса, расширение возможностей по использованию функциональности YaST в других приложениях, унифицированный интерфейс D-Bus, упрощающий интеграцию с собственными рабочими процессами, уход от привязки к одному языку программирования (D-Bus API позволит создавать надстройки на разных языках), стимулирование создания альтернативных настроек представителями сообщества.

  1. OpenNews: Используемый в Fedora и RHEL инсталлятор Anaconda переводят на web-интерфейс
  2. OpenNews: Выпуск инсталлятора Archinstall 2.3.0, применяемого в дистрибутиве Arch Linux
  3. OpenNews: В ночных сборках Ubuntu Desktop появился новый инсталлятор
  4. OpenNews: Используемый в SUSE и openSUSE конфигуратор YaST переписан на языке Ruby
Обсуждение (26 +3) | Тип: К сведению |
·21.01.2022 Уязвимость в VFS ядра Linux, позволяющая повысить свои привилегии (83 +10)
  В API Filesystem Context, предоставляемым ядром Linux, выявлена уязвимость (CVE-2022-0185), позволяющая локальному пользователю добиться получения прав root в системе. Выявивший проблему исследователь опубликовал демонстрацию работы эксплоита, позволяющего выполнить код с правами root в Ubuntu 20.04 в конфигурации по умолчанию. Код эксплоита планируется разместить на GitHub в течение недели, после того как дистрибутивы выпустят обновление с исправлением уязвимости.

Уязвимость присутствует в функции legacy_parse_param() в VFS и вызвана отсутствие должной проверки максимального размера параметров, предоставляемых в файловых системах, не поддерживающих API Filesystem Context. При передаче слишком большого параметра можно вызвать переполнение целочисленной переменной, используемой для расчета размера записываемых данных - в коде имеется проверка выхода за границу буфера "if (len > PAGE_SIZE - 2 - size)", которая не срабатывает, если значение size больше 4094 из-за целочисленного переполнения через нижнюю границу (integer underflow, при приведении 4096 - 2 - 4095 к unsigned int получится 2147483648).

Указанная ошибка позволяет при обращении к специально оформленному образу ФС вызвать переполнение буфера и перезаписать данные ядра, следующие за выделенной областью памяти. Для эксплуатации уязвимости требуется наличие прав CAP_SYS_ADMIN, т.е. полномочий администратора. Проблема в том, что подобные полномочия непривилегированный пользователь может получить в изолированном контейнере, если в системе включена поддержка пространств имён идентификаторов пользователей (user namespaces). Например, user namespaces по умолчанию включён в Ubuntu и Fedora, но не активирован в Debian и RHEL (если не используются платформы контейнерной изоляции).

Проблема проявляется начиная с ядра Linux 5.1 и устранена во вчерашних обновлениях 5.16.2, 5.15.16, 5.10.93, 5.4.173. Обновления пакетов с устранением уязвимости уже выпущены для RHEL, Debian, Fedora, Ubuntu. Исправление пока недоступно в Arch Linux, Gentoo, SUSE и openSUSE. В качестве обходного пути защиты для систем, не использующих контейнерную изоляцию можно выставить в 0 значение sysctl "user.max_user_namespaces":


   echo "user.max_user_namespaces=0" > /etc/sysctl.d/userns.conf
   # sysctl -p /etc/sysctl.d/userns.conf

  1. OpenNews: Уязвимость в ядре Linux, позволяющая обойти ограничения user namespace
  2. OpenNews: Уязвимости в подсистеме eBPF, позволяющие выполнить код на уровне ядра Linux
  3. OpenNews: Уязвимость в реализации сокетов AF_PACKET ядра Linux
  4. OpenNews: Уязвимость в подсистеме ядра Linux Netfilter
  5. OpenNews: Root-уязвимость в ядре Linux и отказ в обслуживании в systemd
Обсуждение (83 +10) | Тип: Проблемы безопасности |
·20.01.2022 Уязвимость в стандартной библиотеке языка Rust (315 +45)
  В стандартной библиотеке языка Rust выявлена уязвимость (CVE-2022-21658), связанная с состоянием гонки в функции std::fs::remove_dir_all(). В случае применения данной функции для удаления временных файлов в привилегированном приложении злоумышленник может добиться удаления произвольных системных файлов и каталогов, к удалению которых в обычных условиях у атакующего нет доступа.

Уязвимость вызвана некорректной реализацией проверки символических ссылок перед рекурсивным удалением каталогов. Вместо запрета следования по символическим ссылкам, функция remove_dir_all() вначале проверяет, является ли файл символической ссылкой. Если определена ссылка, то она удаляется как файл, а если каталог - то вызывается операция рекурсивного удаления содержимого. Проблема в том, что между проверкой и началом операции удаления имеется небольшая задержка.

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

Уязвимости подвержены все версии Rust с 1.0.0 по 1.58.0 включительно. Проблема пока устранена в форме патча (исправление будет включено в выпуск 1.58.1, который ожидается в течение нескольких часов). Проследить за устранением уязвимости в дистрибутивах можно на данных страницах: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch, FreeBSD. Всем пользователям программ на языке Rust, выполняемых с повышенными привилегиями и использующих функцию remove_dir_all, рекомендуется срочно обновить Rust до версии 1.58.1. Интересно, что выпущенный патч решает проблему не на всех системах. Например, в ОС REDOX и версиях macOS до 10.10 (Yosemite) уязвимость не блокируется из-за отсутствия флага O_NOFOLLOW, отключающего следование по символическим ссылкам.

  1. OpenNews: GitHub добавил поддержку отслеживания уязвимостей в проектах на языке Rust
  2. OpenNews: Уязвимость в сетевых библиотеках языков Rust и Go, позволяющая обойти проверку IP-адресов
  3. OpenNews: Уязвимости в Please, альтернативе sudo, написанной на языке Rust
  4. OpenNews: Четвёртая редакция патчей для ядра Linux с поддержкой языка Rust
  5. OpenNews: Выпуск языка программирования Rust 1.58
Обсуждение (315 +45) | Тип: Проблемы безопасности |
·20.01.2022 Компания SUSE развивает собственную замену CentOS 8, совместимую с RHEL 8.5 (60 +23)
  Появились дополнительные подробности о проекте SUSE Liberty Linux, который утром был анонсирован компанией SUSE без технических деталей. Оказалось, что в рамках проекта подготовлена новая редакция дистрибутива Red Hat Enterprise Linux 8.5, собранная с использованием платформы Open Build Service и пригодная для использования вместо классического CentOS 8, поддержка которого была прекращена в конце 2021 года. Предполагается, что пользователи CentOS 8 и RHEL 8 смогут перевести свои системы на дистрибутив SUSE Liberty Linux, предоставляющий полную бинарную совместимость с RHEL и пакетами из репозитория EPEL.

Новый дистрибутив интересен тем, что содержимое пространства пользователя в SUSE Liberty Linux сформировано путём пересборки исходных SRPM-пакетов из RHEL 8.5, но пакет с ядром заменён на собственный вариант, основанный на ветке ядра Linux 5.3 и созданный путём пересборки пакета с ядром из дистрибутива SUSE Linux Enterprise 15 SP3. Дистрибутив формируется только для архитектуры x86-64. Готовые сборки SUSE Liberty Linux пока недоступны для тестирования.

Подводя итог, продукт SUSE Liberty Linux представляет собой новый дистрибутив на основе пересборки пакетов RHEL и ядра SUSE Linux Enterprise, на который распространяется техническая поддержка SUSE и который может централизованно управляться при помощи платформы SUSE Manager. Обновления для SUSE Liberty Linux будут выпускаться, следуя за обновлениями RHEL.

  1. OpenNews: Инициатива SUSE Liberty Linux для унификации поддержки SUSE, openSUSE, RHEL и CentOS
  2. OpenNews: Прекращение сопровождения CentOS 8.x
  3. OpenNews: Выпуск CentOS Linux 8.5 (2111), финальный в серии 8.x
  4. OpenNews: Релиз дистрибутива Rocky Linux 8.5, идущего на смену CentOS
  5. OpenNews: Проект ELevate, упрощающий переход с CentOS 7 на дистрибутивы, основанные на RHEL 8
Обсуждение (60 +23) | Тип: К сведению |
·19.01.2022 Стабильный релиз Wine 7.0 (247 +69)
  После года разработки и 30 экспериментальных версий представлен стабильный релиз открытой реализации Win32 API - Wine 7.0, который вобрал в себя более 9100 изменений. Из ключевых достижений новой версии отмечается перевод большинства модулей Wine в формате PE, поддержка тем оформления, расширение стека для джойстиков и устройств ввода с интерфейсом HID, реализация архитектуры WoW64 для запуска 32-разрядных программ в 64-разрядном окружении.

В Wine подтверждена полноценная работа 5156 (год назад 5049) программ для Windows, ещё 4312 (год назад 4227) программ прекрасно работают при дополнительных настройках и внешних DLL. У 3813 программ (года назад 3703) наблюдаются небольшие проблемы в работе, которые не мешают использованию основных функций приложений.

Ключевые новшества Wine 7.0:

  • Модули в формате PE
    • Почти все DLL-библиотеки переведены на использование формата исполняемых файлов PE (Portable Executable, применяется в Windows) вместо ELF. Применение PE решает проблемы с поддержкой различных схем защиты от копирования, осуществляющих сверку идентичности системных модулей на диске и в памяти.
    • Реализована возможность взаимодействия PE-модулей с Unix-библиотеками с использованием штатного системного вызова ядра NT, что позволяет скрыть обращение к Unix-коду от отладчиков Windows и отслеживать регистрацию потоков.
    • Встроенные DLL теперь загружаются только при наличии на диске соответствующего им файла в формате PE, независимо от того, настоящая это библиотека или заглушка. Указанное изменение позволяет приложению всегда видеть корректную привязку к PE-файлам. Для отключения данного поведения можно использовать переменную окружения WINEBOOTSTRAPMODE.
  • WoW64
    • Реализована архитектура WoW64 (64-bit Windows-on-Windows), позволяющая запускать 32-разрядные Windows-приложения в 64-разрядных Unix-процессах. Поддержка реализована через подключение прослойки, транслирующей 32-разрядные системные вызовы NT в 64-разрядные обращения к NTDLL.
    • Прослойки WoW64 подготовлены для большинства Unix-библиотек и позволяют 32-разрядным модулям в формате PE обращаться к 64-разрядным Unix-библиотекам. После завершения перевода всех модулей в формат PE появится возможность выполнения 32-разрядных Windows-приложений без установки 32-разрядных Unix-библиотек.
  • Темы оформления
    • Реализована поддержка тем оформления. В состав включены темы оформления "Light", "Blue" и "Classic Blue", которые могут быть выбраны через конфигуратор WineCfg.
    • Добавлена возможность настройки внешнего вида всех элементов управления интерфейса через темы оформления. Обеспечено автоматическое обновление вида элементов после смены темы оформления.
    • Во все встроенные приложения Wine добавлена поддержка тем оформления. Проведена адаптация приложений к экранам с высокой плотностью пикселей (High DPI).
  • Графическая подсистема
    • Добавлена новая библиотека Win32u, в которую вынесены части библиотек GDI32 и USER32, связанные с обработкой графики и управлением окнами на уровне ядра. В дальнейшем начнётся работа по переносу в Win32u компонентов драйверов, таких как winex11.drv и winemac.drv.
    • В драйвере Vulkan реализована поддержка спецификации графического API Vulkan 1.2.201.
    • Предоставлена поддержка вывода через API Direct2D штрихованных геометрических объектов, с возможностью проверки попадания клика (hit-test).
    • В API Direct2D реализована начальная поддержка визуальных эффектов, применяемых с использованием интерфейса ID2D1Effect.
    • В API Direct2D API добавлена поддержка интерфейса ID2D1MultiThread, применяемого для организации эксклюзивного доступа к ресурсам в многопоточных приложениях.
    • В наборе библиотек WindowsCodecs реализована поддержка декодирования изображений в формате WMP (Windows Media Photo) и кодирования изображений в форматe DDS (DirectDraw Surface). Прекращена поддержка кодирования изображений в формате ICNS (для macOS), который не поддерживается в Windows.
  • Direct3D
    • Значительно улучшен новый движок отрисовки, осуществляющий трансляцию вызовов Direct3D в графический API Vulkan. В большинстве ситуаций уровень поддержки Direct3D 10 и 11 в движке на базе Vulkan доведён до паритета со старым движком на основе OpenGL. Для включения движка отрисовки через Vulkan следует установить переменную реестра Direct3D "renderer" в значение "vulkan".
    • Реализованы многие возможности Direct3D 10 и 11, включая отложенные контексты (Deferred Contexts), работающие в контексте устройств объекты состояния, постоянные смещения в буферах, чистку неупорядоченных представлений текстур, копирование данных между ресурсами в бестиповых форматах (DXGI_FORMAT_BC3_TYPELESS, DXGI_FORMAT_R32G32B32A32_TYPELESS) и т.п.
    • Добавлена поддержка многомониторных конфигураций, позволяющая выбрать монитор для отображения Direct3D-приложения в полноэкранном режиме.
    • В API DXGI реализована возможность гамма-коррекции экрана, что может применяться приложениями на базе Direct3D 10 и 11 для изменения яркости экрана. Обеспечено извлечение счётчиков виртуальных фреймбуферов (SwapChain).
    • В Direct3D 12 добавлена поддержка корневых сигнатур версии 1.1.
    • В коде отрисовки через API Vulkan повышена эффективность обработки запросов при наличии в системе поддержки расширения VK_EXT_host_query_reset.
    • Добавлена возможность вывода виртуальных фреймбуферов (SwapChain) через GDI, если для отображения не могут использоваться OpenGL или Vulkan, например, при выводе в окно из разных процессов, например, в программах на базе фреймворка CEF (Chromium Embedded Framework).
    • При использовании бэкенда для шейдеров GLSL для шейдерных инструкций обеспечено применение модификатора "precise".
    • В API DirectDraw добавлена поддержка 3D-рендеринга в системную память, используя программные устройства, такие как "RGB", "MMX" и "Ramp".
    • В базу графических карт Direct3D добавлены карты AMD Radeon RX 5500M, AMD Radeon RX 6800/6800 XT/6900 XT, AMD Van Gogh, Intel UHD Graphics 630 и NVIDIA GT 1030.
    • Из реестра HKEY_CURRENT_USER\Software\Wine\Direct3D удалён ключ "UseGLSL", вместо которого начиная с Wine 5.0 нужно использовать "shader_backend".
    • Для поддержки Direct3D 12 теперь необходимо наличие библиотеки vkd3d как минимум версии 1.2.
  • D3DX
    • В реализации D3DX 10 улучшена поддержка фреймворка визуальных эффектов и добавлена поддержка формата изображений Windows Media Photo (JPEG XR)
    • Добавлены предоставляемые в D3DX10 функции создания текстур, такие как D3DX10CreateTextureFromMemory().
    • Частично реализованы программные интерфейсы ID3DX10Sprite и ID3DX10Font.
  • Звук и видео
    • В один общий бэкенд WineGStreamer объединены GStreamer-надстройки для DirectShow и фреймворка Media Foundation, что должно упростить разработку новых API декодирования контента.
    • На базе бэкенда WineGStreamer реализованы объекты Windows Media для синхронного и асинхронного чтения.
    • Продолжена доработка реализации фреймворка Media Foundation, добавлена поддержка функциональности IMFPMediaPlayer, распределителя сэмплов (sample allocator), улучшена поддержка EVR и буферов отрисовки SAR.
    • Удалена библиотека wineqtdecoder, предоставляющая декодировщик для формата QuickTime (для всех кодеков теперь используется GStreamer).
  • Устройства ввода
    • Значительно улучшен стек для устройств ввода, поддерживающих протокол HID (Human Interface Devices), в котором реализованы такие возможности как разбор HID-дескрипторов, обработка HID-сообщений и предоставление мини-драйверов HID.
    • В бэкендах драйвера winebus.sys улучшена трансляция описаний устройств в HID-сообщения.
    • Добавлен новый бэкенд DirectInput для джойстиков, поддерживающих протокол HID. Реализована возможность использования эффектов обратной связи в джойстиках. Улучшена панель управления джойстиками. Оптимизировано взаимодействие с устройствами, совместимыми с XInput. В WinMM поддержка джойстиков переведена на DInput, вместо использования бэкенда evdev в Linux и IOHID в macOS IOHID. Удалён старый драйвер джойстиков winejoystick.drv.
    • В модуль DInput добавлены новые тесты, базирующиеся на применении виртуальных HID-устройств и не требующие наличия физического устройства.
  • Текст и шрифты
    • В DirectWrite добавлен объект Font Set.
    • В RichEdit корректно реализован интерфейс TextHost.
  • Ядро (интерфейсы ядра Windows)
    • При запуске в Wine неопознанного исполняемого файла (например, 'wine foo.msi') теперь вызывается start.exe, который вызывает обработчики, связанные с типом файла.
    • Добавлена поддержка механизмов синхронизации NtAlertThreadByThreadId и NtWaitForAlertByThreadId, близких к фьютексам в Linux.
    • Добавлена поддержка отладочных объектов NT, применяемых для отладки функций ядра.
    • Добавлена поддержка динамических ключей реестра для сохранения данных о производительности.
  • C Runtime
    • В C runtime реализован полный набор математических функций, который главным образом перенесён из библиотеки Musl.
    • Для всех платформ CPU обеспечена корректная поддержка функций для вычислений с плавающей запятой.
  • Сетевые возможности
    • Улучшен режим совместимости с Internet Explorer 11 (IE11), который теперь используется по умолчанию для обработки HTML-документов.
    • В библиотеке mshtml реализован JavaScript-режим ES6 (ECMAScript 2015), в котором обеспечена поддержка таких возможностей, как выражение let и объект Map.
    • Установка в рабочий каталог Wine MSI-пакетов с дополнениями к движку Gecko теперь производится при необходимости, а не во время обновления Wine.
    • Добавлена поддержка протокола DTLS.
    • Реализован сервис NSI (Network Store Interface), хранящий и передающий другим сервисам информацию о маршрутизации и сетевых интерфейсах на компьютере.
    • Обработчики API WinSock, такие как setsockopt и getsockopt, перенесены в библиотеку NTDLL и драйвер afd.sys, для соответствия архитектуре Windows.
    • В рабочий каталог Wine теперь устанавливаются собственные файлы с сетевыми БД, такие как /etc/protocols и /etc/networks, вместо обращения к аналогичным Unix БД.
  • Альтернативные платформы
    • Добавлена поддержка оборудования Apple на базе ARM-чипов M1 (Apple Silicon).
    • Для поддержки функций BCrypt и Secur32 на платформе macOS теперь требуется установка библиотеки GnuTLS.
    • 32-разрядные исполняемые файлы для платоформ ARM теперь собираются в режиме Thumb-2, по аналогии с Windows. Для загрузки подобных файлов задействован preloader.
    • Для 32-разрядных платформ ARM реализована поддержка размотки (unwinding) исключений.
    • Для FreeBSD расширено число поддерживаемых запросов низкоуровневой информации о системе, таких как данные о состояние памяти и уровне заряда аккумулятора.
  • Встроенные приложения и инструменты для разработки
    • В утилиту reg.exe добавлена поддержка 32- и 64-разрядных представлений реестра. Добавлена поддержка копирования ключей реестра.
    • В утилиту WineDump добавлена поддержка вывода дампа метаданных Windows и показа детальной информации о записях CodeView.
    • В отладчике Wine Debugger (winedbg) реализована возможность отладки 32-разрядных процессов из 64-разрядного отладчика.
    • В компилятор IDL (widl) добавлена возможность загрузки библиотек, встроенных в PE-файлы, обеспечена поддержка специфичных для WinRT атрибутов и конструкций, а также реализован поиск библиотек в привязке к платформе.
  • Система сборки
    • В специфичных для аппаратных архитектур каталогах библиотеки теперь сохраняются с именами, отражающими архитектуру и тип исполняемых файлов, например,'i386-windows' для формата PE и 'x86_64-unix' для unix-библиотек, что позволяет реализовать поддержку разных архитектур в одной установке Wine и обеспечить кросскомпиляцию Winelib.
    • Для установки в заголовки PE-файлов опции, управляющей переходом на использование родных DLL-библиотек, в winebuild добавлен флаг '--prefer-native option' (обработка DLL_WINE_PREATTACH в DllMain прекращена).
    • Добавлена поддержка 4 версии формата отладочных данных Dwarf, который теперь используется по умолчанию при сборке библиотек Wine.
    • Добавлена сборочная опция '--enable-build-id' для сохранения в исполняемых файлах уникальных идентификаторов сборки.
    • Добавлена поддержка использования компилятора Clang в режиме совместимости с MSVC.
  • Разное
    • Наименование типовых каталогов в пользовательской оболочке (Windows Shell) приведено к схеме, применяемой начиная с Windows Vista, т.е. вместо 'My Documents' теперь создаётся каталог 'Documents', а большая часть данных сохраняется в каталог 'AppData'.
    • В прослойке для библиотеки OpenCL добавлена поддержка спецификации OpenCL 1.2.
    • В драйвер WinSpool добавлена поддержка различных вариантов размеров страниц при выводе на печать.
    • Добавлена начальная поддержка MSDASQL, провайдера Microsoft OLE DB для драйверов ODBC.
    • Движок Wine Mono с реализацией платформы .NET обновлён до выпуска 7.0.0.
    • Данные Unicode обновлены до спецификации Unicode 14.
    • В дерево исходных текстов встроены библиотеки Faudio, GSM, LCMS2, LibJPEG, LibJXR, LibMPG123, LibPng, LibTiff, LibXml2, LibXslt и Zlib, которые собираются в формате PE и не требуют наличия варианта в Unix-формате. При этом данные библиотеки также могут быть импортированы из системы для использования внешний сборок вместо встроенных PE-вариантов.

  1. OpenNews: Стабильный релиз Wine 6.0
  2. OpenNews: Выпуск Wine staging 6.0
  3. OpenNews: В Wayland-драйвере для Wine появилась поддержка Vulkan и многомониторных конфигураций
  4. OpenNews: Стабильный релиз Wine 5.0
  5. OpenNews: Компания Valve выпустила Proton 6.3, пакет для запуска Windows-игр в Linux
Обсуждение (247 +69) | Тип: Программы |
·18.01.2022 Релиз офисного пакета ONLYOFFICE Docs 7.0 (114 +20)
  Опубликован выпуск ONLYOFFICE DocumentServer 7.0 с реализацией сервера для online-редакторов ONLYOFFICE и организации совместной работы. Редакторы можно использовать для работы с текстовыми документами, таблицами и презентациями. Код проекта распространяется под свободной лицензией AGPLv3.

Одновременно сформирован выпуск продукта ONLYOFFICE DesktopEditors 7.0, построенного на единой кодовой базе с online-редакторами. Десктоп-редакторы оформлены в виде приложений для рабочего стола, которые написаны на JavaScript с использованием web-технологий, но объединяют в одном наборе клиентские и серверные компоненты, оформленные для самодостаточного использования на локальной системе пользователя, без обращения к внешнему сервису. Для совместной работы на своих мощностях также можно использовать платформу Nextcloud Hub, в которой обеспечена полная интеграция с ONLYOFFICE. Готовые сборки сформированы для Linux, Windows и macOS.

В ONLYOFFICE заявлена полная совместимость с форматами MS Office и OpenDocument. Среди поддерживаемых форматов: DOC, DOCX, ODT, RTF, TXT, PDF, HTML, EPUB, XPS, DjVu, XLS, XLSX, ODS, CSV, PPT, PPTX, ODP. Предусмотрена возможность расширения функциональности редакторов через плагины, например, доступны плагины для создания шаблонов и добавления видео с YouTube. Готовые сборки сформированы для Windows и Linux (deb- и rpm-пакеты).

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

  • Добавлена возможность изменения метода сортировки комментариев к документам, электронным таблицам и презентациям. Например, можно отсортировать комментарии по времени публикации или в алфавитном порядке.
  • Добавлена возможность вызова элементов меню клавиатурными комбинациями и отображения наглядных всплывающих подсказок о доступных комбинациях, показываемых при удержании клавиши Alt.
  • Добавлены новые градации увеличения масштаба документа, электронной таблицы или презентации (увеличение вплоть до 500%).
  • Редакторы документов:
    • Добавлены инструменты для создания заполняемых форм, предоставления доступа к формам и заполнения форм в режиме online. Для использования в формах имеется набор полей разных типов. Форма может распространяться как отдельно, так и в составе документа в формате DOCX. Заполненная форма может быть сохранена в форматах PDF и OFORM.
    • Добавлен тёмный режим оформления.
    • В открытую версию редакторов документов перенесены функции сравнения файлов и элементы управления содержимым.
    • Реализованы два режима отображения информации при проведении рецензирования изменений от других пользователей: показывать изменения при клике и выводить изменения во всплывающих подсказках при наведении мыши.
    • Добавлена поддержка автоматического преобразования ссылок и сетевых путей в гиперссылки.
  • Табличный процессор:
    • Предложен интерфейс для работы с историей версий электронной таблицы. Пользователь может просматривать историю изменений и при необходимости возвращаться к прошлому состоянию. По умолчанию новая версия электронной таблицы создаётся при каждом закрытии табличного процессора.
    • В открытую версию табличного процессора перенесён интерфейс для создания произвольных представлений электронной таблицы (Sheet Views, отображение содержимого с учётом установленных фильтров).
    • Добавлена возможность установки пароля для ограничения доступа к файлам с документами и отдельным таблицам.
    • Добавлена поддержка механизма Query Table, позволяющего формировать таблицы с содержимым из внешних источников, например, можно комбинировать данные из нескольких электронных таблиц.
    • В режиме совместного редактирования предоставлена возможность отображения курсоров других пользователей и результатов выделения областей.
    • Добавлена поддержка разделения таблиц и строки состояния.
    • Обеспечена поддержка переноса таблиц в режиме drag&drop при удержании клавиши Ctrl.
  • Редактор презентаций:
    • Появилась возможность автоматического отображения анимации в слайдах.
    • В верхней панели предоставлена отдельная вкладка с настройками эффектов перехода от одного слайда к другому.
    • Добавлена возможность сохранения презентаций в форме изображений в форматах JPG или PNG.
  • Изменения, специфичные для обособленных приложений ONLYOFFICE DesktopEditors:
    • Предоставлена возможность запуска редактора в одном окне.
    • Добавлены провайдеры для совместного доступа к файлам через сервисы Liferay и kDrive.
    • Добавлены переводы интерфейса на белорусский и украинский языки.
    • Для экранов с высокой плотностью пикселей реализована возможность увеличения масштаба интерфейса до уровней 125% и 175% (помимо ранее доступных 100%, 150% и 200%).



  1. OpenNews: Выпуск офисного пакета OnlyOffice Desktop 6.4
  2. OpenNews: Выпуск online-редакторов ONLYOFFICE Docs 6.4
  3. OpenNews: Выпуск офисного пакета OnlyOffice 6.0
  4. OpenNews: Выпуск Apache OpenOffice 4.1.11
  5. OpenNews: Выпуск офисного пакета LibreOffice 7.2
Обсуждение (114 +20) | Тип: Программы |
·18.01.2022 Выпуск GNU Radio 3.10.0 (51 +22)
  После года разработки сформирован новый значительный релиз свободной платформы цифровой обработки сигналов GNU Radio 3.10. Платформа включает набор программ и библиотек, позволяющих создавать произвольные радиосистемы, схемы модуляции и форма принимаемых и отправляемых сигналов в которых задаются программно, а для захвата и генерации сигналов применяются простейшие аппаратные устройства. Проект распространяется под лицензией GPLv3. Код большей части компонентов GNU Radio написан на языке Python, части, критичные к производительности и времени задержки, написаны на языке С++, что позволяет использовать пакет при решении задач в режиме реального времени.

В комбинации с универсальными программируемыми приёмопередатчиками, не привязанными к полосе частот и типу модуляции сигнала, платформа может быть использована для создания таких устройств, как базовые станции для сетей GSM, устройства для дистанционного чтения RFID-меток (электронные удостоверения и пропуски, смарт-карты), GPS-ресиверы, WiFi, приемники и передатчики FM-радио, TV-декодеры, пассивные радары, спектральные анализаторы и т.п. Кроме USRP, пакет может использовать и другие аппаратные компоненты для ввода и вывода сигналов, например, доступны драйверы для звуковых карт, TV-тюнеров, устройств BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP и S-Mini.

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

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

  • Добавлен новый модуль gr-pdu, в который перенесены инструменты для манипуляции объектами с типом PDU (Protocol Data Unit), применяемым для данных, переносимых между блоками GNU Radio. Из модуля gr-blocks все блоки PDU перенесены в модули gr-network и gr-pdu, а вместо gr-blocks оставлена прослойка для обеспечения обратной совместимости. Векторные типы PDU теперь доступны в пространстве имён gr::types, а функции для манипуляции PDU - в пространстве имён gr::pdu.
  • Добавлен новый модуль gr-iio, предоставляющий фреймворк ввода/вывода для организации обмена данными между GNU Radio и промышленными устройствами на базе подсистемы IIO (Industrial I/O), такими как PlutoSDR, AD-FMCOMMS2-EBZ, AD-FMCOMMS3-EBZ, AD-FMCOMMS4-EBZ, ARRADIO и AD-FMCOMMS5-EBZ.
  • Предложена экспериментальная поддержка класса Custom Buffer, упрощающего передачу данных между блоками GNU Radio и аппаратными ускорителями на базе GPU, FPGA и DSP. Применение custom_buffer позволяет обойтись без написания специальных блоков для задействования ускорения на стороне GPU и даёт возможность напрямую перемещать данные из кольцевого буфера GNU Radio в память GPU, запускать ядра CUDA и возвращать данные c результатом в буферы GNU Radio.
  • Инфраструктура для ведения логов переведена на использование библиотеки spdlog, что позволило повысить удобство работы с логами, избавиться от обращения к iostream и cstdio, обеспечить поддержку выражений libfmt для форматирования строк и модернизировать программный интерфейс. Ранее применяемая библиотека Log4CPP удалена из зависимостей.
  • Осуществлён переход на использование при разработке стандарта C++17. Библиотека boost::filesystem заменена на std::filesystem.
  • Повышены требования к компиляторам (GCC 9.3, Clang 11, MSVC 1916) и зависимостям (Python 3.6.5, numpy 1.17.4, VOLK 2.4.1, CMake 3.16.3, Boost 1.69, Mako 1.1.0, PyBind11 2.4.3, pygccxml 2.0.0).
  • Добавлены Python-биндинги для блоков RFNoC.
  • В блоках для построения графического интерфейса gr-qtgui добавлена поддержка Qt 6.2. В графический интерфейс GRC (GNU Radio Companion) добавлена опция "--output" для иерархических блоков.

  1. OpenNews: Выпуск GNU Radio 3.9.0
  2. OpenNews: Проект OpenWifi с реализацией открытого Wi-Fi чипа на базе FPGA и SDR
  3. OpenNews: Опубликован код для организации передачи данных между ноутбуками в ультразвуковом диапазоне
  4. OpenNews: Доступен пакет OpenLTE 0.20 с реализацией стека 3GPP LTE
  5. OpenNews: GNU Radio помог восстановить контроль над космическим аппаратом ISEE-3
Обсуждение (51 +22) | Тип: Программы |
·18.01.2022 Выпуск hostapd и wpa_supplicant 2.10 (48 +17)
  После полутора лет разработки подготовлен выпуск hostapd/wpa_supplicant 2.10, набора для обеспечения работы беспроводных протоколов IEEE 802.1X, WPA, WPA2, WPA3 и EAP, состоящего из приложения wpa_supplicant для подключения к беспроводной сети в роли клиента и фонового процесса hostapd для обеспечения работы точки доступа и сервера аутентификации, включающего такие компоненты как WPA Authenticator, клиент/сервер аутентификации RADIUS, сервер EAP. Исходные тексты проекта распространяются под лицензией BSD.

Кроме функциональных изменений в новой версии блокирован новый вектор атаки по сторонним каналам, затрагивающий метод согласования соединений SAE (Simultaneous Authentication of Equals) и протокол EAP-pwd. Злоумышленник, имеющий возможность выполнения непривилегированного кода на системе пользователя, подключающегося к беспроводной сети, может через отслеживания активности в системе получить сведения о характеристиках пароля и использовать их для упрощения подбора пароля в offline-режиме. Проблема вызвана утечкой по сторонним каналам информации о характеристиках пароля, которые позволяют по косвенным данным, таким как изменение задержек при выполнении операций, уточнить правильность выбора частей пароля в процессе его подбора.

В отличие от похожих проблем, устранённых в 2019 году, новая уязвимость вызвана тем, что внешние криптографические примитивы, используемые в функции crypto_ec_point_solve_y_coord(), не обеспечивали постоянное время выполнения операций, не зависящее от характера обрабатываемых данных. На основе анализа поведения процессорного кэша атакующий, имеющий возможность запуска непривилегированного кода на том же ядре процессора, мог получить информацию о ходе выполнения операций с паролем в SAE/EAP-pwd. Проблеме подвержены все версии wpa_supplicant и hostapd, собранные с поддержкой SAE (CONFIG_SAE=y) и EAP-pwd (CONFIG_EAP_PWD=y).

Другие изменения в новых выпусках hostapd и wpa_supplicant:

  • Добавлена возможность сборки с криптографической библиотекой OpenSSL 3.0.
  • Реализован предложенный в обновлении спецификации WPA3 механизм Beacon Protection, предназначенный для защиты от активных атак на беспроводную сеть, манипулирующих изменением кадров Beacon.
  • Добавлена поддержка протокола DPP 2 (Wi-Fi Device Provisioning Protocol), определяющего метод аутентификации по открытым ключам, задействованный в стандарте WPA3 для организации упрощённой настройки устройств без экранного интерфейса. Настройка осуществляется с использованием другого более продвинутого устройства, уже подключенного к беспроводной сети. Например, параметры для IoT-устройства без экрана можно задать со смартфона на основе снимка QR-кода, напечатанного на корпусе;
  • Добавлена поддержка расширенных идентификаторов ключей (Extended Key ID, IEEE 802.11-2016).
  • В реализацию метода согласования соединений SAE добавлена поддержка механизма защиты SAE-PK (SAE Public Key). Реализован режим мгновенной отправки подтверждения, включаемый опцией "sae_config_immediate=1", а также механизм hash-to-element, включаемый при выставлении параметра sae_pwe в значения 1 или 2.
  • В реализацию EAP-TLS добавлена поддержка TLS 1.3 (отключена по умолчанию).
  • Добавлены новые настройки (max_auth_rounds, max_auth_rounds_short) для изменения лимитов на число EAP-сообщений в процессе аутентификации (изменение лимитов может потребоваться при использовании очень больших сертификатов).
  • Добавлена поддержка механизма PASN (Pre Association Security Negotiation) для установки защищённого соединения и защиты обмена управляющими кадрами на ранней стадии подключения.
  • Реализован механизм Transition Disable, позволяющий для усиления безопасности автоматически отключать режим роуминга, допускающий переключение между точками доступа по мере перемещения.
  • Из сборок по умолчанию исключена поддержка протокола WEP (для возвращения поддержки WEP требуется пересборка с опцией CONFIG_WEP=y). Удалена устаревшая функциональность, связанная с протоколом IAPP (Inter-Access Point Protocol). Прекращена поддержка libnl 1.1. Добавлена сборочная опция CONFIG_NO_TKIP=y для сборки без поддержи TKIP.
  • Устранены уязвимости в реализации UPnP (CVE-2020-12695), в обработчике P2P/Wi-Fi Direct (CVE-2021-27803) и механизме защиты PMF (CVE-2019-16275).
  • Из специфичных для hostapd изменений можно отметить расширение поддержки беспроводных сетей HEW (High-Efficiency Wireless, IEEE 802.11ax), включая возможность использования частотного диапазона 6 GHz.
  • Изменения, специфичные для wpa_supplicant:
    • Добавлена поддержка настроек режима точки доступа для SAE (WPA3-Personal).
    • Для каналов EDMG (IEEE 802.11ay) реализована поддержка режима P2P.
    • Улучшено прогнозирование пропускной способности и выбор BSS.
    • Расширен интерфейс управления через D-Bus.
    • Добавлен новый бэкенд для хранения паролей в отдельном файле, позволяющий вынести конфиденциальную информацию из основного файла конфигурации.
    • Добавлены новые политики для SCS, MSCS и DSCP.

  1. OpenNews: Уязвимость в wpa_supplicant, не исключающая удалённое выполнение кода
  2. OpenNews: Критическая уязвимость в wpa_supplicant, компоненте для подключения к беспроводным сетям
  3. OpenNews: Новая техника атаки на беспроводные сети с WPA2
  4. OpenNews: Уязвимости в технологии защиты беспроводных сетей WPA3 и в EAP-pwd
  5. OpenNews: Новые уязвимости в технологии защиты беспроводных сетей WPA3 и в EAP-pwd
Обсуждение (48 +17) | Тип: Программы |
·17.01.2022 Выпуск мультимедиа-пакета FFmpeg 5.0 (224 +58)
  После десяти месяцев разработки доступен мультимедиа-пакет FFmpeg 5.0, включающий набор приложений и коллекцию библиотек для операций над различными мультимедиа-форматами (запись, преобразование и декодирование звуковых и видеоформатов). Пакет распространяется под лицензиями LGPL и GPL, разработка FFmpeg ведётся смежно с проектом MPlayer. Значительная смена номера версии объясняется существенными изменениями в API и переходом на новую схему формирования релизов, в соответствии с которой новые значительные выпуски будут формироваться раз в год, а релизы с расширенным временем поддержи - раз в два года. FFmpeg 5.0 станет первым LTS-релизом проекта.

Из изменений, добавленных в FFmpeg 5.0, можно выделить:

  • Проведена значительная чистка старых API для кодирования и декодирования. Выполнен переход на новый N:M API, предлагающий единый программный интерфейс для звука и видео, а также разделяющего кодеки для входных и выходных потоков. Удалены все старые API, ранее помеченные устаревшими. Добавлен новый API для bitstream-фильтров. Разделены форматы и кодеки - распаковщики медиаконтейнеров больше не встраивают весь контекст декодировщиков. Удалены API для регистрации кодеков и форматов - все форматы теперь всегда зарегистрированы.
  • Удалена библиотека libavresample.
  • В библиотеку libswscale добавлен более простой API на базе AVFrame.
  • Значительно улучшена поддержка графического API Vulkan.
  • Добавлена поддержка аппаратного ускорения декодирования и кодирования форматов VP9 и ProRes с использованием API VideoToolbox.
  • Добавлена поддержка архитектуры LoongArch, применяемой в процессорах Loongson, а также поддержка предоставляемых в LoongArch SIMD-расширений LSX и LASX. Для кодеков H.264, VP8 и VP9 реализованы специфичные для LoongArch оптимизации.
  • Добавлена поддержка протокола Concatf, определяющий формат для передачи списка ресурсов ("ffplay concatf:split.txt").
  • Добавлены новые декодировщики: Speex, MSN Siren, ADPCM IMA Acorn Replay, GEM (растровые изображения).
  • Добавлены новые кодировщики: bitpacked, Apple Graphics (SMC), ADPCM IMA Westwood, VideoToolbox ProRes. Параметры кодировщика AAC изменены для достижения более высокого качества.
  • Добавлены упаковщики медиаконтейнеров (muxer): Westwood AUD, Argonaut Games CVG, AV1 (Low overhead bitstream).
  • Добавлены распаковщики медиаконтейнеров (demuxer): IMF, Argonaut Games CVG.
  • Добавлен новый парсер для звукового кодека AMR (Adaptive Multi-Rate).
  • Добавлен упаковщик payload-данных (packetizer) для передачи несжатого видео с использованием протокола RTP (RFC 4175).
  • Новые фильтры для видео:
    • segment и asegment - разделение одного потока с видео или звуком на несколько потоков с разделением по времени или кадрам.
    • hsvkey и hsvhold - заменяют в видео часть цветового диапазона HSV на значения в оттенках серого.
    • grayworld - цветокоррекция видео с использованием алгоритма на основе гипотезы серого мира.
    • scharr - применение оператора Шара (вариант оператора Собеля с другими коэффициентами) к входному видео.
    • morpho - позволяет применить различные морфологические преобразования к видео.
    • latency и alatency - измеряет минимальную и максимальную задержку фильтрации для ранее применённого фильтра.
    • limitdiff - определяет разницу между двумя или тремя видеопотоками.
    • xcorrelate - вычисляет взаимную корреляцию между видеопотоками.
    • varblur - переменное размытие видео с определением радиуса размытия из второго видео.
    • huesaturation - применение к видео корректировки оттенка, насыщенности или интенсивности.
    • colorspectrum - генерация видеопотока с заданным цветовым спектром.
    • libplacebo - применение для обработки HDR шейдеров из библиотеки libplacebo.
    • vflip_vulkan, hflip_vulkan и flip_vulkan - варианты фильтров вертикального или горизонтального переворота видео (vflip, hflip и flip), реализованные с использованием графического API Vulkan.
    • yadif_videotoolbox - вариант фильтра деинтерлейсинга yadif на базе фреймворка VideoToolbox.
  • Новые фильтры для звука:
    • apsyclip - применение психоакустического отсекателя к звуковому потоку.
    • afwtdn - подавляет широкополосный шум.
    • adecorrelate - применение ко входному потоку алгоритма декорреляции.
    • atilt - применение спектрального смещения для заданного диапазона частот.
    • asdr - определение искажения сигнала между двумя звуковыми потоками.
    • aspectralstats - вывод статистики со спектральными характеристиками каждого звукового канала.
    • adynamicsmooth - динамическое сглаживание звукового потока.
    • adynamicequalizer - динамическое выравнивание звукового потока.
    • anlmf - применение алгоритма наименьших средних квадратов к звуковому потоку.

  1. OpenNews: Выпуск мультимедиа-пакета FFmpeg 4.4
  2. OpenNews: Проекту FFmpeg исполнилось 20 лет
  3. OpenNews: Отчёт SPI о пожертвованиях Debian, X.Org, systemd, FFmpeg, Arch Linux, OpenWrt
  4. OpenNews: Выпуск мультимедиа-пакета FFmpeg 4.3 c поддержкой графического API Vulkan
  5. OpenNews: Выпуск dav1d 0.7, декодировщика AV1 от проектов VideoLAN и FFmpeg
Обсуждение (224 +58) | Тип: Программы |
·17.01.2022 Essence - самобытная операционная система со своим ядром и графической оболочкой (176 +91)
  Доступна для начального тестирования новая операционная система Essence, поставляемая со своим ядром и графическим интерфейсом пользователя. Проект развивается одним энтузиастом с 2017 года, создан с нуля и примечателен самобытным подходом к построению рабочего стола и графического стека. Наиболее заметной особенностью является возможность разделения окон на вкладки, дающие возможность работать в одном окне сразу с несколькими программами и группировать приложения по окнам в зависимости от решаемых задач. Код проекта написан на языке С++ и распространяется под лицензией MIT.

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

Ядро включает планировщик задач с поддержкой нескольких уровней приоритетов, подсистему управления памятью с поддержкой разделяемой памяти, mmap и многопоточным обработчиком страниц памяти, сетевой стек (TCP/IP), звуковую подсистему для микширования звуков, VFS и файловую систему EssenceFS с отдельной прослойкой для кэширования данных. Кроме собственной ФС предоставляются драйверы для Ext2, FAT, NTFS и ISO9660. Поддерживается вынос функциональности в модули с возможностью загрузки подобных модулей по мере необходимости. Драйверы подготовлены для ACPI с ACPICA, IDE, AHCI, NVMe, BGA, SVGA, HD Audio, Ethernet 8254x и USB XHCI (устройства хранения и HID).

Совместимость со сторонними приложениями достигается при помощи POSIX-прослойки, достаточной для запуска GCC и части утилит Busybox. Из портированных для Essence приложений отмечаются Си-библиотека Musl, эмулятор Bochs, GCC, Binutils, FFmpeg и Mesa. Среди созданных специально для Essence графических приложений выделяются файловый менеджер, текстовый редактор, IRC-клиент, просмотрщик изображений и системный монитор.

Система может работать на устаревшем оборудовании с менее чем 64 МБ ОЗУ и занимает около 30 МБ дискового пространства. Для экономии ресурсов выполняется только активное приложение, а все фоновые программы приостанавливаются. Загрузка и завершение работы выполняются менее секунды. Проектом ежедневно публикуются новые готовые сборки, пригодные для тестирования в QEMU.

  1. OpenNews: Выпуск операционной системы ToaruOS 2.0
  2. OpenNews: Третий бета-выпуск операционной системы Haiku R1
  3. OpenNews: Выпуск операционной системы Redox OS 0.6, написанной на языке Rust
  4. OpenNews: Первый выпуск DentOS, сетевой операционной системы для коммутаторов
  5. OpenNews: Выпуск свободной операционной системы Visopsys 0.9
Обсуждение (176 +91) | Тип: Программы |
·17.01.2022 Выпуск платформы голосового общения Mumble 1.4 (32 +31)
  После более двух лет разработки представлен релиз платформы Mumble 1.4, ориентированной на создание голосовых чатов, обеспечивающих низкие задержки и высокое качество передачи голоса. Ключевой областью применения Mumble является организация общения игроков в процессе прохождения компьютерных игр. Код проекта написан на языке С++ и распространяется под лицензией BSD. Сборки подготовлены для Linux, Windows и macOS.

Проект состоит из двух модулей - клиента mumble и сервера murmur. Графический интерфейс базируется на Qt. Для передачи звуковой информации применяется аудиокодек Opus. Предоставляется гибкая система разграничения доступа, например, возможно создание голосовых чатов для нескольких изолированных групп с предоставлением возможности отдельного общения лидеров во всех группах. Данные передаются только по шифрованному каналу связи, по умолчанию применяется аутентификация на основе открытых ключей.

В отличие от централизованных сервисов Mumble позволяет хранить данные пользователей на собственных серверах и полностью контролировать работу инфраструктуры, при необходимости подключая дополнительные скрипты-обработчики, для написания которых доступен специальный API на основе протоколов Ice и GRPC. В том числе можно использовать существующие базы пользователей для аутентификации или подключать звуковых ботов, которые, например, могут проигрывать музыку. Возможно управление сервером через web-интерфейс. Для пользователей доступны функции поиска друзей на разных серверах.

Из дополнительных применений упоминается запись совместных подкастов и поддержка позиционного живого звука в играх (источник звука связан с игроком и исходит от его местоположения в игровом пространстве), включая игры насчитывающие сотни участников (например, Mumble используется в сообществах игроков в Eve Online и Team Fortress 2). В играх также поддерживается режим оверлея, при котором пользователь видит с каким именно игроком он разговаривает и может посмотреть FPS и локальное время.

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

  • Реализована возможность разработки плагинов общего назначения, которые можно устанавливать и обновлять, независимо от основного приложения. В отличие от ранее предоставляемых встроенных плагинов, новый механизм может применяться для реализации произвольных дополнений и не ограничен средствами для извлечения информации о местонахождении игрока для реализации позиционного звука.
  • Добавлен полноценный диалог поиска пользователей и каналов, доступных на сервере. Диалог может вызываться через комбинацию Ctrl+F или через меню. Поддерживается как поиск по маске, так и использование регулярных выражений.
  • Добавлен режим прослушивания канала, позволяющий пользователю слышать все звуки, которые слышат участники канала, но без непосредственного подключения к каналу. При этом слушающие пользователи отражаются в списке участников канала, но помечены специальным значком (только в новых версиях, в старых клиентах подобные пользователи не отображаются). Режим однонаправленный, т.е. если слушающий пользователь захочет высказаться, ему необходимо будет подключиться к каналу. Для администраторов канала предоставлены ACL и настройки для запрета подключения в слушающем режиме.
  • Добавлен интерфейс TalkingUI, позволяющий понять кто именно сейчас говорит. Интерфейс предоставляет всплывающее окно со списком говорящих в данный момент пользователей, выступающее аналогом всплывающей подсказки в игровом режиме, но предназначенное для повседневного использования не игроками.
  • В интерфейс добавлены индикаторы ограничения доступа, позволяющие понять сможет пользователь подключиться к каналу или нет (например, если канал допускает только вход по паролю или привязан к определённой группе на сервере).
  • В текстовых сообщениях реализована поддержка разметки Markdown, которую например, можно использовать для отправки в чат списков, отрывков кода, цитат, подсвечивания частей текста жирным или курсивом, оформления ссылок.
  • Добавлена возможность воспроизведения стереозвука, позволяющая серверу отправлять звуковой поток в режиме стерео, который не будет преобразовываться клиентом в моно. Указанная возможность может применяться например для создания музыкальных ботов. Отправка звука из официального клиента по-прежнему возможна только в режиме моно.
  • Добавлена возможность назначения пользователям ников, что даёт возможность привязать более понятное имя к пользователям, которые злоупотребляют слишком длинными именами или часто меняют имя. Назначенные имена могут показываться в списке участников как дополнительные метки или полностью заменять исходное имя. Ники привязываются к сертификатам пользователя, не зависят от выбранного сервера и не меняются после перезапуска.
  • На сервере появилась функции отправки приветственного текста в широковещательном режиме при помощи протокола Ice. Добавлена поддержка отражения в логе ACL и всех изменений в группах. Добавлены отдельные ACL для управления сбросом комментариев и аватаров. По умолчанию разрешено использование пробелов в именах пользователей. Снижена нагрузка на CPU благодаря включению по умолчанию режима TCP_NODELAY.
  • Добавлены плагины для поддержки позиционного звука в игре Among Us и в произвольных играх на базе движка Source. Обновлены плагины для игр Call of Duty 2 и GTA V.
  • Звуковой кодек Opus обновлён до версии 1.3.1.
  • Удалена поддержка Qt4, DirectSound и CELT 0.11.0. Удалена классическая тема оформления.

  1. OpenNews: Выпуск платформы голосового общения Mumble 1.3
  2. OpenNews: Выпуск Dendrite 0.1.0, коммуникационного сервера с реализацией протокола Matrix
  3. OpenNews: Первый выпуск коммуникационной платформы Fosscord, совместимой с Discord
  4. OpenNews: Проект Revolt развивает открытую альтернативу платформе Discord
  5. OpenNews: Опубликован децентрализованный коммуникационный клиент Jami "Taranis"
Обсуждение (32 +31) | Тип: Программы |
·17.01.2022 Четвёртая редакция патчей для ядра Linux с поддержкой языка Rust (218 +4)
  Мигель Охеда (Miguel Ojeda), автор проекта Rust-for-Linux, предложил для рассмотрения разработчиками ядра Linux четвёртый вариант компонентов для разработки драйверов устройств на языке Rust. Поддержка Rust рассматривается как экспериментальная, но уже согласована для включения в ветку linux-next и достаточно развита для начала работы по созданию слоёв абстракции над подсистемами ядра, а также для написания драйверов и модулей. Разработка финансируется компанией Google и организацией ISRG (Internet Security Research Group), которая является учредителем проекта Let's Encrypt и способствует продвижению HTTPS и развитию технологий для повышения защищённости интернета.

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

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

В новом варианте патчей продолжено устранение замечаний, высказанных в процессе обсуждения первой, второй и третьей редакций патчей. В новой версии:

  • Осуществлён переход на использование в качестве эталонного компилятора стабильного выпуска Rust 1.58.0. Из необходимых для проекта изменений, который пока ещё не включены в основной состав инструментария Rust, отмечаются флаг "-Zsymbol-mangling-version=v0" (ожидается в Rust 1.59.0) и режим "maybe_uninit_extra" (ожидается в Rust 1.60.0).
  • Добавлены автоматические проверки наличия подходящего инструментария Rust и расширены возможности по тестированию поддержки Rust в системе.
  • Предложены новые абстракции для доступа из кода на языке Rust к таблицам идентификаторов устройств ("IdArray" и "IdTable").
  • Добавлены прослойки для обращения к функциям, связанным с таймером (clock framework).
  • Драйверы для платформ теперь определены через реализацию типажей.
  • Добавлен новый макрос для упрощения регистрации драйверов платформ, а также предложен новый шаблон типового драйвера.
  • Добавлены макросы для структур "dev_*".
  • Добавлены методы "{read,write}*_relaxed" для типа IoMem<T>.
  • Удалено свойство FileOpener для упрощения операций с файлами.
  • В число аргументов, передаваемых при регистрации драйвера, добавлен параметр "ThisModule".
  • Предложен типовой шаблон для создания модулей ядра на языке Rust.

  1. OpenNews: Третья редакция патчей для ядра Linux с поддержкой языка Rust
  2. OpenNews: Проект Kerla развивает Linux-совместимое ядро на языке Rust
  3. OpenNews: В ветку ядра Linux-next добавлен код для разработки драйверов на языке Rust
  4. OpenNews: Google профинансирует добавление поддержки Rust в ядро Linux
  5. OpenNews: Поддержка Rust для ядра Linux столкнулась с критикой Торвальдса
Обсуждение (218 +4) | Тип: Программы |
·16.01.2022 Звукозаписывающие компании подали иск за предоставление хостинга проекту Youtube-dl (290 –42)
  Звукозаписывающие компании Sony Entertainment, Warner Music Group и Universal Music подали в Германии судебный иск против провайдера Uberspace, который предоставляет хостинг для официального сайта проекта youtube-dl. В ответ на ранее отправленный внесудебный запрос о блокировке youtube-dl компания Uberspace не согласилась отключить сайт и выразила несогласие с предъявляемыми претензиями. Истцы настаивают на том, что youtube-dl является инструментом для нарушения авторских прав и пытаются преподнести действия Uberspace как соучастие распространению незаконного ПО.

Руководитель Uberspace считает, что иск не имеет юридического основания, так как youtube-dl не содержит возможностей для обхода механизмов защиты и лишь предоставляет доступ к уже доступному в YouTube публичному содержимому. Для ограничения доступа к лицензионному контенту в YouTube применяется DRM, но youtube-dl не предоставляет средств для расшифровки видеопотоков, закодированных с использованием данной технологии. По своей функциональности youtube-dl напоминает специализированный браузер, но никто не пытается запретить, например, Firefox, потому что он позволяет получить доступ к видео с музыкой на YouTube.

Истцы считают, что выполняемое программой Youtube-dl преобразование лицензионного потокового контента с YouTube в нелицензионные загружаемые файлы нарушает закон, так как позволяет обойти применяемые в YouTube технические механизмы организации доступа. В частности, упоминается обход технологии "cipher signature" (rolling cipher), которая по мнению истцов и в соответствии с решением по аналогичному делу Гамбургского областного суда может считаться мерой технологической защиты.

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

Из ранее предъявляемых претензий также можно упомянуть использование в Youtube-dl ссылок на отдельные композиции и попыток их загрузки с YouTube, но данная особенность не может рассматриваться как нарушение авторских прав, так как ссылки указаны во внутренних unit-тестах, которые не видны конечным пользователям, а при запуске не загружают и не распространяют весь контент, а лишь выполняют загрузку нескольких первых секунд в целях проверки работоспособности.

По мнению юристов организации Electronic Frontier Foundation (EFF), проект Youtube-dl не нарушает закон так как шифрованная сигнатура YouTube не является механизмом противодействия копированию, а проверочные загрузки относятся к добросовестному использованию. Ранее Ассоциация звукозаписывающих компаний Америки (RIAA) уже пыталась добиться блокировки Youtube-dl на GitHub, но сторонникам проекта удалось оспорить блокировку и вернуть доступ к репозиторию.

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

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

  1. OpenNews: GitHub опубликовал судебное решение, имеющее отношение к блокировке youtube-dl
  2. OpenNews: Quad9 проиграл апелляцию в деле о принуждении DNS-сервисов к блокировке пиратского контента
  3. OpenNews: GitHub учредил службу для защиты разработчиков от необоснованных DMCA-блокировок
  4. OpenNews: GitHub разблокировал youtube-dl и принял меры для исключения необоснованных блокировок
  5. OpenNews: Ассоциация RIAA добилась блокировки репозитория youtube-dl на GitHub
Обсуждение (290 –42) | Тип: К сведению |
·16.01.2022 Нарушение обратной совместимости в популярном NPM-пакете привело к сбоям в различных проектах (99 +16)
  В репозитории NPM наблюдается очередной массовый сбой в работе проектов из-за возникновения проблем в новой версии одной из популярных зависимостей. Источником проблем стал новый выпуск пакета mini-css-extract-plugin 2.5.0, предназначенного для извлечения CSS в отдельные файлы. Пакет насчитывает более 10 млн еженедельных загрузок и используется в качестве прямой зависимости у более чем 7 тысяч проектов.

В новой версии были внесены изменения, нарушающие обратную совместимость при импорте библиотеки и приводившие к выводу ошибки при попытке использования ранее допустимой и описанной в документации конструкции "const MiniCssExtractPlugin = require('mini-css-extract-plugin')", которую при переходе на новую версию потребовалось заменить на "const MiniCssExtractPlugin = require("mini-css-extract-plugin").default".

Проблема проявилась в проектах, не применяющих явную привязку к номеру версии при подключении зависимостей. В качестве обходного пути решения проблемы рекомендовано зафиксировать привязку к прошлой версии 2.4.5 через добавление '"overrides": {"mini-css-extract-plugin": "2.4.5"}' в Yarn или использовав команду "npm i -D --save-exact mini-css-extract-plugin@2.4.5" в NPM.

В числе пострадавших оказались пользователи развиваемого компанией Facebook пакета create-react-app, подключающего mini-css-extract-plugin в качестве зависимости. Из-за отсутствия привязки к номеру версии mini-css-extract-plugin попытки запуска create-react-app завершались выводом ошибки "TypeError: MiniCssExtractPlugin is not a constructor". Проблема также затронула пакеты @wordpress/scripts, @auth0/auth0-spa-js, sql-formatter-gui, LedgerSMB, vip-go-mu-plugins, cybros, vue-cli, chore и т.д.

  1. OpenNews: Разработчик внёс деструктивные изменения в NPM-пакеты colors и faker, применяемые в 20 тысячах проектов
  2. OpenNews: Уязвимость, позволявшая выпустить обновление для любого пакета в репозитории NPM
  3. OpenNews: В NPM-пакеты coa и rc, насчитывающие 9 и 14 млн загрузок в неделю, внедрено вредоносное ПО
  4. OpenNews: Незащищённость NPM к атакам по внедрению вредоносных модулей-червей
  5. OpenNews: Атака на зависимости позволила выполнить код на серверах PayPal, Micrоsoft, Apple, Netflix, Uber и ещё 30 компаний
Обсуждение (99 +16) | Тип: Тема для размышления |
·15.01.2022 Уязвимость в cryptsetup, позволяющая отключить шифрование в LUKS2-разделах (90 +27)
  В пакете Cryptsetup, применяемом для шифрования дисковых разделов в Linux, выявлена уязвимость (CVE-2021-4122), позволяющая через модификацию метаданных добиться отключения шифрования в разделах в формате LUKS2 (Linux Unified Key Setup). Для эксплуатации уязвимости атакующий должен иметь физический доступ к зашифрованному носителю, т.е. метод имеет смысл в основном для атаки на зашифрованные внешние накопители, такие как Flash-диски, к которым злоумышленник имеет доступ, но не знает пароля для расшифровки данных.

Атака применима только для формата LUKS2 и связана с манипуляцией метаданными, отвечающими за активацию расширения "online reencryption", позволяющего при необходимости смены ключа доступа инициировать процесс перешифрования данных на лету без остановки работы с разделом. Так как процесс расшифровки и шифровки с новым ключом занимает много времени, "online reencryption" даёт возможность не прерывать работу с разделом и выполнять перешифрование в фоне, постепенно переводя данные с одного ключа на другой. В том числе имеется возможность выбора пустого целевого ключа, что позволяет перевести раздел в расшифрованный вид.

Атакующий может внести в метаданные LUKS2 изменения, симулирующие аварийное прерывание выполнения операции расшифровки в результате сбоя и добиться расшифровки части раздела после последующей активации и использования модифицированного накопителя владельцем. При этом пользователь, подключивший модифицированный накопитель и разблокировавший его корректным паролем, не получает какого-либо предупреждения о выполнении процесса восстановления прерванной операции перешифрования и может узнать о ходе данной операции только при помощи команды "luks Dump". Объём данных, расшифровки которых может добиться атакующий, зависит от размера заголовка LUKS2, но при размере по умолчанию (16 MiB) может превышать 3 ГБ.

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

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

Проблема выявлена мэйнтейнером проекта cryptsetup и устранена в обновлениях cryptsetup 2.4.3 и 2.3.7. Состояние формирования обновлений с устранением проблемы в дистрибутивах можно отследить на данных страницах: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch. Уязвимость проявляется только начиная с выпуска cryptsetup 2.2.0, в котором появилась поддержка операции "online reencryption". В качестве обходного пути защиты может использоваться запуск с опцией "--disable-luks2-reencryption".

  1. OpenNews: Выпуск Cryptsetup 2.3 с поддержкой шифрованных разделов BitLocker
  2. OpenNews: В MD/RAID6 в Linux выявлена проблема, которая может привести к потере данных
  3. OpenNews: Проблема с повреждением разделов Ext4 оказалась в md-raid0
  4. OpenNews: Уязвимость в Cryptsetup, позволяющая получить доступ к root shell
  5. OpenNews: Выпуск Cryptsetup 2.0
Обсуждение (90 +27) | Тип: Проблемы безопасности |
Следующая страница (раньше) >>



Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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