home tags events about rss login

Things happen.

opennet honked 25 Apr 2024 10:00 +0200

Доступна JavaScript-платформа Node.js 22.0.0

Состоялся релиз Node.js 22.0, платформы для выполнения сетевых приложений на языке JavaScript. Node.js 22.0 отнесён к веткам с длительным сроком поддержки, но данный статус будет присвоен только в октябре, после проведения стабилизации. Поддержка Node.js 22.x будет осуществляться до 30 апреля 2027 года. Сопровождение прошлой LTS-ветки Node.js 20.x продлится до апреля 2026 года, а позапрошлой LTS-ветки 18.x до апреля 2025 года. Сопровождение промежуточной ветки Node.js 21.x будет прекращено 1 июня 2024 года.

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

  • Движок V8 обновлён до версии 12.4, применяемой в Chromium 124. Из изменений по сравнению с веткой Node.js 21, в которой использовался движок V8 11.8), отмечается:
    • Поддержка расширения WasmGC, упрощающего портирование в WebAssembly программ, написанных на языках программирования, использующих сборщик мусора (Kotlin, PHP, Java и т.п.). WasmGC добавляет новые типы структур и массивов, для которых может применяться нелинейное выделение памяти.
    • Поддержка метода Array.fromAsync(), в асинхронном режиме возвращающего новый экземпляр объекта Array, скопированный из объектов, напоминающих массив, перечисляемых (iterable) или асинхронно перечисляемых (async iterable).
    • Поддержка методов для работы с итераторами, таких как .map, .filter, .find, .take, .drop, .forEach и .reduce.
    • Поддержка объекта Set, определяющего коллекцию значений и предлагающего методы с реализацией типовых операций работы с множествами, таких как пересечения, объединения, разность и дополнение.
  • Включён по умолчанию оптимизирующий JIT-компилятор Maglev, нацеленный на быструю генерацию высокопроизводительного машинного кода для активно используемого кода на JavaScript. Включение Maglev позволяет заметно ускорить работу короткоживущий CLI-приложений, не выполняющих длительных операций, например, время прохождения теста Jetstrea сокращается на 7.5%, а теста Speedometer на 5%.
  • Ускорена работа с потоками за счёт увеличения значения опции highWaterMark с 16 KB до 65 KB (определяет лимит, до которого выполняется буферизация записи). Изменение приводит к увеличению потребления памяти, поэтому приложениям, рассчитанным на работу с ограниченным объёмом ОЗУ, возможно потребуется вернуть старое значение через вызов setDefaultHighWaterMark().
  • Повышена производительность API fetch() и test runner за счёт повышения эффективности создания экземпляров AbortSignal. Повышена производительность API, связанных с синхронной работой с файловыми системами.
  • Предоставлена экспериментальная возможность использования вызова "require()" для загрузки JavaScript-модулей ESM (ECMAScript Modules) в синхронном режиме. ESM-модули применяются в браузерах и идут на смену модулям CommonJS, специфичным для Node.js. Для загрузки через "require()" ESM-модуль должен выполняться в синхронном режиме (без await на верхнем уровне). Поддержка включается через флаг "--experimental-require-module".
  • Добавлена экспериментальная возможность запуска скриптов, определённых в файле package.json, используя команду "--run ‹script-in-package-json›".
  • В категорию стабильных переведена команда "node --watch" с реализацией режима наблюдения, обеспечивающего перезапуск процесса при изменении импортированного файла (например, в случае выполнения "node --watch index.js" процесс будет автоматически перезапущен при изменении index.js).
  • Стабилизирована встроенная реализация API WebSocket, позволяющего использовать WebSocket в режиме клиента без установки дополнительных зависимостей.
  • Добавлена частичная поддержка API Navigator.
  • В API Webstreams добавлена поддержка формата сжатия deflate-raw.
  • В модуль node:fsmodule добавлены функции glob и globSync для сопоставления файловых путей по образцу.
  • Улучшена обработка некорректно настроенных стеков IPv6. Реализован алгоритм Happy Eyeballs для быстрого отката в случае проблем с работой IPv6.
  • Объявлен устаревшим API util.
  • Обновлены версии зависимостей: npm 10.5.1, libuv 1.48.0, simdutf 5.2.3, c-ares 1.28.1, zlib 1.3.0.1-motley-24c07df, simdjson to 3.8.0, ada 2.7.7 и undici 6.6.0.

Платформа 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-приложении, работающем в браузере.


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

opennet honked 25 Apr 2024 08:00 +0200

Google отложил прекращение поддержки сторонних Cookie в Chrome

Компания Google объявила об очередной корректировке планов по прекращению в браузере Chrome поддержки сторонних Cookie, выставляемых при обращении к сайтам, отличным от домена текущей страницы. Изначально поддержку сторонних Cookie планировалось прекратить до 2022 года, потом срок прекращения поддержки был сдвинут до середины 2023 года, после чего был ещё раз перенесён на чётвёртый квартал 2024 года. Из-за необходимости дополнительных согласований и неготовности экосистемы, решено не отключать поддержку сторонних Cookie и в 2024 году. Новая плановая дата отключения пока не названа.

Сторонние Cookie применяются для отслеживания перемещений пользователя между сайтами в коде рекламных сетей, виджетов социальных сетей и систем web-аналитики. Связанные с Cookie изменения продвигаются в рамках инициативы Privacy Sandbox, нацеленной на достижение компромисса между потребностью пользователей сохранить конфиденциальность и желанием рекламных сетей и сайтов отслеживать предпочтения посетителей. Ранее попытки внедрения в Chrome замен отслеживающим Cookie вызвали сопротивление в сообществе и критику, связанную с тем, что идущие на смену отслеживающим Cookie методы не решает всех проблем и создаёт новые риски, такие как создание условий для дискриминации пользователей и появление дополнительного фактора для скрытой идентификации и отслеживания перемещений пользователя.

Вместо отслеживающих Cookie предлагается использовать следующие API:

  • FedCM (Federated Credential Management), позволяет создавать объединённые сервисы идентификации, обеспечивающие сохранение конфиденциальности и работающие без сторонних Cookie.
  • Private State Tokens, позволяет разделять разных пользователей без использования межсайтовых идентификаторов и передавать сведения о подлинности пользователя между разными контекстами.
  • Topics (пришёл на смену API FLoC), даёт возможность определять категории интересов пользователя, которые можно использовать для выделения групп пользователей со сходными интересами без идентификации отдельных пользователей при помощи отслеживающих Cookie. Интересы вычисляются на основе активности пользователя в браузере и сохраняются на устройстве пользователя. При помощи API Topics рекламная сеть может получить общие сведения об отдельных интересах без наличия информации о конкретной активности пользователя.
  • Protected Audience, решение задач ретаргетинга и оценки собственной аудитории (работа с пользователями, уже посещавшими ранее сайт).
  • Attribution Reporting, позволяет оценивать такие характеристики эффективности рекламы, как переходы и конверсия (покупка на сайте после перехода).
  • Storage Access API, может применяться для запроса у пользователя полномочий на получение доступа к хранилищу Cookie, если по умолчанию сторонние Cookie блокируются.


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

opennet honked 24 Apr 2024 23:00 +0200

В Fedora 41 предложено сформировать официальную сборку с композитным менеджером Miracle

Мэтью Косарек (Matthew Kosarek), разработчик из компании Canonical, выступил с предложением о начале формирования официальных Spin-сборок Fedora Linux с пользовательским окружением на основе оконного менеджера Miracle, использующего протокол Wayland и компоненты для построения композитных менеджеров Mir. Spin-редакцию Fedora с Miracle планируют поставлять начиная с выпуска Fedora Linux 41. Предложение пока не рассмотрено комитетом FESCo (Fedora Engineering Steering Committee), отвечающим за техническую часть разработки дистрибутива Fedora.

Целью создания новой сборки является построение функционального и элегантного пользовательского окружения с мозаичной (tiling) компоновкой окон в стиле оконного менеджера i3 и более ярким графическим оформлением с визуальными эффектами. В качестве преимущества создания новой сборки Fedora отмечается появление высококачественного окружения на базе Wayland, которое может использоваться на широком спектре устройств, включая маломощные устройства с процессорами на базе архитектур ARM и x86.



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

opennet honked 24 Apr 2024 22:00 +0200

Выпуск дистрибутива Proxmox VE 8.2

Опубликован релиз Proxmox Virtual Environment 8.2, специализированного Linux-дистрибутива на базе Debian GNU/Linux, нацеленного на развертывание и обслуживание виртуальных серверов с использованием LXC и KVM, и способного выступить в роли замены таких продуктов, как VMware vSphere, Microsoft Hyper-V и Citrix Hypervisor. Размер установочного iso-образа 1.3 ГБ.

Proxmox VE предоставляет средства для развёртывания полностью готовой системы виртуальных серверов промышленного уровня с управлением через web-интерфейс, рассчитанный на управление сотнями или даже тысячами виртуальных машин. Дистрибутив имеет встроенные инструменты для организации резервного копирования виртуальных окружений и доступную из коробки поддержку кластеризации, включая возможность миграции виртуальных окружений с одного узла на другой без остановки работы. Среди особенностей web-интерфейса: поддержка безопасной VNC-консоли; управление доступом ко всем доступным объектам (VM, хранилище, узлы и т.п.) на основе ролей; поддержка различных механизмов аутентификации (MS ADS, LDAP, Linux PAM, Proxmox VE authentication).

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

  • Осуществлена синхронизация с пакетной базой Debian 12.5. Ядро Linux обновлено до выпуска 6.8. Задействованы новые выпуски QEMU 8.1.5, LXC 6.0.0 и OpenZFS 2.2.3. Доступна поддержка создания хранилищ на базе выпусков Ceph 18.2.2 "Reef" и Ceph 17.2.7 "Quincy"
  • Предложен новый мастер импорта, позволяющих переносить гостевые системы напрямую из других гипервизоров, обращаясь к ним через их API. Переносимые гостевые системы могут запускаться в Proxmox VE, не дожидаясь завершения переноса данных, который осуществляется в фоновом режиме. Первой обеспечена поддержка миграции из гипервизора VMware ESXi.
  • Добавлена поддержка автоматизированной установки Proxmox VE без участия администратора. Формирование ISO-образа для автоматического развёртывания осуществляется при помощи новой утилиты proxmox-auto-install-assistant. Параметры установки могут задаваться через специальный файл конфигурации, который может быть как встроен в ISO-образ, так и размещён на отдельном USB-носителей или загружен по сети.
  • Добавлен режим буферизации резервного копирования на локальном диске (Backup fleecing), позволяющий минимизировать снижение производительности гостевой системы при её резервном копировании во внешнее хранилище. Перед передачей во внешнее хранилище блоки могут быть сохранены на отдельном локальном разделе, что позволяет заметно снизить проседание производительности ввода/вывода в гостевой системе при медленном сетевом соединении или при высокой активности ввода/вывода в гостевой системе.
  • Добавлена экспериментальная поддержка новой реализации межсетевого экрана, переведённого с iptables на пакетный фильтр nftables, что позволило избавиться от многих проблем старой реализации и повысить надёжность работы. Новая реализация написана на языке Rust и почти эквивалентна по функциональности со старым межсетевым экраном.
  • В web-интерфейс добавлен инструмент для проброса устройств в контейнеры, используя графический конфигуратор. Отключён переход в режим редактирования опций при двойном щелчке мышью, что исключает случайный запуск редактор при выполнении операций выделения и копирования текста. На экране редактирования кнопка сброса перемещена в новое место для снижения риска случайного нажатия.
  • Добавлены расширенные настройки резервного копирования, такие как параметры производительности и ограничения пропускной способности.
  • Добавлена поддержка собственных удостоверяющих центров, использующих протокол ACME.


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

opennet honked 24 Apr 2024 13:00 +0200

Релиз инструмента для анонимизации баз данных nxs-data-anonymizer 1.4.0

Опубликован nxs-data-anonymizer 1.4.0 - инструмент для анонимизации дампа баз данных PostgreSQL и MySQL/MariaDB/Percona. Утилита поддерживает анонимизацию данных на основе шаблонов и функций библиотеки Sprig. Среди прочего, для заполнения можно использовать значения других столбцов для той же строки. Допустимо использовать инструмент через неименованные каналы (pipe) в командной строке и перенаправить дамп из исходной БД непосредственно в целевую БД с необходимыми преобразованиями. Инструмент написан на языке Go и выпускается под лицензией Apache License 2.0.

Менее чем за год после первого релиза версии 1.0.0, в инструменте появились следующие возможности:

  • Добавлена функция фильтров для работы со значениями null.
  • Реализована команда -l/--log-format, позволяющая выбрать формат логирования (json или plain).
  • Добавлена индикация процесса анонимизации - через указанные промежутки выводятся данные о прогрессе выполнения операции.
  • В версии 1.4 появилась возможность задавать значения полей с помощью внешних команд, через добавление в значение столбца "type: command". Например:
     
       filters:
         some_table_name:
            columns:
              some_column_name:
                type: command
                value: /path/to/command/or/script.sh
    

    Если для столбца указано "type: command", то значение поля value воспринимается как файловых путь к команде, которая будет запущена каждый раз для этого поля. Во время выполнения команды будут доступны дополнительные переменные окружения:

    • ENVVARTABLE={TABLE_NAME}: содержит имя фильтруемой таблицы
    • ENVVARCOLUMN_{COLUMN_NAME}={COLUMN_VALUE}: содержит все столбцы и их значения (до замены) для текущей фильтруемой строки Stdout команды считается за новое значение фильтруемого поля.


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

continue bonked 24 Apr 2024 12:45 +0200
original: opennet@honk.any-key.press

Опубликована операционная система реального времени RT-Thread 5.1

После года разработки доступен выпуск RT-Thread 5.1, операционной системы реального времени (RTOS) для устройств интернета-вещей. Система развивается с 2006 года сообществом китайских разработчиков и в настоящее время портирована для 154 плат, чипов и микроконтроллеров на базе архитектур x86, ARM, MIPS, С-SKY, Xtensa, ARC и RISC-V. Минималистичная сборка RT-Thread (Nano) требует для работы всего 3 КБ Flash и 1.2 КБ ОЗУ. Для IoT-устройств, сильно не ограниченных в ресурсах, предлагается полнофункциональная версия, поддерживающая управление пакетами, конфигураторы, сетевой стек, пакеты с реализацией графического интерфейса, системы голосового управления, СУБД, сетевых сервисов и движков для выполнения скриптов. Код написан на языке Си и распространяется под лицензией Apache 2.0.

Операционную систему образуют три базовых слоя:

  • Ядро, обеспечивающее выполнение задач в режиме реального времени. Ядро предоставляет универсальные базовые примитивы, охватывающие такие области, как управление блокировками и синхронизацией данных, планирование задач, управление потоками, обработка сигналов, очереди сообщений, управление таймером, управление памятью. Специфичные для аппаратного обеспечения особенности реализованы на уровне libcpu и BSP, которые включают необходимые драйверы и код для поддержки CPU.
  • Компоненты и сервисы, работающие поверх ядра и предлагающие такие абстракции как виртуальная файловая система, система обработки исключений, хранилище в формате ключ/значение, интерфейс командной строки FinSH, сетевой стек (LwIP) и сетевые фреймворки, библиотеки для поддержки устройств, звуковая подсистема, беспроводной стек, компоненты для поддержки Wi-Fi, LoRa, Bluetooth, 2G/4G. Модульная архитектура позволяет подключать компоненты и сервисы в зависимости от своих задач и имеющихся аппаратных ресурсов.
  • Пакеты программ. Программные компоненты общего назначения и библиотеки функций распространяются и устанавливаются в форме пакетов. В настоящее время репозиторий включает более 450 пакетов, предлагающих от графических интерфейсов, мультимедийных приложений и сетевых приложений до систем управления роботами и обработчиков на базе машинного обучения. В пакетах также поставляются движки для организации выполнения программ на языках Lua, JerryScript, MicroPython, PikaScript и Rust (rtt_rust).

Особенности платформы:

  • Поддержка архитектур:
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (поддерживаются микроконтроллеры таких производителей, как ST, Winner Micro, MindMotion, Realtek, Infineon, GigaDevic, Nordic, Nuvoton, NXP).
    • ARM Cortex-R4.
    • ARM Cortex-A8/A9 (NXP).
    • ARM7 (Samsung).
    • ARM9 (Allwinner, Xilinx, GOKE).
    • ARM11 (Fullhan).
    • MIPS32 (Loongson, Ingenic).
    • RISC-V RV32E/RV32I[F]/RV64[D] (sifive, Canaan Kendryt, bouffalo_lab, Nuclei, T-Head, HPMicro).
    • ARC (SYNOPSYS)
    • DSP (TI).
    • C-Sky.
    • x86.
  • Расширяемая модульная архитектура, позволяющая сформировать окружение, подходящее для систем с ограниченными ресурсами (минимальные требования - 3 КБ Flash и 1.2 КБ ОЗУ).
  • Поддержка различных стандартных интерфейсов для разработки программ, таких как POSIX, CMSIS, C++ API. Отдельно развивается прослойка RTduino для совместимости с API и библиотеками проекта Arduino.
  • Возможность расширения через систему пакетов и подключаемых компонентов.
  • Поддержка разработки приложения для высокопроизводительной обработки информации.
  • Гибкая система управления питанием, позволяющая автоматически переводить устройство в режим сна и динамически управлять напряжением и частотой в зависимости от нагрузки.
  • Поддержка аппаратных средств для шифрования и расшифровки, предоставление библиотек с различными криптографическими алгоритмами.
  • Унифицированный интерфейс для доступа к периферийным устройствам и дополнительному оборудованию.
  • Виртуальная ФС и наличие драйверов для таких ФС, как FAT, UFFS, NFSv3, ROMFS и RAMFS.
  • Стек протоколов для TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M и т.п.
  • Система удалённой доставки и установки обновлений, поддерживающая шифрование и верификацию по цифровой подписи, возобновление прерванной установки, восстановление после сбоя, откат изменений и т.п.
  • Система динамически загружаемых модулей ядра, позволяющая отдельно собирать и разрабатывать компоненты ядра, и динамически загружать их при появлении необходимости.
  • Поддержка различных сторонних пакетов, например, Yaffs2, SQLite, FreeModbus, Canopen и т.п.
  • Возможность прямой компиляции BSP-пакета (Board Support Package) с компонентами для поддержки определённой аппаратной платформы, и его загрузки на плату.
  • Наличие эмулятора (BSP qemu-vexpress-a9), позволяющего разрабатывать приложения без использования реальных плат.
  • Поддержка типовых компиляторов и инструментов для разработки, таких как GCC, MDK Keil и IAR.
  • Развитие собственной интегрированной среды разработки RT-Thread Studio IDE, позволяющей создавать и отлаживать приложения, загружать их на платы, управлять настройками. Плагины для разработки программ для RT-Thread также доступны для Eclipse и VS Code.
  • Наличие консольного интерфейса Env, упрощающего создание проектов и настройку окружения.



Среди изменений в новом выпуске:

  • В RT-Smart, гибридной операционной системе на базе RT-Thread, отделяющей приложения от ядра, включена по умолчанию поддержка механизмов epoll, eventfd, signalfd, timerfd и select. Реализована подсистема эмулятора терминала. Добавлена поддержка устройств DFZU2EG MPSoC и cv181x-riscv.
  • В RTduino, слой для обеспечения совместимости с экосистемой Arduino, добавлена поддержка плат raspberry-pico, stm32h503-st-nucleo, stm32h563-st-nucleo, stm32f412-nucleo, stm32f407-rt-spark.
  • Обновлены сторонние компоненты, такие как ssh, sftp, weston и vim.
  • Добавлена поддержка новых плат и чипов, таких как HPMicro RISC-V, STM32 Nucleo, Adafruit Metro M4, Seeed Wio-Terminal, ST (stm32L431_tencentos, stm32h7s7-disco, stm32f407-lckfb-skystar, stm32h503-st-nucleo), Renesas (ek-ra8m1, ek-ra8d1, ra8d1-vision-board), AT32 (at32f402-start, at32f405-start), HT32 (ht32f52352, ht32f12366, AVR32 at32uc3a0256, at32uc3b0256), CVITEK (c906_little, cv18xx_risc-v), WCH (yd-ch32v307vct6), HC32 (ev_hc32f4a0_lqfp176, ev_hc32f460_lqfp100_v2), (ev_hc32f448_lqfp80, GD32 gd32407v-lckfb), NXP (frdm-mcxn947, frdm-mcxa153).
  • Оптимизирована работа планировщиков задач и CPU. Добавлена прослойка для абстрагирования планировщика rt_sched.
  • Проведена оптимизация работы на многоядерных системах.
  • Предоставлена возможность подключения обработчиков к операциям выделения памяти malloc.
  • Для архитектур ARM64 и RV64 реализована поддержка обратной трассировки (backtrace) ядра.
  • Продолжен переход на новую модель драйверов устройств.
  • В virtio-драйверах qemu-virt64-aarch64 и qemu-virt64-riscv добавлена поддержка SDL2.
  • Добавлен фреймворк для разработки драйверов clk.
  • В DFS добавлена конфигурация exfat. Ядро по умолчанию переведено на использование ФС dfsv2.
  • Улучшена поддержка TTY-терминалов.
  • В системе ввода/вывода добавлена поддержка флагов O_DIRECT и O_SYNC.
  • В реализации легковесных процессов lwP (Lightweight Process) функция wp_new заменена на lwp_create. Добавлена функция sys_setitimer.
  • В менеджер памяти MM добавлена поддержка резервирования памяти и реализована функция rt_aspace_mremap_range.
  • В Libcpu добавлена поддержка процессоров ARM Cortex-M85 и Cortex-R52


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

opennet honked 24 Apr 2024 12:00 +0200

Опубликована операционная система реального времени RT-Thread 5.1

После года разработки доступен выпуск RT-Thread 5.1, операционной системы реального времени (RTOS) для устройств интернета-вещей. Система развивается с 2006 года сообществом китайских разработчиков и в настоящее время портирована для 154 плат, чипов и микроконтроллеров на базе архитектур x86, ARM, MIPS, С-SKY, Xtensa, ARC и RISC-V. Минималистичная сборка RT-Thread (Nano) требует для работы всего 3 КБ Flash и 1.2 КБ ОЗУ. Для IoT-устройств, сильно не ограниченных в ресурсах, предлагается полнофункциональная версия, поддерживающая управление пакетами, конфигураторы, сетевой стек, пакеты с реализацией графического интерфейса, системы голосового управления, СУБД, сетевых сервисов и движков для выполнения скриптов. Код написан на языке Си и распространяется под лицензией Apache 2.0.

Операционную систему образуют три базовых слоя:

  • Ядро, обеспечивающее выполнение задач в режиме реального времени. Ядро предоставляет универсальные базовые примитивы, охватывающие такие области, как управление блокировками и синхронизацией данных, планирование задач, управление потоками, обработка сигналов, очереди сообщений, управление таймером, управление памятью. Специфичные для аппаратного обеспечения особенности реализованы на уровне libcpu и BSP, которые включают необходимые драйверы и код для поддержки CPU.
  • Компоненты и сервисы, работающие поверх ядра и предлагающие такие абстракции как виртуальная файловая система, система обработки исключений, хранилище в формате ключ/значение, интерфейс командной строки FinSH, сетевой стек (LwIP) и сетевые фреймворки, библиотеки для поддержки устройств, звуковая подсистема, беспроводной стек, компоненты для поддержки Wi-Fi, LoRa, Bluetooth, 2G/4G. Модульная архитектура позволяет подключать компоненты и сервисы в зависимости от своих задач и имеющихся аппаратных ресурсов.
  • Пакеты программ. Программные компоненты общего назначения и библиотеки функций распространяются и устанавливаются в форме пакетов. В настоящее время репозиторий включает более 450 пакетов, предлагающих от графических интерфейсов, мультимедийных приложений и сетевых приложений до систем управления роботами и обработчиков на базе машинного обучения. В пакетах также поставляются движки для организации выполнения программ на языках Lua, JerryScript, MicroPython, PikaScript и Rust (rtt_rust).

Особенности платформы:

  • Поддержка архитектур:
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (поддерживаются микроконтроллеры таких производителей, как ST, Winner Micro, MindMotion, Realtek, Infineon, GigaDevic, Nordic, Nuvoton, NXP).
    • ARM Cortex-R4.
    • ARM Cortex-A8/A9 (NXP).
    • ARM7 (Samsung).
    • ARM9 (Allwinner, Xilinx, GOKE).
    • ARM11 (Fullhan).
    • MIPS32 (Loongson, Ingenic).
    • RISC-V RV32E/RV32I[F]/RV64[D] (sifive, Canaan Kendryt, bouffalo_lab, Nuclei, T-Head, HPMicro).
    • ARC (SYNOPSYS)
    • DSP (TI).
    • C-Sky.
    • x86.
  • Расширяемая модульная архитектура, позволяющая сформировать окружение, подходящее для систем с ограниченными ресурсами (минимальные требования - 3 КБ Flash и 1.2 КБ ОЗУ).
  • Поддержка различных стандартных интерфейсов для разработки программ, таких как POSIX, CMSIS, C++ API. Отдельно развивается прослойка RTduino для совместимости с API и библиотеками проекта Arduino.
  • Возможность расширения через систему пакетов и подключаемых компонентов.
  • Поддержка разработки приложения для высокопроизводительной обработки информации.
  • Гибкая система управления питанием, позволяющая автоматически переводить устройство в режим сна и динамически управлять напряжением и частотой в зависимости от нагрузки.
  • Поддержка аппаратных средств для шифрования и расшифровки, предоставление библиотек с различными криптографическими алгоритмами.
  • Унифицированный интерфейс для доступа к периферийным устройствам и дополнительному оборудованию.
  • Виртуальная ФС и наличие драйверов для таких ФС, как FAT, UFFS, NFSv3, ROMFS и RAMFS.
  • Стек протоколов для TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M и т.п.
  • Система удалённой доставки и установки обновлений, поддерживающая шифрование и верификацию по цифровой подписи, возобновление прерванной установки, восстановление после сбоя, откат изменений и т.п.
  • Система динамически загружаемых модулей ядра, позволяющая отдельно собирать и разрабатывать компоненты ядра, и динамически загружать их при появлении необходимости.
  • Поддержка различных сторонних пакетов, например, Yaffs2, SQLite, FreeModbus, Canopen и т.п.
  • Возможность прямой компиляции BSP-пакета (Board Support Package) с компонентами для поддержки определённой аппаратной платформы, и его загрузки на плату.
  • Наличие эмулятора (BSP qemu-vexpress-a9), позволяющего разрабатывать приложения без использования реальных плат.
  • Поддержка типовых компиляторов и инструментов для разработки, таких как GCC, MDK Keil и IAR.
  • Развитие собственной интегрированной среды разработки RT-Thread Studio IDE, позволяющей создавать и отлаживать приложения, загружать их на платы, управлять настройками. Плагины для разработки программ для RT-Thread также доступны для Eclipse и VS Code.
  • Наличие консольного интерфейса Env, упрощающего создание проектов и настройку окружения.



Среди изменений в новом выпуске:

  • В RT-Smart, гибридной операционной системе на базе RT-Thread, отделяющей приложения от ядра, включена по умолчанию поддержка механизмов epoll, eventfd, signalfd, timerfd и select. Реализована подсистема эмулятора терминала. Добавлена поддержка устройств DFZU2EG MPSoC и cv181x-riscv.
  • В RTduino, слой для обеспечения совместимости с экосистемой Arduino, добавлена поддержка плат raspberry-pico, stm32h503-st-nucleo, stm32h563-st-nucleo, stm32f412-nucleo, stm32f407-rt-spark.
  • Обновлены сторонние компоненты, такие как ssh, sftp, weston и vim.
  • Добавлена поддержка новых плат и чипов, таких как HPMicro RISC-V, STM32 Nucleo, Adafruit Metro M4, Seeed Wio-Terminal, ST (stm32L431_tencentos, stm32h7s7-disco, stm32f407-lckfb-skystar, stm32h503-st-nucleo), Renesas (ek-ra8m1, ek-ra8d1, ra8d1-vision-board), AT32 (at32f402-start, at32f405-start), HT32 (ht32f52352, ht32f12366, AVR32 at32uc3a0256, at32uc3b0256), CVITEK (c906_little, cv18xx_risc-v), WCH (yd-ch32v307vct6), HC32 (ev_hc32f4a0_lqfp176, ev_hc32f460_lqfp100_v2), (ev_hc32f448_lqfp80, GD32 gd32407v-lckfb), NXP (frdm-mcxn947, frdm-mcxa153).
  • Оптимизирована работа планировщиков задач и CPU. Добавлена прослойка для абстрагирования планировщика rt_sched.
  • Проведена оптимизация работы на многоядерных системах.
  • Предоставлена возможность подключения обработчиков к операциям выделения памяти malloc.
  • Для архитектур ARM64 и RV64 реализована поддержка обратной трассировки (backtrace) ядра.
  • Продолжен переход на новую модель драйверов устройств.
  • В virtio-драйверах qemu-virt64-aarch64 и qemu-virt64-riscv добавлена поддержка SDL2.
  • Добавлен фреймворк для разработки драйверов clk.
  • В DFS добавлена конфигурация exfat. Ядро по умолчанию переведено на использование ФС dfsv2.
  • Улучшена поддержка TTY-терминалов.
  • В системе ввода/вывода добавлена поддержка флагов O_DIRECT и O_SYNC.
  • В реализации легковесных процессов lwP (Lightweight Process) функция wp_new заменена на lwp_create. Добавлена функция sys_setitimer.
  • В менеджер памяти MM добавлена поддержка резервирования памяти и реализована функция rt_aspace_mremap_range.
  • В Libcpu добавлена поддержка процессоров ARM Cortex-M85 и Cortex-R52


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

opennet honked 24 Apr 2024 11:00 +0200

Доступен браузер Pale Moon 33.1.0

Опубликован релиз web-браузера Pale Moon 33.1.0, ответвившегося от кодовой базы Firefox для обеспечения более высокой эффективности работы, сохранения классического интерфейса, минимизации потребления памяти и предоставления дополнительных возможностей по настройке. Сборки Pale Moon формируются для Windows и Linux (x86_64). Код проекта распространяется под лицензией MPLv2 (Mozilla Public License).

Проект придерживается классической организации интерфейса, без перехода к интегрированным в Firefox 29 и 57 интерфейсам Australis и Photon, и с предоставлением широких возможностей кастомизации. Из удалённых компонентов можно отметить DRM, Social API, WebRTC, PDF-просмотрщик, Сrash Reporter, код для сбора статистики, средства для родительского контроля и людей с ограниченными возможностями. По сравнению с Firefox, в браузер возвращена поддержка расширений, использующих XUL, и сохранена возможность применения как полноценных, так и легковесных тем оформления.

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

  • Добавлена поддержка мета-тега ‹link rel=preload›, при помощи которого можно организовать загрузку ресурсов, не дожидаясь когда они будут запрошены, например, можно сразу загрузить определённые файлы CSS, скрипты, видео и картинки.
  • В HTTP-заголовок CSP (Content Security Policy) добавлена поддержка директив "style-src-attr", "style-src-elem", "script-src-attr" и "script-src-elem", предоставляющих функциональность директив style и script, но с возможностью их применения к отдельным элементам и обработчикам событий, таким как onclick.
  • Включена частичная поддержка HTML-тега "‹dialog›", позволяющего формировать диалоговые окна и компоненты для интерактивного взаимодействия с пользователем, такие как закрываемые предупреждения и вложенные окна.
  • Добавлена поддержка спецификации Emoji 15.1.
  • Реализована поддержка свойства window.webkitURL.
  • Добавлены сокращённые варианты написания CSS-свойств, управляющих логическим позиционированием элементов, "margin-block", "margin-inline", "padding-block" и "padding-inline". Например, значения "margin-block-start", "margin-block-end", "margin-inline-start" и "margin-inline-end" теперь можно определить при помощи сводных свойств "margin-block" и "margin-inline".
  • В дополнениях разрешено определение возможностей CPU (SSE2/AVX/AVX2) через интерфейс Navigator.
  • Из кодовой базы удалён CSS-движок Stylo, написанный на языке Rust.


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

opennet honked 24 Apr 2024 10:00 +0200

Выпуск эмулятора QEMU 9.0.0

Представлен релиз проекта QEMU 9.0. В качестве эмулятора QEMU позволяет запустить программу, собранную для одной аппаратной платформы на системе с совершенно иной архитектурой, например, выполнить приложение для ARM на x86-совместимом ПК. В режиме виртуализации в QEMU производительность выполнения кода в изолированном окружении близка к аппаратной системе за счёт прямого выполнения инструкций на CPU и задействования гипервизора Xen или модуля KVM.

Изначально проект был создан Фабрисом Белларом (Fabrice Bellard) с целью обеспечения возможности запуска собранных для платформы x86 исполняемых файлов Linux на архитектурах, отличных от x86. За годы разработки была добавлена поддержка полной эмуляции для 14 аппаратных архитектур, число эмулируемых аппаратных устройств превысило 400. При подготовке версии 9.0 внесено более 2700 изменений от 220 разработчиков.

Ключевые улучшения, добавленные в QEMU 9.0:

  • В драйвер virtio-blk, предоставляющий виртуальное блочное устройство для виртуальных машин, добавлена поддержка многоуровневой системы очередей (multiqueue), позволяющей разделить очереди для разных блочных устройств для обеспечения многопоточного доступа на многоядерных системах (разные очереди одного диска могут обрабатываться разными потоками ввода/вывода).
  • В блочном устройстве usb-storage добавлена поддержка свойств 'backend_defaults', 'logical_block_size', 'physical_block_size', 'min_io_size', 'opt_io_size' и 'discard_granularity'.
  • В библиотеку gdbstub, предназначенную для удалённой отладки в GDB с использованием протокола RSP (Remote Serial Protocol), добавлена поддержка режима fork-follow, операции siginfo:read и перехвата системных вызовов в пространстве пользователя.
  • Бэкенды предварительного распределения памяти (preallocation) адаптированы для работы в многопоточном режиме и теперь могут одновременно обрабатывать запросы из нескольких потоков. .
  • В инструменты для миграции виртуальных машин добавлен режим "mapped-ram", повышающий эффективность создания снапшотов виртуальных машин. Улучшено определение нулевой страницы памяти, что позволило значительно ускорить миграцию неактивных виртуальных машин при наличии в системе поддержки multifd. При миграции на базе VFIO (Virtual Function I/O) реализована поддержка перезапуска с сохранённого состояния (checkpoint-restart).
  • Переписана реализация устройства ESP SCSI (am53c974/dc390).
  • Добавлена поддержка алгоритма шифрования SM4 и обеспечена возможность его использования в драйвере блочного устройства 'luks'.
  • В драйвер 'luks' добавлена поддержка создания и использования файлов с сохранёнными заголовками LUKS.
  • В эмуляторе архитектуры ARM реализована поддержка плат L475E-IOT01A IoT, mp3-an536 (MPS3 с прошивкой AN536) и raspi4b (Raspberry Pi 4 Model B). Добавлена поддержка эмуляции процессорных расширений ECV (Enhanced Counter Virtualization), NV (Nested Virtualization) и NV2 (Enhanced Nested Virtualization). Расширены возможности эмуляторов плат Freescale i.MX6, Allwinner R40, Bananapi, Raspberry Pi, npcm7xx и virt.
  • В эмулятор архитектуры RISC-V добавлена поддержка расширений архитектуры набора команд Zacas, amocas, RVA22, Zaamo, Zalrsc и Ztso. В виртуальных машинах RISC-V обеспечена поддержка SMBIOS. Для SRAT, SLIT, AIA и PLIC реализована поддержка ACPI. Обновлена поддержка таблиц RHCT.
  • В эмуляторе архитектуры HPPA до версии 16 обновлена прошивка SeaBIOS-hppa. Максимальный размер памяти увеличен с 3 ГБ до 3840 МБ. Добавлена поддержка опции "--nodefaults".
  • В эмуляторе архитектуры LoongArch появилась поддержка ускорения KVM и реализована поддержка векторных расширений набора команд LSX/LASX.
  • В эмуляторе архитектуры s390x добавлена поддержка инструкций CVDG, CVB, CVBY и CVBG. Улучшена эмуляция LAE (Load Address Extended).
  • В эмулятор архитектуры 68k добавлено устройство nubus-virtio-mmio, позволяющее получить доступ к устройствам virtio из машин q800.
  • Обеспечена сборка с флагом '-fzero-call-used-regs', позволяющим защититься от утечки информации из функций и сократить число блоков, пригодных для построения ROP-гаджетов (Return-Oriented Programming) в эксплоитах. Также добавлена сборка с флагом '-ftrivial-auto-var-init=zero' для автоматической инициализации нулевым значением всех переменных, хранимых в стеке.
  • Для выполнения QEMU с KVM теперь требуется наличие как минимум ядра Linux 4.4. Для ARM-хостов в будущем эту планку планируют поднять до версии 4.19. Прекращена поддержка использования 32-разрядных Windows в качестве хостовых ОС.
  • Добавлена поддержка OpenBSD 7.4.


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

opennet honked 24 Apr 2024 09:00 +0200

Выпуск дистрибутива для создания сетевых хранилищ TrueNAS SCALE 24.04

Компания iXsystems опубликовала дистрибутив TrueNAS SCALE 24.04, в котором используется ядро Linux и пакетная база Debian (ранее выпускаемые продукты данной компании, в том числе TrueOS, PC-BSD, TrueNAS и FreeNAS, основывались на FreeBSD). Как и TrueNAS CORE (FreeNAS), TrueNAS SCALE может быть загружен и использован бесплатно. Размер iso-образа 1.5 ГБ. Исходные тексты специфичных для TrueNAS SCALE сборочных сценариев, web-интерфейса и прослоек опубликованы на GitHub.

Редакция TrueNAS SCALE на базе Linux теперь является основной, а ветка TrueNAS CORE на базе FreeBSD переведена в режим сопровождения, в котором планируют ещё много лет устранять ошибки и проблемы с безопасностью. Новые возможности и новые версии компонентов будут развиваться только в ветке TrueNAS SCALE. TrueNAS SCALE является не единственным вариантом FreeNAS на базе Linux - в 2009 году от FreeNAS отделился дистрибутив OpenMediaVault, который был переведён на ядро Linux и пакетную базу Debian.

Из особенностей TrueNAS SCALE отмечается возможность создавать хранилища, размещаемые на нескольких узлах, в то время как TrueNAS CORE (FreeNAS) позиционировался как решение на базе одного сервера. Кроме увеличения масшатабируемости, TrueNAS SCALE также отличается использованием изолированных контейнеров, упрощением управления инфраструктурой и пригодностью для создания программно-определяемых инфраструктур. В качестве файловой системы в TrueNAS SCALE применяется ZFS (OpenZFS). В TrueNAS SCALE предоставляется поддержка контейнеров Docker, виртуализации на базе KVM и масштабирования ZFS на несколько узлов при помощи распределённой файловой системы Gluster.

Для организации доступа к хранилищу поддерживается SMB, NFS, iSCSI Block Storage, S3 Object API и Cloud Sync. Для обеспечения защищённого доступа подключение может осуществляться через VPN (OpenVPN). Хранилище может быть развёрнуто на одном узле и в дальнейшем при увеличении потребностей постепенно горизонтально расширяться через добавление дополнительных узлов. Кроме выполнения задач, связанных с организацией работы хранилища, узлы также могут использоваться для предоставления сервисов и запуска приложений в контейнерах, оркестируемых при помощи платформы Kubernetes, или в виртуальных машинах на базе KVM.

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

  • Обновлены версии ядра Linux 6.6.20, OpenZFS 2.2.3 и драйвера NVIDIA 545.23.08. Пакетная база синхронизирована с Debian 12.
  • Предложены новые страницы для отслеживания состояния сеансов SMB и NFS, и управления ими.
  • Добавлен интерфейс для просмотра логов аудита, связанных с работой SMB-клиентов, действиями с учётными записями и авторизацией.
  • В обрабатываемые через LDAP поля с учётными записями добавлена поддержка конфигураций на базе централизованной системы для идентификации пользователей FreeIPA.
  • Добавлена поддержка изолированных окружений SCALE Sandboxes, напоминающих LXC-контейнеры в Linux и jail-окружения во FreeBSD.
  • Предложен режим разработчика (Developer mode) для тонкой настройки TrueNAS.
  • Добавлен новый сводный виджет (Dashboard) для мониторинга и быстрого выполнения действий, связанных с резервным копированием.
  • Добавлен интерфейс Netdata (Reporting > Netdata) для анализа производительности системы.
  • Переработаны формы для создания разделов совместного доступа.
  • Переработана форма для создания резервных копий в облачных хранилищах.
  • В ZFS обновлена реализация адаптивного кэша ARC (Adaptive Replacement Cache), повышающего производительность операций чтения.
  • Добавлены новые уровни привилегий для делегирования пользователям отдельных полномочий администратора.
  • Повышена производительность работы с разделами SMB, содержащими большое число файлов.
  • Добавлена поддержка импорта данных в SMB-раздел из внешних систем, используя систему синхронизации файлов Syncthing.
  • Повышен контроль за качеством. Выпуск TrueNAS SCALE 24.04 отмечен как наиболее стабильный релиз в истории проекта.


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

opennet honked 24 Apr 2024 08:00 +0200

Проект Xfce перевёл официальные каналы общения с IRC на Matrix

Разработчики проекта Xfce объявили о завершении перевода официальных каналов для общения с IRC на Matrix. Старые IRC-каналы остаются доступны, но в документации и на сайте в качестве официального метода интерактивного общения теперь упоминаются каналы на базе платформы Matrix. Вместо IRC-канала #xfce в сети libera.chat для получения технической поддержки и обсуждений пользователям рекомендуется использовать канал #xfce:matrix.org, вместо #xfce-dev для связанных с разработкой обсуждений - #xfce-dev:matrix.org, а вместо #xfce-commits для отслеживания активности в GitLab - #xfce-commits:matrix.org.

Основной причиной миграции отмечается прекращение поддержки трансляции IRC каналов в Marix в IRC-сети Libera.Chat. Так как многие разработчики пользовались Matrix для доступа к IRC-каналам с использованием данных трансляторов, прекращение их поддержки привело к фрагментации общения - часть пользователей осталась в IRC, а часть начала общаться в отдельных Matrix-каналах. Для воссоздания единой платформы общения решено перевести Matrix-каналы в разряд официальных.

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

Дополнительно можно отметить обсуждение перевода базовых компонентов Xfce на сборку с использованием инструментария Meson вместо Autotools. Изменение может было воплощено в выпуске Xfce 4.20.

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

undeadly honked 24 Apr 2024 07:00 +0200

Game of Trees 0.98 released

The version control system gameoftrees 0.98 has been released and should soon show up in OpenBSD -current packages. An update for the -portable version will follow as well.

The main improvements in the new release are listed in the release notes as

- speed up got tag -l by caching timestamps in got_ref_cmp_tags()
- provide a macro for vi(1) path for use by -portable at compile time
- avoid a rename/stat race when gotd installs a new pack and then uses it
- make 'got ref -l' output consistent when packed references exist
- make 'got ref -l' work consistently when a reference argument is given
- add initial support for notifications to gotd(8), via email and http/json

Read more…

opennet honked 23 Apr 2024 23:00 +0200

Проект Fedora представил ноутбук Fedora Slimbook 2

Проект Fedora представил ультрабук Fedora Slimbook 2, доступный в вариантах с 14- и 16-дюймовыми экранами. Устройство является модернизированным вариантом прошлых моделей, поставляемых с 14- и 16-дюймовыми экранами. Отличия проявляются в задействовании нового поколения CPU Intel 13 Gen i7, использовании графической карты NVIDIA RTX 4000 в варианте c 16-дюймовым экраном и доступности для заказа серебристого и чёрного корпуса из алюминиевого и магниевого сплава. Ноутбук подготовлен совместно с испанским поставщиком оборудования Slimbook.

Fedora Slimbook оптимизирован для работы дистрибутива Fedora Linux 40 и специально тестируется для достижения высокого уровня стабильности окружения и совместимости программного обеспечения с оборудованием. Начальная стоимость устройства с 14-дюймовым экраном заявлена в 1399 евро, а 16-дюймовым - 1799 евро, при этом 3% выручки от продажи устройств планируют направлять в качестве пожертвования организации GNOME Foundation. Участникам разработки Fedora предоставляется скидка в €100.

Основные характеристики:

  • 14-дюймовый экран с разрешением 2880x1800 или 16-дюймовый экран с разрешением 2560 x 1600. 100% sRGB, частота обновления 90Hz.
  • CPU Intel Core i7-13700H (5.00 GHz, 14 ядер, 20 потоков, 24MB кэш).
  • Видеокарта Intel Iris Xe G7 (96 CU) в 14-дюймовой модели и NVIDIA GeForce RTX 4060 8GB GDDR6 в 16-дюймовой.
  • ОЗУ до 64GB DDR5 5200 MHz (2 слота).
  • Накопитель M.2 SSD NVMe Gen 4.0 PCIe до 8TB (1 слот в 14-дюймовой модели и два слота + RAID 0/1 в 16-дюймовой).
  • 1080 HD Webcam с двумя микрофонами для записи стереозвука.
  • Инфракрасная web-камера для биометрического распознавания лица.
  • 2x USB-A 3.2 Gen1, USB-C 3.2 Gen2 с Displayport 1.4, HDMI 2.1 и USB-C Thunderbolt 4.
  • SD card reader.
  • Wi-Fi Intel Wi-Fi 6 AX201, Bluetooth 5.2.
  • Двухватные громкоговорители.
  • Аккумулятор: 99WH в 14-дюймовой модели и 82WH в 16-дюймовой модели.
  • Вес 14-дюймовой модели - 1.3 кг, 16-дюймовой модели - 1.6 кг.
  • Размер 14-дюймовой модели - 308 x 215 x 14 мм, 16-дюймовой модели - 355 x 245 x 20 мм.
https://www.opennet.ru/opennews/art.shtml?num=61057

opennet honked 23 Apr 2024 23:00 +0200

Выпуск nginx 1.26.0 с поддержкой HTTP/3

После года разработки опубликована новая стабильная ветка высокопроизводительного HTTP-сервера и многопротокольного прокси-сервера nginx 1.26.0, которая вобрала в себя изменения, накопленные в основной ветке 1.25.x. В дальнейшем все изменения в стабильной ветке 1.26 будут связаны с устранением серьёзных ошибок и уязвимостей. В скором времени будет сформирована основная ветка nginx 1.27, в которой будет продолжено развитие новых возможностей. Для обычных пользователей, у которых нет задачи обеспечить совместимость со сторонними модулями, рекомендуется использовать основную ветку, на базе которой раз в три месяца формируются выпуски коммерческого продукта Nginx Plus.

В соответствии с мартовским отчётом компании Netcraft под управлением nginx работает около 243 млн сайтов (год назад 289 млн). Nginx используется на 18.15% всех активных сайтов (год назад 18.94%, два года назад 20.08%), что соответствует второму месту по популярности в данной категории (доля Apache соответствует 20.09% (год назад 20.52, два года назад 22.58%), Cloudflare - 14.12% (11.32%, 10.42%), Google - 10.41% (9.89%, 8.89%). При этом при рассмотрении всех сайтов nginx сохраняет лидерство и занимает 22.31% рынка (год назад 25.94%, два года назад - 31.13%), в то время как доля Apache соответствует 20.17% (20.58, 23.08%), Cloudflare - 11.24% (10.17, 5.49%), OpenResty (платформа на базе nginx и LuaJIT) - 7.93% (7.94%, 8.01%).

Среди миллиона самых посещаемых сайтов в мире доля nginx составляет 20.63% (год назад 21.37%, два года назад 21.79%), Cloudflare - 22.59% (год назад 21.62%), Apache httpd - 20.09% (21.18%). По данным W3Techs nginx используется на 34.3% сайтов из миллиона самых посещаемых, в апреля прошлого года этот показатель составлял 34.5%, позапрошлого - 33.1%. Доля Apache за год снизилась с 32.2% до %30.1, а доля Microsoft IIS снизилась с 5.6% до 4.8%. Доля Node.js увеличилась с 2.4% до 3.2%, а доля LiteSpeed с 11.8% до 12.9%.

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

  • Добавлен модуль ngx_http_v3 с экспериментальной поддержкой протокола HTTP/3. Для сборки модуля предусмотрена опция "--with-http_v3_module". HTTP/3 определяет использование протокола QUIC (Quick UDP Internet Connections) в качестве транспорта для HTTP/2. QUIC представляет собой надстройку над протоколом UDP, поддерживающую мультиплексирование нескольких соединений и обеспечивающую методы шифрования, эквивалентные TLS/SSL. Протокол был создан в 2013 году компанией Google в качестве альтернативы связке TCP+TLS для Web, решающей проблемы с большим временем установки и согласования соединений в TCP и устраняющей задержки при потере пакетов в процессе передачи данных.
  • Добавлена отдельная директива "http2" для выборочного включения протокола HTTP/2 в привязке к серверам (может использоваться в отдельных блоках "server"). Параметр "http2" в директиве "listen" объявлен устаревшим.
  • Усилена защита от аномальной активности клиентов HTTP/2, и, в частности, от DoS-атак класса "Rapid Reset", в которых создаётся большое число сразу сбрасываемых потоков в рамках одного соединения HTTP/2. В конфигурации по умолчанию подобные атаки упираются в лимит на число запросов на соединение "keepalive_requests" (после каждых 1000 запросов соединение будет сбрасываться) и в ограничения "limit_req". Для более раннего реагирования на флуд запросами через большое число потоков добавлено дополнительное ограничение, не позволяющие создавать по умолчанию более 256 (2 * max_concurrent_streams) новых потоков на каждый цикл обработки событий. Новое ограничение даёт возможность начать блокировать запросы до достижения общего лимита на число одновременных потоков, например, когда потоки обрабатываются асинхронно или сбрасываются.
  • В модуль stream добавлена поддержка виртуальных серверов, конфигурация которых определяется в блоке "server { ... }" при помощи директивы server_name.
       server {
           server_name ~^(www\.)?(.+)$;
           proxy_pass www.$2:12345;
       }
    
  • Добавлен новый модуль ngx_stream_pass_module, предназначенный для проброса принятых соединений напрямую в любой слушающий сокет, связанный с такими модулями, как http, stream и mail.
       stream {
           server {
               listen 12345 ssl;
    
               ssl_certificate     domain.crt;
               ssl_certificate_key domain.key;
    
               pass 127.0.0.1:8000;
           }
       }
    
  • В директиве listen модуля stream реализована поддержка параметров "deferred" (включает отложенный accept), "accept_filter" (фильтр входящих соединений, применяемый перед вызовом функции accept) и "setfib" (задание таблицы маршрутизации).
  • Для некоторых архитектур реализована поддержка определения размера блока (cache line), используемого для передачи данных между кэшем CPU и памятью.
  • Улучшено управление буферами, используемыми при автоматическом определении соединений HTTP/2.
  • Повышена производительность запуска конфигураций с большим числом директив "location".
  • Удалена поддержка технологии Server push в HTTP/2.
  • Прекращена поддержка директивы "ssl", ранее объявленной устаревшей.

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

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

opennet honked 23 Apr 2024 17:00 +0200

Обновление Firefox 125.0.2. Проблема с появлением вкладки с адресом 0.0.0.1

Доступен корректирующий выпуск Firefox 125.0.2, в котором отключена представленная в ветке Firefox 125 функция блокировки загрузки файлов с URL, не заслуживающих доверия. В некоторых ситуациях указанная функциональность приводила к загрузке других файлов, вместо запрошенных (например, при включённой настройке "dom.block_download_insecure" попытка загрузки CSV-файла приводила к загрузке файла с HTML-текстом станицы). Режим блокировки опасных загрузок планируют доработать и повторно активировать в одном из следующих выпусков.

В примечании к выпуску также отмечена ещё одна неординарная проблема, которую планируют устранить в следующем обновлении Firefox 125.0.3, намеченном на 30 апреля. Суть проблемы в том, что после обновления до Firefox 125 у некоторых пользователей периодически самопроизвольно стали открываться новые вкладки с URL "https://0.0.0.1" в адресной строке. Эффект проявлялся только на платформе Windows. Разбор ситуации показал, что вкладки возникают при попытке запуска ещё одной копии Firefox из командной строки, когда Firefox уже запущен. Пользователям, которые столкнулись с данной проблемой, если они сами не запускали новых копий Firefox, рекомендуется проверить свои системы антивирусным ПО, так как подобная активность может быть следствием работы вредоносных программ.

Появление вкладки с адресом "https://0.0.0.1" вызвано ошибкой в обработчике "Application Launch Prefetcher". В ветке Firefox 125 при запуске дополнительного процесса используется метод nsWinRemoteClient::SendCommandLine с добавлением опции "/prefetch:1" к командной строке, которая во время разбора параметров преобразуется в "-prefetch 1". В дальнейшем параметр "-prefetch" игнорируется, а оставшаяся единица воспринимается как URL для открытия (эквивалент запуска "firefox.exe 1"), что и приводит к попытке открытия сайта "https://0.0.0.1".

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

opennet honked 23 Apr 2024 17:00 +0200

Релиз дистрибутива Fedora Linux 40

Представлен релиз дистрибутива Fedora Linux 40. Для загрузки подготовлены продукты Fedora Workstation, Fedora Server, Fedora CoreOS, Fedora Cloud Base, Fedora IoT Edition и Live-сборки, поставляемые в форме спинов c десктоп-окружениями KDE Plasma 5, Xfce, MATE, Cinnamon, LXDE, Phosh, LXQt, Budgie и Sway. Сборки сформированы для архитектур x86_64, Power64 и ARM64 (AArch64). Публикация сборок Fedora Silverblue задерживается.

Наиболее значимые изменения в Fedora Linux 40:

  • Рабочий стол GNOME в Fedora Workstation обновлён до версии 46, в которой появилась функция глобального поиска, повышена производительность файлового менеджера и эмуляторов терминала, добавлена экспериментальная поддержка механизма VRR (Variable Refresh Rate), улучшено качество вывода при дробном масштабировании, расширены возможности подключением к внешним сервисам, обновлён конфигуратор и улучшена система уведомлений. В GTK задействован новый движок отрисовки, который базируется на API Vulkan.
  • Редакция с рабочим столом KDE обновлена до выпуска KDE 6, использующего протокол Wayland. Поддержка сеанса на основе протокола X11 в базовой поставке прекращена (можно вернуть, установив из репозитория пакет plasma-workspace-x11). Для запуска X11-приложений в сеансе на основе Wayland задействован DDX-сервер XWayland. В качестве причины прекращения поддержки сеанса с X11 упоминается перевод X.Org-сервера в RHEL 9 в категорию устаревших и решение полностью удалить его в будущем значительном выпуске RHEL 10. Среди факторов, способствовавших оставлению только поддержки Wayland называется выполненная в Fedora 36 замена драйверов fbdev на драйвер simpledrm, корректно работающий с Wayland, а также появление поддержки Wayland в проприетарных драйверах NVIDIA.
  • Атомарно обновляемые пользовательские дистрибутивы, развиваемые проектом Fedora, объединены в единое семейство под брендом Atomic Desktops, но давно существующие атомарные сборки сохранили старое название. В итоге, Fedora Silverblue на базе GNOME и Fedora Kinoite на базе KDE, а также Fedora CoreOS и Fedora IoT, сохранили прежние имена, но новые сборки Fedora Sericea и Fedora Onyx теперь распространяются под именами Fedora Sway Atomic и Fedora Budgie Atomic.
  • Обновлены версии пакетов, среди которых LLVM 18, GCC 14, binutils 2.41, glibc 2.39, gdb 14.1, PHP 8.3, Ruby 3.3, Go 1.22, Java 21, AMD ROCm 6, Boost 1.83, 389 Directory Server 3.0.0, Podman 5, PostgreSQL 16, TBB (Thread Building Blocks) 2021.8, SQLAlchemy 2, Kubernetes 1.29.
  • В конфигураторе NetworkManager по умолчанию включён механизм определения конфликта IPv4-адресов в локальной сети (RFC 5227), суть которого в отправке проверочного ARP-пакета перед прикреплением адреса к сетевому интерфейсу (если получен ответ, значит адрес занят и не будет назначен). Для беспроводных соединений обеспечено назначение отдельного постоянного MAC-адреса (режим stable-ssid в NetworkManager).
  • Сборочные инструментарии Mock (mock-core-configs), Koji и Copr переведены на использование пакетного менеджера DNF 5 для установки сборочных зависимостей в chroot-окружение, используемое при сборке пакетов. Перевод самого дистрибутива на DNF 5 ожидается в следующей выпуске.
  • В пакетном менеджере DNF по умолчанию отключена загрузка метаданных со списками файлов, входящих в пакеты. Подобные данные редко используются, но имеют большой размер и замедляют работу.
  • Удалён пакет с библиотекой OpenSSL 1.1, в связи с прекращением поддержки данной ветки. Привязанные к OpenSSL 1.1 зависимости переключены на OpenSSL 3.0. Удалён пакет python3.7.
  • Библиотека Zlib заменена на форк Zlib-ng, совместимый с zlib на уровне API, но предоставляющий дополнительные оптимизации для повышения производительности.
  • Прекращено формирование delta-обновлений RPM-пакетов, позволяющих загружать при обновлении только изменившиеся данные относительно уже установленной версии пакета. Отключена поддержка deltarpm в DNF и DNF5.
  • Добавлен Passim, кэширующий сервер для распространения часто запрашиваемых файлов в локальной сети без прямого обращения к основным серверам и без привлечения глобальных CDN.
  • Модуль pam_userdb переведён с использования BerkeleyDB на GDBM из-за прекращения сопровождения ветки BerkeleyDB 5.x и перевода ветки BerkeleyDB 6.x на неприемлемую лицензию. Bogofilter переведён на использование SQLite вместо BerkeleyDB (libdb).
  • Для сборки Live-образов Fedora Workstation задействован инструментарий Image Builder, поддерживающий повторяемые сборки и предлагающий пользователям более простой процесс кастомизации образов.
  • Для сборки минимальных образов для архитектуры ARM задействован инструментарий osbuild.
  • Для формирования образов Fedora Cloud Edition вместо ImageFactory задействован инструментарий Kiwi.
  • Проведена реструктуризация пакетов для Kubernetes.
  • Fedora IoT, редакция для устройств интернета вещей, переведена на использование загрузочных контейнеров, сформированных при помощи инструментария OSTree и технологии bootc.
  • Утилита wget заменена на wget2, а утилита iotop на iotop-c.
  • В редакциях Fedora Silverblue и Kinoite включена программа bootupd, выполняющая обновление загрузчика.
  • Объявлена устаревшей библиотека libuser, которая осталась без сопровождения и уже не используется в других пакетах Fedora (для поддержки LDAP в дистрибутиве давно применяется SSSD). Удалён пакет passwd с реализацией утилиты passwd на базе libuser, вместо которой задействована аналогичная утилита из пакета shadow-utils.
  • Проведена работа по подготовке к включению в GCC по умолчанию более новой версии стандарта языка Си, что ознаменует прекращение по умолчанию поддержки некоторых устаревших возможностей языка, таких как неявное определение функций и неявное присвоение типа int.
  • Реализована вторая стадия перехода на модернизированный процесс загрузки, предложенный Леннартом Поттерингом. Отличия от классической загрузки сводятся к использованию вместо образа initrd, формируемого на локальной системе при установке пакета с ядром, унифицированного образа ядра UKI (Unified Kernel Image), генерируемого в инфраструктуре дистрибутива и заверенного цифровой подписью дистрибутива. Образ UKI объединяет в одном файле обработчик для загрузки ядра из UEFI (UEFI boot stub), образ ядра Linux и загружаемое в память системное окружение initrd. При вызове образа UKI из UEFI предоставляется возможность проверки целостности и достоверности по цифровой подписи не только ядра, но и содержимого initrd, проверка достоверности которого важна, так как в данном окружении осуществляется извлечение ключей для расшифровки корневой ФС.

    На второй стадии добавлена возможность прямой загрузки UKI из UEFI-модуля shim.efi без привлечения отдельного загрузчика (grub, sd-boot), реализована поддержка использования UKI на системах с архитектурой Aarch64 и подготовлен вариант UKI-образа для облачных окружений и защищённых виртуальных машин. До этого на первой стадии в Fedora 38 была добавлена поддержка UKI в загрузчик, реализован инструментарий для установки и обновления UKI, а также сформирован экспериментальный образ UKI для загрузки виртуальных машин с ограниченным набором компонентов и драйверов.

  • В репозиторий добавлен готовый пакет с фреймворком машинного обучения PyTorch, доступный для установки командой "dnf install pytorch". В настоящее время в пакете включены только компоненты для вычислений при помощи CPU, но в будущих выпусках планируют добавить поддержку привлечения GPU и специализированных NPU-ускорителей.

Дополнительно можно отметить введение в строй для Fedora 40 "free" и "nonfree" репозиториев проекта RPM Fusion, в которых доступны пакеты с дополнительными мультимедиа приложениями (MPlayer, VLC, Xine), видео/аудио кодеками, поддержкой DVD, проприетарными драйверами AMD и NVIDIA, игровыми программами и эмуляторами.

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

opennet honked 23 Apr 2024 16:00 +0200

Выпуск дистрибутива Tails 6.2

Сформирован релиз специализированного дистрибутива Tails 6.2 (The Amnesic Incognito Live System), основанного на пакетной базе Debian 12, поставляемого с рабочим столом GNOME 43 и предназначенного для анонимного выхода в сеть. Анонимный выход в Tails обеспечивается системой Tor. Все соединения, кроме трафика через сеть Tor, по умолчанию блокируются пакетным фильтром. Для хранения пользовательских данных в режиме сохранения пользовательских данных между запусками применяется шифрование. Для загрузки подготовлен iso-образ, способный работать в Live-режиме, размером 1 ГБ.

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

  • Обновлены версии Tor Browser 13.0.13 (на базе Firefox 115.10), Tor 0.4.8.11 и Thunderbird 115.20.
  • В экране приветствия входа в систему (Welcome Screen) реализована возможность включения локализации для 21 дополнительного языка, среди которых украинский, армянский, казахский, латвийский и эстонский языки (русский был доступен ранее).
  • Секция локализации в Welcome Screen переименована в "Язык и форматы" ("Language and Formats").
  • В интерфейсе Tails Upgrader по умолчанию активирована опция для откладывания установки обновлений (Make Upgrade later).
  • Расширен спектр ошибок, распознаваемых при проблемах с чтением или записью на USB-накопители.
  • Решены проблемы с надёжностью работы Wi-Fi.
  • Отключена обработка клавиш SysRq.
  • Для усиления защиты от уязвимости Spectre v4 включён по умолчанию пароаметр "spec_store_bypass_disable=on".


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

continue bonked 23 Apr 2024 14:01 +0200
original: opennet@honk.any-key.press

Анализ влияния ключевого слова final на производительность программ C++

Бенджамин Саммертон (Benjamin Summerton), автор системы трассировки лучей PSRayTracing, проанализировал влияние на производительность приложений использование в коде на языке С++ ключевого слова "final", появившегося в стандарте C++11. Причиной проведения тестирования послужили витающие в сети заявления, что использование "final" позволяет повысить производительность, которые ограничивались оценочными суждениями без указания результатов изменений.

Проведённое Бенджамином тестирование показало, что производительность при использовании "final" сильно зависит от компилятора. При сборке в GCC действительно в заметном числе случаев производительность возрастала, но при сборке в Clang и MSVC производительность в большинстве случаев снижалась, причём более ощутимо. При этом большое влияние, кроме компилятора, имела платформа, например, проседание производительности больше проявлялись на системе с CPU AMD Ryzen 9 6900HX, чем на системе с CPU Apple M1.





Например, на системе AMD Ryzen 9 6900HX с Ubuntu 23.10 при сборке в Clang в 90% тестов при использовании "final" наблюдалось замедление работы как минимум на 5%, но в 2.5% случаев фиксировалось ускорение как минимум на 5%. Для GCC замедление на 5% фиксировалось в 0.9% случаев, а ускорение на 5% - в 15.8% случаев. В MSVC 5% замедление наблюдалось в 26.2% тестов, а 5% ускорение - 13.3%. Для себя автор исследования сделал вывод о необходимости избегать использование "final".

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

opennet honked 23 Apr 2024 14:00 +0200

Анализ влияния ключевого слова final на производительность программ C++

Бенджамин Саммертон (Benjamin Summerton), автор системы трассировки лучей PSRayTracing, проанализировал влияние на производительность приложений использование в коде на языке С++ ключевого слова "final", появившегося в стандарте C++11. Причиной проведения тестирования послужили витающие в сети заявления, что использование "final" позволяет повысить производительность, которые ограничивались оценочными суждениями без указания результатов изменений.

Проведённое Бенджамином тестирование показало, что производительность при использовании "final" сильно зависит от компилятора. При сборке в GCC действительно в заметном числе случаев производительность возрастала, но при сборке в Clang и MSVC производительность в большинстве случаев снижалась, причём более ощутимо. При этом большое влияние, кроме компилятора, имела платформа, например, проседание производительности больше проявлялись на системе с CPU AMD Ryzen 9 6900HX, чем на системе с CPU Apple M1.





Например, на системе AMD Ryzen 9 6900HX с Ubuntu 23.10 при сборке в Clang в 90% тестов при использовании "final" наблюдалось замедление работы как минимум на 5%, но в 2.5% случаев фиксировалось ускорение как минимум на 5%. Для GCC замедление на 5% фиксировалось в 0.9% случаев, а ускорение на 5% - в 15.8% случаев. В MSVC 5% замедление наблюдалось в 26.2% тестов, а 5% ускорение - 13.3%. Для себя автор исследования сделал вывод о необходимости избегать использование "final".

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

opennet honked 23 Apr 2024 11:00 +0200

Выпуск сканера сетевой безопасности Nmap 7.95

Опубликован выпуск сканера сетевой безопасности Nmap 7.94, предназначенного для проведения аудита сети и выявления активных сетевых сервисов. Код проекта поставляется под лицензией NPSL (Nmap Public Source License), основанной на лицензии GPLv2, которая дополнена рекомендациями (не требованиями) по использованию программы OEM-лицензирования и покупке коммерческой лицензии, если производитель не желает открывать код своего продукта в соответствии требованиями копилефт-лицензии или намерен интегрировать Nmap в продукты, несовместимые с GPL.

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

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

  • Добавлено более 2500 идентификаторов версий приложений и сервисов, а общий размер базы идентификаторов достиг 12089 записей. Число определяемых протоколов увеличилось с 1237 до 1246. Среди прочего добавлена поддержка протоколов grpc, mysqlx, essnet, remotemouse и tuya.
  • Добавлено 336 идентификаторов операционных систем. Общее число определяемых версий ОС доведено до 6036. Обеспечено определение версий iOS 15 и 16, macOS 12 и 13, ядро Linux 6.1, OpenBSD 7.1 и lwIP 2.2.
  • В состав включены 4 новых NSE-скрипта для обеспечения автоматизации различных действий с Nmap. Новые скрипты подготовлены сообществом DINA и нацелены на отправку запросов к различным промышленным контроллерам:
    • hartip-info - запрос информации с использованием протокола Highway Addressable Remote Transducer.
    • iec61850-mms - отправка запросов Manufacturing Message Specification.
    • multicast-profinet-discovery - отправка multicast-сообщений "PROFINET DCP Identify All" и вывод ответа.
    • profinet-cm-lookup - отправка запросов обработчикам DCERPC через сервис PNIO-CM.
  • В готовых сборках обновлены версии Lua 5.4.6, libpcre2 10.43, zlib 1.3.1, libssh2 1.11.0 и liblinear 2.47.
  • При создании пакетов с Zenmap и Ndiff задействованы утилиты setuptools, вместо distutils.
  • Улучшен код сопоставления сигнатур при определении операционных систем, изменён синтаксис nmap-os-db для поддержки диапазонов в строках с опциями TCP.
  • Улучшен движок определения операционных систем, в котором при каждой повторной попытке теперь меняется номер исходного сетевого порта.
  • В движке сканирования портов задействованы некоторые оптимизации на основе результатов профилирования.


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

opennet honked 23 Apr 2024 11:00 +0200

Выпуск NetBSD 9.4

Опубликован релиз операционной системы NetBSD 9.4, который завершил цикл сопровождения прошлой значительной ветки 9.x. NetBSD 9.4 отнесён к категории корректирующих обновлений и включает в основном исправления проблем и уявзимостей, выявленных с момента публикации NetBSD 9.3 в августе 2022 года. Для тех, кому важна новая функциональность недавно был выпущен значительный релиз NetBSD 10.0. Для загрузки подготовлены установочные образы размером 507 МБ, доступные в сборках для 57 системных архитектур и 16 различных семейств CPU.

Кроме исправления ошибок в NetBSD 9.4 из ветки NetBSD 10 перенесены некоторые новые возможности, как правило связанные с поддержкой оборудования. Например, добавлена поддержка новых контроллеров MegaRAID, Ethernet-карт на чипе RTL8168GU и 3G-модемов ZTE MF112 и D-Link DWM222. Расширена поддержка новых CPU AMD (zen3, zen4) и Intel (Comet Lake, Skylake-X, Cascade Lake). Добавлена поддержка RAM-дисков в ZFS и CGD. Улучшена совместимость с QEMU сборок для aarch64.

Для sshd прекращена генерация хостовых ключей DSA. В утилиту audioplay добавлена поддержка IEEE FP .wav, в date добавлена опция "-f", а в ftp реализованы относительные HTTP-редиректы. Обновлены версии openssl 1.1.1t, postfix 3.8.4, openssh 9.6, BIND 9.18.24, nsd 4.8.0 и unbound 1.19.1.

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

undeadly honked 23 Apr 2024 08:00 +0200

pfctl(8) and systat(8) to display fragment reassembly statistics

The OpenBSD toolbox for network debugging just got better. In a recent thread on tech@ titled pfctl show fragment info, Alexander Bluhm (bluhm@) posted a patch to enable packet reassembly statistics in pfctl(8).

Several other developers joined in, and Claudio Jeker (claudio@) suggested that systat(8) should too be enhanced to display packet reassembly data in pf(4) related views.

This suggestion was well received, and the resulting code has now been committed,

Read more…

opennet honked 22 Apr 2024 23:00 +0200

Проект Raspberry Pi Media Center развивает серию открытых Hi-Fi устройств

В рамках проекта Raspberry Pi Home Media Center развивается несколько компактных открытых аппаратных устройств для организации работы домашнего медиацентра. В качестве основы в устройствах задействована плата Raspberry Pi Zero, сопряжённая с цифро-аналоговым преобразователем, позволяющим добиться высококачественного вывода звука. Устройства поддерживают подключение к сети через Wi-Fi или Ethernet, и могут управляться через пульт дистанционного управления. Схемы и распайки печатных плат, а также модели для корпусов опубликованы под лицензией GPLv3. Код для использования цифро-аналогового преобразователя вместе с платой Raspberry Pi открыт под лицензией GPLv3.

Устройство Louder Raspberry Pi примечательно использованием цифро-аналоговым преобразователя TI TAS5805M со встроенным усилителем D-класса, способным обеспечить вывод сетереозвука на колонки с мощностью 22 Вт на канал. Устройство поставляется с IR-приёмником для пульта ДУ, USB-C, Wi-Fi и Ethernet (Wiznet W5500 SPI). Размер 88 x 38 x 100 мм. Стоимость $35.

Устройство Raspberry Pi HiFi оснащено более простым цифро-аналоговым преобразователем TI PCM5100 и рассчитано на использование с внешним усилителем. Устройство оснащено IR-приёмником для пульта ДУ, USB-C, Wi-Fi, Ethernet (Wiznet W5500 SPI) и линейным аудиовыходом для подключения усилителя. Размер 88 x 38 x 100 мм. Стоимость $25.

В разработке находится устройство Loud Raspberry Pi, примечательное использованием двух цифро-аналоговых преобразователей Analog Devices MAX98357 с усилителями D-класса. Устройство рассчитано на подключение колонок, мощностью 3 Вт.

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

opennet honked 22 Apr 2024 21:00 +0200

Использование BPF-программ для решения проблем в устройствах ввода

Питер Хаттерер (Peter Hutterer), мэйнтейнер подсистемы ввода X.Org, работающий в Red Hat, представил новую утилиту udev-hid-bpf, предназначенную для автоматической загрузки BPF-программ, исправляющих проблемы в устройствах ввода с интерфейсом HID (Human Input Device) или меняющих их поведение в зависимости от предпочтений пользователя. Для создания обработчиков к HID-устройствами, таким как клавиатуры и мыши, применяется подсистема HID-BPF, появившаяся в ядре Linux 6.3 и позволяющая создавать драйверы устройств ввода в форме BPF-программ или обрабатывать различные события в подсистеме HID.

Утилита udev-hid-bpf может использоваться вместе с механизмом udev для автоматической активации BPF-программ при подключении новых устройств ввода или для загрузки BPF-программ в ручном режиме. Выделяются две основные категории BPF-программ для использование вместе с udev-hid-bpf: программы для устранения проблем в аппаратном обеспечении или прошивках, и программы для изменения поведения устройств по желанию пользователя.

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

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

opennet honked 22 Apr 2024 19:00 +0200

Выпуск звукового редактора Audacity 3.5

Опубликован релиз свободного редактора звука Audacity 3.5, предоставляющего средства для редактирования звуковых файлов (Ogg Vorbis, FLAC, MP3 и WAV), записи и оцифровки звука, изменения параметров звукового файла, наложения треков и применения эффектов (например, подавление шума, изменение темпа и тона). Audacity 3.4 стал четвёртым значительный выпуском, сформированным после перехода проекта в руки компании Muse Group. Код Audacity распространяется под лицензией GPLv3, бинарные сборки доступны для Linux, Windows и macOS.

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

  • Добавлена возможность сохранения проектов в облачном сервисе audio.com, что позволяет работать с проектом с любого устройства, обмениваться проектами, организовать совместную работу и восстановить прошлые версии в случае потери информации на локальной системе.
  • Реализована возможность автоматического определения темпа импортированных цикличных записей (loop) и его корректировки. Для определения темпа используется как анализ звука, так и информация из метаданных. Автоопределние темпа можно отключить в настройках "Preferences -> Import/Export".
  • Предоставлена поддержка недеструктивного сдвига высоты тона клипа. Изменение высоты тона осуществляется через диалог "Pitch and speed…" в меню или в основном интерфейсе через нажатие клавиш вверх или вниз, удерживая клавишу Alt.
  • Добавлена поддержка экспорта меток в файлах с субтитрами в форматах WebVTT и SubRip, а также импорта в формате SubRip.
  • В раздел "Preferences -> Effects" добавлена настройка для отключения сканирования плагинов.
  • Для клипов реализовано контекстное меню, а также индикаторы скорости и высоты тона.
  • Переработан менеджер плагинов.
  • Улучшена поддержка BSD-систем.
  • Выполнена перегруппировка элементов в некоторых меню.
  • Удалены настройки мыши, опции вывода на печать, инструмент для создания скриншотов, режим "караоке", настройки всплывающих подсказок, эффект удаления голоса (рекомендуется использовать более качественно работающий плагин OpenVINO) и конвертер из EQ XML в TXT.


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

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

continue honked 22 Apr 2024 17:12 +0200

Еще одно минорное исправление в yah2g (yet another http-to-gemini web proxy):

=> gemini://any-key.press/yah2g/report_0.5.gmi Возврат ошибки о не поддерживаемом ответе ('latin-1' codec can't encode characters)

#gemini #python

continue honked back 22 Apr 2024 15:02 +0200
in reply to: https://mastodon.social/users/altmer/statuses/112314933020711802

@altmer

Если не пугает настоящая 8-битная графика, то можно начинать с самой первой "The Legend of Zelda" для Famicom/NES. Или SNES'овской "A Link to the Past", где (на мой субъективный взгляд) графика и на сегодняшний день выглядит здорово.

Если хочется чего-то более-менее визуально современного, то переиздание "Link's Awakening" для Switch, где графику перерисовали трехмерными моделями, но по сути она осталась классическим двухмерным приключением:
https://www.youtube.com/watch?v=ZROB4TnYH_I

continue bonked 22 Apr 2024 14:02 +0200
original: b000ka@mastodon.ml

На днях переслушивала сольник Марка Нопфлера - "The Ragpicker's Dream", аж, кхм, 2002 года - и думала: до чего же умиротворяющая музыка.

(Кто не знает: Нопфлер - вокалист, гитарист и автор музыки легендарных "Dire Straits".
Кто и о них не знает - зря, послушайте.)

Так вот, сегодня обнаружила совсем свеженький его альбом, всего 10 дней как вышел: "One Deep River".
(Не даю ссылок, потому что давно не понимаю, где тот универсальный музыкальный ресурс, удобный всем.)

Нопфлеру 74, и он всё так же хорош!

#музыка

Обложка альбома One Deep River: закат в розовых тонах над мостом

continue bonked 22 Apr 2024 12:04 +0200
original: timursagdenov@relib.re

Впервые попробовал поделать фото с отражениями. Неплохо выходит.

continue honked 22 Apr 2024 12:02 +0200

Любопытно: "Микрон" представил прототип программируемого логического контроллера на основе RISC-V микроконтроллера MIK32 Амур.

Память программ: EEPROM – 8 КБ, FLASH - 2 МБ

Микросхема интегральная К1948ВК018 (MIK32 Amur)

  • Интерфейс: SPI ; I2C; UART
  • Архитектура ядра: RISC-V
  • Тип корпуса: 64-вывода тип LGA
  • Размер ОЗУ: 16 кбайт
  • Криптозащита: ГОСТ 34.12–2018 аппаратная; AES128 аппаратная

continue bonked 22 Apr 2024 11:01 +0200
original: opennet@honk.any-key.press

Оценка изменения производительности СУБД PostgreSQL за последние 15 лет

Райан Маркус (Ryan Marcus), разработчик экспериментального оптимизатора Bao для PostgreSQL, в котором используется машинное обучение для оптимизации выполнения запросов, опубликовал результаты тестирования производительности штатного оптимизатора запросов PostgreSQL. Тестирование охватывало ветки PostgreSQL, начиная с 8.4 (2009 год) и заканчивая 16 (2023 год). Производительность измерялась при помощи коллекции JOB (join order benchmark), включающей более 100 сложных запросов с большим числом операций JOIN, нацеленных на проверку различных аспектов работы оптимизатора запросов.

По сравнению с версией PostgreSQL 8.4 скорость выполнения тестовых запросов в PostgreSQL 16 возросла почти в два раза. Каждая новая значительная версия PostgreSQL в среднем быстрее предыдущей на 15% при выполнении тестов JOB.

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

opennet honked 22 Apr 2024 11:00 +0200

Оценка изменения производительности СУБД PostgreSQL за последние 15 лет

Райан Маркус (Ryan Marcus), разработчик экспериментального оптимизатора Bao для PostgreSQL, в котором используется машинное обучение для оптимизации выполнения запросов, опубликовал результаты тестирования производительности штатного оптимизатора запросов PostgreSQL. Тестирование охватывало ветки PostgreSQL, начиная с 8.4 (2009 год) и заканчивая 16 (2023 год). Производительность измерялась при помощи коллекции JOB (join order benchmark), включающей более 100 сложных запросов с большим числом операций JOIN, нацеленных на проверку различных аспектов работы оптимизатора запросов.

По сравнению с версией PostgreSQL 8.4 скорость выполнения тестовых запросов в PostgreSQL 16 возросла почти в два раза. Каждая новая значительная версия PostgreSQL в среднем быстрее предыдущей на 15% при выполнении тестов JOB.

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

opennet honked 22 Apr 2024 11:00 +0200

Выпуск реляционно-графовой СУБД EdgeDB 5.0

Доступен релиз СУБД EdgeDB 5.0, реализующей реляционно-графовую модель данных и язык запросов EdgeQL, оптимизированные для работы со сложными иерархическими данными. Проект развивается в форме надстройки над PostgreSQL, код которой написан на языках Python и Rust (парсер и критичные к производительности части), и распространяется под лицензией Apache 2.0. Клиентские библиотеки подготовлены для языков Python, Go, Rust. .NET, Elixir и TypeScript/Javascript. Предоставляется инструментарий командной строки для управления СУБД и интерактивного выполнения запросов (REPL).

Вместо модели данных на основе таблиц в EdgeDB применяется декларативная система на основе объектных типов. Вместо внешних ключей (foreign key) для определения связи между типами применяется связывание ссылками (один объект может использоваться как свойство другого объекта).

   type Person {
     required name: str;
   }
   type Movie {
     required title: str;
     multi actors: Person;
   }

Поддерживаются такие возможности как строгая типизация свойств, ограничения значений свойств, вычисляемые свойства и хранимые процедуры. Из особенностей объектной схемы хранения EdgeDB, которая чем-то напоминает ORM, отмечается возможность смешивания схем, связывания свойств из разных объектов и интегрированная поддержка JSON. Для ускорения обработки запросов могут применяться индексы.

Предоставляются встроенные инструменты для миграции схемы хранения - после изменения схемы, задаваемой в отдельном esdl-файле, достаточно выполнить команду "edgedb migration create" и СУБД проанализирует различия в схеме и в интерактивном режиме сгенерирует скрипт для перехода на новую схему. Автоматически отслеживается история изменения схемы.

Для формирования запросов поддерживается язык запросов GraphQL и собственный язык EdgeDB, представляющий собой адаптацию SQL для иерархических данных. Вместо списков результаты запроса оформляются в структурированном виде, а вместо подзапросов и операций JOIN предоставляется возможность указания одного запроса EdgeQL в качестве выражения внутри другого запроса. Поддерживаются транзакции и циклы.

   select Movie {
     title,
     actors: {
       name
     }
   }
   filter .title = "The Matrix"

   insert Movie {
     title := "The Matrix Resurrections",
     actors := (
       select Person
       filter .name in {
         'Keanu Reeves',
         'Carrie-Anne Moss',
         'Laurence Fishburne'
       }
     )
   }

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

  • Добавлена поддержка ветвления ("branching"), позволяющая использовать при работе с данными и схемами концепцию веток, применяемую в системах управления версиями. Вместо термина "база данных" в новом выпуске предложено понятие "ветка" (branch), а команды "create database" и "drop database" объявлены устаревшими и вместо них рекомендовано использовать новые команды "create empty branch" и "drop branch". Помимо пустых веток при помощи команд "create schema branch" и "create data branch" можно создавать ответвления от существующих веток и БД, копируя из них схему хранения и данные.

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

  • В расширение pgvector, применяемое для эффективного хранения и запроса векторов, добавлен новый тип индексов HNSW (Hierarchical Navigable Small Worlds), который, по аналогии с индексом IVFFlat, доступен в трёх вариантах: ext::pgvector::hnsw_euclidean, ext::pgvector::hnsw_ip и ext::pgvector::hnsw_cosine. Кроме того, в pgvector расширены возможности по тонкой настройке индексов через объект ext::pgvector::Config.
  • Добавлены дополнительные возможности аутентификации. В расширении auth реализована поддержка беспарольных схем аутентификации WebAuthn (Passkeys) и "magic links" (на базе email). Добавлена поддержка использования платформ Slack и Discord в качестве OAuth-провайдеров.
  • Внесены оптимизации производительности. В реализации кэша с результатами компиляции запросов обеспечено сохранение состояния между перезапусками и добавлена автоматическая перекомпиляция после миграции. Повышена скорость работы с большими схемами хранения.
  • В языке запросов EdgeQL​ в выражении "for" разрешено не указывать ключевое слово "union" в базовых запросах, в которых используются выражения insert, update или delete.
  • Добавлена команда vacuum() для чистки, оптимизации и упаковки содержимого БД.
  • Разрешено преобразование данных между типом bytes и типами int16, int32, int64 и uuid, используя функции to_bytes(), to_uuid() и to_int*().
  • Добавлена возможность закрытия всех соединений к БД после выполнения операции "drop database".


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

opennet honked 22 Apr 2024 09:00 +0200

Lunatik - инструментарий для создания в ядре Linux обработчиков на языке Lua

Проект Lunatik развивает инструментарий, позволяющий использовать язык Lua для расширения функциональности ядра Linux и быстрого написания скриптов-обработчиков, работающих на уровне ядра. Для выполнения кода задействован интерпретатор Lua, модифицированный для работы на уровне ядра. Код проекта написан на языке Си и распространяется под лицензией MIT.

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

В Lua-скриптах можно использовать подмножество библиотечных функций и возможностей, ограниченное в силу специфики работы внутри ядра. Например, в коде не поддерживается выполнение операций с плавающей запятой, нельзя использовать библиотеки io и os, а также недоступны многие функции библиотеки math. В C API не поддерживаются функции luaL_Stream, luaL_execresult, luaL_fileresult, luaopen_io и luaopen_os.

Среди возможностей утилиты командной строки можно отменить команды для загрузки, выгрузки и перезагрузки модулей Lunatik в ядре, вывод состояния загруженных модулей, просмотр списка выполняемых в ядре скриптов, запуск скриптов, создания и остановка runtime-окружений Lua в ядре, использование интерактивной оболочки REPL (Read–Eval–Print Loop).

Проектом также предоставляется набор примеров, позволяющих оценить возможности Lunatik. Например, доступны скрипты с реализацией драйвера символьного устройства, сетевого сниффера с возможностью ведения журнала с MAC-адресами, БД для хранения данных в виде ключ/значение, сервера для протокола ECHO, кейлоггера для ведения лога нажатых клавиш, блокировщика клавиатуры (после нажатия "↑ ↑ ↓ ↓ ← → ← → LCTRL LALT" ядро перестаёт обрабатывать нажатия клавиш вплоть до повторного ввода данной последовательности), драйвера для мониторинга за системными вызовами, сервиса маршрутизации, различных надстроек над подсистемами Netfilter и XDP.

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

continue bonked 21 Apr 2024 11:18 +0200
original: worr@bsd.network

openbsd, annoyance, xz

openbsd, annoyance, xz

Despite being an OpenBSD user, and generally liking my experience with the OS, I'm so exhausted by zealous OpenBSD fans.

I just came across a conversation where a bunch of OpenBSD fans were shouting about how the xz backdoor could never have happened on OpenBSD, completely misunderstanding the situation and just zeroing in on completely the wrong things.

> no systemd

Of course there isn't, and yes, because sshd links against fewer things (and nothing external to the OS), yes sshd is probably fairly safe on OpenBSD. But I can't imagine that people only run the base system in practice.

> pledge/unveil

If someone is linking a malicious object file, they can just stub out pledge/unveil, making them worthless here.

> lots of repeating lists of security features openbsd added that aren't relevant and do nothing to protect against a supply-chain attack

Just a complete misunderstanding of what happened, and how to protect against it.

---

I see the same overzealous OpenBSD discourse over and over and it's just exhausting.

opennet honked 21 Apr 2024 11:00 +0200

Выпуск Kata Containers 3.4 с изоляцией на основе виртуализации

Опубликован выпуск проекта Kata Containers 3.4, развивающего стек для организации выполнения контейнеров с использованием изоляции на базе полноценных механизмов виртуализации. Проект создан компаниями Intel и Hyper путём объединения технологий Clear Containers и runV. Код проекта написан на языках Go и Rust, и распространяется под лицензией Apache 2.0. Развитие проекта курирует рабочая группа, созданная под эгидой независимой организации OpenStack Foundation, в которой участвуют такие компании, как Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE и ZTE.

Основу Kata составляет runtime, позволяющий создавать компактные виртуальные машины, выполняемые с использованием полноценного гипервизора, вместо применения традиционных контейнеров, использующих общее ядро Linux и изолированных при помощи пространств имён и cgroups. Применение виртуальных машин позволяет добиться более высокого уровня безопасности, защищающего от совершения атак, вызванных эксплуатацией уязвимостей в ядре Linux.

Kata Containers ориентирован на интеграцию в существующие инфраструктуры контейнерной изоляции c возможностью применения подобных виртуальных машин для усиления защиты традиционных контейнеров. Проектом предоставляются механизмы для обеспечения совместимости легковесных виртуальных машины с различными инфраструктурами контейнерной изоляции, платформами оркестровки контейнеров и спецификациями, такими как OCI (Open Container Initiative), CRI (Container Runtime Interface) и CNI (Container Networking Interface). Доступны средства для интеграции с Docker, Kubernetes, QEMU и OpenStack.

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

В качестве гипервизора поддерживается использование Dragonball Sandbox (редакция KVM, оптимизированная для контейнеров) с инструментарием QEMU, а также Firecracker и Cloud Hypervisor. Системное окружение включает в себя демон инициализации и агент (Аgent). Агент обеспечивает выполнение определённых пользователем образов контейнера в формате OCI для Docker и CRI для Kubernetes. При использовании совместно с Docker для каждого контейнера создаётся отдельная виртуальная машина, т.е. запускаемое поверх гипервизора окружение применяется для вложенного запуска контейнеров.

Для уменьшения потребления памяти применяется механизм DAX (прямой доступ к ФС в обход страничного кэша без применения уровня блочных устройств), а для дедупликации одинаковых областей памяти применяется технология KSM (Kernel Samepage Merging), что позволяет организовать совместное использование ресурсов хост-системы и подключить к разным гостевым системам общий шаблон системного окружения.

Для организации доступа к образам контейнеров задействована файловая система Nydus, в которой используется адресация по содержимому для эффективной совместной работы с типовыми образами. Nydus поддерживает загрузку образов на лету (загружает только при возникновении необходимости), обеспечивает дедупликацию повторяющихся данных и может использовать разные бэкенды для фактического хранения. Предоставляется совместимость с POSIX (по аналогии с Composefs, реализация Nydus совмещает возможности OverlayFS c EROFS или FUSE-модулем).

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

  • В менеджер виртуальных машин Dragonball добавлена поддержка горячего подключения GPU и возможность использования регистров MTRR (Memory-Type Range Registers) для организации доступа к областям физической памяти.
  • В runtime-rs, реализации runtime на языке Rust, обеспечена полная обработка потоков, pid и tid, а также переработан драйвер qemu, который задействован на системах с архитектурой s390 (IBM Z).
  • Обновлён серсис для создания снапшотов с использованием ФС Nydus.
  • В сервисе управления образами контейнеров повышена эффективность работы с памятью.
  • Включено по умолчанию монтирование иерархии cgroups-v2 во время загрузки при помощи systemd.
  • Добавлена возможность определения таймаута для ограничения времени получения очень больших образов в гостевых системах.
  • Добавлена поддержка сборки OPA-агента (Open Policy Agent) для архитектур ppc64le и s390x.


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

opennet honked 21 Apr 2024 10:00 +0200

Выпуск композитного сервера Niri 0.1.5, использующего Wayland

Опубликован выпуск композитного сервера Niri 0.1.5, развиваемого под впечатлением от GNOME-расширения PaperWM и реализующего метод мозаичной (tiling) компоновки, при котором окна группируются в бесконечно прокручиваемую на экране ленту. Открытие нового окна приводит к расширению ленты, а ранее добавленные окна никогда не меняют свой размер. Код проекта распространяется под лицензией GPLv3. Пакеты собраны для Fedora, NixOS , Arch Linux и FreeBSD.

В качестве причины создания отдельного композитного менеджера отмечается невозможность реализации в PaperWM раздельной работы с мониторами из-за привязки к глобальным оконным координатам в GNOME Shell. Принципиальным отличием Niri от PaperWM является привязка к каждому монитору собственной ленты окон, которые не пересекаются между собой. Niri поддерживает HiDPI и может работать на системах с несколькими GPU (например, гибридных системах с дискретной видеокартой и встроенным GPU).

Как и в GNOME виртуальные рабочие столы в Niri создаются динамически и размещаются вертикально (лента окон вращается горизонтально, а лента рабочих столов - вертикально). На каждом мониторе может отображаться независимый набор виртуальных рабочих столов. Для переключения между рабочими столами можно использовать управляющие жесты на тачпаде. При отключении монитора раскладка виртуальных рабочих столов запоминается и переносится на оставшийся монитор, а при возвращении монитора восстанавливается в исходное состояние.

Niri базируется на использовании протокола Wayland, но позволяет запускать приложения X11 при помощи DDX-сервера Xwayland. Имеется встроенный интерфейс для создания скриншотов и записи скринкастов, особенностью которого является возможность исключения из записи отельных окон с конфиденциальной информацией.

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

Новая версия примечательна реализацией новых анимированных эффектов при манипуляции с окнами, а также реализацией пружинящих эффектов (spring animation). Анимация теперь применяется при перемещении, изменении размера и закрытии окон. Для тех кого раздражают анимированные эффекты в файле конфигурации предусмотрен параметр для отключения анимации или настройки каждого эффекта под свои предпочтения.

Среди других новшеств:

  • Добавлена поддержка вывода с переменным битрейтом (VRR, variable refresh rate).
  • Расширены возможности IPC-интерфейса, применяемого для взаимодействия внешних систем с композитным сервером.
  • Добавлен параметр allow-when-locked=true для определения клавиатурных комбинаций, продолжающих работу при блокировке экрана.
  • Обеспечено восстановление прошлой позиции окна после возвращения из полноэкранного режима.
  • Реализовано скрытие курсора мыши во время взаимодействия с сенсорным экраном.
  • Добавлен пример настройки для отключения микрофона.


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

continue bonked 21 Apr 2024 08:55 +0200
original: Wondermoinen@mastodon.ml

Впервые за много времени готовлюсь прочитать лекцию, и не о чём-нибудь, а о видеоигровой архитектуре! Шанинка в этом году сделала потрясающую секцию по геймстадис, и мне посчастливилось в ней поучаствовать.
Мне кажется, в последний раз я так волновалась из-за выступления ещё в институте, когда готовилась к предзащите диплома. Снова ощущение, что я ничего не знаю; опять не хватило всего одного дня; а вдруг надо было сделать совсем другую структуру презентации; снова ощущение, что у меня самая простая и посредственная тема. Надеюсь, что от всех этих сомнений меня избавит самое верное средство - листы с распечатанной речью под подушкой.
Ну а здесь для памяти я хочу остать этот скриншот с, кажется, моим самым любимым слайдом. Да, Индика выйдет только 2-го мая, но я всё равно настолько в неё верю, что готова рассказывать о ней уже сейчас

opennet honked 20 Apr 2024 21:00 +0200

Уязвимость в Glibc, эксплуатируемая через скрипты на PHP

В стандартной Си-библиотеке Glibc выявлена уязвимость (CVE-2024-2961), приводящая к переполнению буфера при преобразовании специально оформленных строк в кодировке ISO-2022-CN-EXT функцией iconv(). Выявивший проблему исследователь планирует 10 мая выступить на конференции OffensiveCon с докладом, в анонсе которого упоминается возможность эксплуатации уязвимости через приложения на языке PHP. Заявлено, что проблема затрагивает всю экосистему PHP и некоторые приложения.

При преобразовании строк в кодировке UCS4, в соответствии с требованиями RFC 1922, библиотека добавляет некоторые escape-символы, выделяющие части строки, в которых кодировка была изменена. Уязвимость вызвана некорректной проверки границ внутренних буферов функцией iconv(), что может привести к переполнению буфера максимум на 4 байта. При переполнении за границу буфера могут быть записаны определённые фиксированные значения, такие как '$+I', '$+J', '$+K', '$+L', '$+M' и '$*H'. Несмотря на то, что эксплуатация подобной уязвимости для выполнения кода кажется маловероятной, по заявлению выявившего проблему исследователя этого оказалось достаточно для подготовки нескольких прототипов эксплоитов для удалённой атаки на PHP-приложения, приводящей к выполнению кода.

Уязвимость проявляется с 2000 года и устранена в находящейся в разработке ветке Glibc 2.40. Исправление также доступно в виде патчей для выпусков Glibc с 2.32 по 2.39. В дистрибутивах проследить за исправлением уязвимости можно на страницах: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

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

continue honked back 20 Apr 2024 17:42 +0200
in reply to: https://relib.re/notes/9sbtvz4dzhgy01pf

@timursagdenov

показывает, будто у меня 4 слота под память, но когда я разбирал ноутбук, то видел только 2 слота

Могут быть физически не распаяны, например

Может, есть более подходящие инструменты для получения этой информации?

На сайте производителя нет информации по модели?

continue bonked 20 Apr 2024 13:20 +0200
original: th3rdsergeevich@mastodon.ml

"Another one bites the dust..."

Разработчики песочницы Little Big Planet 3 выпустили заявление о том, что ввиду технических сложностей, из-за которых компания была вынуждена отключить сервера в январе, приняли решение не включать сервера вообще.

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

opennet honked 20 Apr 2024 11:00 +0200

Mozilla начала формирование ночных сборок Firefox для Linux-систем на архитектуре ARM64

Разработчики из компании Mozilla объявили о публикации официальных бинарных deb-пакетов и установочных tar-архивов, позволяющих установить ночные сборки Firefox в Linux-дистрибутивах на системах с архитектурой ARM64 (AArch64). Пакеты можно получить как через традиционную страницу загрузки, так и из специализированного APT-репозитория, созданного для Debian, Ubuntu, Linux Mint и других Debian-подобных дистрибутивов. После завершения внедрения автоматизированного тестирования ARM64-сборок в системе непрерывной интеграции планируется начать публиковать подобные сборки для бета-версий и релизов.

Дополнительно можно отметить несколько изменений, недавно предложенных в ночных сборках Firefox:

  • Возможность определения собственных цветовых тем для режима читателя (Reader View). Включается через параметр reader.colors_menu.enabled в about:config.
  • Оптимизация системы выделения памяти mozjemalloc, позволившая сократить число вызовов VirtualAlloc. В тестах Speedometer 2 и Speedometer 3 отмечается ускорение на 3.5-5% после включения нового кода с сохранением потребления памяти на том же уровне.
  • Включена поддержка формата Search Config V2 для изменения настроек поисковой системы.
  • Время запуска сокращено как минимум на 3%.


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

opennet honked 20 Apr 2024 10:00 +0200

В Thunderbird добавят реализацию протокола Microsoft Exchange на языке Rust

Разработчики почтового клиента Thunderbird объявили о начале интеграции в кодовую базу компонентов, написанных на языке Rust. В следующий значительный выпуск Thunderbird, релиз которого ожидается в июле этого года, войдёт код с реализацией почтового протокола Microsoft Exchange Web Services (EWS), реализованный на языке Rust. Поддержка доступа к календарю и адресной книге Microsoft Exchange будет добавлена позднее. Встроенная реализация позволит обойтись без установки сторонних дополнений, через которые до сих пор обеспечивалась поддержка Microsoft Exchange.

Отмечается, что использование языка Rust для реализации намеченной функциональности позволит снизить вероятность совершения ошибок при работе с памятью, обеспечит увеличение производительности по сравнению с дополнением на JavaScript и позволит вписаться в существующую экосистему, развивающую связанные с электронной почтой модули на языке Rust. Интеграцию средств для разработки на новом языке упрощает то, что Rust уже применяется в Firefox и в Thunderbird можно будет задействовать уже существующую инфраструктуру для тестирования и непрерывной интеграции, а также обвязки XPCOM (Cross-Platform Component Object Model) для взаимодействия компонентов на языке Rust с кодом на C++ и JavaScript.

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

Из других возможностей, запланированных для включение в июльский ESR-выпуск Thunderbird можно упомянуть:

  • Поддержка синхронизации настроек между системами через привязку к учётной записи в Mozilla Account.
  • Переход на новую глобальную базу хранения сообщений, позволяющую реализовать альтернативные способы отображения переписки.
  • Продолжение развития режима вертикальной компоновки списка сообщений (Card View), стилизованного под мобильные интерфейсы в которых элементы показываются в форме "плоских" карт.
  • Полноценная поддержка тёмного режима оформления, применимая к сообщениям и изображениям.
  • Новые возможности панели со списком почтовых папок (Folder Pane).
  • Создание Account Hub, единой точки настройки всех учётных записей.
  • Интеграция встроенного движка машинного перевода Firefox Translate.


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

continue honked 20 Apr 2024 09:57 +0200

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

Фото с берега озера, за которым лес. Берега озера покрыты снежным покровом. На поверхности озера есть тонкий слой льда с темными проталинами.

opennet honked 20 Apr 2024 09:00 +0200

Избран новый лидер проекта Debian

Объявлены результаты ежегодных выборов лидера проекта Debian. Победу одержал Андреас Тилле (Andreas Tille), который был избран впервые. В этом году на пост лидера претендовали два участника. Джонатан Картер, занимавший пост лидера четыре последних года, в выборах не участвовал. В голосовании приняли участие 362 разработчика, что составляет 36% от всех участников, имеющих право голоса (в прошлом году явка составила 28%, в позапрошлом 34%, исторический максимум в 2000 году - 62.25%, минимум в 2016 году - 27.56%).

Андреас Тилле более 25 лет участвует в сопровождении пакетов для Debian и является автором проекта Debian Med, нацеленного на оптимизации дистрибутива для решения задач, связанных с медициной и биологическими исследованиями. Кроме разработки Андреас также занимается наставничеством, обучая новичков, желающих присоединиться к разработке. Андреас сопровождает 1591 пакет и занимает первое место в проекте по числу загруженных пакетов (с 1998 года он загрузил 17254 пакета), а также 8 место по числу исправленных ошибок (5870 исправлений).

Вторым претендентом на пост лидера в этому году был Шрути Чандран (Sruthi Chandran), разработчик Debian из Индии, подключившийся к разработке в 2016 году и принимающий участие в поддержании 198 пакетов, среди которых пакеты c библиотеками для Ruby, Node.js и Go, а также пакеты со шрифтами.

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

opennet honked 20 Apr 2024 09:00 +0200

Выпуск Wine 9.7

Состоялся экспериментальный выпуск открытой реализации Win32 API - Wine 9.7. С момента выпуска 9.6 было закрыто 18 отчётов об ошибках и внесено 123 изменения.

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

  • В сборочную систему добавлена поддержка формирования исполняемых файлов в формате ARM64X, содержащих одновременно код для ABI Arm64EC и ARM64. В winebuild добавлена опция "-marm64x" для генерации гибридных библиотек ARM64X, а в winegcc опция "-marm64x", обеспечивающая сборку для ARM64X.
  • Расширена поддержка ABI ARM64EC (ARM64 Emulation Compatible), применяемого для упрощения портирования на системы ARM64 приложений, изначально написанных для архитектуры x86_64. ARM64EC позволяет выполнять в окружении ARM64 отдельные модули с кодом x86_64 при помощи эмулятора.
  • Проведена реструктуризация интерфейса драйвера для графического API Vulkan.
  • В интерпретатор языка описания интерфейса WIDL (Wine Interface Definition Language) добавлена поддержка архитектуры ARM и библиотеки типов (TypeLib) в старом формате (SLTG).
  • Закрыты отчёты об ошибках, связанные с работой игр: Command and Conquer RA II, Command and Conquer Tiberian Sun, Oregon Trail II, Medieval II Total War, Totem Arts Launcher.
  • Закрыты отчёты об ошибках, связанные с работой приложений: MSYS2, ProcessHacker 2.x, Clang 6.0, Notepad++, explorer.exe, Geovision Parashara's Light, Advanced IP Scanner, Mspaint, ON1 Raw Photo Editor, HP System Diagnostics.


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

continue honked 19 Apr 2024 20:30 +0200

Посмотрел фильм "Ночной поезд до Лиссабона" ("Night Train to Lisbon", 2013)

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

Совсем не хочу спойлерить, поэтому если вдруг не знаете что бы посмотреть, то искренне рекомендую.

Как всегда в таких случаях: жалею, что не прочитал книгу до экранизации... эх.

#ЧтоПосмотреть

opennet honked 19 Apr 2024 20:00 +0200

Опубликован miracle-wm 0.2, композитный менеджер на базе Wayland и Mir

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

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

Если первый выпуск рассматривался как начальный прототип, то версия 0.2 сосредоточена на стабилизации и повышения удобства работы. Среди изменений в версии 0.2:

  • Добавлен менеджер плавающих окон, позволяющий размещать отдельные окна поверх мозаичной сетки по аналогии с окнами традиционных оконных менеджеров.
  • Обеспечена возможность закрепления окон к определённому месту на рабочем столе.
  • Предоставлена возможность автоматического применения новых настроек без перезапуска при изменении файла конфигурации.
  • Добавлена поддержка IPC оконного менеджера i3 для рабочих столов. Реализованных возможностей достаточно для запуска панели Waybar.
  • В файл конфигурации добавлен параметр terminal для определения эмулятора терминала по умолчанию, запускаемого при использовании клавиатурной комбинации Ctrl+Alt+T.
  • В файле конфигурации появилась возможность указания переменных окружени, например, mesa_glthread=false для борьбы с появлением разрывов при выводе (tearing).
  • Используемая версия Mir обновлена до выпуска 2.16.4, в котором добавлена поддержка аппаратного курсора и учтена возможность поворота экрана при создании скриншотов.
  • Проведена оптимизация производительности.
  • Налажено формирование пакетов для Ubuntu и Fedora Linux.

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

Из идей, которые могут быть включены в версию 1.0 упоминаются обзорный режим для навигации по окнам и рабочим столам в стиле GNOME; графический интерфейс для настройки; контекстные меню с действиями над окнами; режим "картинка в картинке"; возможность вывода окна приложения, на которое установлен фокус, по центру; минимальная оболочка с панелью и интерфейсом запуска программ.

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

continue bonked 19 Apr 2024 19:24 +0200
original: tedu@honk.tedunangst.com

I added some basic #activitypub support to humungus based on the #forgefed vocabulary. Repository, Commit, etc. And of course updated #honk as well. So now you can follow the honk repo from within honk itself and see all the commits fly by. Still a work in progress, but it’s live now. Probably do a longer write up next week.

opennet honked 19 Apr 2024 14:00 +0200

Для Xen развивается механизм паравиртуализации IOMMU

Разработчики проекта XCP-NG, развивающего свободную платформу для развертывания и управления работой облачной инфраструктурой, представили проект PV-IOMMU, позволяющий гостевым системам получить доступ к ограниченной функциональности IOMMU, реализованной с использованием инфраструктуры паравиртуализации Xen. На практике PV-IOMMU может применяться для реализации защиты DMA в Dom0 или обеспечения поддержки подсистемы ядра Linux VFIO. Ранее гипервизор Xen использовал IOMMU для проброса доступа к PCI-устройствам и ограничения доступа устройств к памяти, но из соображений стабильности и безопасности гостевые системы не могли напрямую обращаться к предоставляемому оборудованием блоку IOMMU.

IOMMU представляет собой специализированный блок управления памятью, выполняющий трансляцию виртуальных адресов, видимых аппаратным устройством, в физические адреса, позволяющий выполнять и фильтровать операции DMA по виртуальным адресам, а также ограничивать и изолировать операции ввода-вывода. В контексте виртуализации IOMMU позволяет гостевым системам напрямую обращаться к периферийным устройствам, таким как Ethernet-адаптеры, графические карты и контроллеры устройств хранения. Реализация IOMMU от компании Intel предоставляется под именем VT-d ("Virtualization Technology for Directed I/O), AMD - AMD-Vi (I/O Virtualization), а ARM - SMMU (System Memory Management Unit).

Предложенная паравиртуализированная реализация (PV-IOMMU) позволяет гостевым системам использовать базовые возможности IOMMU, но при этом абстрагирует все низкоуровневые аппаратные детали. Для включения в состав Xen предложен новый гипервызов (аналог системного вызова для гипервизоров) HYPERVISOR_iommu_op, который могут использовать гостевые системы для выполнения операций IOMMU. Среди прочего, гостевые системы теперь могут создавать и изменять домены IOMMU (IOMMU domain), именуемые в Xen контекстами IOMMU (IOMMU context) для того чтобы избежать путаницы с термином "домен" в Xen. Контексты IOMMU позволяют организовать доступ гостевой системы к памяти устройств и задавать операции трансляции памяти, применяемые к одному или нескольким устройствам.

На текущей стадии развития в PV-IOMMU поддерживается только технология Intel VT-d, но в скором времени планируется добавить поддержку AMD-Vi и SMMUv3

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

continue bonked 19 Apr 2024 11:42 +0200
original: stanislavv@juick.com

Знакомый безопасник:
"""
Итак, вопрос с лучшим анекдотом первого полугодия 2024 закрыт!
----
«Авито», «Билайн», «Тинькофф» и «Яндекс» подписали отраслевой стандарт защиты данных
""" #цитата

opennet honked 19 Apr 2024 09:00 +0200

Проект Dnsmasq стал обладателем первой премии BlueHats

Определён первый лауреат премии BlueHats, учреждённой Межминистерским цифровым директоратом Франции (DINUM, Interministerial Digital Directorate) и вручаемой сопровождающим критически важных свободных и открытых проектов. Первая премия присуждена Саймону Келли (Simon Kelley), создателю, основному разработчику и мэйнтейнеру проекта Dnsmasq. Присудившее премию жюри, в которое вошли представители Министерства образования, Агентства по кибербезопасности (ANSSI) и Цифрового директората (DINUM) Франции, признали важность проекта и проведённую им работу по поддержанию сетевой безопасности. Денежная составляющая премии определена в 10 тысяч евро. В этом году дополнительно планируется присудить ещё три подобные премии.

Проект Dnsmasq объединяет в одном пакете кэширующий DNS-резолвер, сервер DHCP, сервис для анонсов маршрутов IPv6 и систему загрузки по сети. Проект задействован в платформе Android и специализированных дистрибутивах, таких как OpenWrt и DD-WRT, а также в прошивках беспроводных маршрутизаторов многих производителей. В обычных дистрибутивах Dnsmasq может устанавливаться при использовании libvirt для обеспечения работы DNS-сервиса в виртуальных машинах или активироваться в конфигураторе NetworkManager.

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

opennet honked 19 Apr 2024 08:00 +0200

GitHub намерен запретить размещение проектов для создания дипфейков

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

В условия использования сервиса GitHub добавлен абзац, запрещающий размещение проектов, позволяющих синтезировать и манипулировать мультимедийным контентом для создания интимных образов без согласия (NCII) и контента, нацеленного на введение в заблуждение или дезинформацию. Запрет также распространяется на проекты, которые поощряют, продвигают и поддерживают подобные системы.

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

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

opennet honked 18 Apr 2024 23:00 +0200

Опубликован Autodafe, инструментарий для замены Autotools на обычный Makefile

Эрик Рэймонд (Eric S. Raymond), один из основателей организации OSI (Open Source Initiative), стоявший у истоков движения открытого ПО, опубликовал инструментарий Autodafe, позволяющий преобразовать сборочные инструкции и сценарии, применяемые утилитами Autotools, в один обычный Makefile, который может легко читаться и меняться разработчиками. Код проекта написан на языке Python и распространяется под лицензией BSD.

В состав входит программа makemake, которая преобразует сгенерированный утилитой automake сборочный файл Makefile в эквивалентный читаемый Makefile, пригодный для редактирования людьми и избавленный от внутренних конструкций automake. Дополнительное задействование утилиты ifdex позволяет полностью избавить проект от Autotools, заменив его на работу с обычным Makefile.

Мотивом для создания проекта Autodafe послужило желание вернуться к использованию обычных Makefile вместо переусложнённых сценариев Autotools, возникшее после инцидента с внедрением бэкдора в пакет xz. Из плюсов предлагаемого подхода называется упрощение сборочных правил, которые станет проще проверять и сложнее внедрить скрытую функциональность. Из недостатков отмечается потеря поддержки старых Unix-систем, усиление зависимости от libtool и снижение гибкости в настройке.

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

opennet honked 18 Apr 2024 23:00 +0200

Уязвимость во flatpak, позволяющая обойти sandbox-изоляцию

В инструментарии Flatpak, предназначенном для создания самодостаточных пакетов, не привязанных к конкретным дистрибутивам Linux и изолированных от остальной системы, выявлена уязвимость (CVE-2024-32462). Уязвимость позволяет вредоносному или скомпрометированному приложению, поставляемому в пакете flatpak, обойти установленный режим sandbox-изоляции и получить доступ к файлам в основной системе. Проблема проявляется только в пакетах, использующих порталы Freedesktop (xdg-desktop-portal), применяемые для организации доступа к ресурсам пользовательского окружения из изолированных приложений. Уязвимость устранена в корректирующих обновлениях flatpak 1.15.8, 1.14.6, 1.12.9 и 1.10.9. Обходной путь для защиты также предложен в выпусках xdg-desktop-portal 1.16.1 и 1.18.4.

Благодаря уязвимости, находящееся в изолированном окружении приложение может использовать интерфейс xdg-desktop-portal для создания файла ".desktop" с командой запуска приложения из flatpak, позволяющей получить доступ к файлам основной системы. Для выхода из изолированного окружения используются манипуляции с параметром "--command", применяемым для передачи имени программы, нахоядщейся внутри flatpak-пакета, которую нужно запустить в изолированном окружении. Для настройки изолированного окружения flatpak вызывает утилиту bwrap, передавая ей указанное имя программы. Например, для запуска утилиты ls в изолированном окружении пакета можно использовать конструкцию "flatpak run --command=ls org.gnome.gedit" которая приведёт к запуску "bwrap ‹параметры_изоляции› ls".

Суть уязвимости в том, что если имя программы начинается на символы "--", то оно будет воспринято утилитой bwrap как собственная опция. Например, запуск "flatpak run --command=--bind org.gnome.gedit / /host ls -l /host" приведёт к выполнению "bwrap ‹параметры_изоляции› --bind / /host ls -l /host", т.е. имя "--bind" будет обработано не как имя запускаемого приложения, а как опция bwrap.

Уязвимость усугубляется тем, что D-Bus интерфейс "org.freedesktop.portal.Background.RequestBackground" позволяет приложению из пакета Flatpak указать любую команду для выполнения при помощи "flatpak run --command", в том числе начинающуюся с символа "--". Подразумевалось, что передача любых команд не опасна, так как они будут выполнены в изолированном окружении пакета. Но не было учтено, что команды, начинающиеся на "--" будут обработаны как опции утилиты bwrap. В итоге, интерфейс xdg-desktop-portal может использоваться для создания файла ".desktop" с командой, эксплуатирующей уязвимость.

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

opennet honked 18 Apr 2024 21:00 +0200

В openSUSE Factory реализована поддержка повторяемых сборок

Разработчики проекта openSUSE объявили об обеспечении поддержки повторяемых сборок в репозитории openSUSE Factory, который применяет модель непрерывного цикла обновления версий программ (rolling-обновления) и служит основой для построения дистрибутива openSUSE Tumbleweed. Сборочная конфигурация openSUSE Factory теперь позволяет убедиться, что распространяемые в пакетах бинарные файлы собраны из предоставляемых исходных текстов и не содержат скрытых изменений. Например, любой пользователь может лично проверить, что предлагаемые сборки побитово совпадает со сборками, собранными лично из исходных текстов.

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

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

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

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

continue bonked 18 Apr 2024 16:53 +0200
original: FediVideo@social.growyourown.services

Ctrl Alt Rees is a video channel about retro computing and retro gaming, especially old PCs and Atari consoles & computers. You can follow at:

➡️ @rees

Following the account means all future videos will federate to your server. If previous videos haven't federated to your server yet, you can browse them all at https://makertube.net/a/rees/videos

#FeaturedPeerTube #RetroComputing #RetroGaming #ComputingHistory #Atari #PeerTube #PeerTubers

contrinitiator honked 18 Apr 2024 15:44 +0200

Кажется, самое время заказать что-нибудь у издательства «Напильник».

continue honked 24 Apr 2024 09:51 +0200

Dusk OS

Dusk OS self-hosts in about 1000 lines of assembly and a few hundred lines of Forth (the exact number depends on the target machine). From there, it bootstraps to DuskCC, which is roughly 1500 lines of Forth code.

Forth #Forth #OsDev