The OpenNET Project / Index page

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

22.04.2021 Выпуск KDE Gear 21.04, набора приложений от проекта KDE (25 +9)
  Представлено апрельское сводное обновление приложений (21.04), развиваемых проектом KDE. Начиная с данного выпуска сводный набор приложений KDE теперь будет публиковаться под именем KDE Gear, вместо KDE Apps и KDE Applications. Всего в рамках апрельского обновления опубликованы выпуски 225 программ, библиотек и плагинов. Информацию о наличии Live-сборок с новыми выпусками приложений можно получить на данной странице.

Наиболее заметные новшества:

  • Расширены возможности менеджера персональной информации Kontact, охватывающего такие приложения, как почтовых клиент, календарь-планировщик, менеджер сертификатов и адресную книгу:
    • Календарь планировщик теперь может рассылать приглашения на запланированные встречи и отправлять предупреждения в случае изменения времени проведения мероприятия.
    • В почтовом бэкенде обеспечено сохранение сведений об отправителях входящих писем, даже если пользователь явно не добавил их в адресную книгу. Накопленные данные используются при формировании рекомендаций во время заполнения адреса в новом письме.
    • В почтовом клиенте Kmail добавлена поддержка стандарта Autocrypt, упрощающего шифрование корреспонденции за счёт простой автоматической настройки и обмена ключами без использования серверов ключей (ключ автоматически передаётся в первом отправленном сообщении).
    • Предоставлены средства для контроля за данными, загружаемыми с внешних сайтов при открытии писем, например, встроенных картинок, которые могут использоваться для отслеживания факта открытия письма.
    • Проведена модернизация оформления, нацеленная на упрощение работы с календарём и адресной книгой.
  • Продолжено развитие ассистента в путешествиях KDE Itinerary, помогающего добраться до пункта назначения, используя данные из различных источников, и предоставляющего сопутствующую информацию, необходимую в дороге (расписания движения транспорта, расположение вокзалов и остановок, информация о гостиницах, прогноз погоды, проходящие мероприятия). В новой версии добавлена возможность определения состояния лифтов и эскалаторов на карте вокзалов, а также использования информации из OpenStreetMap для получения сведений о времени работы. Кроме того, обеспечено разделение на карте видов точек проката велосипедов (можно оставлять на любой парковке или нужно возвращать в исходную точку).
  • Улучшения в файловом менеджере Dolphin:
    • Добавлена возможность одновременно распаковки нескольких архивов - достаточно выделить необходимые архивы и нажать на кнопку распаковки в контекстном меню, появляющемся при клике правой кнопкой мыши.
    • В интерфейсе реализована плавная анимация перегруппировки пиктограмм при разделении области просмотра или изменении размера окна.
    • При открытии новых вкладок появилась возможность настройки: открывать вкладку сразу после текущей вкладки или в конце списка.
    • При удержании клавиши Ctrl при клике на элементе в панели Places (Точки входа), содержимое будет открыто не в текущей, а в новой вкладке.
    • Во встроенные средства для работы с репозиториями Git, Mercurial и Subversion добавлено определение корневого каталога рабочей копии репозитория.
    • Предоставлена возможность изменения содержимого контекстных меню, например, пользователь может удалить заведомо лишние элементы. Полный список настроек и опций всегда можно найти в меню "гамбургер", показываемом в правой верхней части окна.
  • В музыкальном проигрывателе Elisa добавлена поддержка воспроизведения звуковых файлов в формате AAC и обработки списков воспроизведения в формате .m3u8, в том числе с информацией о песнях, исполнителях и альбомах, заданных кириллицей. Проведена оптимизация потребления памяти при прокрутке и улучшена интеграция мобильной версии с платформой Android.
  • В видеоредакторе Kdenlive добавлена поддержка формата AV1. Упрощено изменение масштаба треков через перетягивание мышью ползунков, появившимися на концах горизонтальной полосы прокрутки.
  • В эмуляторе терминала Konsole добавлен отключаемый режим адаптивного перераспределения текста при изменении размера окна. Кроме того, обеспечена сортировка профилей по имени, переработаны диалоги управления и настройки профилей, повышена наглядность выделения текста, предоставлена возможность выбора внешнего редактора, вызываемого при клике с нажатой клавишей Ctrl на текстовом файле.
  • В текстовом редакторе Kate появилась поддержка прокрутки с использованием сенсорных экранов. Добавлена возможность отображение всех TODO-заметок в проекте. Реализованы средства для выполнения базовых операций в Git, таких как просмотр изменений.
  • В просмотрщике документов Okular при попытке открыть уже ранее открытый документ, программа теперь лишь переключается на имеющийся документ вместо показа двух копий. Кроме того, расширена поддержка файлов в формате FictionBook и добавлена возможность заверения документов цифровой подписью.
  • В просмотрщике изображений и видео Gwenview обеспечено отображение текущего и оставшегося времени при воспроизведении видео. Предоставлена возможность настройки уровней качества и сжатия для изображений в форматах JPEG XL, WebP, AVIF, HEIF и HEIC.
  • В утилите для создания скриншотов появилась возможность смены формата изображений при использовании языка, отличного от английского.

  1. OpenNews: KDE взял на себя продолжение сопровождения общедоступной ветки Qt 5.15
  2. OpenNews: Проект KDE представил окружение Plasma Bigscreen для телевизоров
  3. OpenNews: Релиз рабочего стола KDE Plasma 5.21
  4. OpenNews: В PinePhone решено поставлять по умолчанию Manjaro c KDE Plasma Mobile
  5. OpenNews: Выпуск приложений KDE 20.12
Обсуждение (25 +9) | Тип: Программы |
22.04.2021 Выпуск дистрибутива Ubuntu 21.04 (144 +19)
  Доступен релиз дистрибутива Ubuntu 21.04 "Hirsute Hippo", который отнесён к промежуточным выпускам, обновления для которых формируются в течение 9 месяцев (поддержка будет осуществляться до января 2022 года). Установочные образы созданы для Ubuntu, Ubuntu Server, Lubuntu, Kubuntu, Ubuntu Mate, Ubuntu Budgie, Ubuntu Studio, Xubuntu и UbuntuKylin (редакция для Китая).

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

  • В качестве рабочего стола продолжена поставка GNOME Shell 3.38, собранного с использованием GTK3, но приложения GNOME преимущественно синхронизированы с GNOME 40 (переход рабочего стола на GTK 4 и GNOME 40 признан преждевременным).
  • По умолчанию включён сеанс на базе протокола Wayland. При использовании проприетарных драйверов NVIDIA по умолчанию как и раньше предлагается сеанс на основе X-сервера, но для остальных конфигураций данный сеанс переведён в разряд опций. Отмечается, что последнее время устранены многие ограничения сеанса GNOME на базе Wayland, которые были отнесены к числу проблем, блокирующих переход на Wayland. Например, появились возможность предоставления совместного доступа к рабочему столу, используя мультимедийный сервер Pipewire. Первая попытка перевода Ubuntu по умолчанию на Wayland была предпринята в 2017 году в Ubuntu 17.10, но в Ubuntu 18.04 из-за нерешённых проблем был возвращён традиционный графический стек на основе X.Org Server.
  • Предложена новая тёмная тема оформления Yaru и обновлены пиктограммы для идентификации типов файлов.
  • Добавлена поддержка мультимедийного сервера Pipewire, который позволяет организовать запись содержимого экрана, улучшить поддержку звука в изолированных приложениях, предоставить возможности профессиональной обработки звука, избавиться от фрагментации и унифицировать звуковую инфраструктуру для разных применений.
  • Добавлена поддержка аутентификации с использованием смарт-карт (при помощи pam_sss 7).
  • На рабочем столе добавлена возможность перемещения ресурсов из приложений при помощи метода drag&drop.
  • В настройках появилась возможность изменения профиля энергопотребления.
  • В инсталлятор добавлена поддержка создания запасных ключей для восстановления доступа к зашифрованным разделам, которые можно использовать для расшифровки в случае потери пароля.
  • Улучшена интеграция с Active Directory и предоставлена возможность аутентификации пользователей в Active Directory с поддержкой GPO (Group Policy Objects) сразу после установки Ubuntu. Администраторы могут управлять рабочими станциями Ubuntu, размещая настройки в контроллере домена Active Directory, в том числе настройки рабочего стола и набор предлагаемых приложений. Для определения политик обеспечения безопасности всех подключённых клиентов может применяться GPO, в том числе для задания параметров доступа пользователей и правил оформления паролей.
  • Изменена модель доступа к домашним каталогам пользователей в системе - домашние каталоги теперь создаются с правами 750 (drwxr-x---), предоставляющими доступ к каталогу только владельцу и членам группы. По историческим причинам ранее домашние каталоги пользователей в Ubuntu создавались с правами доступа 755 (drwxr-xr-x), позволяющими одному пользователю просматривать содержимое каталога другого.
  • Ядро Linux обновлено до версии 5.11, в котом отмечена поддержка анклавов Intel SGX, новый механизм перехвата системных вызовов, виртуальная шина auxiliary, запрет сборки модулей без MODULE_LICENSE(), режим быстрой фильтрации системных вызовов в seccomp, прекращение сопровождения архитектуры ia64, перенос технологии WiMAX в ветку "staging", возможность инкапсуляции SCTP в UDP.
  • По умолчанию задействован пакетный фильтр nftables. Для сохранения обратной совместимости доступен пакет iptables-nft, предоставляющий утилиты с тем же синтаксисом командной строки, как и в iptables, но транслирующий полученные правила в байткод nf_tables.
  • На системах x86_64 (amd64) и AArch64 (arm64) улучшена поддержка режима UEFI SecureBoot. Прослойка для организации верифицированной загрузки переведена на использование механизма SBAT (UEFI Secure Boot Advanced Targeting), решающего проблемы с отзывом сертификатов. Поддержка SBAT добавлена в пакеты grub2, shim и fwupd. SBAT подразумевает добавление новых метаданных, которые заверяются цифровой подписью и могут дополнительно включаться в списки разрешённых или запрещённых компонентов для UEFI Secure Boot. Указанные метаданные позволяют при отзыве манипулировать номерами версий компонентов без необходимости перегенерации ключей для Secure Boot и без формирования новых подписей для ядра, shim, grub2 и fwupd.
  • Обновлены системные компоненты и языки программирования, в том числе GCC 10.3.0, binutils 2.36.1, glibc 2.33, Python 3.9.4, Perl 5.32.1. LLVM 12, Go 1.16, Rust 1.50, OpenJDK 16, Ruby 2.7.2, Rails 6.
  • Обновлены версии приложений и подсистем, в том числе Mesa 21.0, PulseAudio 14, BlueZ 5.56, NetworkManager 1.30, Firefox 87, LibreOffice 7.1.2, Thunderbird 78.8.1, Darktable 3.4.1, Inkscape 1.0.2, Scribus 1.5.6.1, OBS 26.1.2, KDEnlive 20.12.3, Blender 2.83.5, Krita 4.4.3, GIMP 2.10.22.
  • Обновлены компоненты для серверных систем, включая PostgreSQL 13.2, Samba 4.13.3, QEMU 5.2, SSSD 2.40, Net-SNMP 5.9, DPDK 20.11.1, Strongswan 5.9.1, Open vSwitch 2.15, Chrony 4.0, OpenVPN 2.5.1, Virt-manager 3.2.0, Libvirt 7.0, Rsyslog 8.2102.0, Docker 20.10.2, OpenStack Wallaby.
  • В сборках для Raspberry Pi реализована поддержка Wayland. Добавлена поддержка GPIO (через libgpiod и liblgpio). Для плат Compute Module 4 реализована поддержка Wi-Fi и Bluetooth.
  • Добавлены сборки для плат HiFive SiFive Unleashed и HiFive SiFive Unmatched на базе архитектуры RISC-V.
  • Для работы с iSCSI вместо tgt задействован инструментарий targetcli-fb, который отличается более высокой производительностью, дополнительными возможностями и поддержкой кластеризации SCSI 3.
  • В состав Ubuntu Server включён пакет needrestart, который запускается в конце каждой транзакции APT, выявляет изменения, требующие перезагрузки, и информирует об этом администратора.
  • Прекращена поддержка lua-модуля для nginx, который не совместим с новыми версиями nginx (вместо отдельного модуля проект теперь развивает OpenResty, специальную редакцию Nginx с интегрированной поддержкой LuaJIT).
  • В Kubuntu предложен рабочий стол KDE Plasma 5.21 и набор приложений KDE Applications 20.12.3. Фреймворк Qt обновлён до версии 5.15.2. По умолчанию задействован музыкальный проигрыватель Elisa 20.12.3. Обновлены версии Krita 4.4.3 и Kdevelop 5.6.2. Доступен, но не включён по умолчанию, сеанс на базе Wayland (для активации на экране входа в систему следует выбрать пункт "Plasma (Wayland)").
  • В Xubuntu рабочий стол Xfce обновлён до версии 4.16. В базовый состав включены приложения Hexchat и Synaptic. На рабочем столе по умолчанию отключён вывод меню приложений по правому клику мышью и скрыты ярлыки файловых систем и внешних накопителей.
  • В Ubuntu MATE продолжена поставка выпуска рабочего стола MATE 1.24.
  • В Ubuntu Studio задействован по умолчанию новый менеджер музыкальных сеансов Agordejo обновлены версии Studio Controls 2.1.4, Ardour 6.6, RaySession 0.10.1, Hydrogen 1.0.1, Carla 2.3-rc2, jack-mixer 15-1, lsp-plugins 1.1.29.
  • В Lubuntu предложено графическое окружение LXQt 0.16.0.
  • В Ubuntu Budgie задействован новый выпуск рабочего стола Budgie 10.5.2. Добавлены сборки для Raspberry Pi 4. Добавлена опциональная тема оформления в стиле macOS. В Shuffler, интерфейс для быстрой навигации по открытым окнам и группировки окон по сетке, добавлен интерфейс Layouts для группировки и запуска разом нескольких приложений, а также реализована возможность закрепление позиции и размера окна приложения. и Предложены новые апплеты budgie-clipboard-applet (управление буфером обмена) и budgie-analogue-applet (аналоговые часы) Обновлено оформление рабочего стола, по умолчанию предложена тёмная тема оформления. В Budgie Welcome для навигации по темам оформления предложен интерфейс на основе вкладок.

Дополнительно сообществом предложены два неофициальных варианта Ubuntu 21.04: Ubuntu Cinnamon Remix 21.04 с рабочим столом Cinnamon и Ubuntu Unity Remix 21.04 с рабочим столом Unity.

  1. OpenNews: Компания Canonical продлит поддержку Ubuntu 16.04 для платных подписчиков
  2. OpenNews: Компания Canonical начала продвижение Ubuntu как замены CentOS
  3. OpenNews: Canonical повысит качество промежуточных LTS-выпусков Ubuntu
  4. OpenNews: Выпуск дистрибутива Ubuntu 20.10
  5. OpenNews: Доступен монолитный дистрибутив Ubuntu Core 20
Обсуждение (144 +19) | Тип: Программы |
22.04.2021 Выпуск Chrome OS 90 (28 –3)
  Состоялся релиз операционной системы Chrome OS 90, основанной на ядре Linux, системном менеджере upstart, сборочном инструментарии ebuild/portage, открытых компонентах и web-браузере Chrome 90. Пользовательское окружение Chrome OS ограничивается web-браузером, а вместо стандартных программ задействованы web-приложения, тем не менее, Chrome OS включает в себя полноценный многооконный интерфейс, рабочий стол и панель задач. Сборка Chrome OS 90 доступна для большинства актуальных моделей Chromebook. Энтузиастами сформированы неофициальные сборки для обычных компьютеров с процессорами x86, x86_64 и ARM. Исходные тексты распространяются под свободной лицензией Apache 2.0.

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

  • В состав включено новое приложение для диагностики проблем, позволяющее запустить тесты и проверить состояние аккумулятора, процессора и памяти. Результаты выполненных проверок можно записать в файл для последующей передаче службе поддержки.
  • Изменено оформление менеджера учётных записей, который также перенесён в отдельную секцию "Accounts". Упрощено восприятие модели идентификации в Chrome OS и более ясно показано различие между учётными записями устройства и привязанными учётными записями Google. Изменён процесс добавления учётных записей и предоставлена возможность обойтись без прикрепления своей учётной записи Google к чужим сеансам.
  • Предоставлена возможность offline-доступа к файлами с документами, электронными таблицами и презентациями, хранимыми в облачных сервисах Google. Обращение осуществляется через каталог "My Drive" в файловом менеджере. Для включения доступа к файлами в offline-режиме следует в файловом менеджере выбрать каталоги в разделе "My Drive" и активировать для них флаг "Available offline".
  • Добавлена функция "Live Caption", позволяющая автоматически на лету создавать субтитры при просмотре любого видео, при прослушивании звуковых записей или при приёме видеовызовов через браузер. Для включения "Live Caption" в разделе "Accessibility" следует активировать флажок "Captions".
  • Добавлен простой интерфейс для информирования о наличии обновлений для Dock-станций и сертифицированных аксессуаров к Chromebook, позволяющий сразу применить доступные обновления.
  • Для новых пользователей по умолчанию обеспечен запуск YouTube и Google Maps в отдельных окнах, стилизованных под обособленные приложения, а не во вкладках браузера. Изменить режим можно через контекстное меню, показываемое при клике правой кнопкой мыши на пиктограмму приложений YouTube и Maps.
  • Обновлён интерфейс для навигации по недавно сохранённым загрузкам и созданным скриншотам, позволяющий также закрепить на видном месте важные файлы и выполнять в один клик такие операции, как запуск, копирование и перемещение.
  • Расширены возможности универсального встроенного поиска, позволяющего теперь не только искать приложения, локальные файлы и файлы в Google Drive, но и выполнять простые математические вычисления, узнавать прогноз погоды, получать данные о стоимости акций и обращаться к словарям.
  • Добавлена поддержка сканирования документов с использованием МФУ, сочетающих функции принтера и сканера. Поддерживается обращение к сканерами по Wi-Fi или прямое подключение через USB-порт (Bluetooth пока не поддерживается).
  • Объявлены устаревшими звуковые кодеки AMR-NB, AMR-WB и GSM. До окончательного удаления поддержку данных кодеков можно вернуть через параметр "chrome://flags/#deprecate-low-usage-codecs" или установить отдельное приложение с их реализацией из Google Play.

  1. OpenNews: Релиз Chrome 90
  2. OpenNews: Выпуск Chrome OS 89, приуроченный к 10-летию проекта Сhromebook
  3. OpenNews: Chrome сокращает цикл подготовки релизов и вводит в обиход редакцию Extended Stable
  4. OpenNews: В Chrome OS появится возможность установки на любое оборудование
  5. OpenNews: Выпуск Chrome OS 88
Обсуждение (28 –3) | Тип: Программы |
22.04.2021 Microsoft начал тестирование поддержки запуска GUI-приложений Linux в Windows (205 +13)
  Компания Microsoft объявила о начале тестирования возможности запуска Linux-приложений с графическим интерфейсом в окружениях на базе подсистемы WSL2 (Windows Subsystem for Linux), предназначенной для запуска исполняемых файлов Linux в Windows. Приложения полностью интегрируются с основным рабочим столом Windows, в том числе поддерживается размещение ярлыков в меню Start, воспроизведение звука, запись с микрофона, аппаратное ускорение OpenGL, отображение информации о программах в панели задач, переключение между программами по Alt-Tab, копирование данных между Windows- и Linux-программами через буфер обмена.

Для организации вывода интерфейса Linux-приложений на основной рабочий стол Windows задействован разработанный в Microsoft композитный менеджер RAIL-Shell, использующий протокол Wayland и основанный на кодовой базе Weston. Вывод осуществляется при помощи бэкенда RDP-RAIL (RDP Remote Application Integrated Locally), который отличается от ранее доступного в Weston бэкенда RDP тем, что композитный менеджер не выполняет сам отрисовку рабочего стола, а перенаправляет отдельные поверхности (wl_surface) по каналу RDP RAIL для отображения на основном рабочем столе Windows. Для запуска X11-приложений применяется XWayland.

Вывод звука организован с использованием сервера PulseAudio, который также взаимодействует с Windows при помощи протокола RDP (для вывода звука применяется плагин rdp-sink, а для ввода - rdp-source). Композитный сервер, XWayland и PulseAudio упакованы в форме универсального мини-дистрибутива WSLGd, включающего компоненты для абстрагирования графической и звуковой подсистемы, и основанный на дистрибутиве CBL-Mariner Linux, также используемом в облачной инфраструктуре Microsoft. WSLGd запускается с использованием механизмов виртуализации, а для совместного доступа между гостевым окружением с Linux и хост-системой Windows применяется virtio-fs.

В качестве RDP-сервера, запускаемого в Linux-окружении WSLGd, применяется FreeRDP, а на стороне Windows RDP-клиентом выступает mstsc. Для определения имеющихся графических Linux-приложений и их отображения в меню Windows подготовлен обработчик WSLDVCPlugin. С установленными в окружении WSL2 обычными дистрибутивами Linux, такими как Ubuntu, Debian и CenOS, выполняющийся в WSLGd набор компонентов взаимодействует через предоставление сокетов, обрабатывающих запросы по протоколам Wayland, X11 и PulseAudio. Подготовленные для WSLGd обвязки распространяются под лицензией MIT.

Для установки WSLGd требуется наличие Windows 10 Insider Preview как минимум версии 21362. В дальнейшем возможность установки WSLGd будет предоставлена и для обычных выпусков Windows, без необходимости участия в программе Insider Preview. Установка WSLGd осуществляется при выполнении типовой команды "wsl --install", например, для Ubuntu - "wsl --install -d Ubuntu". Для существующих окружений WSL2, установка WSLGd осуществляется через команду "wsl --update" (поддерживаются только окружения WSL2, в которых применяется ядро Linux, а не трансляция вызовов). Графические приложения устанавливаются через штатный пакетный менеджер дистрибутива.

WSLGd предоставляет только механизмы для вывода 2D-графики, а для ускорения 3D-графики на базе OpenGL в устанавливаемых в WSL2 дистрибутивах предлагается использовать виртуальный GPU (vGPU). Драйверы vGPU для WSL предоставлены для чипов AMD, Intel и NVIDIA. Ускорение графики обеспечивается через предоставление прослойки с реализацией OpenGL поверх DirectX 12. Прослойка оформлена в виде драйвера d3d12, вошедшего в основной состав Mesa 21.0, и развиваемого совместно с компанией Collabora.

Работа виртуального GPU реализуется в Linux при помощи устройства /dev/dxg с сервисами, повторяющими WDDM (Windows Display Driver Model) D3DKMT ядра Windows. Драйвер организует соединение с физическим GPU при помощи VM bus. Linux приложения имеют тот же уровень доступа к GPU, что и родные приложения для Windows, без применения разделения ресурсов между Windows и Linux. Тестирование производительности на устройстве Surface Book Gen3 с GPU Intel, показало, что в родном Win32-окружении тест Geeks3D GpuTest демонстрирует 19 FPS, в Linux-окружении с vGPU - 18 FPS, а при программной отрисовке в Mesa - 1 FPS.


  1. OpenNews: Microsoft реализует в WSL доступ к GPU и запуск графических приложений Linux
  2. OpenNews: Microsoft портировал подсистему WSL2 (Windows Subsystem for Linux) в Windows 10 1903 и 1909
  3. OpenNews: Microsoft добавил в WSL2 (Windows Subsystem for Linux) возможность монтирования дисков
  4. OpenNews: Microsoft предложит подсистему WSL2 (Windows Subsystem for Linux) в Windows 10 2004
  5. OpenNews: Microsoft анонсировал подсистему WSL2 со штатным ядром Linux
Обсуждение (205 +13) | Тип: К сведению |
21.04.2021 Университет Миннесоты отстранён от разработки ядра Linux за отправку сомнительных патчей (194 +105)
  Грег Кроа-Хартман (Greg Kroah-Hartman), отвечающий за поддержку стабильной ветки ядра Linux, принял решение запретить приём в ядро Linux любых изменений, поступающих из Университета Миннесоты, а также откатить все ранее принятые патчи и провести их повторное рецензирование. Причиной блокировки стала деятельность исследовательской группы, изучающей возможность продвижения скрытых уязвимостей в код открытых проектов. Указанная группа отправляла патчи, включающие различного рода ошибки, наблюдала за реакцией сообщества и изучала пути обмана процесса рецензирования изменений. По мнению Грега проведение подобных экспериментов по внедрению вредоносных изменений является неприемлемым и неэтичным.

Поводом блокировки послужила отправка участниками данной группы патча, который добавлял проверку указателя для исключения возможного двойного вызова функции "free". С учётом контекста использования указателя проверка была бессмысленна. Целью отправки патча было изучение того, пройдёт ли ошибочное изменение рецензирование разработчиками ядра. Кроме указанного патча всплыли и другие попытки разработчиков из Университета Миннесоты внести сомнительные изменения в ядро, в том числе связанные с добавлением скрытых уязвимостей.

Отправивший патчи участник попытался оправдаться тем, что испытывает новый статический анализатор и изменение подготовлено на основе результатов проверки в нём. Но Грег обратил внимание на то, что предложенные исправления не характерны для ошибок, выявляемых статическими анализаторами, и присланные патчи ничего не исправляют. C учётом того, что рассматриваемая группа исследователей уже пыталась в прошлом продвигать исправления со скрытыми уязвимостями, очевидно, что они продолжили свои эксперименты над сообществом разработчиков ядра.

Интересно, что в прошлом руководитель проводящей эксперименты группы принимал участие в легитимном исправлении уязвимостей, например, выявил утечки информации в USB-стеке (CVE-2016-4482) и сетевой подсистеме (CVE-2016-4485). В исследовании скрытого продвижения уязвимостей группа из Университета Миннесоты приводит пример уязвимости CVE-2019-12819, вызванной исправлением, принятым в ядро в 2014 году. Исправление добавляло в блок обработки ошибки в mdio_bus вызов put_device, но спустя пять лет всплыло, что подобная манипуляция приводит к обращению к блоку памяти после его освобождения ("use-after-free").

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

Дополнение 1: Судя по активности автора раскритикованного исправления он уже давно отправляет патчи в различные подсистемы ядра. Например, в драйверы radeon и nouveau недавно были приняты изменения с вызовом pm_runtime_put_autosuspend(dev->dev) в блоке ошибки, не исключено, что приводящему к использованию буфера после освобождения связанной с ним памяти.

Дополнение 2: Грег откатил 190 коммитов, связанных с адресами "@umn.edu" и инициировал их повторное рецензирование. Проблема в том, что участники с адресами "@umn.edu" не только экспериментировали с продвижением сомнительных патчей, но и устраняли реальные уязвимости, и откат изменений может привести к возвращению ранее исправленных проблем с безопасностью. Некоторые мэйнтейнеры уже перепроверили отменённые изменения и не нашли проблем, но нашлись также патчи с ошибками.

Дополнение 3: Руководство факультета компьютерных наук Университета Миннесоты опубликовало заявление, в котором объявило о приостановке исследований в данном направлении, инициировании проверки корректности используемых методов и проведении разбирательства того, как подобное исследование было одобрено. Отчёт с результатами будет передан сообществу.

  1. OpenNews: Поддержка Rust для ядра Linux столкнулась с критикой Торвальдса
  2. OpenNews: Kernel.org подвергся взлому
  3. OpenNews: Разработчики ядра Linux обсуждают удаление поддержки устаревших платформ
  4. OpenNews: Бэкдор в отладочном коде модифицированного ядра Linux для систем Allwinner
  5. OpenNews: Эксплоит для проверки систем на root-уязвимость в Linux-ядре оказался трояном
Обсуждение (194 +105) | Тип: Тема для размышления | Интересно
21.04.2021 Выпуск серверной JavaScript-платформы Node.js 16.0 (173 –6)
  Состоялся релиз Node.js 16.0, платформы для выполнения сетевых приложений на языке JavaScript. Node.js 16.0 отнесён к веткам с длительным сроком поддержки, но данный статус будет присвоен только в октябре, после проведения стабилизации. Поддержка Node.js 16.0 будет осуществляться до апреля 2024 года. Сопровождение прошлой LTS-ветки Node.js 14.0 продлится до апреля 2023 года, а позапрошлой LTS-ветки 12.0 до апреля 2022 года. Сопровождение LTS-ветки 10.0 будет прекращено через 10 дней.

Основные улучшения:

  • Движок V8 обновлён до версии 9.0 (в Node.js 15 использовался выпуск 8.6), что позволило реализовать в Node.js 16 такие возможности, как свойство "indices" для регулярных выражений (включает массив с начальными и конечными позициями групп совпадений), метод Atomics.waitAsync (асинхронная версия Atomics.wait), поддержка использования ключевого слова await в модулях на верхнем уровне. Ускорен вызов функций, в ситуации, когда число переданных аргументов не соответствует определённым в функции параметрам.
  • Стабилизирован API Timers Promises, предоставляющий альтернативный набор функций для работы с таймером, возвращающих на выходе объекты Promise, что позволяет обойтись без использования util.promisify().
    
       import { setTimeout } from 'timers/promises';
       async function run() {  
          await setTimeout(5000);  
          console.log('Hello, World!');
       }
       run();
    
  • Добавлена экспериментальная реализация API Web Crypto, предназначенного для выполнения базовых криптографических операций на стороне web-приложений, таких как манипуляции с криптографическими хэшами, генерация и проверка цифровых подписей, кодирование и декодирования данных с использованием различных методов шифрования, формирование криптографически надёжных случайных чисел. В API также предусмотрены функции для генерации ключей и управления ими.
  • N-API (API для разработки дополнений) обновлён до версии 8.
  • Осуществлён переход на новый выпуск пакетного менеджера NPM 7.10.
  • Стабилизирована реализация класса AbortController, основанного на Web API AbortController и позволяющего отменять сигналы в выбранных API на основе Promise.
  • Стабилизирована поддержка третьей версии формата Source Map, используемого для сопоставления сгенерированных, обработанных или упакованных модулей с оригинальным исходным кодом.
  • Для совместимости с устаревшими Web API добавлены методы buffer.atob(data) и buffer.btoa(data).
  • Началось формирование сборок для новых устройств Apple, оснащённых ARM-чипом M1.
  • На платформе Linux требования к версии компилятора подняты до GCC 8.3.

Напомним, что платформа Node.js может быть использована как для серверного сопровождения работы Web-приложений, так и для создания обычных клиентских и серверных сетевых программ. Для расширения функциональности приложений для Node.js подготовлена большая коллекция модулей, в которой можно найти модули с реализацией серверов и клиентов HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, модули для интеграции с различными web-фреймворками, обработчики WebSocket и Ajax, коннекторы к СУБД (MySQL, PostgreSQL, SQLite, MongoDB), шаблонизаторы, CSS-движки, реализации криптоалгоритмов и систем авторизации (OAuth), XML-парсеры.

Для обеспечения обработки большого числа параллельных запросов Node.js задействует асинхронную модель запуска кода, основанную на обработке событий в неблокирующем режиме и определении callback-обработчиков. В качестве способов мультиплексирования соединений поддерживаются такие методы, как epoll, kqueue, /dev/poll и select. Для мультиплексирования соединений используется библиотека libuv, которая является надстройкой над libev в системах Unix и над IOCP в Windows. Для создания пула потоков (thread pool) задействована библиотека libeio, для выполнения DNS-запросов в неблокирующем режиме интегрирован c-ares. Все системные вызовы, вызывающие блокирование, выполняются внутри пула потоков и затем, как и обработчики сигналов, передают результат своей работы обратно через неименованный канал (pipe). Выполнение JavaScript-кода обеспечивается через задействование разработанного компанией Google движка V8 (дополнительно Microsoft развивает вариант Node.js с движком Chakra-Core).

По своей сути Node.js похож на фреймворки Perl AnyEvent, Ruby Event Machine, Python Twisted и реализацию событий в Tcl, но цикл обработки событий (event loop) в Node.js скрыт от разработчика и напоминает обработку событий в web-приложении, работающем в браузере. При написании приложений для node.js необходимо учитывать специфику событийно-ориентированного программирования, например, вместо выполнения "var result = db.query("select..");" с ожиданием завершения работы и последующей обработкой результатов, в Node.js использует принцип асинхронного выполнения, т.е. код трансформируется в "db.query("select..", function (result) {обработка результата});", при котором управление мгновенно перейдёт к дальнейшему коду, а результат запроса будет обработан по мере поступления данных.


Дополнительно можно отметить, что компания Deno, основанная создателем Node.js для развития платформы нового поколения Deno, получила 4.9 млн долларов инвестиций. По своему назначению Deno напоминает Node.js, но пытается устранить концептуальные ошибки, допущенные в архитектуре Node.js, и предоставить пользователям более защищённое окружение. Отмечается, что бизнес-решения компании Deno будут строится на полностью открытых продуктах, а модель Open Core с выделением отдельной платной функциональности воспринимается как неприемлемая для платформы Deno.

  1. OpenNews: Выпуск серверной JavaScript-платформы Node.js 15.0
  2. OpenNews: Автор Node.js представил защищённую JavaScript-платформу Deno 1.0
  3. OpenNews: Выпуск серверной JavaScript-платформы Node.js 14.0
  4. OpenNews: Бэкдор в зависимости к event-stream, популярной библиотеке для Node.js
  5. OpenNews: Доступен пакетный менеджер NPM 7.0
Обсуждение (173 –6) | Тип: Программы |
20.04.2021 Релиз nginx 1.20.0 (68 +17)
  После года разработки представлена новая стабильная ветка высокопроизводительного HTTP-сервера и многопротокольного прокси-сервера nginx 1.20.0, которая вобрала в себя изменения, накопленные в основной ветке 1.19.x. В дальнейшем все изменения в стабильной ветке 1.20 будут связаны с устранением серьёзных ошибок и уязвимостей. В скором времени будет сформирована основная ветка nginx 1.21, в которой будет продолжено развитие новых возможностей. Для обычных пользователей, у которых нет задачи обеспечить совместимость со сторонними модулями, рекомендуется использовать основную ветку, на базе которой раз в три месяца формируются выпуски коммерческого продукта Nginx Plus.

В соответствии с мартовским отчетом компании Netcraft nginx используется на 20.15% всех активных сайтов (год назад 19.56%, два года назад 20.73%), что соответствует второму месту по популярности в данной категории (доля Apache соответствует 25.38% (год назад 27.64%), Google - 10.09%, Cloudflare - 8.51%. При этом при рассмотрении всех сайтов nginx сохраняет лидерство и занимает 35.34% рынка (год назад 36.91%, два года назад - 27.52%), в то время как доля Apache соответствует 25.98%, OpenResty (платформа на базе nginx и LuaJIT.) - 6.55%, Microsoft IIS - 5.96%.

Среди миллиона самых посещаемых сайтов в мире доля nginx составляет 25.55% (год назад 25.54%, два года назад 26.22%). В настоящее время под управлением nginx работает около 419 млн сайтов (год назад 459 млн). По данным W3Techs nginx используется на 33.7% сайтов из миллиона самых посещаемых, в апреле прошлого года этот показатель составлял 31.9%, позапрошлого - 41.8% (спад объясняется переходом к отдельному учёту http-сервера Cloudflare). Доля Apache за год снизилась с 39.5% до 34%, а доля Microsoft IIS с 8.3% до 7%. Доля LiteSpeed выросла с 6.3% до 8.4%, а Node.js с 0.8% до 1.2%. В России nginx используется на 79.1% самых посещаемых сайтов (год назад - 78.9%).

Наиболее заметные улучшения, добавленные в процессе формирования основной ветки 1.19.x:

  • Добавлена возможность поверки клиентских сертификатов с привлечением внешних служб на базе протокола OCSP (Online Certificate Status Protocol). Для включения проверки предложена директива ssl_ocsp, для настройки размера кэша - ssl_ocsp_cache, для переопределения URL OCSP-обработчика, указанного в сертификате - ssl_ocsp_responder.
  • В состав включён модуль ngx_stream_set_module, позволяющий присвоить значение переменной
    
        server {
            listen 12345;
            set    $true 1;
        }
    
  • Добавлена директива proxy_cookie_flags для указания флагов для Cookie в проксируемых соединениях. Например, для добавления к Cookie "one" флага "httponly", а для всех остальных Cookie флагов "nosecure" и "samesite=strict" можно использовать конструкцию:
    
        proxy_cookie_flags one httponly;
        proxy_cookie_flags ~ nosecure samesite=strict;
    

    Похожая директива userid_flags для добавления флагов к Cookie также реализована для модуля ngx_http_userid.

  • Добавлены директивы "ssl_conf_command", "proxy_ssl_conf_command", "grpc_ssl_conf_command" и "uwsgi_ssl_conf_command", при помощи которых можно задать произвольные параметры для настройки OpenSSL. Например, для приоритизации шифров ChaCha и расширенной настройки шифров TLSv1.3 можно указать
    
       ssl_conf_command Options PrioritizeChaCha;
       ssl_conf_command Ciphersuites TLS_CHACHA20_POLY1305_SHA256;
    
  • Добавлена директива "ssl_reject_handshake", которая предписывает отвергать все попытки согласования SSL-соединений (например, можно использовать для отклонения всех обращений с неизвестными именами хостов в поле SNI).
    
        server {
            listen 443 ssl;
            ssl_reject_handshake on;
        }
    
        server {
            listen 443 ssl;
            server_name example.com;
            ssl_certificate example.com.crt;
            ssl_certificate_key example.com.key;
        }
    
  • В почтовый прокси добавлена директива proxy_smtp_auth, позволяющая аутентифицировать пользователя на бэкенде при помощи команды AUTH и механизма PLAIN SASL.
  • Добавлена директива "keepalive_time", которая ограничивает общее время жизни каждого keep-alive соединения, после истечении которого соединение будет закрыто (не путать с keepalive_timeout, определяющем время неактивности, после которого keep-alive соединение закрывается).
  • Добавлена переменная $connection_time, через которую можно получить информацию о продолжительности соединения в секундах с миллисекундной точностью.
  • В директивы "proxy_cache_path", "fastcgi_cache_path", "scgi_cache_path" и "uwsgi_cache_path" добавлен параметр "min_free", регулирующий размер кэша на основе определения минимального размера свободного дискового пространства.
  • Директивы "lingering_close", "lingering_time" и "lingering_timeout" адаптированы для работы с HTTP/2.
  • Код обработки соединений в HTTP/2 приближен к реализации HTTP/1.x. Поддержка отдельных настроек "http2_recv_timeout", "http2_idle_timeout" и "http2_max_requests" прекращена в пользу общих директив "keepalive_timeout" и "keepalive_requests". Удалены настройки "http2_max_field_size" и "http2_max_header_size", вместо которых следует использовать "large_client_header_buffers".
  • Добавлена новая опция командной строки "-e", позволяющая указать альтернативный файл для записи лога ошибок, который будет использоваться вместо лога, заданного в настройках. Вместо имени файла можно указать специальное значение stderr.

  1. OpenNews: Предварительный выпуск nginx с поддержкой QUIC и HTTP/3
  2. OpenNews: Спор о правах Rambler на Nginx продолжен в суде США
  3. OpenNews: Релиз nginx 1.18.0
  4. OpenNews: Релиз nginx 1.16.0
  5. OpenNews: Сделка по покупке NGINX компанией F5 Networks успешно завершена
Обсуждение (68 +17) | Тип: Программы |
20.04.2021 Сопротивление внедрению API FLoC, продвигаемого Google вместо отслеживающих Cookie (232 +55)
  Запущенное в Chrome 89 экспериментальное внедрение технологии FLoC, развиваемой компанией Google для замены отслеживающих перемещения Cookie, столкнулось с сопротивлением со стороны сообщества. После внедрения FLoC компания Google планирует в Chrome/Chromium полностью прекратить поддержку сторонних Cookie, выставляемых при обращении к сайтам, отличным от домена текущей страницы. В настоящее время уже проводится выборочное тестирование FLoC на небольшом проценте пользователей Chrome 90, поддержка FLoC также включена в кодовую базу Chromium.

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

Реакция некоторых проектов на интеграцию FLoC в кодовую базу Chromium:

  • Один из ключевых разработчиков системы управления контентом WordPress, которая занимает около 40% рынка CMS, предложил воспринимать FLoC как угрозу безопасности и воспользоваться предоставленной в спецификации возможностью для запрета применения FLoC и отключения определения информации об интересах пользователя для отдельных сайтов. Отказ от FLoC может быть активирован на стороне сайта через выставление HTTP-заголовка "Permissions-Policy: interest-cohort=()". Подобный запрет FLoC предлагается по умолчанию включить во всех экземплярах WordPress и довести изменения в одном из обновлений с устранением проблем безопасности.

    Если предложение будет одобрено, на всех сайтах, автоматически применяющих обновления WordPress, будет по умолчанию отключён FLoC. Для тех, кто хочет использовать FLoC будет предоставлена опция для отключения передачи заголовка "Permissions-Policy: interest-cohort=()". Аналогичный запрет FLoC по умолчанию также предложено добавить в значительный релиз WordPress 5.8, но он запланирован на июль и может не успеть к массовому включению FLoC, поэтому и рассматривается возможность отключения FLoC через промежуточное обновление.

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

  • Разработчики браузеров Vivaldi и Brave Browser отказались реализовывать поддержку FLoC в своих продуктах, заявив, что их пользователи имеют право на конфиденциальность. Представители Vivaldi также указали, что стоит называть вещи своими именами, и FLoC - это не технология обеспечения конфиденциальности, как её пытается продвигать Google, а технология отслеживания, нарушающая конфиденциальность.
  • Правозащитная организация EFF (Electronic Frontier Foundation) ввела в строй сайт amifloced.org, позволяющий определить включение FLoC в браузере, что даёт пользователю возможность понять, участвует ли он в эксперименте Google.
  • Поисковая система DuckDuckGo выступила с критикой FLoC и добавила в Chrome-дополнение DuckDuckGo Privacy Essentials блокировку FLoC, а также запретила использование FLoC на сайте duckduckgo.com (DuckDuckGo Search) через выставление HTTP-заголовка "Permissions-Policy: interest-cohort=()".
  • Компания Microsoft пока не стала включать FLoC в браузере Edge, заняла выжидательную позицию и пытается развивать собственную технологию отслеживания предпочтений PARAKEET (Private and Anonymized Requests for Ads that Keep Efficacy and Enhance Transparency). Суть PARAKEET в использовании прокси-сервера, находящегося между пользователем и рекламной сетью. Пользователю присваивается уникальный идентификатор, но информацию о нём получает только прокси, который передаёт рекламной сети лишь ограниченный набор обезличенной информации.
  • Mozilla и Opera не планируют добавлять реализацию FLoC в свои продукты. Компания Apple пока не приняла окончательного решения по поводу реализации FLoC в Safari.
  • В блокировщике рекламы uBlock Origin реализовано отключение запросов FLoC по умолчанию. Аналогичная блокировка FLoC добавлена в дополнения Adguard и Adblock Plus.

Напомним, что API FLoC (Federated Learning of Cohorts) предназначен для определения категории интересов пользователя без проведения индивидуальной идентификации и без привязки к истории посещения конкретных сайтов. FLoC позволяет выделять группы пользователей со сходными интересами, не идентифицируя отдельных пользователей. Интересы пользователя определяются при помощи "когорт", коротких меток, описывающих разные группы интересов. Когорты вычисляются на стороне браузера через применение алгоритмов машинного обучения к данным истории посещений и содержимому, которое открывается в браузере. Детали остаются на стороне пользователя, а во вне передаются только общие сведения о когортах, отражающих интересы и позволяющих выдать релевантную рекламу без отслеживания конкретного пользователя.

Основные риски, связанные с внедрением FLoC:

  • Дискриминация на основе предпочтений пользователей. Например, предложения о работе и выдаче кредита могут меняться в зависимости от этнической принадлежности, религии, пола и возраста. Пользователям испытывающим проблемы с деньгами могут навязываться кредиты под завышенные проценты, а определение демографических данных и политических предпочтений могут применяться для повышения убедительности дезинформации. При использовании FLoC информация о поведении будет следовать за пользователем от сайта к сайту и данные о прошлой активности могут использоваться для манипулирования пользователем при открытии сайтов.
  • Не исключается проведение обратного инжиниринга истории посещений на основе данных о когорте. Анализ алгоритма назначения когорт позволит судить о том, какие примерно сайты вероятно посещал пользователь. Также на основе когорт можно делать выводы о возрасте, социальном положении, гендерной ориентации, политических предпочтениях, финансовых трудностях или пережитом несчастье.
  • Появление дополнительного фактора для скрытой идентификации браузера пользователя ("browser fingerprinting"). Несмотря на то, что когорты FLoC будут охватывать тысячи людей, они могут использоваться для повышения точности идентификации браузера при использовании в комбинации с другими косвенными данными, такими как разрешение экрана, список поддерживаемых MIME-типов, специфичные параметры в заголовках (HTTP/2 и HTTPS), установленные плагинов и шрифты, доступность определённых Web API, специфичные для видеокарт особенности отрисовки при помощи WebGL и Canvas, манипуляции с CSS, особенности работы с мышью и клавиатурой.
  • Предоставление дополнительных персональных данных трекерам, которые уже идентифицируют пользователей. Например, если пользователь идентифицирован и вошёл в свою учётную запись, то сервис может явно сопоставить указанные в когорте данные о предпочтениях с конкретным пользователем, а при изменении когорт отслеживать трансформацию предпочтений.

Дополнительно можно отметить, что параллельно представители рекламной индустрии развивают и другие альтернативные методы идентификации, которые смогут использоваться для отслеживания пользователей в случае блокировки сторонних Cookie в Chrome. Например, компания The Trade Desk предложила технологию UID2 (Unified Identifier), реализующую механизм идентификации пользователей, работающий в кооперации с владельцами сайтов. Идентификатор UID2 генерируется на основе информации, переданной пользователем при регистрации на сайте, такой как email, номер телефона или данные об учётной записи в социальной сети. На основе шифрования содержимого UID2, координатором инфраструктуры создаётся токен, который владелец сайта может передавать рекламным сетям. Авторизированные рекламные сети могут получить ключи для расшифровки токена и получения исходного UID2, который может применяться для построения общего профиля пользователя, агрегирующего информацию из разных мест.

  1. OpenNews: EFF считает, что замена отслеживающих Cookie на FLoC может привести к новым проблемам
  2. OpenNews: Релиз Chrome 89
  3. OpenNews: Google намерен до 2022 года прекратить поддержку сторонних Cookie в Chrome
  4. OpenNews: Компания Google представила инициативу Privacy Sandbox
  5. OpenNews: Разработчики Chromium предложили унифицировать и объявить устаревшим заголовок User-Agent
Обсуждение (232 +55) | Тип: Тема для размышления |
19.04.2021 Релиз Firefox 88 (123 +10)
  Состоялся релиз web-браузера Firefox 88. Кроме того, сформировано обновление ветки с длительным сроком поддержки 78.10.0. На стадию бета-тестирования в ближайшее время будет переведена ветка Firefox 89, релиз которой намечен на 1 июня.

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

  • В просмотрщике PDF добавлена поддержка интегрированных в PDF-файлы форм ввода, в которых для обеспечения интерактивного взаимодействия с пользователем используется JavaScript.
  • Введено ограничение на интенсивность показа запроса полномочий для доступа к микрофону и камере. Подобные запросы не будут показываться, если в течение последних 50 секунд пользователь уже предоставлял доступ к тому же устройству, для того же сайта и той же вкладки.
  • Вызов инструмента для создания скриншотов удалён из меню "Page Actions", показываемого при нажатии на многоточие в адресной строке. Для создания скриншотов рекомендуется вызывать соответствующий инструмент для контекстного меню, показываемого при клике правой кнопкой мыши или разместить ярлык в панели через интерфейс настройки внешнего вида.
  • Добавлена поддержка масштабирования щипком на тачпадах в Linux с графическими окружениями на базе протокола Wayland.
  • В системе вывода на печать выполнена локализация единиц измерения, используемых для задания полей.
  • При запуске Firefox в окружениях Xfce и KDE активировано использование движка композитинга WebRender. В Firеfox 89 ожидается включение WebRender для всех остальных пользователей Linux, включая все версии Mesa и системы с драйверами NVIDIA (ранее webRender был включён только для GNOME при наличии драйверов Intel и AMD). WebRender написан на языке Rust и позволяет добиться существенного увеличения скорости отрисовки и снижения нагрузки на CPU за счёт выноса на сторону GPU операций отрисовки содержимого страницы, которые реализованы через выполняемые в GPU шейдеры. Для принудительного включения в about:config следует активировать настройку "gfx.webrender.enabled" или запустить Firefox с выставленной переменной окружения MOZ_WEBRENDER=1.
  • Началось поэтапное включение протоколов HTTP/3 и QUIC. Вначале поддержка HTTP/3 будет активирована лишь для небольшого процента пользователей и, если не возникнет непредвиденных проблем, будет доведена до всех к концу мая. Для использования HTTP/3 требуется поддержка на стороне клиента и сервера одной и той же версии чернового стандарта QUIC и HTTP/3, которая указывается в заголовке Alt-Svc (Firefox поддерживает черновики спецификации с 27 по 32).
  • Отключена по умолчанию поддержка протокола FTP. Настройка network.ftp.enabled по умолчанию установлена в значение false, а параметр для расширений browserSettings.ftpProtocolEnabled переведён в режим только для чтения. В следующем выпуске будет удалён весь код, связанный с FTP. В качестве причины называется снижение рисков атак на старый, имеющий историю выявления уязвимостей и имеющий проблемы с сопровождением код с реализацией поддержки FTP. Также упоминается избавление от протоколов, не поддерживающих шифрование, которые незащищены от модификации и перехвата транзитного трафика при совершении MITM-атак.


  • Для блокирования возможных межсайтовых утечек обеспечена изоляция значения свойства "window.name" первичным сайтом, с которого открыта страница.
  • В JavaScript для результата выполнения регулярных выражений добавлено свойство "indices", которое содержит массив c начальными и конечными позициями групп совпадений. Свойство заполняется только при выполнении регулярного выражения с флагом "/d".
    
       let re = /quick\s(brown).+?(jumps)/igd;
       let result = re.exec('The Quick Brown Fox Jumps Over The Lazy Dog');
    
       // result.indices[0] === Array [ 4, 25 ]
       // result.indices[1] === Array [ 10, 15 ]
       // result.indices[2] === Array [ 20, 25 ]
    
  • В Intl.DisplayNames() и Intl.ListFormat() ужесточена проверка того, что опции, передаваемые в конструктор, являются объектами. При попытке передачи строк или других примитивов будет генерироваться исключения.
  • Для DOM предоставлен новый статический метод AbortSignal.abort(), возвращающий AbortSignal, для которой уже выставлен параметр aborted.
  • В CSS реализованы новые псевдо-классы ":user-valid" и ":user-invalid", определяющие состояние проверки элемента формы, для которого после взаимодействия пользователя с формой была выполнена проверка корректности указанных значений. Ключевым отличием ":user-valid" и ":user-invalid" от псевдо-классов ":valid" и ":invalid" является то, что проверка начинается только после того, как пользователь перешёл на другой элемент (например, переключился табуляцией на другое поле).
  • CSS-функция image-set(), позволяющая выбрать изображение из набора вариантов с разным разрешением, наиболее подходящее для текущих параметров экрана и пропускной способности сетевого подключения, теперь может использоваться в CSS-свойствах "content" и "cursor".
    
       h2::before {
         content: image-set(
           url("small-icon.jpg") 1x,
           url("large-icon.jpg") 2x);
       }   
    
  • В CSS-свойстве outline обеспечено соответствие контуру, установленному при помощи свойства border-radius.
  • Для macOS моноширинный шрифт по умолчанию изменён на Menlo.
  • В инструментах для web-разработчиков в панели инспектирования сети появился переключатель между показом HTTP-ответов в формате JSON и в неизменном виде, в котором ответы переданы по сети.
  • Включение по умолчанию поддержки формата изображений AVIF (AV1 Image Format), в котором задействованы технологии внутрикадрового сжатия из формата кодирования видео AV1, отложено до следующего выпуска. В версии Firefox 89 также планируется предложить обновлённый интерфейс пользователя и интегрировать в адресную строку калькулятор (включается через suggest.calculator в about:config)

Кроме новшеств и исправления ошибок в Firefox 88 устранено 17 уязвимостей, из которых 9 помечены как опасные. 5 уязвимостей (собраны под CVE-2021-29947) вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц.

Дополнение: Без упоминания в примечании к выпуску в Firefox 88 из контекстного меню удалён пункт "View Page Info", через который было удобно просматривать параметры страницы и получать ссылки на картинки и ресурсы, используемые на странице, а пункт "View Image" заменён на "Open Image in New Tab".

  1. OpenNews: Включение поддержки HTTP/3 в Firefox намечено на конец мая
  2. OpenNews: В Firefox 90 будет удалён код, обеспечивающий поддержку FTP
  3. OpenNews: Релиз Firefox 87
  4. OpenNews: В Firefox решено не удалять компактный режим и активировать WebRender для всех Linux-окружений
  5. OpenNews: Компания Mozilla работает над новым оформлением Firefox
Обсуждение (123 +10) | Тип: Программы |
19.04.2021 Релиз OpenSSH 8.6 с устранением уязвимости (27 +11)
  Опубликован релиз OpenSSH 8.6, открытой реализации клиента и сервера для работы по протоколам SSH 2.0 и SFTP. В новой версии устранена уязвимость в реализации директивы LogVerbose, появившейся в прошлом выпуске и позволяющей поднять уровень сбрасываемой в лог отладочной информации, в том числе реализовать возможность фильтрации по шаблонам, функциям и файлам, связанным с кодом, выполняемым со сброшенными привилегиями в процессе sshd, изолированном в sandbox-окружении.

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

Изменения в OpenSSH 8.6, не связанные с уязвимостью:

  • В sftp и sftp-server реализовано новое расширение протокола "limits@openssh.com", дающее возможность SFTP-клиенту получить сведения об установленных на сервере ограничениях, включая лимиты на максимальный размер пакета и операций записи и чтения. В sftp новое расширение задействовано для выбора оптимального размера блоков при передаче данных.
  • В sshd_config для sshd добавлена настройка ModuliFile, позволяющая указать путь к файлу "moduli", содержащему группы для DH-GEX.
  • В unit-тесты добавлена переменная окружения TEST_SSH_ELAPSED_TIMES для включения вывода времени, прошедшего с момента запуска каждого теста.
  • Интерфейс для запроса пароля для GNOME разделён на два варианта, один для GNOME2, а второй для GNOME3 (contrib/gnome-ssk-askpass3.c). Вариант для GNOME3 для улучшения совместимости с Wayland использует вызов gdk_seat_grab() при управлении захватом клавиатуры и мыши.
  • В применяемый в Linux sandbox на базе seccomp-bpf добавлен мягкий запрет (soft-disallow) системного вызова fstatat64.

  1. OpenNews: Релиз OpenSSH 8.5
  2. OpenNews: Релиз OpenSSH 8.4
  3. OpenNews: Уязвимость в SSH-клиентах OpenSSH и PuTTY
  4. OpenNews: Релиз OpenSSH 8.3 с устранением уязвимости в scp
  5. OpenNews: Релиз OpenSSH 8.2 c поддержкой токенов двухфакторной аутентификации FIDO/U2F
Обсуждение (27 +11) | Тип: Программы |
18.04.2021 Проект Debian выбрал нейтральную позицию относительно петиции против Столлмана (334 +41)
  Завершилось общее голосование относительно возможной поддержки проектом Debian петиции с требованием отставки совета директоров FSF и отстранения Столлмана. Победил седьмой пункт бюллетеня: проект не будет делать каких-либо публичных заявлений относительно FSF и Столлмана, участники проекта вольны поддержать любую петицию по этому поводу.

Кроме выбранной позиции в голосовании также присутствовали пункты:

  • 1. Призвать к отставке всего совета Фонда СПО, как того требует петиция против Столлмана.
  • 2. Призвать к уходу из Фонда СПО только Столлмана.
  • 3. Ограничить взаимодействие с Фондом СПО, пока Столлман находится в числе руководителей организации.
  • 4. Призвать Фонд СПО к реформированию (повышению прозрачности), процессов управления.
  • 5. Поддержать возвращение Столлмана, в соответствии с позицией озвученной в открытом письме в поддержку Столлмана.
  • 6. Решительно осудить «охоту на ведьм», проводимую в отношении Ричарда Столлмана, совета директоров FSF и всей организации в целом.
  • 8. Продолжить обсуждение.

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


                  Option
              1     2     3     4     5     6     7     8 
            ===   ===   ===   ===   ===   ===   ===   === 
Option 1          113   139   146   218   209   178   203 
Option 2    137         168   165   239   227   199   222 
Option 3    131    90         150   246   235   199   219 
Option 4    156   132   140         259   245   196   221 
Option 5     65    57    57    45          59    19    52 
Option 6    103    97    92    77   114          30    84 
Option 7    223   207   203   197   350   339         277 
Option 8    186   166   173   164   328   301   124    

Например, если посмотреть на вторую строку в первом столбце, видно, что 137 человек посчитали позицию 2 (уход Столлмана из FSF) более приоритетной, чем позицию 1 (призыв роспуска всего руководства FSF), и наоборот, по первой строке второго столбца видно, что позицию 1 посчитали более приоритетной, чем 2 - 113 проголосовавших. Таким образом позиция 2 опередила позицию 1 на 24 голоса (137 - 113), т.е. большинство считают позицию 2 лучше, чем 1. Подобным образом рассчитываются и другие пары, за исключением пунктов 5 и 6, которые не прошли отбор по большинству. В итоге, позиция 7 одержала больше побед (5), что делает её лидирующей.


  Option 2 defeats Option 1 by ( 137 -  113) =   24 votes.
  Option 1 defeats Option 3 by ( 139 -  131) =    8 votes.
  Option 4 defeats Option 1 by ( 156 -  146) =   10 votes.
  Option 7 defeats Option 1 by ( 223 -  178) =   45 votes.
  Option 1 defeats Option 8 by ( 203 -  186) =   17 votes.
  Option 2 defeats Option 3 by ( 168 -   90) =   78 votes.
  Option 2 defeats Option 4 by ( 165 -  132) =   33 votes.
  Option 7 defeats Option 2 by ( 207 -  199) =    8 votes.
  Option 2 defeats Option 8 by ( 222 -  166) =   56 votes.
  Option 3 defeats Option 4 by ( 150 -  140) =   10 votes.
  Option 7 defeats Option 3 by ( 203 -  199) =    4 votes.
  Option 3 defeats Option 8 by ( 219 -  173) =   46 votes.
  Option 7 defeats Option 4 by ( 197 -  196) =    1 votes.
  Option 4 defeats Option 8 by ( 221 -  164) =   57 votes.
  Option 7 defeats Option 8 by ( 277 -  124) =  153 votes.

  1. OpenNews: Проект Debian начинает голосование по позиции относительно Столлмана
  2. OpenNews: В Debian инициировано общее голосование по поддержке петиции против Столлмана
  3. OpenNews: Движение по смещению Столлмана со всех постов и роспуску совета директоров Фонда СПО
  4. OpenNews: Столлман признал ошибки и пояснил причины непонимания
  5. OpenNews: Инициатива GNU Assembly, продвигающая новую модель управления проектом GNU
Обсуждение (334 +41) | Автор: myhand | Тип: К сведению |
16.04.2021 Выпуск графического окружения LXQt 0.17 (198 +63)
  После полугода разработки состоялся релиз пользовательского окружения LXQt 0.17 (Qt Lightweight Desktop Environment), развиваемого объединённой командой разработчиков проектов LXDE и Razor-qt. Интерфейс LXQt продолжает следовать идеям классической организации рабочего стола, привнося современное оформление и приёмы, увеличивающие удобство работы. LXQt позиционируется как легковесное, модульное, быстрое и удобное продолжение развития рабочих столов Razor-qt и LXDE, вобравшее лучшие черты обеих оболочек. Код размещён на GitHub и поставляется под лицензиями GPL 2.0+ и LGPL 2.1+. Появление готовых сборок ожидается для Ubuntu (LXQt по умолчанию предлагается в Lubuntu), Arch Linux, Fedora, openSUSE, Mageia, FreeBSD, ROSA и ALT Linux.

Особенности выпуска:

  • В панели (LXQt Panel) добавлен режим работы в стиле "Dock", при котором автоматическое скрытие активируется только при наличии пересечения панели с каким-нибудь окном.
  • В файловом менеджере (PCManFM-Qt) реализована полная поддержка времени создания файлов. В меню Tools добавлены кнопки для создания ланчеров и включения режима администратора, использующего GVFS для перемещения файлов, не подпадающих под текущие права пользователя, без получения привилегий root. Улучшено выделение смешанных типов файлов, имеющих разные MIME-типы. Включена локализация диалога работы с файлами. Добавлены ограничения на размер миниатюр. Реализована естественная клавиатурная навигация на рабочем столе.
  • Обеспечено завершение всех дочерних процессов во время окончания сеанса, что позволяет приложениям, не входящим в состав LXQt, записать свои данные в конце сеанса и избежать крахов при выходе.
  • Повышена эффективность обработки векторных пиктограмм в формате SVG.
  • В интерфейсе управления питанием (LXQt Power Manager) разделено отслеживание нахождения в состоянии простоя при автономной работе и при стационарном питании. Добавлена настройка для отключения отслеживания простоя при раскрытии активного окна на весь экран.
  • В эмуляторе терминала QTerminal и в виджете QTermWidget реализовано пять режимов вывода фоновых изображений и добавлена настройка для отключения автоматического обрамления кавычками данных, вставляемых из буфера обмена. Действие после вставки из буферам обмена по умолчанию изменено на "прокрутка вниз".
  • В просмотрщике изображений LXImage Qt добавлены настройки генерации миниатюр и реализована опция для отключения корректировки размера изображений при навигации.
  • В менеджере архивов LXQt Archiver добавлена поддержка открытия и извлечения данных из дисковых образов. Обеспечено сохранения параметров окна. В боковой панели реализована горизонтальная прокрутка.
  • В системе вывода уведомлений обеспечена обработка сводной информации об уведомлении только в форме обычного текста.
  • Работа над переводами перенесена на платформу Weblate. Запущена дискуссионная площадка на GitHub.

Параллельно продолжается работа над выпуском LXQt 1.0.0, в котором будет реализована полноценная поддержка работы поверх Wayland.

  1. OpenNews: Выпуск графического окружения LXQt 0.16.0
  2. OpenNews: Сформирована новая редакция Calculate Linux с рабочим столом LXQt
  3. OpenNews: Lubuntu переходит на пользовательское окружение LXQt
  4. OpenNews: Первый выпуск десктоп-окружения LXQt, созданного в результате объединения LXDE и Razor-Qt
  5. OpenNews: KDE взял на себя продолжение сопровождения общедоступной ветки Qt 5.15
Обсуждение (198 +63) | Тип: Программы |
16.04.2021 Релиз набора компиляторов LLVM 12.0 (61 +21)
  После шести месяцев разработки представлен релиз проекта LLVM 12.0 - GCC-совместимого инструментария (компиляторы, оптимизаторы и генераторы кода), компилирующего программы в промежуточный биткод RISC-подобных виртуальных инструкций (низкоуровневая виртуальная машина с многоуровневой системой оптимизаций). Сгенерированный псевдокод может быть преобразован при помощи JIT-компилятора в машинные инструкции непосредственно в момент выполнения программы.

Улучшения в Clang 12.0:

  • Реализована и включена по умолчанию поддержка предложенных в стандарте C++20 атрибутов "likely" и "unlikely", позволяющих информировать оптимизатор о вероятности срабатывания условной конструкции (например, "[[likely]] if (random > 0) {").
  • Добавлена поддержка процессоров AMD Zen 3 (-march=znver3), Intel Alder Lake (-march=alderlake) и Intel Sapphire Rapids (-march=sapphirerapids).
  • Добавлена поддержка флагов "-march=x86-64-v[234]" для выбора уровней архитектуры x86-64 (v2 - охватывает расширения SSE4.2, SSSE3, POPCNT и CMPXCHG16B; v3 - AVX2 и MOVBE; v4 - AVX-512).
  • Добавлена поддержка процессоров Arm Cortex-A78C (cortex-a78c), Arm Cortex-R82 (cortex-r82), Arm Neoverse V1 (neoverse-v1), Arm Neoverse N2 (neoverse-n2) и Fujitsu A64FX (a64fx). Например, для включения оптимизаций для CPU Neoverse-V1 можно указать "-mcpu=neoverse-v1".
  • Для архитектуры AArch64 добавлены новые флаги компилятора "-moutline-atomics" и "-mno-outline-atomics", предназначенные для включения и отключения вспомогательных функций с реализацией атомарных операций, таких как "__aarch64_cas8_relax". Подобные функции во время выполнения определяют наличие поддержки расширений LSE (Large System Extensions) и используют предоставляемые атомарные процессорные инструкции или откатываются на использование инструкций LL/SC (Load-link/store-conditional) для синхронизации.
  • Добавлена опция "-fbinutils-version" для выбора целевой версии набора binutils для обеспечения совместимости со старым поведением компоновщика и ассемблера.
  • Для исполняемых файлов ELF при указании флага "-gz" по умолчанию включено сжатие отладочной информации с использованием библиотеки zlib (gz=zlib). Для компоновки результирующих объектных файлов требуется lld или GNU binutils 2.26+. Для восстановления совместимости со старыми версиями binutils можно указать "-gz=zlib-gnu".
  • Указатель 'this' теперь обрабатывается с проверками nonnull и dereferenceable(N). Для удаления атрибута nonnull, при необходимости использования значений NULL, можно использовать опцию "-fdelete-null-pointer-checks".
  • На платформе Linux для архитектур AArch64 и PowerPC включён режим "-fasynchronous-unwind-tables" для генерации "раскрученных" (unwind) таблиц вызовов, как в GCC.
  • В "#pragma clang loop vectorize_width" добавлена возможность указания опций "fixed" (по умолчанию) и "scalable" для выбора метода векторизации. Режим "scalable", независимый от длины вектора, является экспериментальным и может использоваться на оборудовании с поддержкой масштабируемой векторизации.
  • Улучшена поддержка платформы Windows: Подготовлены официальные бинарные сборки для Windows на системах Arm64, включающие компилятор Clang, компоновщик LLD и runtime-библиотеки compiler-rt. При сборке для целевых платформ MinGW реализовано добавление суффикса .exe, даже при выполнении кросс-компиляции.
  • Расширены возможности, связанные с поддержкой OpenCL, OpenMP и CUDA. Добавлены опции "-cl-std=CL3.0" и "-cl-std=CL1.0" для выбора вариантов макросов для OpenCL 3.0 и OpenCL 1.0. Расширены средства диагностики.
  • Добавлена поддержка инструкций HRESET, UINTR и AVXVNNI, реализованных в некоторых процессорах на базе архитектуры x86.
  • На системах x86 включена поддержка опции "-mtune=<cpu>", активирующей выбранные микроархитектурные оптимизации, независимо от значения "-march=<cpu>".
  • В статическом анализаторе улучшена обработка некоторых POSIX-функций и значительно улучшено определение результата условных операций при наличии в сравнении нескольких символьных значений. Добавлены новые проверки: fuchia.HandleChecker (определяет дескрипторы в структурах), webkit.UncountedLambdaCapturesChecker webkit и alpha.webkit.UncountedLocalVarsChecker (учитывают особенности работы с указателями в коде движка WebKit).
  • В выражениях, используемых в контексте констант, разрешено использование встроенных функций __builtin_bitreverse*, __builtin_rotateleft*, __builtin_rotateright*, _mm_popcnt*, _bit_scan_forward, __bsfd, __bsfq, __bit_scan_reverse, __bsrd, __bsrq, __bswap, __bswapd, __bswap64, __bswapq, _castf*, __rol* и __ror*.
  • В утилиту clang-format добавлена опция BitFieldColonSpacing для выбора расстановки пробелов вокруг идентификаторов, столбцов и определений полей.
  • В кеширующем сервере clangd (Clang Server) на платформе Linux значительно сокращено потребление памяти при длительной работе (обеспечен периодический вызов malloc_trim для отдачи свободных страниц памяти операционной системе).



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

  • Прекращена поддержка написанного на языке Python сборочного инструментария llvm-build, вместо которого проект полностью перешёл на использование сборочной системы CMake.
  • В бэкенде для архитектуры AArch64 улучшена поддержка платформы Windows: обеспечена корректная генерация ассемблерного вывода для целевых систем Windows, оптимизирована генерация данных о "раскрутке" (unwind) вызовов (размер подобных данных сократился на 60%), добавлена возможность создания unwind-данных при помощи ассемблерных директив .seh_*.
  • В бэкенде для архитектуры PowerPC реализованы новые оптимизации циклов и inline-развёртывания, расширения поддержка процессоров Power10, добавлена поддержка инструкций MMA для манипуляций с матрицами, улучшена поддержка операционной системы AIX.
  • В бэкенде для архитектуры x86 добавлена поддержка процессоров AMD Zen 3, Intel Alder Lake и Intel Sapphire Rapids, а также процессорных инструкций HRESET, UINTR и AVXVNNI. Прекращена поддержка расширений MPX (Memory Protection Extensions) для проверки указателей на соблюдение границ областей памяти (указанная технология не получила распространения и уже удалена из GCC и clang). В ассемблер добавлена поддержка префиксов {disp32} и {disp8} и суффиксов .d32 и .d8 для управления размером смещения операндов и переходов. Добавлен новый атрибут "tune-cpu" для управления включением микроархитектурных оптимизаций.
  • В детектор проблем при работе с целыми числами (integer sanitizer, "-fsanitize=integer") добавлен новый режим "-fsanitize=unsigned-shift-base" для выявления переполнений беззнаковых целых чисел после битового сдвига влево.
  • В различных детекторах (asan, cfi, lsan, msan, tsan, ubsan sanitizer) добавлена поддержка Linux-дистрибутивов с стандартной библиотекой Musl.
  • Расширены возможности компоновщика LLD. Улучшена поддержка формата ELF, в том числе добавлены опции "--dependency-file", "--error-handling-script", "--lto-pseudo-probe-for-profiling", "--no-lto-whole-program-visibility". Улучшена поддержка MinGW. Для формата Mach-O (macOS) реализована поддержка архитектур arm64, arm и i386, оптимизаций на этапе связывания (LTO) и раскрутки стека при обработке исключений.
  • В Libc++ реализованы новые возможности стандарта C++20 и началась разработка возможностей спецификации C++2b. Добавлена поддержка сборки с отключением поддержки локализации ("-DLIBCXX_ENABLE_LOCALIZATION=OFF") и устройств для генерации псевдо-случайных чисел ("-DLIBCXX_ENABLE_RANDOM_DEVICE=OFF").

  1. OpenNews: Проект LLVM представил HPVM 1.0, компилятор для CPU, GPU, FPGA и ускорителей
  2. OpenNews: Релиз набора компиляторов LLVM 11.0
  3. OpenNews: В OpenBSD-current импортирован LLVM 10
  4. OpenNews: Разработчики LLVM обсуждают прекращение использования слова "master"
  5. OpenNews: Разработчики из Google предложили разработать свою libc для LLVM
Обсуждение (61 +21) | Тип: Программы |
15.04.2021 Выпуск модуля LKRG 0.9.0 для защиты от эксплуатации уязвимостей в ядре Linux (71 +18)
  Проект Openwall опубликовал выпуск модуля ядра LKRG 0.9.0 (Linux Kernel Runtime Guard), предназначенного для выявления и блокирования атак и нарушений целостности структур ядра. Например, модуль может защитить от несанкционированного внесения изменений в работающее ядро и попыток изменения полномочий пользовательских процессов (определение применения эксплоитов). Модуль подходит как для организации защиты от эксплоитов уже известных уязвимостей ядра Linux (например, в ситуациях когда в системе проблематично обновить ядро), так и для противостояния эксплоитам для ещё неизвестных уязвимостей. Код проекта распространяется под лицензией GPLv2.

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

  • Обеспечена совместимость с ядрами Linux с 5.8 по 5.12, а также со стабильными ядрами 5.4.87 и новее (включающими нововведения из ядер 5.8 и новее) и с ядрами из версий RHEL вплоть до 8.4, с сохранением поддержки и всех ранее поддерживаемых версий ядер, таких как ядра из RHEL 7;
  • Добавлена возможность сборки LKRG не только как внешнего модуля, но и в составе дерева ядра Linux, в том числе его включения в образ ядра;
  • Добавлена поддержка многих дополнительных конфигураций ядра и системы;
  • Исправлено несколько существенных ошибок и недоработок в LKRG;
  • Существенно упрощена реализация некоторых компонентов LKRG;
  • Внесены изменения для упрощения дальнейшей поддержки и отладки LKRG;
  • Для тестирования LKRG, добавлена интеграция с out-of-tree и mkosi;
  • Репозиторий проекта перенесен с BitBucket на GitHub и добавлена непрерывная интеграция с использованием GitHub Actions и mkosi, включая проверку сборки и загрузки LKRG в ядра релизов Ubuntu, а также в предоставляемые проектом Ubuntu ежедневные сборки свежайших mainline-ядер.

В данную версию LKRG непосредственный вклад (через pull requests на GitHub) внесло несколько разработчиков, ранее не принимавших участие в проекте. В частности, так Борисом Лукашевым была добавлена возможность сборки в составе дерева ядра Linux, а Виталием Чикуновым из ALT Linux - интеграция с mkosi и GitHub Actions.

В целом, несмотря на существенные дополнения, количество строк кода LKRG немного сокращается второй раз подряд (ранее оно также сократилось между версиями 0.8 и 0.8.1).

На данный момент, пакет с LKRG в Arch Linux уже обновлен до версии 0.9.0, а ряд других пакетов используют недавние git-версии LKRG и, вероятно, скоро также обновятся до версии 0.9.0 и далее.

Дополнительно можно отметить недавнюю публикацию от разработчиков ОС Аврора (российской модификации Sailfish OS) о возможном усилении LKRG с помощью ARM TrustZone.

Подробнее о LKRG см. в анонсе версии 0.8 и состоявшейся тогда дискуссии.

  1. OpenNews: Выпуск модуля LKRG 0.8 для защиты от эксплуатации уязвимостей в ядре Linux
  2. OpenNews: В ядро Linux 5.4 приняты патчи для ограничения доступа root к внутренностям ядра
  3. OpenNews: Проект Openwall подготовил модуль для защиты от эксплуатации уязвимостей в ядре Linux
  4. OpenNews: Проект grsecurity опубликовал реализацию механизма защиты RAP для ядра Linux
  5. OpenNews: Проблемы с безопасностью в патчах, предложенных сотрудником Huawei для защиты ядра Linux
Обсуждение (71 +18) | Автор: solardiz | Тип: Программы |
15.04.2021 Инициатива GNU Assembly, продвигающая новую модель управления проектом GNU (261 –52)
  Группа мэйнтейнеров и разработчиков различных проектов GNU, большинство из которых ранее выступали за уход от единоличного лидерства Столлмана в пользу коллективного управления, основали сообщество GNU Assembly, при помощи которого предприняли попытку реформирования системы управления проектом GNU. GNU Assembly преподносится как платформа для сотрудничества разработчиков пакетов GNU, которые действуют ради свободы пользователей и разделяют предложенное видение проекта GNU.

GNU Assembly позиционируется как новый дом для разработчиков и мэйнтейнеров проектов GNU, которых не устраивает текущая организация управления. Модель управления GNU Assembly пока окончательно не определена и находится на стадии обсуждения. В качестве эталонных моделей рассматривается организация управления в GNOME Foundation и Debian.

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

К GNU Assembly присоединились следующие мэйнтейнеры и разработчики:

  • Carlos O'Donell (мэйнтейнер GNU libc)
  • Jeff Law (мэйнтейнер GCC, Binutils)
  • Tom Tromey (GCC, GDB, автор GNU Automake)
  • Werner Koch (автор и мэйнтейнер GnuPG)
  • Andy Wingo (мэйнтейнер GNU Guile)
  • Ludovic Courtès (автор GNU Guix, участник разработки GNU Guile)
  • Christopher Lemmer Webber (автор GNU MediaGoblin)
  • Mark Wielaard (мэйнтейнер GNU Classрath, участник разработки Glibc и GCC)
  • Han-Wen Nienhuys (автор и основной разработчик GNU LilyPond)
  • Ian Jackson (GNU adns, GNU userv)
  • Andreas Enge (основной разработчик GNU MPC)
  • Andrej Shadura (GNU indent)
  • Bernard Giroud (GnuCOBOL)
  • Christian Mauduit (Liquid War 6)
  • David Malcolm (участник разработки GCC)
  • Frederic Y. Bois (GNU MCSim)
  • Jan Nieuwenhuizen (GNU Mes, GNU LilyPond)
  • Jack Hill (участник разработки GNU Guix)
  • Ricardo Wurmus (один из мэйнтейнеров GNU Guix, GNU GWL)
  • Leo Famulari (участник разработки GNU Guix)
  • Marius Bakke (участник разработки GNU Guix)
  • Tobias Geerinckx-Rice (GNU Guix)
  • Jean Michel Sellier (GNU Nano-Archimedes, GNU Gneural Network, GNU Archimedes)
  • Mark Galassi (GNU Dominion, GNU Scientific Library)
  • Nikos Mavrogiannopoulos (GNU Libtasn1)
  • Samuel Thibault (коммитер GNU Hurd, GNU libc)

Дополнение: Кодекс поведения GNU Assembly повторяет документ «Contributor Convenant» от Коралайн Ады Эмке, предлагающей вместо свободного и открытого ПО внедрить понятие этического открытого ПО, которое запрещено использовать с целью нарушения прав человека, и добивающейся изменения в критериях открытого ПО пункта в отношении дискриминации, так как ограничения этических лицензий не проходят одобрение OSI из-за наличия дискриминации).

  1. OpenNews: Столлман не допустит радикальных изменений в проекте GNU
  2. OpenNews: Мэйнтейнеры проектов GNU выступили против единоличного лидерства Столлмана
  3. OpenNews: Предложение по выходу GNOME из числа проектов GNU
  4. OpenNews: Конфликт между Ричардом Столлманом и командой разработчиков Glibc
  5. OpenNews: Лидеры проектов GnuTLS, grep и sed выходят из проекта GNU в знак несогласия с политикой Фонда СПО
Обсуждение (261 –52) | Тип: К сведению | Интересно
Следующая страница (раньше) >>



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

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