The OpenNET Project / Index page

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

·25.05 В GitLab заменят встроенный редактор кода на Visual Studio Code (151 –12)
  Представлен релиз платформы совместной разработки GitLab 15.0 и объявлено о намерении в будущих выпусках заменить встроенный редактор кода Web IDE на редактор Visual Studio Code (VS Code), развиваемый компанией Microsoft при участии сообщества. Использование редактора VS Code упростит разработку проектов в интерфейсе GitLab и позволит разработчикам использовать привычный и полнофункциональный инструмент редактирования кода.

Опрос пользователей GitLab показал, что Web IDE отлично подходит для внесения небольших изменений, но мало кто использует его для полноценного написания кода. Разработчики GitLab попытались понять, что мешает полноценной работе в Web IDE, и пришли к выводу, что дело не в отсутствии каких-то конкретных возможностей, а в совокупности мелких недоработок интерфейса и методов работы. Судя по опросу, проведённому площадкой Stack Overflow, более 70% разработчиков используют при написании кода редактор VS Code, который поставляется под лицензией MIT.

Один из инженеров GitLab подготовил рабочий прототип интеграции VS Code с интерфейсом GitLab, который можно использовать для работы через браузер. Руководство GitLab сочло разработку перспективной и решило заменить Web IDE на VS Code, что также позволит не тратить ресурсы на добавление в Web IDE возможностей, которые уже есть в VS Code. Планируется встроить только часть редактора, работающую на стороне клиента, интегрировав его с серверными компонентами GitLab.

Кроме значительного расширения функциональности и улучшения юзабилити, переход откроет доступ к широкому спектру дополнений к VS Code, а также предоставит пользователям средства для настройки тем оформления и управления подсветкой синтаксиса. Так как внедрение VS Code неизбежно приведёт к усложнению редактора, для тех кому необходим максимально простой редактор для внесения отдельных правок планируется добавить необходимые возможности редактирования в базовые компоненты, такие как Web Editor, Snippets и Pipeline Editor.

Что касается релиза GitLab 15.0, то из добавленных новшеств можно выделить:

  • В Wiki добавлен визуальный режим редактирования разметки Markdown (WYSIWYG).
  • В бесплатную community-версию интегрированы функции сканирования образов контейнеров на предмет наличия известных уязвимостей в используемых зависимостях.
  • Реализована поддержка добавления внутренних примечаний к обсуждениям, доступных только автору и членам группы (например, для прикрепления к issue конфиденциальных данных, которые нельзя раскрывать публично).
  • Возможность связывания issue с внешней организацией или внешними контактами.
  • Поддержка вложенных переменных окружения в CI/CD (переменные могут встраиваться в другие переменные, например, "MAIN_DOMAIN: ${STACK_NAME}.example.com").
  • Возможность подписки и отписки от пользователя в его профиле.
  • Упрощён процесс отзыва токенов доступа.
  • Предоставлена возможность реорганизации списка с описаниями issue в режиме drag&drop.
  • В дополнении GitLab Workflow к VS Code добавлена возможность работы с несколькими учётными записями, связанными с разными пользователями GitLab.

  1. Главная ссылка к новости
  2. OpenNews: Уязвимость в GitLab, позволяющая захватить аккаунты, авторизированные через OAuth, LDAP и SAML
  3. OpenNews: Уязвимость в GitLab, позволяющая получить доступ к токенам Runner
  4. OpenNews: В GitLab 10.7 открыт код Web IDE
  5. OpenNews: Компания Microsoft выпустила открытый редактор Visual Studio Code 1.0
  6. OpenNews: Проект VSCodium развивает полностью открытый вариант редактора Visual Studio Code
Обсуждение (151 –12) | Тип: К сведению |


·25.05 Релиз Chrome 102 (123 –9)
  Компания Google представила релиз web-браузера Chrome 102. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается от Chromium использованием логотипов Google, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого от копирования видеоконтента (DRM), системой автоматической установки обновлений, постоянным включением Sandbox-изоляции, поставкой ключей к Google API и передачей при поиске RLZ-параметров. Для тех, кому необходимо больше времени на обновление, отдельно поддерживается ветка Extended Stable, сопровождаемая 8 недель. Следующий выпуск Chrome 103 запланирован на 21 июня.

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

  • Для блокирования эксплуатации уязвимостей, вызванных обращением к уже освобождённым блокам памяти (use-after-free), вместо обычных указателей началось применение типа MiraclePtr (raw_ptr). MiraclePtr предоставляет обвязку над указателями, выполняющую дополнительные проверки обращения к освобождённым областям памяти и аварийно завершающую работу в случае обнаружения подобных обращений. Влияние нового метода защиты на производительность и потребление памяти оценивается как незначительное. Механизм MiraclePtr применим не во всех процессах, в частности не используется в процессах отрисовки, но может существенно усилить безопасность. Например, в текущем выпуске из 32 исправленных уязвимостей, 12 было вызвано проблемами класса use-after-free.
  • Изменено оформление интерфейса с информацией о загрузках. Вместо нижней строки с данными о ходе загрузки в панель с адресной строкой добавлен новый индикатор, при клике на который показывается прогресс загрузки файлов и история со списком уже загруженных файлов. В отличие от нижней панели, кнопка постоянно показывается на панели и позволяет быстро обратиться к истории загрузок. Новый интерфейс пока предложен по умолчанию только части пользователей и будет распространён на всех в случае отсутствия проблем. Для возвращения старого интерфейса или включения нового предусмотрена настройка "chrome://flags#download-bubble".
  • При поиске изображений через контекстное меню ("Search image with Google Lens" или "Найти через Google Объектив") результаты теперь показываются не на отдельной странице, а в боковой панели рядом с содержимым исходной страницы (в одном окне одновременно можно видеть как содержимое страницы, так и результат обращения к поисковой системе).
  • В настройках в секции "Конфиденциальность и безопасность" добавлен раздел "Руководство по конфиденциальности" ("Privacy Guide"), в котором предложен общий обзор основных настроек, влияющих на конфиденциальность с подробными пояснениями о влиянии каждой настройки. Например, в секции можно определить политику отправки данных в сервисы Google, управлять синхронизацией, обработкой Cookie и сохранением истории. Функция предложена части пользователей, для активации можно использовать настройку "chrome://flags#privacy-guide".
  • Обеспечено структурирование истории поиска и просмотренных страниц. При попытке повторного поиска в адресной строке выводится подсказка "Продолжить поиск в истории" ("Resume your journey"), позволяющая продолжить поиск с места, на котором он был прерван в прошлый раз.
  • В каталоге Chrome Web Store предложена страница "Extensions Starter Kit" с начальной подборкой рекомендуемых дополнений.
  • В тестовом режиме включена отправка на сервер основного сайта запроса подтверждения полномочий CORS (Cross-Origin Resource Sharing) с заголовком "Access-Control-Request-Private-Network: true", в случае обращения со страницы к ресурсу во внутренней сети (192.168.x.x, 10.x.x.x, 172.16-31.x.x) или к localhost (127.x.x.x). При подтверждении операции в ответ на данный запрос сервер должен вернуть заголовок "Access-Control-Allow-Private-Network: true". В версии Chrome 102 результат подтверждения ещё не влияет на обработку запроса - в случае отсутствия подтверждения в web-консоли отображается предупреждение, но сам запрос субресурса не блокируется. Включение блокировки при отсутствии подтверждения от сервера ожидается не раньше, чем в выпуске Chrome 105. Для включения блокировки в более ранних выпусках можно активировать настройку "chrome://flags/#private-network-access-respect-preflight-results".

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

  • При открытии ссылок в режиме инкогнито через контекстное меню обеспечено автоматическое удаление из URL некоторых параметров, влияющих на конфиденциальность.
  • Изменена стратегия доставки обновлений для Windows и Android. Для более полного сравнения поведения нового и старого выпуска для загрузки теперь формируется несколько сборок новой версии.
  • Стабилизирована технология сегментирования сети для защиты от методов отслеживания перемещений пользователя между сайтами, основанных на хранении идентификаторов в областях, не предназначенных для постоянного хранения информации ("Supercookies"). Так как ресурсы в кэше хранятся в общем пространстве имён, независимо от исходного домена, один сайт может определить загрузку ресурсов с другого сайта через проверку наличия этого ресурса в кэше. Защита основана на применении сегментирования сети (Network Partitioning), суть которого в добавлении в совместно используемые кэши дополнительной привязки записей к домену, с которого открыта основная страница, что ограничивает область охвата кэша для скриптов отслеживания перемещений только текущим сайтом (скрипт из iframe не сможет проверить загружался ли ресурс с другого сайта). Разделение состояния охватывает сетевые соединения (HTTP/1, HTTP/2, HTTP/3, websocket), кэш DNS, данные ALPN/HTTP2, TLS/HTTP3, конфигурацию, загрузки и информацию в заголовке Expect-CT.


  • Для устанавливаемых обособленных web-приложений (PWA, Progressive Web App) предоставлена возможность изменения оформления области заголовка окна при помощи компонентов Window Controls Overlay, расширяющих экранную область web-приложения на всё окно. Web-приложение может управлять отрисовкой и обработкой ввода во всём окне, за исключением наложенного блока со штатными кнопками управления окном (закрытие, сворачивание, развёртывание), для придания web-приложению формы обычного настольного приложения.
  • В системе автозаполнения форм добавлена поддержка генерации виртуальных номеров кредитных карт в полях с реквизитами оплаты товара в интернет-магазинах. Использование виртуальной карты, номер которой генерируется для каждой оплаты, позволяет не передавать данные о реальной кредитной карте, но требует предоставление необходимого сервиса банком. В настоящее время функция может использоваться лишь клиентами некоторых банков из США. Для управления включением функции предложена настройка "chrome://flags/#autofill-enable-virtual-card".
  • Активирован по умолчанию механизм "Capture Handle", позволяющий передавать информацию приложениям, осуществляющим захват видео. API даёт возможность организовать взаимодействие приложений, чьё содержимое записывается, и приложений, которые осуществляют запись. Например, приложение для ведения видеоконференций, осуществляющее захват видео для трансляции презентации, может получить сведения об элементах управления презентацией и вывести их в окне с видео.
  • Включена по умолчанию поддержка спекулятивных правил (Speculation rules), предоставляющих гибкий синтаксис для определения возможности упреждающей загрузки связанных со ссылкой данных, производимой на этапе до перехода пользователя по ссылке.
  • Стабилизирован механизм упаковки ресурсов в пакеты в формате Web Bundle, позволяющий увеличить эффективность загрузки большого числа сопутствующих файлов (CSS-стили, JavaScript, изображения, iframe). В отличие от пакетов в формате Webpack, формат Web Bundle обладает следующими достоинствами: в HTTP-кэше оседает не сам пакет, а его составные части; компиляция и выполнение JavaScript начинается не дожидаясь полной загрузки пакета; допускается включение дополнительных ресурсов, таких как CSS и изображения, которые в webpack должны были кодироваться в форме JavaScript-строк.
  • Предоставлена возможность определения PWA-приложения в качестве обработчика определённых MIME-типов и расширений файлов. После определения привязки через поле file_handlers в манифесте, приложение получит специальное событие при попытке пользователя открыть файл, ассоциированный с приложением.
  • Добавлен новый атрибут inert, позволяющий пометить часть дерева DOM как "бездействующую". Для узлов DOM в данном состоянии отключаются обработчики выделения текста и наведения указателя, т.е. CSS-свойства pointer-events и user-select всегда выставлены в значение 'none'. Если узел допускал редактирование, то в режиме inert он становится нередактируемым.
  • Добавлен API Navigation, позволяющий web-приложениям перехватывать операции навигации в окне, инициировать переход и анализировать историю действий с приложением. API предоставляет альтернативу свойствам window.history и window.location, оптимизированную для одностраничных web-приложений.
  • Для атрибута "hidden" предложен новый флаг "until-found", который делает элемент доступным для поиска на странице и прокрутки по текстовой маске. Например, можно добавить на страницу скрытый текст, содержимое которого будет находиться при локальном поиске.
  • В API WebHID, предназначенный для низкоуровневого доступа к HID-устройствам (Human interface device, клавиатуры, мыши, геймпады, сенсорные панели) и организации работы без наличия в системе специфичных драйверов, в объект requestDevice() добавлено свойство exclusionFilters, позволяющее исключать определённые устройства при показе браузером списка доступных устройств. Например, можно исключить идентификаторы устройств, в которых имеются известные проблемы.
  • Запрещён вывод формы платежа через вызов PaymentRequest.show() без явного действия пользователя, например, клика на элементе, связанном с обработчиком.
  • Прекращена поддержка альтернативной реализации протокола SDP (Session Description Protocol), применяющегося для установки сеанса в WebRTC. В Chrome предлагалось два варианта SDP - унифицированный с другими браузерами и специфичный для Chrome. Отныне оставлен только переносимый вариант.
  • Внесены улучшения в инструменты для web-разработчиков. В панели Styles добавлены кнопки для симуляции применения тёмной и светлой темы оформления. Усилена защита вкладки Preview в режиме инспектирования сети (включено применение Content Security Policy). В отладчике реализовано завершение выполнения скрипта для перезагрузке точек останова. Предложена предварительная реализация новой панели "Performance insights", позволяющей проанализировать производительность выполнения определённых операций на странице.

Кроме нововведений и исправления ошибок в новой версии устранено 32 уязвимости. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Одной из проблем (CVE-2022-1853) присвоен критический уровень опасности, который подразумевает возможность обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения. Детали по данной уязвимости пока не разглашаются, известно только, что она вызвана обращением к освобождённому блоку памяти (use-after-free) в реализации API Indexed DB.

В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 24 премии на сумму 65600 долларов США (одна премия $10000, одна премия $7500, две премии $7000, три премии $5000, четыре премии $3000, две премии $2000, две премии $1000 и две премии $500). Размер 7 вознаграждений пока не определён.

  1. Главная ссылка к новости
  2. OpenNews: Релиз Chrome 101
  3. OpenNews: В Chrome тестируют встроенный редактор скриншотов
  4. OpenNews: Релиз Chrome 100
  5. OpenNews: Google представил Chrome OS Flex, пригодный для установки на любое оборудование
  6. OpenNews: Для Chromium развивается возможность использования Qt
Обсуждение (123 –9) | Тип: Программы |


·25.05 Выпуск Stratis 3.1, инструментария для управления локальными хранилищами (93 –2)
  Опубликован выпуск проекта Stratis 3.1, развиваемого компанией Red Hat и сообществом Fedora для унификации и упрощения средств настройки и управления пулом из одного или нескольких локальных накопителей. Stratis предоставляет такие возможности, как динамическое выделение места в хранилище, снапшоты, обеспечение целостности и создание слоёв для кэширования. Поддержка Stratis интегрирована в дистрибутивы Fedora и RHEL начиная с выпусков Fedora 28 и RHEL 8.2. Код проекта распространяется под лицензией MPL 2.0.

Система во многом повторяет по своим возможностям расширенные средства управления разделами ZFS и Btrfs, но реализована в виде прослойки (демон stratisd), работающей поверх подсистемы device-mapper ядра Linux (используются модули dm-thin, dm-cache, dm-thinpool, dm-raid и dm-integrity) и файловой системы XFS. В отличие от ZFS и Btrfs, компоненты Stratis работают только в пространстве пользователя и не требуют загрузки специфичных модулей ядра. Проект изначально преподносится как не требующий для администрирования квалификации эксперта по системам хранения.

Для управления предоставляется D-Bus API и cli-утилита. Работа Stratis протестирована с блочными устройствами на базе LUKS (шифрованные разделы), mdraid, dm-multipath, iSCSI, логическими томами LVM, а также с различными НЖМД, SSD и NVMe-накопителями. При наличии в пуле одного диска Stratis позволяет использовать логические разделы с поддержкой снапшотов для отката изменений. При добавлении нескольких накопителей в пул появляется возможность логического объединения накопителей в непрерывную область. Такие возможности, как RAID, сжатие данных, дедупликация и организация отказоустойчивости пока не поддерживаются, но запланированы на будущее.

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

  • Значительно улучшено управление компонентами, обеспечивающими динамическое выделение места в хранилище ("thin provisioning"). В cli-интерфейсе предоставлены команды для включения динамического распределения места на этапе создания пула и изменения параметров для уже работающих пулов. Для выбранных пулов также теперь можно изменять на лету ограничения файловой системы.
  • В команды работы с пулами, файловыми системами и блочными устройствами добавлена подкоманда debug для включения отладочного режима.
  • В фоновом процессе stratisd размер минимально поддерживаемой ФС увеличен до 512 MB.
  • Для пулов MDV (metadata volume) включено монтирование в отдельном пространстве точек монтирования.
  • Улучшена обработка событий udev, генерируемых при извлечении устройства.
  • Повышена информативность сообщений в логах.

  1. Главная ссылка к новости
  2. OpenNews: Релиз дистрибутива Fedora Linux 36
  3. OpenNews: Выпуск Stratis 3.0, инструментария для управления локальными хранилищами
Обсуждение (93 –2) | Тип: Программы |


·24.05 Выпуск дисплейного сервера Mir 2.8 (38 +8)
  Представлен релиз дисплейного сервера Mir 2.8, разработка которого продолжается компанией Canonical, несмотря на отказ от развития оболочки Unity и редакции Ubuntu для смартфонов. Mir остаётся востребован в проектах Canonical и теперь позиционируется как решение для встраиваемых устройств и интернета вещей (IoT). Mir может использоваться в качестве композитного сервера для Wayland, что позволяет запускать в окружениях на базе Mir любые приложения, использующие Wayland (например, собранные с GTK3/4, Qt5/6 или SDL2). Пакеты для установки подготовлены для Ubuntu 20.04, 21.10 и 22.04 (PPA) и Fedora 33, 34, 35 и 36. Код проекта распространяется под лицензией GPLv2.

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

  • Добавлена поддержка экспериментального расширения протокола wlr_screencopy_unstable_v1, позволяющего создавать утилиты для создания скриншотов.
  • При сборке обеспечена генерация кода с определениями протокола Wayland.
  • Код и API графической платформы переработан для будущей поддержки гетерогенных и гибридных GPU-окружений.
  • Добавлена опция "--x11-window-title" для выставления заголовка окна на платформе X11.
  • Реализована сборка и тестирование Mir на системах с архитектурой RISC-V.
  • Обеспечена проверка сборки в экспериментальных ветках Ubuntu 22.10, Fedora Rawhide, Debian Sid и Alpine Edge.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск дисплейного сервера Mir 2.7
  3. OpenNews: Выпуск композитного сервера Weston 10.0
  4. OpenNews: Доступен Wayland 1.20
  5. OpenNews: Wayland использует менее 10% Linux-пользователей Firefox
  6. OpenNews: Компания Canonical представила оболочку Ubuntu Frame
Обсуждение (38 +8) | Тип: Программы |


·24.05 Выпуск дистрибутива Clonezilla Live 3.0.0 (44 +7)
  Представлен релиз Linux-дистрибутива Clonezilla Live 3.0.0, предназначенного для быстрого клонирования дисков (копируются только используемые блоки). Задачи, выполняемые дистрибутивом сходны с проприетарным продуктом Norton Ghost. Размер iso-образа дистрибутива - 356 МБ (i686, amd64).

Дистрибутив основан на Debian GNU/Linux и в своей работе использует код таких проектов, как DRBL, Partition Image, ntfsclone, partclone, udpcast. Возможна загрузка с CD/DVD, USB Flash и по сети (PXE). Поддерживаются LVM2 и ФС ext2, ext3, ext4, reiserfs, reiser4, xfs, jfs, btrfs, f2fs, nilfs2, FAT12, FAT16, FAT32, NTFS, HFS+, UFS, minix, VMFS3 и VMFS5 (VMWare ESX). Имеется режим массового клонирования по сети, в том числе с передачей трафика в multicast-режиме, позволяющем единовременно провести клонирование исходного диска на большое число клиентских машин. Возможно как клонирование с одного диска на другой, так и создание резервных копий через сохранение дискового образа в файл. Возможно клонирование на уровне целых дисков или отдельных разделов.

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

  • Добавлена поддержка создания образов и клонирования разделов с ФС APFS (Apple File System).
  • Осуществлена синхронизация с пакетной базой Debian Sid по состоянию на 22 мая.
  • Ядро Linux обновлено до выпуска 5.17 (было 5.15).
  • Инструментарий Partclone обновлён до версии 0.3.20.
  • Добавлена поддержка резервного копирования шифрованных разделов в формате LUKS.
  • В состав live-образа включены пакеты wavemon, memtester, edac-utils, shc и uml-utilities. Из основного состава удалён пакет s3ql.
  • Предложен улучшенный механизм для проверки формата GPT/MBR.
  • В утилиты ocs-sr и ocs-onthefly добавлена пустая опция "-k0" для создания разделов с использованием настроек по умолчанию.
  • В загрузочное меню uEFI добавлен вызов утилиты для тестирования памяти.
  • Добавлен загрузочный параметр use_os_prober=no для отключения запуска os-prober, а также параметр use_dev_list_cache=no для отключения использования кэша доступных устройств.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск дистрибутива Clonezilla Live 2.8.1
  3. OpenNews: Выпуск дистрибутива для резервного копирования Rescuezilla 2.3
  4. OpenNews: Выпуск Redo Rescue 4.0.0, дистрибутива для резервного копирования и восстановления
  5. OpenNews: Выпуск дистрибутива Proxmox Backup Server 1.1
Обсуждение (44 +7) | Тип: Программы |


·24.05 Релиз nginx 1.22.0 (190 +15)
  После 13 месяцев разработки представлена новая стабильная ветка высокопроизводительного HTTP-сервера и многопротокольного прокси-сервера nginx 1.22.0, которая вобрала в себя изменения, накопленные в основной ветке 1.21.x. В дальнейшем все изменения в стабильной ветке 1.22 будут связаны с устранением серьёзных ошибок и уязвимостей. В скором времени будет сформирована основная ветка nginx 1.23, в которой будет продолжено развитие новых возможностей. Для обычных пользователей, у которых нет задачи обеспечить совместимость со сторонними модулями, рекомендуется использовать основную ветку, на базе которой раз в три месяца формируются выпуски коммерческого продукта Nginx Plus.

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

Среди миллиона самых посещаемых сайтов в мире доля nginx составляет 21.79% (год назад 23.06%, два года назад 25.54%). В настоящее время под управлением nginx работает около 361 млн сайтов (год назад 419 млн). По данным W3Techs nginx используется на 33.5% сайтов из миллиона самых посещаемых, в мае прошлого года этот показатель составлял 33.8%, позапрошлого - 31.9%. Доля Apache за год снизилась с 33.8% до 31.5%, а доля Microsoft IIS с 7% до 6%. Доля LiteSpeed выросла с 8.5% до 12.1%, а Node.js с 1.2% до 1.9%. В России nginx используется на 79.8% самых посещаемых сайтов (год назад - 79.1%).

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

  • В директивах "proxy_ssl_certificate", "proxy_ssl_certificate_key" "grpc_ssl_certificate", "grpc_ssl_certificate_key", "uwsgi_ssl_certificate" и "uwsgi_ssl_certificate_key" добавлена поддержка переменных.
  • В почтовый прокси-модуль добавлена поддержка режима "pipelining" для передачи нескольких запросов POP3 или IMAP в одном соединении, а также добавлена новая директива "max_errors", определяющая максимальное число ошибок протокола, после которых соединение будет закрыто.
  • Реализована передача заголовков "Auth-SSL-Protocol" и "Auth-SSL-Cipher" серверу аутентификации почтового прокси.
  • В модуль stream добавлена поддержка TLS-расширения ALPN. Для определения списка поддерживаемых протоколов ALPN (h2, http/1.1) предложена директива ssl_alpn, а для получения информации о согласованном с клиентом протоколе ALPN переменная $ssl_alpn_protocol.
  • В модуль stream добавлен параметр "fastopen", включающий режим "TCP Fast Open" для слушающих сокетов.
  • Налажено экранирование символов """, "<", ">", "\", "^", "`", "{", "|" и "}" при проксировании с изменением URI.
  • В модуль stream добавлена директива proxy_half_close, при помощи которой можно настроить поведение при закрытии проксируемого соединения TCP на одной из сторон ("TCP half-close").
  • В модуль ngx_http_mp4_module добавлена новая директива mp4_start_key_frame для вещания видеопотока, начиная с ключевого кадра.
  • Добавлена переменная $ssl_curve, возвращающая тип эллиптической кривой, выбранной для согласовании ключей в сеансе TLS.
  • В директиве "sendfile_max_chunk" значение по умолчанию изменено на 2 мегабайта;
  • Обеспечена совместимость с библиотекой OpenSSL 3.0. Добавлена поддержка вызова SSL_sendfile() при использовании OpenSSL 3.0.
  • Включена по умолчанию сборка с библиотекой PCRE2, предоставляющей функции для обработки регулярных выражений.
  • При загрузке сертификатов сервера налажено использование уровней безопасности, поддерживаемых начиная с OpenSSL 1.1.0 и задаваемых через параметр "@SECLEVEL=N" в директиве ssl_ciphers.
  • Прекращена поддержка экспортного набора шифров.
  • В API фильтрации тела запроса разрешена буферизация обрабатываемых данных.
  • На платформе FreeBSD улучшена поддержка системного вызова sendfile, предназначенного для организации прямой передачи данных между файловым дескриптором и сокетом. Постоянно задействован режим sendfile(SF_NODISKIO) и добавлена поддержка режима sendfile(SF_NOCACHE).
  • Прекращена поддержка установки HTTP/2-соединений с использованием расширения NPN (Next Protocol Negotiation) вместо ALPN.
  • Обеспечена блокировка запросов HTTP/1.0, включающих HTTP-заголовок "Transfer-Encoding" (появился в версии протокола HTTP/1.1).
  • Усилена защита от атак класса "HTTP Request Smuggling" на системы фронтэнд-бэкенд, позволяющих вклиниваться в содержимое запросов других пользователей, обрабатываемых в том же потоке между фронтэндом и бэкендом. Nginx теперь всегда возвращает ошибку при использовании метода CONNECT; при одновременном указании заголовков "Content-Length" и "Transfer-Encoding"; при наличии пробелов или управляющих символов в строке запроса, имени HTTP-заголовка или в значении заголовка "Host".

  1. Главная ссылка к новости
  2. OpenNews: Игорь Сысоев ушёл из компаний F5 Network и покинул проект NGINX
  3. OpenNews: Выпуск сервера приложений NGINX Unit 1.26.0
  4. OpenNews: Выпуски nginx 1.21.0 и 1.20.1 с устранением уязвимости
  5. OpenNews: Релиз nginx 1.20.0
  6. OpenNews: Релиз nginx 1.18.0
Обсуждение (190 +15) | Тип: Программы |


·24.05 Перехвачен контроль над Python-пакетом ctx и PHP-библиотекой phpass (дополнено) (32 +7)
  Неизвестные злоумышленники получили контроль над Python-пакетом ctx и PHP-библиотекой phpass, после чего разместили обновления с вредоносной вставкой, которая отправляла на внешний сервер содержимое переменных окружения с расчётом на кражу токенов к AWS и системам непрерывной интеграции. По имеющейся статистике Python-пакет 'ctx' загружается из репозитория PyPI около 22 тысяч раз в неделю. PHP-пакет phpass распространяется через репозиторий Composer и за всё время был загружен более 2.5 млн раз.

В ctx вредоносный код был размещён 15 мая в выпуске 0.2.2, 26 мая в выпуске 0.2.6, а также 21 мая был подменён старый релиз 0.1.2, изначально сформированный в 2014 году. Предполагается, что доступ был получен в результате компрометации учётной записи разработчика.

Что касается PHP-пакета phpass, то вредоносный код был интегрирован через регистрацию нового GitHub-репозитория с тем же именем hautelook/phpass (владелец оригинального репозитория удалил свою учётную запись hautelook, чем воспользовался злоумышленник и зарегистрировал новую учётную запись с тем же именем и разместил под ней репозиторий phpass с вредоносным кодом). Пять дней назад в репозиторий было добавлено изменение, отправляющее на внешний сервер содержимое переменных окружения AWS_ACCESS_KEY и AWS_SECRET_KEY.

Попытка размещения вредоносного пакета в репозитории Composer была оперативно заблокирована и скомпрометированный пакет hautelook/phpass был перенаправлен на пакет bordoni/phpass, продолжающий развитие проекта. В ctx и phpass переменные окружения отправлялись на один и тот же сервер "anti-theft-web.herokuapp[.]com", что свидетельствует о том, что атаки по захвату пакетов были проведены одним лицом.

Дополнение: Перехват модулей был совершён исследователем безопасности, претендующим на получение премии за выявления уязвимостей. Судя по опубликованному отчёту пакеты были захвачены через получение доступа к удалённым GitHub-репозиториям проектов. Исследователь написал скрипт, который проанализировал какие из пакетов в PyPI и Composer привязаны к несуществующей учётной записи в GitHub.

Далее был найден способ регистрации репозитория с тем же именем. GitHub запрещает создание репозиториев с именами удалённых проектов, но оказалось, что эту блокировку можно обойти создав репозиторий с тем же именем в произвольной учётной записи, после чего переименовать эту учётную запись в целевую. Например, если нужно зарегистрировать репозиторий user/rep, где учётная запись user удалена, GitHub даст создать повторно пользователя user, но не позволит создать репозиторий rep. Обойти это ограничение можно создав репозиторий rep в учётной записи другого пользователя (например, user1), после чего переименовать этого пользователя в user. В ходе эксперимента удалось получить переменные окружения с более 1000 хостов.

  1. Главная ссылка к новости
  2. OpenNews: Уязвимость в GitLab, позволяющая получить доступ к токенам Runner
  3. OpenNews: В каталоге Python-пакетов PyPI выявлены три вредоносные библиотеки
  4. OpenNews: Уязвимость в Travis CI, приводящая к утечке ключей публичных репозиториев
  5. OpenNews: Уязвимость в cdnjs, позволившая выполнить код на серверах Cloudflare
  6. OpenNews: Внедрение вредоносного кода в скрипт Codecov привело к компрометации PGP-ключа HashiCorp
Обсуждение (32 +7) | Тип: Проблемы безопасности |


·24.05 Проект OpenBSD опубликовал OpenIKED 7.1, переносимую реализацию протокола IKEv2 для IPsec (39 +16)
  Опубликован выпуск OpenIKED 7.1, реализации протокола IKEv2, развиваемой проектом OpenBSD. Изначально компоненты IKEv2 представляли собой неделимую часть IPsec-стека OpenBSD, но теперь выделены в отдельный переносимый пакет и могут использоваться в других операционных системах. Например, работа OpenIKED проверена во FreeBSD, NetBSD, macOS и различных дистрибутивах Linux, включая Arch, Debian, Fedora и Ubuntu. Код написан на языке Си и распространяется под лицензией ISC.

OpenIKED позволяет развёртывать виртуальные частные сети на базе IPsec. Стек IPsec образован двумя основными протоколами: протоколом обмена ключами (IKE) и протоколом передачи шифрованного трафика (ESP). OpenIKED реализует элементы аутентификации, настройки, обмена ключами и поддержания политик безопасности, а протокол для шифрования трафика ESP обычно предоставляются ядром операционных систем. Из методов аутентификации в OpenIKED могут использовать предварительно установленные ключи (pre-shared), EAP MSCHAPv2 с сертификатом X.509 и открытые ключи RSA и ECDSA.

В новой версии добавлена команда 'ikectl show certinfo' для показа загруженных сертификатов и удостоверяющих центров, улучшена поддержка фрагментации сообщений IKEv2, расширены возможности настройки потока, добавлена поддержка изоляции фонового процесса при помощи механизма AppArmor в Linux, добавлены новые тесты для выявления регрессивных изменений на разных платформах.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск strongSwan 5.4.0, открытой реализации IPsec
  3. OpenNews: Новая атака SLOTH, затрагивающая протоколы TLS 1.2, SSH и IKE/IPsec с MD5 и SHA-1
  4. OpenNews: ФБР заподозрили в помещении бэкдора в IPSEC-стек OpenBSD (дополнено)
  5. OpenNews: Проект OpenBSD опубликовал NTP-сервер OpenNTPD 6.8p1
  6. OpenNews: Выпуск OpenBSD 7.1
Обсуждение (39 +16) | Тип: Программы |


·24.05 Финансовые показатели Thunderbird за 2021 год. Подготовка выпуска Thunderbird 102 (116 +27)
  Разработчики почтового клиента Thunderbird опубликовали финансовый отчёт за 2021 год. За год проект получил пожертвования в размере 2.8 млн долларов (в 2019 году было собрано $1.5 млн, в 2020 - $2.3 млн), что позволяет самостоятельно успешно развиваться.

Расходы проекта составили 1.984 млн долларов (в 2020 году - $1.5 млн) и почти все (78.1%) были связаны с оплатой работы персонала. Остальные расходы связаны с оплатой услуг профессиональных служб (например, кадровая служба), управление налогами и соглашения с Mozilla (например, оплата за доступ к сборочной инфраструктуре). На счетах компании MZLA Technologies Corporation, курирующей разработку Thunderbird, остаётся около 3.6 млн долларов.

По имеющейся статистике фиксируется около 9 млн активных пользователей Thunderbird в день и 17 млн активных пользователей в месяц (год назад были примерно такие же показатели). 95% пользователей используют Thunderbird на платформе Windows, 4% - macOS и 1% - Linux.

В настоящее время для работы над проектом нанято 20 человек (в 2020 году работало 15). Среди изменений в персонале:

  • Нанят инженер для техподдержки предприятий и написания документации.
  • Должность менеджера по работе с бизнесом и сообществом разделена на две позиции: "менеджер по работе сообществом" и "менеджер по развитию продуктов и работе бизнесом".
  • Нанят инженер по контролю за качеством (QA).
  • Трудоустроен ещё один главный разработчик (было 2, стало 3).
  • Создана должность директора по операциям.
  • Нанят дизайнер.
  • Нанят маркетолог.
  • Сохранены должности:
    • Технический менеджер.
    • Координатор экосистемы дополнений.
    • Главный архитектор интерфейса.
    • Инженер по обеспечению безопасности.
    • 4 разработчика и 3 главных разработчика.
    • Лидер группы по обслуживанию инфраструктуры.
    • Инженер по сборке.
    • Инженер по формированию релизов.

Из ближайших планов отмечается выпуск в июне релиза Thunderbird 102, среди наиболее заметных изменений в котором выделяется:

  • Новая реализация адресной книги с поддержкой vCard.
  • Боковая панель Spaces с кнопками для быстрого переключения между режимами работы программы (email, адресная книга, календарь. чат, дополнения).
  • Возможность вставки эскизов для предпросмотра содержимого ссылок в письмах. При добавлении ссылки в процессе написания письма теперь вводится предложение добавить для ссылки эскиз связанного с ней содержимого, который увидит получатель.
  • Вместо мастера добавления новой учётной записи при первом запуске предложен сводный экран с перечнем возможных начальных действий, таких как настройка существующей учётной записи, импорт профиля, создание нового email, настройка календаря, чата и ленты новостей.
  • Новый мастер импорта и экспорта, поддерживающий перенос сообщений, настроек, фильтров, адресной книги и учётных записей из различных конфигураций, в том числе обеспечивающий миграцию с Outlook и SeaMonkey.
  • Изменено оформление заголовков писем.
  • Встроен клиент для системы децентрализованных коммуникаций Matrix. Реализация поддерживает такие расширенные возможности, как сквозное шифрование, отправка приглашений, отложенная загрузка участников и редактирование отправленных сообщений.

На 2023 год намечена полная переработка интерфейса пользователя, которая будет предложена в выпуске Thunderbird 114. Из планов на будущее также упоминается разработка версии Thunderbird для платформы Android.

  1. Главная ссылка к новости
  2. OpenNews: Компания Mozilla опубликовала финансовый отчёт за 2020 год
  3. OpenNews: Mozilla тестирует сервис финансирования сайтов, продвигаемый как альтернатива рекламе
  4. OpenNews: Проект Thunderbird раскрыл финансовые показатели за 2020 год
  5. OpenNews: Выпуск почтового клиента Thunderbird 91
  6. OpenNews: В бета-выпуск Thunderbird 100 интегрирована поддержка протокола Matrix
Обсуждение (116 +27) | Тип: К сведению |


·24.05 Релиз минималистичного дистрибутива Alpine Linux 3.16 (51 +20)
  Доступен релиз Alpine Linux 3.16, минималистичного дистрибутива, построенного на базе системной библиотеки Musl и набора утилит BusyBox. Дистрибутив отличается повышенными требованиями к обеспечению безопасности и собран с защитой SSP (Stack Smashing Protection). В качестве системы инициализации используется OpenRC, для управления пакетами применяется собственный пакетный менеджер apk. Alpine применяется для формирования официальных образов контейнеров Docker. Загрузочные iso-образы (x86_64, x86, armhf, aarch64, armv7, ppc64le, s390x) подготовлены в пяти вариантах: стандартном (155 МБ), с ядром без патчей (168 МБ), расширенном (750 МБ) и для виртуальных машин (49 МБ).

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

  • В скриптах для настройки системы улучшена поддержка накопителей NVMe, предоставлена возможность создания учётной записи администратора, добавлена поддержка добавления ключей для SSH.
  • Предложен новый скрипт setup-desktop для упрощения установки окружения рабочего стола.
  • Пакет с утилитой sudo перемещён в репозиторий community, что подразумевает формирования обновлений с устранением уязвимостей только для последней стабильной ветки sudo. Вместо sudo рекомендовано использовать doas (упрощённый аналог sudo от проекта OpenBSD) или прослойку doas-sudo-shim, предоставляющую замену команде sudo, работающую поверх утилиты doas.
  • Раздел /tmp теперь размещается в памяти с использованием файловой системы tmpfs.
  • Пакет icu-data с данными для интернационализации разделён на два пакета: icu-data-en (2.6 MiB, включена только локаль en_US/GB) и icu-data-full (29 MiB).
  • В отдельные пакеты вынесены плагины к NetworkManager: networkmanager-wifi, networkmanager-adsl, networkmanager-wwan, networkmanager-bluetooth, networkmanager-ppp и networkmanager-ovs.
  • Библиотека SDL 1.2 заменена на пакет sdl12-compat, предоставляющий API, совместимый с двоичным и исходным кодом SDL 1.2, но работающий поверх SDL 2.
  • С поддержкой utmps собраны пакеты busybox, dropbear, mingetty, openssh, util-linux.
  • Для обеспечения работы команды login задействован пакет util-linux-login.
  • Обновлены версии пакетов, в том числе доступны выпуски KDE Plasma 5.24, KDE Gears 22.04, Plasma Mobile 22.04, GNOME 42, Go 1.18, LLVM 13, Node.js 18.2, Ruby 3.1, Rust 1.60, Python 3.10, PHP 8.1, R 4.2, Xen 4.16, Podman 4.0. Удалены пакеты с php7 и python2.

  1. Главная ссылка к новости
  2. OpenNews: Релиз минималистичного дистрибутива Alpine Linux 3.15
  3. OpenNews: Выпуск минималистичного дистрибутива Tiny Core Linux 13
  4. OpenNews: Уязвимость в пакетном менеджере APK, позволяющая удалённо выполнить код в Alpine Linux
  5. OpenNews: Docker-образы Alpine поставлялись с пустым паролем пользователя root
  6. OpenNews: Перевод официальных образов Docker с Ubuntu на Alpine
Обсуждение (51 +20) | Тип: Программы |


·23.05 DeepMind открыл код симулятора физических процессов MuJoCo (41 +19)
  Компания DeepMind открыла исходные тексты движка для симуляции физических процессов MuJoCo (Multi-Joint dynamics with Contact) и перевела проект на открытую модель разработки, подразумевающую возможность участия в разработке представителей сообщества. Проект рассматривается как платформа для проведения исследований и совместной работы над новыми технологиями, связанными с симуляцией роботов и сложных механизмов. Код опубликован под лицензией Apache 2.0. Поддерживаются платформы Linux, Windows и macOS.

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

MuJoCo позволяет манипулировать объектами на низком уровне, обеспечивая при этом высокую точность и широкие возможности моделирования. Модели определяются при помощи языка описания сцен MJCF, основанного на XML и компилируемого при помощи специального оптимизирующего компилятора. Помимо MJCF движок поддерживает загрузку файлов в универсальном формате URDF (Unified Robot Description Format). MuJoCo также предоставляет графический интерфейс для интерактивной 3D-визуализации процесса симуляции и рендеринга результатов с использованием OpenGL.

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

  • Симуляция в обобщённых координатах, исключающая нарушение сочленений.
  • Обратная динамика, определяемая даже при наличии соприкосновений.
  • Использование выпуклого программирования для унифицированного формулирования ограничений в непрерывном времени.
  • Возможность задания различных ограничений, включая мягкие касания и сухое трение.
  • Симуляция систем частиц, тканей, верёвок и мягких объектов.
  • Исполнительные элементы (актуаторы), включая моторы, цилиндры, мышцы, сухожилия и кривошипно-шатунные механизмы.
  • Решающие программы на основе методов Ньютона, сопряжённых градиентов и Гаусса-Зейделя.
  • Возможность использования пирамидальных или эллиптических конусов трения.
  • Использование на выбор методов численного интегрирования Эйлера или Рунге-Кутты.
  • Многопоточная дискретизация и аппроксимация методом конечных разностей.




  1. Главная ссылка к новости
  2. OpenNews: Система для экспериментов с искусственным интеллектом в реальных играх и приложениях
  3. OpenNews: AMD будет развивать открытый движок для симулирования физических процессов
  4. OpenNews: Google выпустил движок для симуляции физических процессов LiquidFun 1.1
  5. OpenNews: Компания NVIDIA выпустила открытый движок симуляции физических процессов PhysX 4.0
  6. OpenNews: Анонсировано открытие кода платформы искусственного интеллекта DeepMind Lab
Обсуждение (41 +19) | Тип: Программы |


·23.05 Опубликованы исходные тексты 9 классических игр для платформы Palm (80 +25)
  Аарон Ардири (Aaron Ardiri) опубликовал исходные тексты клонов 9 классических игр, написанных им в конце 1990-х и начале 2000-х годов для платформы Palm. Доступны следующие игры: Lemmings, Mario Bros, Octopus, Parachute, Fire, Loderunner, Hexxagon, Donkey Kong, Donkey Kong Jr. Для запуска игр в браузере может быть использован эмулятор cloudpilot. Код написан на языке Cи с ассемблерными вставками и распространяется под пользовательским соглашением (EULA), допускающим использование для образовательных нужд. При желании игры могут быть портированы для микроконтроллеров и прочих систем, поставляемых с небольшим объёмом ОЗУ и не обладающих большой вычислительной мощностью.

Помимо игр также опубликован код эмулятора Liberty, позволяющего запускать на устройствах Palm игры, написанные для игровой платформы GameBoy. Аарон также сообщил, что намерен опубликовать и другие свои разработки, не ограничивающиеся платформой Palm, такие как библиотека для создания кросс-платформенных игровых приложений SHARK, которая поддерживает 14 платформ, включая Sony PSP.

  1. Главная ссылка к новости
  2. OpenNews: Новая игровая консоль Atari будет поставляться с Linux
  3. OpenNews: Доступен hatari 2.0, эмулятор компьютеров Atari
  4. OpenNews: Доступны исходные тексты 15 классических игр для платформы Atari 7800
  5. OpenNews: Урегулирован конфликт о нарушении лицензии GPL в играх компании Atari
  6. OpenNews: Компания Wolfire открыла код игры Overgrowth
Обсуждение (80 +25) | Тип: Программы |


·23.05 Релиз ядра Linux 5.18 (242 +46)
  После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 5.18. Среди наиболее заметных изменений: проведена большая чистка устаревшей функциональности, объявлена устаревшей ФС Reiserfs, реализованы события трассировки пользовательских процессов, добавлена поддержка механизма блокирования работы эксплоитов Intel IBT, включён режим выявления переполнения буферов при использовании функции memcpy(), добавлен механизм отслеживания вызовов функций fprobe, повышена производительность планировщика задач на CPU AMD Zen, в состав включён драйвер для управления функциональностью CPU Intel (SDS), интегрирована часть патчей для реструктуризации заголовочных файлов, одобрено применение стандарта C11.

В новую версию принято 16206 исправлений от 2127 разработчиков (в прошлом выпуске было 14203 исправления от 1995 разработчиков), размер патча - 108 МБ (изменения затронули 14235 файлов, добавлено 1340982 строк кода, удалено 593836 строк). Около 44% всех представленных в 5.18 изменений связаны с драйверами устройств, примерно 16% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 11% связано с сетевым стеком, 3% - с файловыми системами и 3% c внутренними подсистемами ядра.

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

  • Дисковая подсистема, ввод/вывод и файловые системы
    • В файловой системе Btrfs добавлена поддержка проброса сжатых данных при выполнении операций send и receive. Ранее при использовании send/receive отправляющая сторона распаковывала данные, хранимые в сжатом виде, а принимающая повторно сжимала перед записью. В ядре 5.18 приложениям в пространстве пользователя, использующим вызовы send/receive, предоставлена возможность передачи сжатых данных без переупаковки. Функциональность реализована благодаря новым ioctl-операциям BTRFS_IOC_ENCODED_READ и BTRFS_IOC_ENCODED_WRITE, позволяющим напрямую читать и записывать информацию в экстенты.

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

    • В режиме прямого ввода/вывода (Direct I/O) обеспечена возможность доступа к зашифрованным файлам при использовании в fscrypt inline-шифрования, в котором операции шифрования и расшифровки выполняются силами контроллера накопителя, а не ядра. При обычном шифровании силами ядра доступ к зашифрованным файлам при помощи Direct I/O как и раньше невозможен, так как обращение к файлам осуществляется минуя механизм буферизации в ядре.
    • В NFS-сервере по умолчанию включена поддержка протокола NFSv3, которая теперь не требует отдельного включения и доступна при общем включении NFS. NFSv3 рассматривается как основная и всегда поддерживаемая версия NFS, а поддержка NFSv2, возможно, в будущем будет прекращена. Значительно повышена эффективность чтения содержимого каталогов.
    • Файловая система ReiserFS переведена в разряд устаревших и ожидает удаления в 2025 году. Перевод ReiserFS в разряд устаревших позволит снизить трудозатраты на сопровождение общих для файловых систем изменений, связанных с поддержкой нового API для монтирования, iomap и фолиантов.
    • Для ФС F2FS реализована возможность маппинга идентификаторов пользователей примонтированных файловых систем, применяемого для сопоставления файлов определённого пользователя на примонтированном чужом разделе с другим пользователем в текущей системе.
    • Переработан код для подсчёта статистики в обработчиках Device-mapper, что позволило заметно повысить точность аккаунтинга в таких обработчиках, как dm-crypt.
    • Для устройств NVMe реализована поддержка 64-разрядных контрольных сумм для проверки целостности.
    • Для файловой системы exfat предложена новая опция монтирования "keep_last_dots", запрещающая очистку точек в конце имени файла (в Windows точки в конце имени по умолчанию удаляются).
    • В EXT4 повышена производительность режима fast_commit и увеличена масштабируемость. Опция монтирования "mb_optimize_scan", позволяющая повысить производительность в условиях большой фрагментации ФС, адаптирована для работы с файлами с экстентами.
    • Прекращена поддержка потоков записи (write stream) в подсистеме, обеспечивающей работу блочных устройств. Указанная возможность была предложена для SSD, но не получила распространения и сейчас в обиходе отсутствуют устройства с поддержкой данного режима и маловероятно, что они появятся в будущем.
  • Память и системные сервисы
    • Началась интеграция набора патчей, позволяющего значительно сократить время пересборки ядра за счёт реструктуризации иерархии заголовочных файлов и сокращения числа перекрёстных зависимостей. В состав ядра 5.18 включены патчи, оптимизирующие структуру заголовочных файлов планировщика задач (kernel/sched). По сравнению с прошлым выпуском потребление процессорного времени при сборке кода kernel/sched/ сократилось на 61%, а фактическое время уменьшилось на 3.9% (с 2.95 до 2.84 сек).
    • В коде ядра разрешено использование стандарта C11, опубликованного в 2011 году. Ранее добавляемый в ядро код должен был соответствовать спецификации ANSI C (С89), сформированной ещё в 1989 году. В сборочных скриптах ядра 5.18 опция '--std=gnu89' заменена на '--std=gnu11 -Wno-shift-negative-value'. Рассматривалась возможность использования стандарта C17, но в этом случае пришлось бы повышать минимально поддерживаемую версию GCC, включение же поддержки C11 укладывается в текущие требования к версии GCC (5.1).
    • Оптимизирован планировщик (CPU scheduler) для двухпроцессорных серверов с процессорами AMD EPYC. В новой версии снижен допустимый дисбаланс нагрузки между узлами NUMA, имеющими несколько кэшей последнего уровня (LLC, Last Level Cache), что в некоторых тестах привело к существенному повышению производительности.
    • Расширены средства для трассировки приложений в пространстве пользователя. В новой версии ядра добавлена возможность создания пользовательскими процессами событий трассировки (User events) и записи данных в буфер трассировки, которые могут быть просмотрены через типовые утилиты трассировки ядра, такие как ftrace и perf. События трассировки из пространства пользователя изолированы от событий трассировки ядра. Состояние событий может быть просмотрено через файл /sys/kernel/debug/tracing/user_events_status, а регистрация события и запись данных через файл /sys/kernel/debug/tracing/user_events_data.
    • Добавлен механизм отслеживания (probe) вызовов функций - fprobe. API fprobe основан на ftrace, но ограничен только возможностью прикрепления callback-обработчиков к точкам входа в функцию и завершения работы функции. В отличие от kprobes и kretprobes, новый механизм позволяет использовать один обработчик сразу для нескольких функций.
    • Прекращена поддержка старых процессоров ARM (ARMv4 и ARMv5), не оснащённых блоком управления памятью (MMU). Поддержка систем ARMv7-M без MMU сохранена.
    • Прекращена поддержка RISC-подобной архитектуры NDS32, использовавшейся в процессорах компании Andes Technologies. Код удалён из-за отсутствия сопровождения и невостребованности поддержки NDS32 в основном ядре Linux (оставшиеся пользователи используют специализированные сборки ядра от производителей оборудования).
    • По умолчанию отключена сборка ядра с поддержкой формата исполняемых файлов a.out для архитектур alpha и m68k, в которых данный формат продолжает использоваться. Вероятно, поддержка устаревшего формата a.out в скором времени будет полностью удалена из ядра. Планы по удалению формата a.out обсуждаются с 2019 года.
    • Для архитектуры PA-RISC реализована минимальная поддержка механизма vDSO (virtual dynamic shared objects), предоставляющего ограниченный набор системных вызовов, доступный в пространстве пользователя без переключения контекста. Поддержка vDSO позволила реализовать возможность запуска с неисполняемым стеком.
    • Добавлена поддержка механизма Intel HFI (Hardware Feedback Interface), позволяющего оборудованию передавать ядру сведения о текущей производительности и энергоэффективности каждого CPU.
    • Добавлен драйвер для механизма Intel SDSi (Software-Defined Silicon), позволяющего управлять включением дополнительных возможностей в процессоре (например, специализированные инструкции и дополнительная кэш-память). Идея в том, что по более низкой цене могут поставляться чипы с заблокированными расширенными функциями, которые затем можно "докупить" и активировать дополнительные возможности без аппаратной замены чипа.
    • Добавлен драйвер amd_hsmp для поддержки интерфейса AMD HSMP (Host System Management Port), предоставляющего доступ к функциям управления процессором через набор специальных регистров, появившихся в серверных процессорах AMD EPYC начиная с поколения Fam19h. Например, через HSMP можно получить данные об энергопотреблении и температуре, выставить ограничения на частоту, активировать различные режимы повышения производительности, управлять параметрами работы памяти.
    • В интерфейсе асинхронного ввода/вывода io_uring реализована опция IORING_SETUP_SUBMIT_ALL для регистрации в кольцевом буфере набора файловых дескрипторов, а также операция IORING_OP_MSG_RING, позволяющая отправить сигнал из одного кольцевого буфера в другой кольцевой буфер.
    • В механизме DAMOS (Data Access Monitoring-based Operation Schemes), позволяющем высвобождать память с учётом частоты обращения к памяти, расширены возможности по контролю за операциями с памятью из пространства пользователя.
    • Интегрирована третья серия патчей с реализацией концепции фолиантов страниц памяти (page folios), которые напоминают объединённые страницы памяти (compound pages), но отличаются улучшенной семантикой и более понятной организацией работы. Использование фолиантов позволяет ускорить управление памятью в некоторых подсистемах ядра. В предложенных патчах осуществлён перевод на фолианты внутренних функций управления памятью, включая разновидности функции get_user_pages(). Предоставлена поддержка создания больших фолиантов в коде упреждающего чтения данных.
    • В сборочной системе появилась поддержка переменных окружения USERCFLAGS и USERLDFLAGS, при помощи которых можно передать дополнительные флаги компилятору и компоновщику.
    • В подсистеме eBPF в механизме BTF (BPF Type Format), предоставляющем информацию для проверки типов в псевдокоде BPF, реализована возможность добавления аннотаций к переменным, ссылающимся на области памяти в пространстве пользователя. Аннотации помогают системе верификации BPF-кода более качественно выявлять и проверять обращения к памяти.
    • Преложен новый обработчик выделения памяти для хранения загруженных BPF-программ, который позволяет более эффективно использовать память в ситуациях загрузки большого числа BPF-программ.
    • В системный вызов madvise(), предоставляющий средства для оптимизации управления памятью процесса, добавлен флаг MADV_DONTNEED_LOCKED, который дополняет уже имеющийся флаг MADV_DONTNEED, через который ядру можно заранее сообщить о готовящемся освобождении блока памяти, т.е. о том, что этот блок уже не нужен и может использоваться ядром. В отличие от MADV_DONTNEED использование флага MADV_DONTNEED_LOCKED допустимо для закреплённых в ОЗУ страниц памяти, которые при вызове madvise вытесняются без смены своего закреплённого статуса и в случае последующего обращения к блоку и генерации "page fault" возвращаются с сохранением привязки. Дополнительно добавлено изменение, позволяющее использовать флаг MADV_DONTNEED с большими страницами памяти в HugeTLB.
  • Виртуализация и безопасность
    • Для архитектуры x86 добавлена поддержка механизма защиты потока выполнения команд Intel IBT (Indirect Branch Tracking), мешающего применению техник построения эксплоитов с использованием приёмов возвратно-ориентированного программирования (ROP, Return-Oriented Programming), при которых эксплоит формируется в форме цепочки вызовов уже имеющихся в памяти кусков машинных инструкций, завершающихся инструкцией возврата управления (как правило, это окончания функций). Суть реализованного метода защиты в блокировании косвенных переходов в тело функции через добавление вначале функции специальной инструкции ENDBR и разрешение выполнения по косвенному переходу только в случае перехода на эту инструкцию (косвенный вызов через JMP и CALL должен всегда попадать на инструкцию ENDBR, которая размещена в самом начале функции).
    • Включена более строгая проверка границ буферов в функциях memcpy(), memmove() и memset(), выполняемая на этапе компиляции при включении режима CONFIG_FORTIFY_SOURCE. Добавленное изменение сводится к проверке выхода за границы элементов структур, размер которых известен. Отмечается, что реализованная возможность позволила бы блокировать все связанные с memcpy() переполнения буфера в ядре, выявленные по меньшей мере за последние три года.
    • Добавлена вторая часть кода обновлённой реализации генератора псевдослучайных чисел RDRAND, отвечающего за работу устройств /dev/random и /dev/urandom. Новая реализация примечательна унификацией работы /dev/random и /dev/urandom, добавлением защиты от появления дубликатов в потоке случайных чисел при запуске виртуальных машин и переходом на использование хеш-функции BLAKE2s вместо SHA1 для операций смешивания энтропии. Изменение позволило повысить безопасность генератора псевдослучайных чисел, благодаря избавлению от проблемного алгоритма SHA1 и исключению перезаписи вектора инициализации RNG. Так как алгоритм BLAKE2s опережает SHA1 по производительности, то его применение также положительно отразилось на производительности.
    • Для архитектуры ARM64 добавлена поддержка нового алгоритма аутентификации указателей - "QARMA3", который быстрее алгоритма QARMA при сохранении должного уровня защиты. Технология позволяет использовать специализированные инструкции ARM64 для проверки адресов возврата при помощи цифровых подписей, которые хранятся в неиспользуемых верхних битах самого указателя.
    • Для архитектуры ARM64 реализована поддержка сборки с включением в GCC 12 режима защиты от перезаписи адреса возврата из функции в случае переполнения буфера в стеке. Суть защиты в сохранении после передачи управления функции адреса возврата в отдельном "теневом" стеке и извлечении данного адреса перед выходом из функции.
    • Добавлено новое хранилище ключей (keyring) - "machine", содержащее ключи владельца системы (MOK, Machine Owner Keys), поддерживаемые в shim-загрузчике. Указанные ключи могут использоваться для заверения цифровой подписью компонентов ядра, загружаемых на стадии после начальной загрузки (например, модулей ядра).
    • Удалена поддержка асимметричных закрытых ключей для TPM, которые предложены в устаревшей версии TPM, имеют известные проблемы с безопасностью и не получили распространение на практике.
    • Добавлена защита данных с типом size_t от целочисленных переполнений. В коде задействованы обработчики size_mul(), size_add() и size_sub(), позволяющие безопасно производить умножение, сложение и вычитание размеров с типом size_t.
    • При сборке ядра включены флаги "-Warray-bounds" и "-Wzero-length-bounds", выводящие предупреждения при выходе индекса за границу массива и использовании массивов нулевой длины.
    • В устройство virtio-crypto добавлена поддержка шифрования с использованием алгоритма RSA.
  • Сетевая подсистема
    • В реализации сетевых мостов добавлена поддержка режима привязки портов (locked mode), при котором пользователь может отправлять трафик через порт только с разрешённого MAC-адреса. Также добавлена возможность использования нескольких структур для оценки состояния протокола STP (Spanning Tree Protocol). Ранее для VLAN могла производиться только прямая привязка к STP (1:1), при которой каждый VLAN управлялся независимо. В новой версии добавлен параметр mst_enable, при включении которого состояние VLAN-ов контролируется модулем MST (Multiple Spanning Trees) и привязка VLAN-ов может соответствовать модели M:N.
    • Продолжена работа по интеграции в сетевой стек средств для отслеживания причин отбрасывания пакетов (коды reason). Код причины передаётся во время освобождения памяти, связанной с пакетом, и позволяет учитывать такие ситуации, как отбрасывание пакета из-за ошибок заполнения полей в заголовке, выявление спуфинга фильтром rp_filter, неверная контрольная сумма, нехватка памяти, срабатывание правил IPSec XFRM, неверный номер последовательности TCP и т.п.
    • Предоставлена возможность передачи сетевых пакетов из BPF-программ, запущенных из пространства пользователя в режиме BPF_PROG_RUN при котором BPF-программы выполняются в ядре, но возвращают результат в пространство пользователя. Пакеты передаются с использованием подсистемы XDP (eXpress Data Path). Поддерживается live-режим обработки пакетов, при котором XDP-обработчик может на лету перенаправлять сетевые пакеты в сетевой стек или на другие устройства. Также возможно создание программных генераторов внешнего трафика или подстановка сетевых кадров в сетевой стек.
    • Для BPF-программ, прикрепляемых к сетевым cgroups, предложены вспомогательные функции для явного выставления значения, возвращаемого системными вызовами, что позволяет передать более полную информацию о причинах блокировки системного вызова.
    • В подсистему XDP (eXpress Data Path) добавлена поддержка фрагментированных пакетов, размещаемых в нескольких буферах, что позволяет обрабатывать в XDP Jumbo-кадры и применять TSO/GRO (TCP Segmentation Offload/Generic Receive Offload) для XDP_REDIRECT.
    • Значительно ускорен процесс удаления сетевых пространств имён, что было востребовано на некоторых крупных системах с большим объёмом трафика.
  • Оборудование
    • В драйвере amdgpu по умолчанию включена технология адаптивной синхронизации FreeSync, которая позволяет корректировать частоту обновления информации на экране, обеспечивая плавность и отсутствие разрывов изображения во время игр и просмотра видео. Объявлена стабильной поддержка GPU Aldebaran.
    • В драйвере i915 добавлена поддержка чипов Intel Alderlake N и дискретных видеокарт Intel DG2-G12 (Arc Alchemist).
    • В драйвере nouveau обеспечена поддержка более высоких битрейтов для интерфейсов DP/eDP и поддержка удлинителей кабеля lttprs (Link-Training Tunable PHY Repeaters).
    • В подсистеме drm (Direct Rendering Manager) в драйверах armada, exynos, gma500, hyperv, imx, ingenic, mcde, mediatek, msm, omap, rcar-du, rockchip, sprd, sti, tegra, tilcdc, xen и vc4 добавлена поддержка параметра nomodeset, позволяющего отключить переключение видеорежимов на уровне ядра и использование средств для аппаратного ускорения отрисовки, оставив только функциональность, связанную с системным фреймбуфером.
    • Добавлена поддержка ARM SoС Qualcomm Snapdragon 625/632 (используется в смартфонах LG Nexus 5X и Fairphone FP3), Samsung Exynos 850, Samsung Exynos 7885 (используется в Samsung Galaxy A8), Airoha (Mediatek/EcoNet) EN7523, Mediatek mt6582 (планшет Prestigio PMT5008 3G), Microchip Lan966, Renesas RZ/G2LC, RZ/V2L, Tesla FSD, TI K3/AM62 и i.MXRTxxxx.
    • Расширен список поддерживаемых ARM-устройств и плат, в частности, на основе процессоров Broadcom (Raspberry Pi Zero 2 W), Qualcomm (Google Herobrine R1 Chromebook, SHIFT6mq, Samsung Galaxy Book2), Rockchip (Pine64 PineNote, Bananapi-R2-Pro, STM32 Emtrion emSBS, Samsung Galaxy Tab S, Prestigio PMT5008 3G tablet), Allwinner (A20-Marsboard), Amlogic (Amediatek X96-AIR, CYX A95XF3-AIR, Haochuangy H96-Max, Amlogic AQ222 и OSMC Vero 4K+), Aspeed (Quanta S6Q, ASRock ROMED8HM3), Marvell MVEBU/Armada (Ctera C200 V1 и V2 NAS), Mstar (DongShanPiOne, Miyoo Mini), NXP i.MX (Protonic PRT8MM, emCON-MX8M Mini, Toradex Verdin, Gateworks GW7903).
    • Добавлена поддержка звуковых систем и кодеков AMD PDM, Atmel PDMC, Awinic AW8738, i.MX TLV320AIC31xx, Intel CS35L41, ESSX8336, Mediatek MT8181, nVidia Tegra234, Qualcomm SC7280, Renesas RZ/V2L, Texas Instruments TAS585M. Добавлена начальная реализация звукового драйвера для DSP-чипа Intel AVS. Обновлена поддержка драйверов для Intel ADL и Tegra234, а также внесены изменения для улучшения поддержки звука на устройствах Dell, HP, Lenovo, ASUS, Samsung и Clevo.

    Одновременно латиноамериканский Фонд свободного ПО сформировал вариант полностью свободного ядра 5.18 - Linux-libre 5.18-gnu, очищенного от элементов прошивок и драйверов, содержащих несвободные компоненты или участки кода, область применения которых ограничена производителем. В новом выпуске проведена чистка драйверов для панелей MIPI DBI, VPU Amphion, WiFi MediaTek MT7986 WMAC, Mediatek MT7921U (USB) и Realtek 8852a/8852c, звуковых чипов Intel AVS и Texas Instruments TAS5805M. Также проведена чистка DTS-файлов для разных SoC Qualcomm с процессорами на базе архитектуры AArch64. Обновлён код чистки блобов в драйверах и подсистемах AMD GPU, MediaTek MT7915, Silicon Labs WF200+ WiFi, Mellanox Spectru Ethernet, Realtek rtw8852c, Qualcomm Q6V5, Wolfson ADSP, MediaTek HCI UART.

  1. Главная ссылка к новости
  2. OpenNews: Релиз ядра Linux 5.17
  3. OpenNews: Релиз ядра Linux 5.16
  4. OpenNews: Релиз ядра Linux 5.15
  5. OpenNews: Релиз ядра Linux 5.14
  6. OpenNews: Релиз ядра Linux 5.13
Обсуждение (242 +46) | Тип: Программы | Интересно


·22.05 Тестирование рабочего стола KDE Plasma 5.25 (183 +28)
  Доступна для тестирования бета-версия пользовательской оболочки Plasma 5.25. Протестировать новый выпуск можно через Live-сборку от проекта openSUSE и сборки от проекта KDE Neon Testing edition. Пакеты для различных дистрибутивов можно найти на данной странице. Релиз ожидается 14 июня.

Ключевые улучшения:

  • В конфигураторе переработана страница для настройки общей темы оформления. Предоставлена возможность выборочного применения элементов темы, таких как стиль приложений и рабочего стола, шрифты, цвета, тип обрамления окон, пиктограммы и курсоры, а также отдельного применения темы к заставке и интерфейсу блокировки экрана.
  • Добавлен отдельный анимационный эффект, применяемый при вводе неверного пароля.
  • Добавлен диалог для управления группами виджетов (Containment) на экране в режиме редактирования, позволяющий наглядно управлять расположением панелей и апплетов в привязке к разным мониторам.
  • Добавлена возможность применения цвета выделения активных элементов (accent) в привязке к обоям рабочего стола, а также использования акцентного цвета для заголовков и изменения тона всей цветовой схемы. В тему Breeze Classic интегрирована поддержка раскраски заголовков акцентным цветом.
  • Добавлен затухающий эффект для плавной смены между старой и новой цветовыми схемами.
  • В панелях и в системном лотке включена навигация при помощи клавиатуры.
  • Добавлена настройка для управления включением режима управления с сенсорного экрана (на системах с x11 можно только включить или выключить по умолчанию режим сенсорного экрана, а при использовании wayland дополнительно можно автоматически переводить рабочий стол в режим сенсорного экрана при поступлении от устройства специального события). При включении режима сенсорного экрана обеспечено автоматичкеское увеличение отступов между пиктограммами в панели задач.
  • Для тем оформления предоставлена поддержка плавающих панелей.
  • Обеспечено сохранение позиции пиктограмм в режиме Folder View с привязкой к экранному разрешению.
  • В списке недавно открытых документов в контекстном меню менеджера задач разрешено отображение элементов не связанных с файлами, например, могут показываться недавние подключения к удалённым рабочим столам.
  • В оконном менеджере KWin реализована поддержка применения шейдеров в скриптах с реализацией эффектов. KWin-скрипты KCM переведены на QML. Добавлен новый эффект смешивания и улучшены эффекты сдвига.
  • Улучшена поддержка управления через экранные жесты. Добавлена возможность активации обзорного режима жестами на сенсорном экране или тачпаде. Добавлены возможность использования привязанных к краям экрана жестов в скриптовых эффектах.
  • В Центре управления программами (Discover) обеспечено отображение полномочий для приложений в формате Flatpak. В боковой панели реализован показ всех подкатегорий из выбранной категории приложений.

    Полностью переделана страница с информацией о приложении.

  • В настройках добавлен показ информации о выбранных обоях рабочего стола (название, автор).
  • На странице с информацией о системе (Info Center) расширена общая информация в блоке "About This System" и добавлена новая страница "Firmware Security", на которой, например, показано включён ли режим UEFI Secure Boot.
  • Продолжено улучшение работы сеанса на базе протокола Wayland.

  1. Главная ссылка к новости
  2. OpenNews: Релиз рабочего стола KDE Plasma 5.24
  3. OpenNews: Релиз браузера Falkon 3.2.0, развиваемого проектом KDE
  4. OpenNews: Выпуск KDE Gear 22.04, набора приложений от проекта KDE
  5. OpenNews: Доступна мобильная платформа KDE Plasma Mobile 22.04
  6. OpenNews: Релиз десктоп-окружения Trinity R14.0.12, продолжающего развитие KDE 3.5
Обсуждение (183 +28) | Тип: Проблемы безопасности |


·22.05 Lotus 1-2-3 портирован для Linux (136 +52)
  Тэвис Орманди (Tavis Ormandy), исследователь безопасности из компании Google, ради интереса портировал для работы в Linux табличный процессор Lotus 1-2-3, выпущенный в 1988 году, за три года до появления самого Linux. Порт выполнен на основе переработки исполняемых файлов для UNIX, найденных в архиве с варезом на одной из BBS. Работа интересна тем, что портирование выполнено на уровне машинных кодов и динамического связывания без использования эмуляторов или виртуальных машин. В итоге получен исполняемый файл, способный запускаться в Linux без лишних прослоек. Инструментарий для адаптации имеющихся в открытом доступе исполняемых файлов Lotus 1-2-3 для запуска в Linux опубликован на GitHub.

При портировании выполнена адаптация к интерфейсу системных вызовов Linux, обеспечено перенаправление вызовов в glibc, произведена замена несовместимых функций и интегрирован альтернативный драйвер для вывода в терминал. В собственный экземпляр также добавлен обход проверки лицензии, но Тэвис владеет коробочной копией Lotus 1-2-3 для MS-DOS и имеет законное право на использование продукта. Создание порта не является первым экспериментом Тэвиса по запуску Lotus 1-2-3 в Linux, ранее он сопровождал специальный драйвер для DOSEMU, обеспечивающий работу DOS-версии Lotus 1-2-3 на современных терминалах. Теперь выполнена задача запуска Lotus 1-2-3 в Linux без использования эмулятора.

  1. Главная ссылка к новости
  2. OpenNews: Доступна бета-версия порта файлового менеджера Far для Linux, BSD и macOS
  3. OpenNews: Компания Microsoft портировала Sysmon для Linux и открыла его код
  4. OpenNews: Google портирует Chrome для ОС Fuchsia
  5. OpenNews: Выпущен порт операционной системы OpenVMS для архитектуры x86-64
  6. OpenNews: LoadLibrary, прослойка для загрузки Windows DLL в Linux-приложения
Обсуждение (136 +52) | Тип: К сведению |


<< Предыдущая страница (позже)
Следующая страница (раньше) >>



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

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