home tags events about rss login

Things happen.

opennet honked 14 Oct 2025 14:00 +0200

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

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

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

  • В качестве домашней страницы в браузере Tor Browser вместо внешней страницы, загружаемой с сайта Tails, задействована локальная страница, напоминающая штатную домашнюю страницу Tor Browser.
  • Диалог ввода пароля перед запуском приложений, требующих прав администратора, теперь отдельно информирует пользователя о том, что пароль администратора не был выставлен на странице входа в систему (Welcome Screen).
  • Обновлены версии Tor Browser 14.5.8, Thunderbird 140.3.0 и инструментария Tor 0.4.8.19.
  • Удалён пакет ifupdown.


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

opennet honked 14 Oct 2025 11:00 +0200

Атака Pixnapping, определяющая содержимое экрана для перехвата 2FA-кодов в Android

Группа исследователей из четырёх американских университетов разработала технику атаки Pixnapping (CVE-2025-48561), позволяющую из непривилегированных Android-приложений, не запрашивающих дополнительных полномочий, определить содержимое, выводимое на экран другими приложениями. В качестве примера практического применения атаки продемонстрировано определение кодов двухфакторной аутентификации, показываемых приложением Google Authenticator. Так же показано как можно применить атаку для извлечения конфиденциальных данных, выводимых на экран при работе с Gmail, Signal, Venmo и Google Maps.

Для определения содержимого экрана задействован метод попиксельного анализа, реализованный в 2023 году той же командой исследователей в атаке по сторонним каналам GPU.zip и впервые описанный ещё в 2013 году. Суть метода в том, что из-за присутствующих в GPU оптимизаций, отрисовка пикселя с цветом, повторяющим уже выведенный на экран цвет, выполняется быстрее, чем пикселя с иным цветом. Оценивая разницу во времени при отрисовке пикселей можно воссоздать уже имеющееся на экране содержимое и сформировать подобие скриншота.

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

Для активации атакуемого приложения и попадания пикселей из его окна в конвейер отрисовки осуществляется переключение между Android-активностями при помощи intent-запросов. Поверх окна атакуемого приложения отображаются полупрозрачные окна, выделяющие отдельные пиксели и инициирующие выполнение с ними графических операций при помощи API Window Blurs. Для измерения точного времени отрисовки пикселя применяются callback-вызовы, привязанные к VSync.

Ограничением ранее предложенного метода GPU.zip была низкая производительность - при атаке на браузер определение имени, под которым пользователь в другой вкладке вошёл в Wikipedia, требовало 30 минут на GPU AMD Ryzen 7 4800U и 215 минут на GPU Intel i7-8700 при точности 97-98%. Для того, чтобы уложиться в 30-секундный интервал обновления кодов в Google Authenticator метод был усовершенствован и оптимизирован. Число проверок каждого пикселя было сокращено с 64 до 16, а задержка между обработкой пикселей уменьшена с 1.5 секунд до 70 миллисекунд. Сканирование производилось не всего экрана, а только области, в которой Google Authenticator показывает код.

Метод был опробован на смартфонах Pixel 6, 7, 8 и 9 с версиям Android 13-16 для определения ста шестизначных кодов двухфакторной аутентификации, сгенерированных в Google Authenticator. Точность определения кодов на отмеченных смартфонах составила 73%, 53%, 29% и 53%, а время определения - 14.3, 25.8, 24.9 и 25.3 секунд, соответственно. На смартфоне Samsung Galaxy S25 исследователям не удалось уложиться в 30-секундный интервал из-за шума, вносимого работой других приложений, но на устройстве были показаны варианты атаки на другие приложения, для которых не было ограничений по времени. Используемые в атаке механизмы не специфичны для отдельных моделей смартфонов и атака потенциально затрагивает любые Android-устройства.

Компания Google в сентябрьских патчах уязвимостей добавила в Android начальную защиту от атаки, основанную на запрете применения операции размытия к большому числу слоёв. В ответ исследователи нашли возможность обойти данное ограничение, поэтому Google планирует реализовать более полную защиту в декабрьском обновлении Android. Производители GPU пока не объявляли о намерении устранить канал утечки, несмотря на то, что метод атаки известен уже более 12 лет.

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

opennet honked 13 Oct 2025 14:00 +0200

Релиз фреймворка Qt 6.10

Компания Qt Company опубликовала релиз фреймворка Qt 6.10, в котором продолжена работа по стабилизации и наращиванию функциональности ветки Qt 6. В Qt 6.10 предоставлена поддержка платформ Windows 10+, macOS 13+, Linux (Ubuntu 22.04/24.04, openSUSE 15.6, SUSE 15 SP6, RHEL 8.10/9.4, Debian 11.6), iOS 16+, Android 9+(API 23+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS и QNX. Исходные тексты компонентов Qt поставляются под лицензиями LGPLv3 и GPLv2. Qt 6.10 получил статус промежуточного выпуска, общедоступная поддержка которого будет осуществляться 6 месяцев (+ ещё 6 месяцев для коммерческих пользователей).

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

  • Добавлен QML-тип FlexboxLayout для адаптивной раскладки элементов интерфейса в соответствии с концепцией Flexbox, применяемой в CSS для упрощения вертикального выравнивания элементов. Реализация поддерживает концепции, уже используемые в Qt Quick, такие как прикрепление свойств для настройки поведения отдельных элементов в макете.
  • В модулях Qt Quick Scene Graph и Qt Quick Shapes реализованы возможности для работы с анимированной векторной графикой, формируемой из изображений в форматах SVG и Lottie. В модуле Qt Lottie расширена поддержка файлов в формате Lottie. Добавлена возможность использования формата Lottie в типе VectorImage для отображения файлов Lottie с масштабированием и аппаратным ускорением.
  • В набор Qt Quick Control включён новый элемент SearchField с реализацией специализированного поля ввода для использования с функциональностью поиска, позволяющего отображать релевантные данные во всплывающем окне, отфильтровываемые в зависимости от уже введённого в поле текста. Элемент поддерживает различные встроенные стили Qt и позволяет добиться оформления, родного для всех основных платформ.
  • Добавлены классы для упрощения интеграции моделей данных C++ с QML и Qt Quick:
    • QRangeModel - обвязка над QAbstractItemModel для прямого использования в элементах интерфейса на базе QML и Qt Quick любых перечисляемых типов из C++, включая std::vector, std::tuples и std::array.
         std::vector‹int› values = {1, 2, 3, 4, 5};
         auto model = new QRangeModel(values);
         QListView *listView = new QListView;
         listView->setModel(model);
      
    • В QML-тип DelegateModel добавлено свойство delegateModelAccess, которое может принимать значение DelegateModel.ReadWrite для разрешения записи в модель через свойства контекста, объект модели или обязательные свойства.
    • Добавлен QML-тип Synchronizer, решающий задачу синхронизации состояния элемента управления со значением из модели. Synchronizer гарантирует, что несколько свойств содержат одинаковое значение - изменение одного из синхронизированных свойств автоматически приводит к изменению всех остальных.
    • Добавлен QML-тип TreeModel, позволяющий размещать древовидные структуры C++ непосредственно в QML-документе, используя пары ключ-значение и синтаксис словарей и массивов, напоминающий JSON.
    • Добавлен QML-тип SortFilterProxyModel, позволяет сортировать и фильтровать данные непосредственно из QML, без использования кода на C++.
  • В Qt Quick 3D расширены возможность для создания карт освещения при рендеринге в высоком качестве и добавлена поддержка реверсивного применения эффектов с частицами для создания эффекта столкновения дождя или снега с моделью.
  • В Qt Graphs добавлен тип поверхности с заполнением и реализована возможность преобразования среза трехмерных графиков в 2D-изображение для вывода на печать.
  • В Qt Widgets упрощена реализация пользовательских delegate-объектов, улучшено управление операциями drag&drop и добавлена возможность индивидуальной настройки размера макетов.
  • В Qt Core улучшена работа с локалями, XML-документами и последовательностями асинхронных операций (continuation chain).
  • Расширены средства для людей с ограниченными возможностями. Встроенные стили контрастного представления информации адаптированы для использования системных настроек контраста, чтобы Qt-приложения визуально соответствовали общему стилю. Элементы управления и виджеты Qt усовершенствованы для использования с экранными ридерами.
  • Добавлена поддержка мобильных платформ Android 15 и 16, включая возможность работы на устройствах, на которых используются страницы памяти размером 16 КБ.
  • Представлен инструментарий Qt Jenny 1.0, упрощающий интеграцию Qt-приложений с Android Java API и поддерживающий автоматическую генерацию C++ API из аннотированных Java-классов, позволяющих напрямую обращаться из Qt-кода к таким Android-сервисам, как BatteryManager, PowerManager и AudioManager.
  • Добавлены возможности для корректного вывода заставки на платформе Android.
  • Обеспечена полна поддержка платформ macOS 26 и iOS 26, в которых задействован визуальный язык Liquid Glass и изменена архитектура отрисовки.
  • В модуль Qt WebView на платформе Windows добавлена возможность встраивания в Qt-приложения web-контента с использованием движка WebView2 на базе Microsoft Edge вместо движка WebEngine на базе Chromium.
  • В модуль Qt Multimedia добавлен бэкенд для использования мультимедийного сервера PipeWire на платформе Linux.
  • Обновлён стек Boot2Qt, который может использоваться для создания загружаемых мобильных систем с окружением на базе Qt и QML. Системное окружение в Boot2Qt обновлено до платформы Yocto 5.2. Добавлена поддержка плат Ezurio Nitrogen.


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

contrinitiator bonked 13 Oct 2025 12:18 +0200
original: continue@honk.any-key.press

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

Петер Вольлебен. "Тайная жизнь деревьев"

(#федичитает #чтопочитать)

continue honked back 13 Oct 2025 11:16 +0200
in reply to: https://honk.any-key.press/u/continue/h/NRd3FSRd313m31NLfZ

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

Петер Вольлебен. "Тайная жизнь деревьев"

(#федичитает #чтопочитать)

continue honked back 13 Oct 2025 11:15 +0200
in reply to: https://honk.any-key.press/u/continue/h/NRd3FSRd313m31NLfZ

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

Петер Вольлебен. "Тайная жизнь деревьев"

(#федичитает #чтопочитать)

opennet honked 13 Oct 2025 10:00 +0200

Общая пропускная способность международных каналов связи достигла 1835 Тбит/с

По данным сервиса, осуществляющего мониторинг международных каналов связи, пропускная способность глобальной сети в 2025 году выросла на 25% и достигла 1835 Тбит/с, что более чем в два раза больше, чем было в 2021 году. Наибольший рост пропускной способности международных каналов связи за последние четыре года наблюдается в Африке (38%) и Ближнем Востоке (27%).

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

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

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

opennet honked 13 Oct 2025 08:00 +0200

Mozilla тестирует встроенный в Firefox бесплатный VPN

Компания Mozilla начала тестирование Firefox VPN, встроенного в Firefox бесплатного VPN-сервиса, позволяющего обращаться к сайтам не напрямую, а через промежуточные серверы в разных странах, скрывающие IP-адрес пользователя. VPN станет первым сервисом, реализованным в рамках инициативы по интеграции в Firefox дополнительных инструментов для защиты конфиденциальности и усиления безопасности. Сервис находится на ранней стадии внедрения и в ближайшие несколько месяцев в качестве эксперимента станет предлагаться для включения небольшому проценту случайно выбранных пользователей.

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



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

opennet honked 12 Oct 2025 22:00 +0200

Для Mesa предложен драйвер cluda, позволяющий реализовать OpenCL поверх NVIDIA CUDA

Кэрол Хербст (Karol Herbst) из компании Red Hat, принимающий участие в разработке Mesa, драйвера Nouveau и открытого стека OpenCL, предложил для включения в состав Mesa драйвер cluda, реализующий API Gallium поверх API CUDA, предоставляемого проприетарным драйвером NVIDIA. Gallium используется в Mesa для абстрагирования разработки драйверов и реализует типовые для драйверов программные интерфейсы, не специфичные для отдельных аппаратных устройств. В контексте cluda реализованы интерфейсы, связанные с вычислениями, которых достаточно для воплощения спецификации OpenCL поверх CUDA.

Предполагается, что cluda поможет решить проблемы с использованием OpenCL поверх проприетарного драйвера NVIDIA. Использование дополнительной обвязки даёт возможность реализовать недостающие расширения OpenCL, отсутствующие в стеке NVIDIA на базе проприетарного драйвера. В cluda используются только возможности библиотеки libcuda.so, входящей в состав GPU-драйверов NVIDIA и не привязанной к CUDA runtime. В текущем виде реализация OpenCL на базе cluda поддерживает операции с памятью и позволяет запускать вычислительные ядра.

Реализация OpenCL на базе cluda и rusticl поддерживает следующие расширения OpenCL, которые отсутствуют в реализации NVIDIA:

  • cl_khr_extended_bit_ops
  • cl_khr_integer_dot_product
  • cl_khr_fp16
  • cl_khr_suggested_local_work_size
  • cl_khr_subgroup_extended_types
  • cl_khr_subgroup_ballot
  • cl_khr_subgroup_clustered_reduce
  • cl_khr_subgroup_non_uniform_arithmetic
  • cl_khr_subgroup_non_uniform_vote
  • cl_khr_subgroup_rotate
  • cl_khr_subgroup_shuffle
  • cl_khr_subgroup_shuffle_relative
  • cl_khr_il_program (Yes, that means SPIR-V support)
  • cl_khr_spirv_linkonce_odr
  • cl_khr_spirv_no_integer_wrap_decoration
  • cl_khr_spirv_queries
  • cl_khr_expect_assume
  • cl_ext_immutable_memory_objects

При измерении производительности в тестовом наборе LuxMark 3.1 реализация OpenCL на базе Mesa, cluda и rusticl показала 57702 баллов, а реализация на базе стека NVIDIA - 64009 баллов. Падение производительности объясняется накладными расходами на преобразование промежуточного представления Mesa NIR в CUDA PTX (Parallel Thread Execution). Из возможных оптимизаций, которые могли бы уменьшить отставание в производительности, отмечается более активное использование векторизации и задействование JIT-компиляции.



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

continue bonked 12 Oct 2025 14:25 +0200
original: sn4il@quietplace.xyz

Таки затарил себе 8bitdo. Прикольное — и пластик приятный, и свитчи годные.
На допклавиши на самой клавиатуре назначил регулировку яркости, а на большие думаю назначить запуск Stellaris и WH: Rogue Trader :)

continue honked back 12 Oct 2025 13:19 +0200
in reply to: https://lastfree.space/objects/30d21f2a-8768-eb85-d344-dcd838319708

@alado

Прямо сейчас у меня в качестве резерва лежит PinePhone, на котором PostmarketOS c Sxmo. Если текущий смартфон помрёт, то перелезу на него.

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

opennet honked 12 Oct 2025 12:00 +0200

Опубликована мобильная платформа LineageOS 23, основанная на Android 16

Представлен выпуск мобильной платформы LineageOS 23, основанный на кодовой базе Android 16. Отмечается, что ветка LineageOS 23 достигла паритета по функциональности и стабильности c веткой 22, и признана готовой для формирования первого релиза. Сборки подготовлены для 104 моделей устройств (на 28 устройств меньше, чем в LineageOS 22). LineageOS также можно запустить в эмуляторе Android Emulator, в QEMU и в среде Android Studio. Дополнительно, предоставлена возможность сборки в режиме Android TV и Android Automotive.

Помимо публикации LineageOS 23 опубликовано обновление ветки LineageOS 22.2, для которой сформированы дополнительные сборки для 39 устройств. Также обновлена ветка LineageOS 20, в которую перенесены исправления, связанные с устранением уязвимостей. При установке для всех поддерживаемых устройств по умолчанию предлагается собственный Lineage Recovery, не требующий выделения отдельного recovery-раздела.

Выпуск Android 16 поддерживает работу с ядрами Linux, начиная с ветки 5.4, но необходимые изменения были портированы разработчиками LineageOS для ядер вплоть до версии 4.14. В ядра 4.4 и 4.9 необходимые компоненты пока не портированы, что привело к потере совместимости с устройствами на базе SoC Qualcomm MSM8998/MSM8996, Qualcomm MSM8953 и Qualcomm SDM845. Тем не менее, потенциально портирование возможно и зависит от наличие энтузиастов, готовых выполнить данную работу. Для обладателей устройств, для которых доступны только старые ядра Linux, рекомендовано использовать обновление LineageOS 22.2, для которого доступны ядра 4.4 и 4.9.

По сравнению с LineageOS 22, кроме улучшений, специфичных для Android 16, предложены следующие изменения:

  • Расширены возможности по использованию ванильных ядер Linux (мainline), а не только изменённых вариантов ядра, поставляемых платформой Android. Обеспечена совместимость с устройствами, которые поддерживаются в основном ядре Linux и могут быть загружены с использованием немодифицированных ядер.
  • Применены исправления уязвимостей, опубликованные с сентября 2024 по август 2025 года. Google перешёл с ежемесячного на ежеквартальное размещение исправлений ошибок и уязвимостей в репозитории AOSP (Android Open Source Project), поэтому специфичные для Android исправления в LineageOS теперь будут запаздывать. Кроме того, выпуск LineageOS 23 пока базируется на исходном обновлении Android 16 QPR0, а не уже доступном QPR1, так как связанный с QPR1 исходный код ещё не опубликован публично.
  • Полностью переписано приложение для работы с камерой - Aperture (Camera), что позволило расширить его функциональность и упростить сопровождение кода. Добавлена поддержка захвата изображений в форматах JPEG Ultra HDR, RAW и одновременно в RAW и JPEG. Улучшено отображений уведомлений. Добавлены новые индикаторы HDR, RAW, заряда аккумулятора и ограничения ресурсов для предотвращения перегрева.
  • Расширена функциональность музыкального проигрывателя Twelve (Music Player): Добавлена кнопка для воспроизведения случайной композиции. Добавлена статистика на страницу с информацией о проигрываемой композиции. Реализована возможность повторного сканирования музыки в локальном хранилище для отображения добавленных вручную музыкальных файлов без перезапуска. Расширена интеграция с сервисом Jellyfin (добавлена поддержка рекомендаций и избранных композиций, улучшена работа с миниатюрами). Добавлена поддержка воспроизведения MIDI.
  • В состав включён пакет Catapult с реализацией интерфейса работы с контентом на Android TV, оформленного в стиле LineageOS, легко кастомизируемого и сфокусированного на приложениях и контенте. В отличие от оригинального интерфейса Android TV и Google TV, предложенный интерфейс избавлен от бесконтрольного показа рекламы и навязывания рекодмендаций.
  • Улучшена поддержка установки LineageOS в виртуальных окружениях с VirtIO, создаваемых на базе QEMU, crosvm, UTM и libvirt. Упрощён запуск LineageOS в виртуальных машинах на базе QEMU. Добавлена возможность запуска LineageOS в виртуальной машине UTM на Mac-компьютерах с процессорами Apple Silicon. Добавлена поддержка запуска с использованием открытого виртуального устройства Cuttlefish, предоставляющего эмуляцию дополнительных периферийных устройств и позволяющего работать с виртуальным устройством как с реальным.
  • Сборочная система почти избавлена от привязки к файлам Android.mk в связи с переводом Android с утилиты make на инструментарий soong и сборочные файлы Android.bp.
  • Расширена функциональность компонентов для управления обычной и быстрой зарядкой.
  • Из KDE Plasma Mobile перенесены новые рингтоны и звуки предупреждений.
  • Браузерный компонент WebView обновлён до состояния движка Chromium 140.
  • Обновлены до актуальных выпусков приложение для резервного копирования SeedVault и календарь-планировщик Etar.


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

continue bonked 12 Oct 2025 10:22 +0200
original: opennet@honk.any-key.press

Google меняет политику публикации исправлений уязвимостей в Android

Проект GraphenOS, разрабатывающий альтернативную свободную прошивку Android, нацеленную на усиление безопасности и обеспечение конфиденциальности, сообщил о внесении компанией Google изменений в политику публикации исправлений уязвимостей для платформы Android и раскрытия информации об уязвимостях. Октябрьский отчёт об уязвимостях в Android опубликован пустым.

Отныне Google изначально предоставляет исправления безопасности для Android исключительно OEM-производителям по закрытым каналам с соглашением о неразглашении, обязующем их не раскрывать исходный код с применением предоставленных патчей на срок 3 месяца с момента получения. В течение этого времени возможно распространение исключительно бинарных сборок с включением исправления.

Сам код продолжает быть под открытой лицензией Apache, но на право распространения накладывается временное ограничение через соглашение о неразглашении. Мотивом данного изменения в политике компании является "стремление к повышенной безопасности", отмечаемое как попытка реализации принципа "Безопасность через неясность".

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

Отмечается, что отныне GrapheneOS будет предоставлять два разных канала с релизами - с полностью воспроизводимыми сборками на момент публикаций на основе AOSP, но без закрытых исправлений безопасности, и со сборками с включёнными патчами, воспроизводимый исходный код которых будет опубликован лишь после истечения эмбарго.

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

continue bonked 12 Oct 2025 10:17 +0200
original: kidchai@mastodon.ml

Приготовила наконец цветаевский пирог и радуюсь какой он вкусный 💛

opennet honked 11 Oct 2025 21:00 +0200

Google меняет политику публикации исправлений уязвимостей в Android

Проект GraphenOS, разрабатывающий альтернативную свободную прошивку Android, нацеленную на усиление безопасности и обеспечение конфиденциальности, сообщил о внесении компанией Google изменений в политику публикации исправлений уязвимостей для платформы Android и раскрытия информации об уязвимостях. Октябрьский отчёт об уязвимостях в Android опубликован пустым.

Отныне Google изначально предоставляет исправления безопасности для Android исключительно OEM-производителям по закрытым каналам с соглашением о неразглашении, обязующем их не раскрывать исходный код с применением предоставленных патчей на срок 3 месяца с момента получения. В течение этого времени возможно распространение исключительно бинарных сборок с включением исправления.

Сам код продолжает быть под открытой лицензией Apache, но на право распространения накладывается временное ограничение через соглашение о неразглашении. Мотивом данного изменения в политике компании является "стремление к повышенной безопасности", отмечаемое как попытка реализации принципа "Безопасность через неясность".

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

Отмечается, что отныне GrapheneOS будет предоставлять два разных канала с релизами - с полностью воспроизводимыми сборками на момент публикаций на основе AOSP, но без закрытых исправлений безопасности, и со сборками с включёнными патчами, воспроизводимый исходный код которых будет опубликован лишь после истечения эмбарго.

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

contrinitiator honked 11 Oct 2025 18:18 +0200

Прикупил тут гады с металлическим стаканом, по типу тех, что носил подростком (фото не моё). Тяжеленные! Шнурки ещё не выбрал. Думаю, может красные и белые взять, в честь одноимённого магазина!

zVrh8sBXcz88SSwc2b.jpg

opennet honked 11 Oct 2025 11:00 +0200

Кодек AV2 продемонстрировал снижение битрейта на 30% при уровне качества AV1

На конференции QoMEX (Quality of Multimedia Experience) в одном из докладов представлены результаты тестирования формата кодирования видео AV2, развиваемого альянсом Open Media (AOMedia) и идущего на смену формату AV1. При использовании метрик оценки качества VMAF (Video Multi-Method Assessment Fusion), разработанных компанией Netflix, использование кодека AV2 позволило добиться снижения битрейта на 32.59% по сравнению с кодеком AV1 при аналогичном уровне качества. При использовании метрик PSRN-YUV (Peak-Signal-to-Noise Ratio 14:1:1) битрейт удалось снизить на 28.63%. При тестировании задействован выпуск AVM 11.0 с эталонной реализацией AV2.

Формат кодирования видео AV2 не требует лицензионных отчислений и позволяет безвозмездно использовать связанные с ним технологии, патенты и интеллектуальную собственность. Особенности AV2: оптимизация для применения в потоковом вещании; значительное улучшение по сравнению с AV1 производительности операций сжатия; расширенная поддержка возможностей для виртуальной и дополненной реальности; поддержка более широкого диапазона визуального качества; возможность одновременной доставки нескольких видео в рамках одного видеопотока с поддержкой их раздельного отображения на экране.

AV2 продолжает использовать гибридную блочно-ориентированную структуру, но в отличие от AV1 поддерживает более крупные суперблоки 256×256, полностью рекурсивное секционирование (partitioning) и более эффективное разделение параметров яркости и цветности. В AV2 задействован унифицированный экспоненциальный квантизатор, охватывающий более широкий диапазон яркости и обеспечивающий большую точность квантования для 8-, 10- и 12-битного видео, а также лучше управляющий низкими битрейтами.

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

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

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

continue bonked 11 Oct 2025 10:12 +0200
original: opennet@honk.any-key.press

MicroPythonOS - ОС с графическим интерфейсом для микроконтроллеров

Опубликован выпуск проекта MicroPythonOS 0.0.11, разрабатывающего операционную систему для микроконтроллеров, таких как ESP32, написанную с использованием инструментария MicroPython. Операционная система оснащена графическим интерфейсом, развиваемым с оглядкой на Android и iOS, и поддерживающим управления через сенсорные экраны. Из областей применения MicroPythonOS упоминаются устройства интернета вещей (IoT), системы управления домашней автоматизацией, интерактивные панели, роботы и умные носимые устройства с управлением экранными жестами. Проект также может применяться для быстрой разработки прототипов новых устройств. Код написан на языках Си и Python и распространяется под лицензий MIT.

Архитектура MicroPythonOS основана на использовании минимальной базовой системы, отвечающей за инициализацию и взаимодействие с аппаратным обеспечением, монтирование накопителей, многозадачность и интерфейс пользователя. Вся остальная функциональность, такая как настройка Wi-Fi и установка обновлений, вынесена в приложения. Для приложений предлагается использовать язык MicroPython и подмножество библиотек Python.

Ключевые особенности MicroPythonOS:

  • Возможность быстрого написания приложений и драйверов с использованием инструментария MicroPython (редакция Python 3 для микроконтроллеров, поставляемая c урезанным набором библиотек).
  • Поддержка запуска как на платах с микроконтроллерами ESP32, так и на обычных ПК или платах с Linux, таких как Raspberry Pi c Raspbian.
  • Графический интерфейс с управлением экранными жестами.
  • Набор встроенных приложений (меню приложений, конфигуратор, виджет для настройки Wi-Fi, программа установки и обновления приложений).
  • Поддержка установки внешних приложений, распространяемых через централизованный каталог App Store (например, просмотрщик изображений и программа для работы с камерой).
  • Установка и доставка обновлений по сети в режиме OTA (over-the-air).
  • Поддержка Wi-Fi, Blutooth, датчиков IMU (Inertial Measurement Unit) и камер.
  • Оптимизация системы для выполнения на устройствах с ограниченными ресурсами. Очень быстрая загрузка.


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

opennet honked 11 Oct 2025 09:00 +0200

MicroPythonOS - ОС с графическим интерфейсом для микроконтроллеров

Опубликован выпуск проекта MicroPythonOS 0.0.11, разрабатывающего операционную систему для микроконтроллеров, таких как ESP32, написанную с использованием инструментария MicroPython. Операционная система оснащена графическим интерфейсом, развиваемым с оглядкой на Android и iOS, и поддерживающим управления через сенсорные экраны. Из областей применения MicroPythonOS упоминаются устройства интернета вещей (IoT), системы управления домашней автоматизацией, интерактивные панели, роботы и умные носимые устройства с управлением экранными жестами. Проект также может применяться для быстрой разработки прототипов новых устройств. Код написан на языках Си и Python и распространяется под лицензий MIT.

Архитектура MicroPythonOS основана на использовании минимальной базовой системы, отвечающей за инициализацию и взаимодействие с аппаратным обеспечением, монтирование накопителей, многозадачность и интерфейс пользователя. Вся остальная функциональность, такая как настройка Wi-Fi и установка обновлений, вынесена в приложения. Для приложений предлагается использовать язык MicroPython и подмножество библиотек Python.

Ключевые особенности MicroPythonOS:

  • Возможность быстрого написания приложений и драйверов с использованием инструментария MicroPython (редакция Python 3 для микроконтроллеров, поставляемая c урезанным набором библиотек).
  • Поддержка запуска как на платах с микроконтроллерами ESP32, так и на обычных ПК или платах с Linux, таких как Raspberry Pi c Raspbian.
  • Графический интерфейс с управлением экранными жестами.
  • Набор встроенных приложений (меню приложений, конфигуратор, виджет для настройки Wi-Fi, программа установки и обновления приложений).
  • Поддержка установки внешних приложений, распространяемых через централизованный каталог App Store (например, просмотрщик изображений и программа для работы с камерой).
  • Установка и доставка обновлений по сети в режиме OTA (over-the-air).
  • Поддержка Wi-Fi, Blutooth, датчиков IMU (Inertial Measurement Unit) и камер.
  • Оптимизация системы для выполнения на устройствах с ограниченными ресурсами. Очень быстрая загрузка.


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

opennet honked 11 Oct 2025 08:00 +0200

Проект по адаптации подсистемы WSL2 для запуска FreeBSD в Windows

Проект WSL-For-FreeBSD развивает редакцию инструментария WSL2 (Windows Subsystem for Linux), позволяющую вместо Linux запустить FreeBSD в Windows с минимальными изменениями в базовом окружении FreeBSD. По возможности вносимые изменения планируют передавать в основной состав открытой кодовой базы WSL2. Проект позиционируется как персональный и экспериментальный.

На текущем этапе FreeBSD уже можно загрузить в WSL2 в консольном режиме. Основные компоненты FreeBSD успешно запускаются. В настоящее время работа сосредоточена на добавление поддержки сети, оптимизации ввода/вывода и управления процессами. Из планов на будущее упоминается нтеграция утилит FreeBSD c окружением Windows и подготовка документации.

Развиваемый компанией Micrоsoft проект WSL2 предоставляет виртуальную машину с полноценным ядром Linux, в которой могут запускаться дистрибутивы Linux. Ядро включает специфичные для WSL изменения, такие как оптимизации для сокращения времени запуска и уменьшения потребления памяти, возможность возвращения Windows освобождённой Linux-процессами памяти и настройки для исключения лишних драйверов и подсистем. Система устанавливается в отдельный дисковый образ (VHD) c файловой системой ext4 и виртуальным сетевым адаптером.

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

opennet honked 10 Oct 2025 22:00 +0200

Доступен язык программирования OCaml 5.4.0

Опубликован релиз языка программирования OCaml 5.4.0, промышленного функционального языка программирования с акцентом на выразительность и безопасность разрабатываемого программного обеспечения. В OCaml гармонично сочетается функциональное ядро, императивные возможности, продвинутая объектная система и неповторимая модульная система. Код инструментария для языка OCaml распространяется под лицензией LGPL.

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

Основные изменения и улучшения в OCaml 5.4.0:

  • Именованные кортежи (Labelled tuples), позволяющие давать имена членам кортежа и затем использовать их для обращения к ним.
           let point = ~x:1, ~y:2
           (* val point : x:int * y:int = (~x:1, ~y:2)  *)
    
           let ( * ) (x,~dx) (y, ~dx:dy) =
             x*.y, ~dx:(x *. dy +. y *. dx )
    
           (* val ( * ) : float * dx:float -> float * dx:float -> float * dx:float *)
    
           let mult_dx x y =
             let ~dx, .. = x * y in
             dx
    
  • Неизменяемые массивы и единый синтаксис для "_ array", "_ iarray" и "floatarray".
           [|1; 2; 3|]
    
           ([|1; 2; 3|] : _ iarray)
    
           ([|1.; 2.; 3.|] : floatarray)
    
  • Встроенный атрибут "atomic" для полей записей, требующая использования атомарных операций для работы над нею.
           type 'a mpsc_list = { mutable head:'a list; mutable tail: 'a list [@atomic] }
    
           let rec push t x =
             let before = Atomic.Loc.get [%atomic.loc t.tail] in
             let after = x :: before in
             if not (Atomic.Loc.compare_and_set [%atomic.loc t.tail] before after) then
               push t x
             ...
    
  • Новые модули в стандартной библиотеке: Pair, Pqueue, Repr, Iarray.
    • Модуль Pair для работы с парами;
                 let ones = Pair.map_fst succ (0,1)
      
    • Модуль Pqueue - очередь с приоритетом;
           
                 module Int_pqueue = Pqueue.MakeMin(Int)
                 let q = Int_pqueue.of_list [4;0;5;7]
                 let some_zero = Int_pqueue.pop_min q
      
    • Модуль Repr содержит физическое и структурное равенство, функцию сравнения;
                 let f = Repr.phys_equal (ref 0) (ref 0)
      
    • Модуль Iarray для работы с неизменяемыми массивами;
                 let a = Iarray.init 10 Fun.id
                 let b = Iarray.map succ a
      
  • Восстановлен режим “очистки памяти при выходе”. Этот режим позволяет многократно запускать среду выполнения OCaml в программах на языке C, которые используют библиотеки OCaml. Он также полезен для уменьшения шума при отслеживании утечек памяти в коде C, выполняемого в среде OCaml.Чтобы избежать проблем с "cancellation", все домены объединяются перед выходом из среды выполнения OCaml.
  • Новый раздел в документации по профилированию OCaml программ в среде Linux и MacOS.
  • Множественные улучшению среды выполнения, кодогенерации, около тридцати новых функций стандартной библиотеке, почти дюжина улучшенных сообщений об ошибках, более пятидесяти исправлений ошибок.


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

opennet honked 10 Oct 2025 22:00 +0200

Выпуск языка программирования Julia 1.12

Опубликован релиз языка программирования Julia 1.12, сочетающего такие качества как высокая производительность, поддержка динамической типизации и встроенные средства для параллельного программирования. Синтаксис Julia близок к MATLAB с заимствованием некоторых элементов из Ruby и Lisp. Метод манипуляции строками напоминает Perl. Код проекта распространяется под лицензией MIT.

Ключевые особенности языка:

  • Высокая производительность: одной из ключевых целей проекта является достижение производительности близкой к программам на языке Си. Компилятор Julia основан на наработках проекта LLVM и генерирует эффективный нативный машинный код для многих целевых платформ;
  • Поддержка различных парадигм программирования, включая элементы объектно-ориентированного и функционального программирования. Стандартная библиотека предоставляет в том числе функции для асинхронного ввода/вывода, управления процессами, ведения логов, профилирования и управления пакетами;
  • Динамическая типизация: язык не требует явного определения типов для переменных по аналогии со скриптовыми языками программирования. Поддерживается интерактивный режим работы;
  • Опциональная возможность явного указания типов;
  • Синтаксис, превосходно подходящий для численных вычислений, научных расчётов, систем машинного обучения и визуализации данных. Поддержка многих числовых типов данных и средств для распараллеливания вычислений.
  • Возможность прямого вызова функций из библиотек на языке Си без дополнительных прослоек.



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

  • Новые возможности языка
    • Экспериментальный параметр "--trim", позволяющий создавать более компактные бинарные файлы за счёт удаления кода, который не достижим из указанных точек входа. Точки входа можно помечать с помощью "Base.Experimental.entrypoint". С этой опцией может работать не весь код.
    • Переопределение констант теперь чётко определено и следует семантике "world age". Допустимы дополнительные переопределения (например, типов).
    • В функцию "names" добавлен новый параметр "usings::Bool", заставляющий функцию вернуть все имена, видимые через "using".
    • Семейство макросов "@atomic" теперь поддерживает синтаксис присваивания ссылок, например: "@atomic :monotonic v[3] += 4", который атомарно изменяет "v[3]" с семантикой монотонного упорядочения. Поддерживаемый синтаксис включает:
      • атомарное чтение ("x = @atomic v[3]"),
      • атомарное присваивание ("@atomic v[3] = 4"),
      • атомарное изменение ("@atomic v[3] += 2"),
      • атомарное однократное присваивание ("@atomiconce v[3] = 2"),
      • атомарный обмен ("x = @atomicswap v[3] = 2"),
      • атомарную замену ("x = @atomicreplace v[3] 2=>5").
    • Новый параметр "--task-metrics=yes", включающий сбор информации о времени выполнения каждой задачи, который можно включать/выключать и во время работы через "Base.Experimental.task_metrics(::Bool)". Доступные метрики:
      • фактическое время выполнения задачи, включая компиляцию и сбор мусора ("Base.Experimental.task_running_time_ns"),
      • время от момента, когда задача начала выполняться до завершения("Base.Experimental.task_wall_time_ns").
    • Поддержка Unicode 16.
    • "Threads.@spawn" теперь принимает аргумент ":samepool" для указания того же пула потоков, что и вызывающий код. "Threads.@spawn :samepool foo()" — сокращение для "Threads.@spawn Threads.threadpool() foo()".
    • Макрос "@ccall" теперь может принимать аргумент "gc_safe". Если он равен true, то во время вызова "ccall" рантайм может осуществлять сборку мусора параллельно.
  • Изменения языка
    • При замене метода эквивалентным по сигнатуре, существующий метод не удаляется. Вместо этого новый метод становится приоритетным. Если новый метод будет удалён, старый метод снова начнёт работать. Это полезно, например, в фреймворках тестирования с подменой (SparseArrays, Pluto, Mocking и др.), так как не нужно явно восстанавливать старый метод. В настоящее время для этой ситуации требуется повторная компиляция, но возможно в будущем удастся переиспользовать старые результаты.
    • Развертывание макросов больше не будет сразу рекурсивно входить в выражения "Expr(:toplevel)" из макросов. Вместо этого развёртывание ":toplevel" будет отложено до времени выполнения. Это позволяет более поздним выражениям в том же ":toplevel" использовать макросы, определённые ранее.
    • Тривиальные бесконечные циклы (такие как "while true; end") больше не считаются неопределённым поведением. Бесконечные циклы, в которых что-то происходит (например, с побочными эффектами или sleep), никогда не были и не являются неопределённым поведением.
    • Одновременная пометка идентификатора как "public" и "export" теперь является ошибкой.
    • Ошибки во время выполнения "getfield" теперь порождают новый тип исключений "FieldError" вместо общего "ErrorException".
    • Макросы в позиции объявления функций теперь не требуют круглых скобок. Например, допустимо "function @main(args) ... end", тогда как ранее требовалось "function (@main)(args) ... end".
    • Вызов "using" по имени пакета внутри самого пакета (особенно актуально для вложенных модулей) теперь явно использует этот пакет без просмотра Manifest и окружения, так же, как "..Name". Это лучше соответствует ожидаемому поведению.
  • Улучшения компилятора/рантайма
    • Сгенерированный LLVM промежуточный код (IR) теперь использует типы указателей вместо передачи указателей в форме целых чисел. Это касается "llvmcall": встроенный LLVM IR следует обновить, заменив "i32"/"i64" на "i8*" или "ptr" и убрав ненужные конверсии "ptrtoint"/"inttoptr". Для совместимости IR с целочисленными указателями всё ещё поддерживается, но выдаёт предупреждение.
  • Изменения параметров командной строки
    • Флаг "-m/--module" можно передать для запуска функции "main" внутри пакета с набором аргументов. Эта функция должна быть объявлена через "@main", указывая, что это точка входа.
    • Включение/отключение цветового вывода в Julia теперь можно контролировать с помощью переменных окружения "NO_COLOR" и "FORCE_COLOR". Эти переменные также учитываются системой сборки Julia.
    • "--project=@temp" запускает Julia с временным окружением.
    • Новый параметр "--trace-compile-timing" выводит время компиляции каждого метода, который выводится "--trace-compile", в миллисекундах.
    • "--trace-compile" теперь выводит перекомпилированные методы жёлтым цветом или добавляет комментарий, если цвет недоступен.
    • Новый параметр "--trace-dispatch" выводит методы, которые динамически распределяются.
  • Изменения многопоточности
    • Julia теперь по умолчанию использует 1 «интерактивный» поток, в дополнение к 1 основному «рабочему» потоку, т.е. "-t1,1". Это означает, что основная задача и REPL (в интерактивном режиме), которые оба работают в потоке 1, теперь выполняются в интерактивном пуле. Цикл ввода-вывода libuv тоже работает в потоке 1, что обеспечивает эффективное использование рабочего пула, используемого "Threads.@spawn". Запрос ровно 1 потока ("-t1"/"JULIA_NUM_THREADS=1") или 0 интерактивных потоков отключает интерактивный поток: "-t1,0", "JULIA_NUM_THREADS=1,0" или "-tauto,0". Запрос более 1 потока включает интерактивный поток; например, "-t2" эквивалентно "-t2,1". Напоминаем: буферы не следует привязывать к "threadid()".
    • Определены новые типы для шаблона кода, который должен выполняться один раз на процесс — тип "OncePerProcess{T}" позволяет определить функцию, которая выполнится ровно один раз, когда её впервые вызовут, а затем будет всегда возвращать одно и то же значение типа "T" при последующих вызовах. Также существуют типы "OncePerThread{T}" и "OncePerTask{T}" для аналогичного использования с потоками или задачами.
  • Изменения системы сборки
    • Добавлены новые файлы Makefile для сборки Julia и LLVM с использованием BOLT (Binary Optimization and Layout Tool). См. "contrib/bolt" и "contrib/pgo-lto-bolt".
  • Новые библиотечные функции
    • "logrange(start, stop; length)" создаёт диапазон с постоянным коэффициентом (ratio), а не постоянным шагом.
    • Новая функция "isfull(c::Channel)" проверяет, будет ли блокироваться "put!(c, some_value)".
    • "waitany(tasks; throw=false)" и "waitall(tasks; failfast=false, throw=false)" ждёт завершения нескольких задач одновременно.
    • "uuid7()" создаёт UUID версии 7, соответствующий RFC 9562.
    • "insertdims(array; dims)" вставляет одноэлементные размерности в массив — операция, обратная "dropdims".
    • Новый тип "Fix" обобщает "Fix1/Fix2" для фиксации одного аргумента.
    • "Sys.detectwsl()" проверяет, выполняется ли Julia внутри WSL в runtime.
  • Новые возможности библиотек
    • "escape_string" принимает дополнительные параметры "ascii=true" (для экранирования всех не-ASCII символов) и "fullhex=true" (для использования полного 4/8-значного hex-формата в u/U-экранировке, например для совместимости с C).
    • "tempname" теперь может принимать строку суффикса, чтобы имя файла включало этот суффикс и он учитывался при уникальности.
    • Объекты "RegexMatch" теперь можно использовать для создания "NamedTuple" и "Dict".
    • "Lockable" теперь экспортируется.
    • "Base.require_one_based_indexing" и "Base.has_offset_axes" теперь публичные.
    • Добавлены новые функции "ltruncate", "rtruncate" и "ctruncate" для усечения строк до ширины текста, учитывая ширину символов.
    • Функция "isless" (а значит, и "cmp", сортировка и т.д.) теперь поддерживается для нулемерных "AbstractArray".
    • "invoke" теперь позволяет передавать "Method" вместо сигнатуры типа.
    • "invoke" теперь принимает "CodeInstance" вместо типа, что может ускорить некоторые рабочие процессы плагинов компилятора.
    • "Timer(f, ...)" теперь наследует "липкость" (stickiness) родительской задачи при создании задач таймера, что можно переопределить новым аргументом "spawn". Это решает проблему, когда липкие порождённые задачи ("@async") делали родителя липким.
    • "Timer" теперь имеет читаемые свойства "timeout" и "interval", а также более описательный метод "show".
    • "sort" теперь поддерживает кортежи "NTuple".
    • "map!(f, A)" теперь сохраняет результаты в "A", как "map!(f, A, A)" или "A .= f.(A)".
    • "setprecision" с аргументом-функцией (обычно через блок "do") теперь потокобезопасен. Другие формы следует избегать, и типы должны перейти к реализации, использующей "ScopedValue".
  • Изменения стандартной библиотеки
    • "gcdx(0, 0)" теперь возвращает "(0, 0, 0)" вместо "(0, 1, 0)".
    • "fd" возвращает "RawFD" вместо "Int".
    • Пакет JuliaSyntaxHighlighting
      • Новый стандартный пакет для применения подсветки синтаксиса к коду Julia, использующий "JuliaSyntax" и "StyledStrings" для реализации функции "highlight", которая создаёт "AnnotatedString" с применённой подсветкой.
    • Пакет LinearAlgebra.
      • "rank" теперь может принимать матрицу "QRPivoted" для оценки ранга через QR-факторизацию.
      • Добавлен ключевой параметр "alg" для "eigen", "eigen!", "eigvals" и "eigvals!" для типов самосопряжённых матриц (типовое объединение "RealHermSymComplexHerm"), позволяющий переключаться между различными алгоритмами извлечения собственных значений.
      • Добавлена общая версия неблокированного разложения Холецкого с выборкой поворотов (вызывается через "cholesky[!](A, RowMaximum())").
      • Количество потоков BLAS по умолчанию теперь учитывает привязку процессов (process affinity), а не просто количество логических потоков системы.
      • Добавлена функция "zeroslike", которая возвращает нулевые элементы для матриц с ленточным хранением. Пользовательские типы массивов могут специализировать эту функцию для правильного результата.
      • Перемножение матриц "A * B" теперь вызывает "matprod_dest(A, B, T::Type)" для генерации приемника. Эта функция теперь публичная.
      • Функция "haszero(T::Type)" используется для проверки, имеет ли тип "T" уникальный нулевой элемент, определённый как "zero(T)". Теперь она публичная.
      • Добавлена функция "diagview", возвращающая представление (view) на конкретную диагональ матрицы "AbstractMatrix".
    • Пакет Profile
      • "Profile.take_heap_snapshot" теперь принимает новый параметр "redact_data::Bool", по умолчанию "true". Если разрешено, то содержимое объектов Julia (например, строк) не включается в снимок памяти.
      • "Profile.print()" теперь окрашивает модули Base/Core/Package так же, как это делается в трассировках стека, а также пути (даже обрезанные) теперь кликабельны в терминалах, которые поддерживают ссылки URI и позволяют открыть указанный файл и строку в редакторе, заданном "JULIA_EDITOR".
    • REPL
      • Используя новую возможность "usings=true" в функции "names()", автодополнение в REPL может дополнять имена, видимые через "using".
      • Автодополнение REPL теперь может завершать строки вида "[import|using] Mod: xxx|", например, завершать "using Base.Experimental: @op" до "using Base.Experimental: @opaque".
      • REPL теперь выдаёт предупреждение, если имя обращается через модуль, который его не определяет (и не имеет подмодуля, который его определяет), и имя не является публичным в этом модуле. Например, "map" определён в Base, и выполнение "LinearAlgebra.map" в REPL теперь выдаст предупреждение при первом таком обращении.
      • При выводе результата ввода в REPL вывод теперь обрезается до 20 KiB. Это не влияет на ручные вызовы "show", "print" и т.д.
      • Автодополнение по символу "\" теперь выводит соответствующий символ или эмоджи рядом с каждым соответствующим кодовым словом.
    • Пакет Test
      • Если набор тестов "DefaultTestSet" завершается с ошибкой, на экран выводится генератор случайных чисел (RNG) этого набора, чтобы помочь воспроизвести стохастическую ошибку, зависящую только от состояния RNG. Также можно задать RNG для набора тестов, передав параметр "rng" в макрос "@testset":
          julia
          using Test, Random
          @testset rng=Xoshiro(0x2e026445595ed28e, 0x07bb81ac4c54926d, 0x83d7d70843e8bad6, 0xdbef927d150af80b, 0xdbf91ddf2534f850) begin
              @test rand() == 0.559472630416976
          end
        
    • Пакет InteractiveUtils
      • Новые макросы "@trace_compile" и "@trace_dispatch" для выполнения выражений с параметрами "--trace-compile=stderr --trace-compile-timing" и "--trace-dispatch=stderr" соответственно.
  • Внешние зависимости
    • База данных terminal info ("terminfo") теперь входит в поставку Julia по умолчанию, что улучшает работу REPL, когда "terminfo" недоступен в системе. Julia можно собрать без встраивания базы, используя параметр Makefile "WITH_TERMINFO=0".
  • Улучшения инструментов
    • Доступен профилировщик "wall-time" для пользователей, которым нужен профилировщик с выборкой, захватывающий задачи независимо от их состояния (запланированы/выполняются). Такой профилировщик позволяет профилировать задачи с интенсивным вводом-выводом и помогает обнаружить области сильной конкуренции в системе.


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

opennet honked 10 Oct 2025 21:00 +0200

Релиз свободного воксельного игрового движка Luanti 5.14.0

После двух месяцев разработки опубликован релиз Luanti 5.14.0, свободного кроссплатформенного игрового движка в жанре песочница, позволяющего создавать игры по аналогу Roblox, но с воксельной механикой, используя различные блоки для совместного формирования игроками различных структур и построек, образующих подобие виртуального мира. Некоторые игры на движке стремятся клонировать Minecraft. Предоставляемый движком геймплей полностью зависит от набора модов, создаваемых на языке Lua. Движок написан на языке С++ c использованием 3D-библиотеки IrrlichtMt (форк Irrlicht). Код Luanti распространяется под лицензией LGPL, а игровые ресурсы под лицензией CC BY-SA 3.0. Готовые сборки формируются для различных дистрибутивов Linux, Android, FreeBSD, Windows и macOS.

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

  • Частицы, появляющиеся при копании, теперь видны всем игрокам.
  • Улучшен пользовательский интерфейс. В главном меню связанные с игровым миром параметры теперь скрываются, если мир не выбран. Добавлена поддержка выделения слов целиком при помощи комбинаций клавиш "Ctrl+Shift + ←/→".
  • Обеспечена возможность масштабирования имён (nametag) в зависимости от расстояния.
  • Обновлена документация.
  • Решены проблемы с интерполяцией звеньев (bone) при анимации.
  • Повышена эффективность хранения и стабильность генерации блоков карт (mapblock).
  • Загрузка текстур ускорена за счёт кэширования путей.


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

opennet honked 10 Oct 2025 21:00 +0200

Обновление OpenSSH 10.2

Спустя четыре дня после релиза OpenSSH 10.1 опубликован корректирующий выпуск OpenSSH 10.2, открытой реализации клиента и сервера для работы по протоколам SSH 2.0 и SFTP. В новой версии отмечены только исправления ошибок:
  • В утилите ssh решена проблема с обработкой параметров терминала, приводившая к невозможности использования SSH-сеанса при активной настройке ControlPersist.
  • В утилите ssh-keygen устранена проблема с загрузкой ключей из токенов PKCS#11.
  • В ssh-keygen решена проблема с операциями формирования цифровых подписей при хранении ключа удостоверяющего центра в ssh-agent.
  • Добавлена поддержка платформ без mmap, таких как WASM.
  • Решены проблемы со сборкой во FreeBSD и MacOS ‹10.12.
  • Прекращено использование PAM_RHOST если внешних хост помечен как "UNKNOWN" (выставляется для соединений не через IPv4 и IPv6), что потенциально могло приводить к зависанию при использовании некоторых PAM-модулей.


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

continue honked back 10 Oct 2025 11:20 +0200
in reply to: https://honk.any-key.press/u/continue/h/NRd3FSRd313m31NLfZ

мхи селятся внизу на стволе, в том самом месте, куда стекает вода после ливня. Течёт она неравномерно, потому что большинство деревьев стоят чуть-чуть под наклоном. [...] Кстати, именно поэтому моховые обрастания не годятся для определения сторон света. [...] каждое дерево клонится в своём собственном направлении, так что попытка сориентироваться по моховым обрастаниям вас только запутает.

Петер Вольлебен. "Тайная жизнь деревьев"

(#федичитает #чтопочитать)

opennet honked 10 Oct 2025 10:00 +0200

Атака, использующая GitHub Copilot для извлечения данных из приватных репозиториев

Исследователи из компании Legit Security разработали технику атаки на GitHub Copilot, позволяющую извлечь содержимое из приватных репозиториев при использовании чатбота для анализа присылаемых pull-запросов. В качестве примера продемонстрирована возможность определения хранимых в приватном репозитории ключей для доступа к облачному окружению AWS.

Атака основывается на способности GitHub Copilot загружать внешние изображения в зависимости от обрабатываемого содержимого и возможности подставлять в pull-запросы скрытые комментарии, которые невидны в интерфейсе GitHub, но учитываются при анализе чатботом. Для организации утечки атакующий на своём сервере создаёт набор однопиксельных прозрачных изображений, каждое из которых соответствуют спецсимволу, цифре или букве алфавита. Далее жертве отправляется pull-запрос, в котором помимо предлагаемого изменения указывается скрытый комментарий с инструкцией для чатбота, оформленный в блоке "‹!-- комментарий --›", не показываемом при выводе текста в формате Markdown.

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

При использовании мэйнтейнером GitHub Copilot для разбора предложенного pull-запроса, чатбот выполнит скрытое задание и покажет результат в форме картинок. Так как картинки прозрачные мэйнтейнер не заметит аномалий, а атакующий сможет воссоздать содержимое найденных строк с ключами AWS путём анализа последовательности загрузки картинок в логе web-сервера.

Для обхода защиты CSP (Content Security Policy), допускающей загрузку в GitHub Copilot картинок только с серверов GitHub, в качестве прокси задействован сервис GitHub Camo. Данный прокси используется в GitHub как промежуточное звено для загрузки внешних изображений, например, встраиваемых на страницу README. Для задействования Camo в таблице сопоставления символов указываются не прямые ссылки, а ссылки на сам прокси, оформленные как "https://camo.githubusercontent.com/хэш_картинки". До этого через GitHub REST API в Camo добавляются и заверяются необходимые пути для перенаправления загрузки изображений. Компания GitHub уже блокировала описанный метод атаки через запрет отрисовки изображений в чате с Copilot.

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

opennet honked 10 Oct 2025 09:00 +0200

Оценка изменения производительности CPython за последние 5 лет

Мигель Гринбе (Miguel Grinberg), автор нескольких книг по Python-фреймворкам SQLAlchemy и Flask, опубликовал результаты тестирования производительности веток CPython с 3.9 по 3.14. Дополнительно аналогичные тесты проведены для Pypy 3.11 (реализация Python с JIT-компилятором), Node.js 24 и Rust 1.90. Для выпусков CPython 3.13 и 3.14 дополнительно измерена производительность при включении JIT-компилятора и режима сборки Free-threading без глобальной блокировки.

Для изменения производительности использовались скрипты для вычисления чисел Фибоначчи (глубокая рекурсия) и пузырьковой сортировки случайно генерируемых чисел, запускаемые в однопоточном режиме и с разделением на 4 потока. Тесты запускались в Ubuntu 24.04 на ноутбуке с CPU Intel Core i5 и macOS Sequoia на ноутбуке с SoC Apple M2.

В большинстве тестов CPython 3.14 оказался быстрее ветки 3.13 примерно на 20%, при том, что в некоторых тестах ветки 3.11 и 3.12 оказались быстрее 3.13. Отрыв 3.14 от веток 3.9 и 3.10 составил примерно два раза. Pypy, Node.js и Rust обогнали CPython 3.14 в первом тесте в 4.93, 4.88 и 69.82 раз, а во втором тесте в 18.14, 6.64 и 36.15 раз, соответственно (сравнивались только однопоточные режимы).







Режим без глобальной блокировки в CPython 3.14 позволил в два раза ускорить многопоточное выполнение. Включение режима с JIT в CPython не привело к существенному росту производительности, а в тесте ветки 3.14 в macOS даже замедлило выполнение.



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





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

contrinitiator honked 10 Oct 2025 08:56 +0200

Заказал поверку счётчика, пришло сообщение с кодовым словом, которое должен мастер назвать. Буквально уже дошли с этой штирлицевщиной до паролей-отзывов.

opennet honked 10 Oct 2025 08:00 +0200

В Ubuntu 25.10 оказалась неработоспособна установка Flatpak-пакетов

Пользователи, перешедшие на выпуск Ubuntu 25.10, столкнулись с невозможностью установить или обновить Flatpak-пакеты. Проблема вызвана изменениями в AppArmor-правилах, применяемых при запуске утилиты fusermount3. Из-за некорректно выставляемых правил доступа попытки установки или обновления пакетов при помощи утилиты flatpak приводят к выводу ошибки о невозможности отмонтировать каталог /var/tmp/flatpak-cache-*.

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

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

opennet honked 09 Oct 2025 19:00 +0200

Релиз Ubuntu 25.10

Опубликован дистрибутив Ubuntu 25.10 "Questing Quokka", который отнесён к промежуточным выпускам, обновления для которых формируются в течение 9 месяцев. Готовые установочные образы созданы для Ubuntu, Ubuntu Server, Lubuntu, Kubuntu, Ubuntu Mate, Ubuntu Budgie, Ubuntu Studio, Xubuntu, UbuntuKylin (редакция для Китая), Ubuntu Unity, Edubuntu и Ubuntu Cinnamon.

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

  • Рабочий стол обновлён до выпуска GNOME 49. Прекращена поддержка сеанса GNOME на базе X11 и оставлен только сеанс на базе Wayland, в котором для запуска X11-приложений применяется XWayland. Пакеты с компонентами X.org и альтернативными десктоп-окружениями, использующими X11, продолжают поставляться в репозитории.
  • В конфигуратор добавлен интерфейс для управления автозапуском приложений (Settings → Apps).
  • Параметры дробного масштабирования в GNOME оптимизированы для минимизации размытия.
  • Размер моноширинного шрифта, применяемого в эмуляторе терминала, уменьшен и теперь соответствует размеру шрифта, применяемого по умолчанию в интерфейсе пользователя.
  • Вместо просмотрщика изображений Eye of GNOME по умолчанию задействовано приложение Loupe, предоставляющее легковесный интерфейс и оптимизированное для быстрого просмотра изображений. Для декодирования изображений задействована библиотека glycin, использующая sandbox-изоляцию и написанная на Rust. Среди возможностей: плавный переход от одного изображения к другому, визуальные эффекты при масштабировании и повороте картинки, боковая панель со свойствами, кнопки для быстрого копирования и удаления, инструменты для редактирования (кадрирование, поворот, отражение).
  • Вместо эмулятора терминала GNOME Terminal задействовано приложение Ptyxis, предоставляющее дополнительные возможности для работы с контейнерами при помощи инструментариев Toolbox, Distrobox, Podman и JHBuild. Ptyxis также отличается расширенными настройками, обзорным режимом для наглядной навигации по открытым сеансам и очень высокой скоростью отрисовки за счёт задействования Vulkan и OpenGL.
  • В композитном сервере Mutter улучшена поддержка HDR и расширены функции управления цветом. Задействован механизм VRR (Variable Refresh Rate), позволяющий адаптивно менять частоту обновления монитора для обеспечения плавности и отсутствия разрывов во время игр и показа видео.
  • Улучшена поддержка Wayland на системах с GPU NVIDIA.
  • В качестве минимально поддерживаемого варианта архитектуры RISC-V заявлен профиль RVA23 (RISC-V Application), в который включены расширения для векторных операций и гипервизоров. В настоящее время лишь ограниченное число плат RISC-V поддерживают векторные расширения профиля RVA23, а большинство доступных на рынке устройств соответствуют профилю RVA20.
  • Для систем на базе архитектуры RISC-V предоставлен полнофункциональный десктоп-сеанс, поддерживающий такие приложения, как Firefox и Thunderbird.
  • Стабилизирована поддержка полнодискового шифрования, не требующего ввода пароля разблокировки диска при загрузке, благодаря хранению информации для расшифровки ключей в TPM (Trusted Platform Module). Реализованы возможности для восстановления ключей, применяемых при полнодисковом шифровании на базе TPM.
  • Продолжена работа над системой вывода запросов полномочий, требующих у пользователя подтверждения доступа, например, при обращении из snap-пакетов к файлам в домашнем каталоге. Динамическое предоставление доступа организовано с использованием механизма AppArmor. Улучшена интеграция запроса полномочий с GNOME Shell.
  • В инсталлятор интегрирована поддержка Landscape, системы управления группой рабочих станций и серверов. Изменение позволит администраторам предприятий загружать файлы с настройками автоматической установки напрямую из платформы Landscape.
  • При выводе уведомления о наличии обновлений теперь предлагаются опции для открытия приложения Software Updater или установки предложенных обновлений. Если уведомление было пропущено в системном лотке появляется соответствующий индикатор, через который также можно инициировать установку обновлений.
  • Утилиты GNU Coreutils заменены в базовой поставке на инструментарий Rust Coreutils (uutils), а приложение sudo заменено на sudo-rs. Замена системных компонентов производится в рамках инициативы по повышению качества системного окружения через поставку программ, изначально разрабатываемых с оглядкой на безопасность, надёжность и корректность. Поставка утилит, написанных на языке Rust, даст возможность снизить риск появления ошибок при работе с памятью, таких как обращение к области памяти после её освобождения и выход за границы буфера.
  • По умолчанию для синхронизации точного времени задействован проект Chrony. Ранее используемый сервис systemd-timesyncd решено заменить на Chrony из-за желания задействовать протокол NTS (Network Time Security) для криптографической защиты синхронизации времени. Chrony предоставляет независимую реализацию клиента и сервера NTP и применяется для синхронизации точного времени в Fedora, SUSE/openSUSE и RHEL.
  • Для формирования образов начального RAM-диска (initrd) вместо пакета initramfs-tools по умолчанию задействован инструментарий Dracut. Переход на Dracut позволит решить такие проблемы, как невозможность использования systemd в initrd, отсутствие поддержки NVMe over Fabric (NVM-oF), обилие кода на shell в initrd, сложность сопровождения из-за раздельной работы с initrd и корневой ФС.
  • Пакет intel-compute-runtime пересобран с флагом NEO_DISABLE_MITIGATIONS, отключающим защиту от атак класса Spectre. По оценке разработчиков наличие подобной защиты приводило к снижению производительности пакета примерно на 20%, при том, что в подобной защите на уровне пакета нет необходимости, так как для блокирования атак класса Spectre достаточно защиты на уровне ядра.
  • Задействована новая ветка пакетного менеджера APT 3 (3.1.6), в которой переработан интерфейс пользователя, активирован движок разрешения зависимостей Solver3, добавлена поддержка снапшотов, прекращено использования утилиты apt-key, добавлен крипто-бэкенд для библиотеки OpenSSL и реализована команда 'dist-clean'.
  • Ядро Linux обновлено до ветки 6.17. Объявлены устаревшими пакеты linux-modules-extra-* - все модули ядра теперь поставляются в пакетах linux-modules--.
  • Обновлены версии пакетов, включая systemd 257.9, GCC 15.2, binutils 2.45, glibc 2.42, Python 3.13.7, LLVM 20, Ruby 3.3, Rust 1.85, Go 1.24, OpenJDK 25, PHP 8.4.11, .NET 10, Pipewire 1.4.5, BlueZ 5.83, Netplan 1.1.2, Firefox 142, LibreOffice 25.8, Qt 6.8.3, VLC 3.0.21, cloud-init 25.3, Django 5.2, Dovecot 2.4, libvirt 11.6.0, PostgreSQL 17, MySQL 8.4, QEMU 10.1, Samba 4.22, Valkey (форк Redis) 8.1.1, Mesa 25.2.3, OpenSSL 3.5.3, nginx 1.26.3, OpenLDAP 2.6.10, OpenSSH 10.0, GRUB 2.14-beta.
  • Вместо Ubuntu Report интегрирована новая система накопления и отправки телеметрии Ubuntu Insights, через которую реализован периодический сбор метрик. Система является опциональной и включается по желанию пользователя в мастере начальной настройки (GNOME Initial Setup).
  • Включён сервис nvidia-powerd, обеспечивающий поддержку механизма NVIDIA Dynamic Boost, позволяющего балансировать энергопотребление между CPU и GPU для повышения производительности.
  • На системах с проприетарными драйверами NVIDIA реализована корректная поддержка перехода в спящий режим.
  • Изменён состав редакции Ubuntu Server. Из набора пакетов ubuntu-server удалены утилиты screen, wget, byobu, cloud-guest-utils и dirmngr, которые доступны для установки из репозитория или в составе зависимостей (например, screen в числе зависимостей к ubuntu-release-upgrader, cloud-guest-utils - cloud-init, а dirmngr - gnupg и vanilla-gnome-desktop).
  • В authd, сервис для интеграции с облачными системами аутентификации, добавлена поддержка регистрации устройства с использованием EntraID. В состав включена утилита authctl для управления authd.
  • Добавлена полная поддержка интегрированных GPU Intel Core Ultra Xe3 и дискретных видеокарт Intel Arc Pro B50 и B60 "Battlemage".
  • В Kubuntu задействованы выпуски KDE Plasma 6.4, KDE Gear 25.08, Qt 6.8 и KDE Frameworks 6.17.0. В базовом окружении Kubuntu прекращена поставка сеанса KDE на основе X-сервера. Для использования сеанса на базе X-сервер в репозитории имеется пакет "plasma-session-x11".
  • В Lubuntu включён выпуск среды рабочего стола LXQt 2.2.
  • В Ubuntu Cinnamon предложена версия рабочего стола Cinnamon 6.4.12 (в прошлой версии был 6.4.8). Обновлена тема оформления Yaru-Cinnamon.
  • В Ubuntu Studio задействован рабочий стол KDE Plasma 6.4. Добавлен опциональный вариант оформления интерфейса в стиле macOS c нижней панелью и глобальным меню. В конфигуратор Ubuntu Studio Audio Configuraiton добавлены дополнительные настройки звука, многие настройки разрешено менять без получения root-доступа. Добавлен пакет JackTrip с графическим интерфейсом для передачи звука по сети. Обновлены версии Qtractor 1.5.8, Audacity 3.7.5, digiKam 8.7.0, Kdenlive 25.08.1, Krita 5.2.11 и GIMP 3.0.4.
  • В Xubuntu продолжает поставляться Xfce 4.20.


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

continue honked 09 Oct 2025 12:59 +0200

Выходит Python 3.14: вот это настоящий ПИтон, а не какой-то там "пайтон"!

(#python)

opennet honked 09 Oct 2025 12:00 +0200

Система сжатия OpenZL, опережающая Zstd и XZ по скорости и уровню сжатия структурированных данных

Компания Meta* представила инструментарий для сжатия и распаковки данных OpenZL, по сравнению с форматами Zstd и XZ демонстрирующий более высокий уровень сжатия и скорость работы. OpenZL разработан для эффективного сжатия структурированных наборов данных, например, применяемых при машинном обучении, а также хранилищ, содержащих поля с различными повторяющимися типами информации. Код OpenZL написан на C/C++ и открыт под лицензией BSD.

При сжатии БД с астрономическим каталогом звёзд SAO, инструментарий OpenZL позволил сократить размер данных в 2.06 раза, в то время как алгоритм zstd сжал информацию в 1.31 раза, а XZ в 1.64 раза. При этом по скорости сжатия OpenZL опередил zstd в два раза (203 MB/s против 115 MB/s), а XZ - в 65 раз (203 MB/s против 3.1 MB/s). Распаковка в OpenZL оказалась незначительно медленнее zstd (822 MB/s против 890 MB/s) и в 27 быстрее XZ.

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

Упаковка и распаковка осуществляется при помощи одной утилиты "zli" или библиотеки libopenzl. Структура данных описывается в виде профилей. В состав уже входит набор предопределённых профилей, описывающих типовые форматы хранения. Например, профиль для формата CSV или данных, хранимых в форме массива 64-разрядных чисел. Сжатия сводится к выбору профиля командой "zli list-profiles" и запуску процесса упаковки командой "zli compress --profile имя_профиля". Для распаковки достаточно запустить "zli decompress".

Для специфичных форматов требуется сформировать собственный профиль, используя команду "zli train", которая выявляет закономерности в данных и формирует профиль с оптимальным уровнем сжатия. Используя опцию "--pareto-frontier" созданный профиль можно модернизировать в сторону ускорения упаковки или распаковки, ценой снижения уровня сжатия. Для описания сложных форматов со вложенными структурами и определения раскладки форматов данных в структурах может применяться язык SDDL (Simple Data Description Language).

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



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

opennet honked 09 Oct 2025 11:00 +0200

Выпуск сетевого анализатора Wireshark 4.6.0

После года разработки опубликован релиз новой стабильной ветки сетевого анализатора Wireshark 4.6. Программа поддерживает более тысячи сетевых протоколов и несколько десятков форматов захвата трафика. Предоставляется графический интерфейс для создания фильтров, захвата трафика, анализа сохранённых дампов и инспектирования пакетов. Поддерживаются такие расширенные возможности, как пересборка порядка следования пакетов, выделение и сохранение содержимого файлов, передаваемых с использованием разных протоколов, воспроизведение VoIP и RTP-потоков, расшифровка IPsec, ISAKMP, Kerberos, SNMPv3, SSL/TLS, WEP и WPA/WPA2. Код проекта распространяется под лицензией GPLv2.

Ключевые новшества Wireshark 4.6.0:

  • В меню "Statistics" в секцию графиков добавлен режим "Plots". В отличие от ранее доступного режима "I/O Graphs" вместо гистограмм, отражающих изменение усреднённых данных во времени, в режиме "Plots" статистика визуализирует распределение фактических значений, что делает более заметными повторяющиеся закономерности.
  • Графики "I/O Graph" оптимизированы для показа на экранах с низким разрешением.
  • Добавлена поддержка сжатия захватываемых потоков трафика во время записи, а не во время ротации уже записанного файла. Для работы с сжимаемыми на лету потоками в TShark можно использовать опцию "--compress".
  • Добавлена возможность копирования списка пакетов в формате HTML (в меню добавлен пункт "Edit › Copy › as HTML").
  • В меню "View" добавлена опция для ручного повторного разбора пакетов (Redissect Packets), который можно использовать в случае изменения ключа шифрования или DNS-хоста, связанного с IP-адресом.
  • Реализована возможность экспорта сертификатов X.509, используя меню "File › Export Objects" в Wireshark и опцию "--export-objects" в TShark.
  • Добавлена поддержка дешифровки NTP-пакетов, передаваемых с использованием протокола NTS (Network Time Security).
  • При декодировании пакетов MACsec предоставлена возможность использования модуля разбора (dissector) MKA.
  • В модулях разбора трафика HTTP и HTTP/2 добавлена поддержка содержимого, сжатого с использованием алгоритма Zstandard.
  • В диалог "Follow Stream" добавлена возможность отслеживания идентификаторов потоков MPEG 2 (Transport Stream PID) для извлечения звука и видео для последующего воспроизведения.
  • В диалогах "Conversations" и "Endpoints table" добавлена поддержка протокола DNP 3 (Distributed Network Protocol 3).
  • Добавлена поддержка пометки потоков HTTP2, передаваемых в сеансах 3GPP поверх сетевых интерфейсов 5G.
  • На платформе Linux предоставлена возможность использования для захвата трафика BPF-расширений "inbound", "outbound" и "ifindex", скомпилированных через диалог "Compiled Filter".
  • В Lua API добавлена поддержка функций Libgcrypt для симметричного шифрования.
  • Добавлена поддержка декодирования форматов файлов RIFF (Resource Interchange File Format) и TTL.
  • Добавлена поддержка протоколов и форматов:
    • Asymmetric Key Packages (AKP),
    • Binary HTTP,
    • BIST TotalView-ITCH (BIST-ITCH),
    • BIST TotalView-OUCH (BIST-OUCH),
    • Bluetooth Android HCI (HCI ANDROID),
    • Bluetooth Intel HCI (HCI INTEL),
    • BPSec COSE Context,
    • BPSec Default SC,
    • Commsignia Capture Protocol (C2P),
    • DECT NR+ (DECT-2020 New Radio),
    • DLMS/COSEM,
    • Ephemeral Diffie-Hellman Over COSE,
    • Identifier-Locator Network Protocol (ILNP),
    • LDA Neo Device trailer (LDA_NEO_TRAILER),
    • Lenbrook Service Discovery Protocol (LSDP),
    • LLC V1,
    • Navitrol (мессенджер),
    • Network Time Security Key Establishment Protocol (NTS-KE),
    • Ouster VLP-16,
    • Private Line Emulation (PLE),
    • RC V3,
    • RCG,
    • Roughtime,
    • SBAS L5 Navigation Message,
    • SGP.22 GSMA Remote SIM Provisioning (SGP.22),
    • SGP.32 GSMA Remote SIM Provisioning (SGP.32),
    • SICK CoLA,
    • Silabs Debug Channel,
    • Universal Measurement and Calibration Protocol (XCP),
    • USB Picture Transfer Protocol (USB-PTP),
    • VLP-16,
    • vSomeIP Internal Protocol (vSomeIP).
  • Для macOS вместо отдельных пакетов для архитектур Arm и Intel подготовлены универсальные сборки.
  • В сборках для macOS и Windows реализована возможность принудительного включения тёмного или светлого режима, независимо от системных настроек. Библиотека Qt в сборках для Windows и macOS обновлена до версии 6.9.3 (ранее поставлялся выпуск 6.5.3). Прекращена поддержка AirPcap и WinPcap, вместо которых следует использовать Npcap.
  • В число обязательных зависимостей включена библиотека libxml2.


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

opennet honked 09 Oct 2025 09:00 +0200

Представлена библиотека Servo GTK для интеграции движка Servo с GTK-приложениями

Один из сотрудников Amazon представил библиотеку Servo GTK, предназначенную для встраивания web-движка Servo в приложения, использующие GTK4. Библиотека реализует GTK-виджет, при помощи которого можно использовать Servo Webview для отрисовки web-контента. Из особенностей отмечается поддержка ускорения отрисовки при помощи OpenGL и возможность обработки событий в асинхронном режиме. Проект написан на языке Rust и распространяется под лицензией MPL 2.0. В качестве примера использования на базе библиотеки подготовлен простейший web-браузер с интерфейсом на базе GTK.

Движок Servo изначально развивался компанией Mozilla, но затем перешёл под покровительство организации Linux Foundation. Servo отличается поддержкой многопоточного рендеринга web-страниц, распараллеливанием операций с DOM (Document Object Model) и задействованием предоставляемых языком Rust механизмов безопасного программирования. Servo изначально создан с поддержкой разбиения кода DOM и рендеринга на более мелкие подзадачи, которые могут выполняться параллельно и более эффективно использовать ресурсы многоядерных CPU. В Firefox уже интегрированы некоторые части Servo, такие как многопоточный CSS-движок и система отрисовки WebRender. На базе Servo развиваются браузеры ServoShell и Verso.

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

opennet honked 09 Oct 2025 08:00 +0200

Уязвимости в Redis и Valkey, позволяющие выполнить код на сервере при наличии доступа к БД

Исследователи из компании Wiz выявили в СУБД Redis уязвимость (CVE-2025-49844), позволяющую добиться удалённого выполнения кода (RCE) на сервере. Проблеме присвоен наивысший уровень опасности (CVSS score 10 из 10), при этом для эксплуатации уязвимости атакующий должен иметь возможность отправки запросов к СУБД Redis, допускающей выполнение пользовательских Lua-скриптов.

Помимо публично доступных экземпляров Redis, предоставляющих доступ без аутентификации, уязвимость позволяет скомпрометировать облачные системы и платформы хостинга, поддерживающие сервисы для работы с Redis. По данным компании Wiz сканирование сети выявило около 330 тысяч принимающих соединения Redis-серверов, из которых около 60 тысяч принимают запросы без аутентификации. Предоставляемый проектом Redis официальный образ Docker-контейнера настроен для доступа без аутентификации по умолчанию.

Уязвимость вызвана обращением к уже освобождённой памяти (use-after-free), проявляющимся при манипуляции сборщиком мусора из специально оформленного Lua-скрипта. Проблема позволяет обойти sandbox-изоляцию Lua-окружения в Redis и выполнить код в основной системе с правами пользователя, под которым выполняется СУБД. Примечательно, что ошибка оставалась незамеченной на протяжении 13 лет. Выявившие проблему исследователи продемонстрировали рабочий эксплоит, но детали эксплуатации пока не раскрываются, чтобы дать время на установку обновлений.

Уязвимость также проявляется в проекте Valkey, развивающем форк Redis, поставляемый в большинстве дистрибутивов Linux, включая RedHat Enterprise Linux 10. Уязвимость устранена в выпусках Redis 8.2.2, 8.0.4, 7.4.6, 7.2.11 и 6.2.20, а также в Valkey 8.1.4, 8.0.6 и 7.2.11. Проверить состояние новой версии пакета или подготовки исправления в дистрибутивах можно на следующих страницах: Debian, Ubuntu, Fedora, SUSE/openSUSE, RHEL, Gentoo, Arch, FreeBSD, OpenBSD и NetBSD. В качестве обходного пути защиты в СУБД можно отключить выполнение Lua-скриптов, запретив команды EVAL и EVALSHA через ACL.

Дополнительно можно отметить ещё три уязвимости, эксплуатируемые через Lua-скрипты и устранённые в последних версиях Redis и Valkey. Для обходной защиты от данных уязвимостей через ACL можно запретить семейства команд EVAL и FUNCTION.

  • CVE-2025-46817 - целочисленное переполнение в библиотечных Lua-функциях, потенциально позволяющее добиться выполнения своего кода на стороне сервера при запуске специально оформленных Lua-скриптов.
  • CVE-2025-46819 - ошибка, приводящая к чтению данных из области за пределами буфера при выполнении специально оформленного Lua-скрипта. Уязвимость может использоваться для аварийного завершения серверного процесса Redis.
  • CVE-2025-46818 - возможность выполнения команд в контексте другого пользователя СУБД при манипуляции LUA-объектами из специально оформленного Lua-скрипта.


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

contrinitiator honked back 08 Oct 2025 20:00 +0200
in reply to: https://mastodon.ml/users/gusev/statuses/115339690529970622

@gusev Хорошо как описано! А я даже не знаю, каких сортов яблоньки на даче у родителей. Но урожай в этом году плачевный, дай бог, чтоб штук десять нормальных яблок было с трёх деревьев, да немного на компот.

opennet honked 08 Oct 2025 20:00 +0200

Релиз T2 SDE 25.10, платформы для создания дистрибутивов

Опубликован релиз мета-дистрибутива T2 SDE 25.10, предоставляющего окружение для формирования собственных дистрибутивов, кросс-компиляции и поддержания версий пакетов в актуальном состоянии. Из популярных дистрибутивов, построенных на базе системы T2, можно отметить Puppy Linux. Проектом предоставляется 36 загрузочных iso-образов с минимальным графическим окружением в вариантах с библиотеками Musl, uClibc и Glibc. Для актуальных архитектур подготовлены сборки с графическим окружением на базе GNOME и Wayland.

Платформа сосредоточена на создании сборок на базе ядра Linux, но отдельно развиваются прототипы, позволяющие собирать пакеты для различных ОС, включая macOS, Haiku и BSD-системы. В планах поддержка создания окружений на основе других ядер, например, на базе L4, Fuchsia и RedoxOS, и формирование сборок на базе Android (AOSP). Для сборки доступно более 7000 пакетов.

В T2 обеспечивается поддержка 20 аппаратных архитектур, применяемых как в современных встраиваемых системах, так и на устаревшем оборудовании. Например, обеспечена поддержка игровых приставок Nintendo Wii U и Sony PS3, рабочих станций SGI, Sun и HP. Для большинства архитектур возможна загрузка в окружениях с 128 МБ ОЗУ. Готовые сборки сформированы для архитектур Alpha, Arc, ARM64, HPPA64, IA64, Loongarch64, M68k, Microblaze, MIPS64, Nios2, OpenRISC, PowerPC 64, RISC-V 64, s390x, SPARC 64, SuperH, i486, i686, i786, x86-64 и x32.

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

  • Добавлена сборка i786 с включением оптимизаций, использующих инструкции SSE2.
  • Добавлена поддержка SoC Qualcomm X1-Elite ARM64.
  • Команда halt теперь останавливает систему и возвращает управление в OpenFirmware. Для выключения следует использовать команду poweroff.
  • Добавлен пакет mesa-legacy с поддержкой старых GPU.
  • Решены проблемы с работой Firefox и Thunderbird на большинстве 32-разрядных и big-endian RISC-системах.
  • Обеспечена работа iproute2 vlan в сборках с включёнными оптимизациями LTO.
  • Добавлено 527 пакетов или новых возможностей, обновлено 7638 пакетов, удалено 229 пакетов. Обновлены ядро Linux 6.16, GCC 15.2, LLVM/Clang 20.1.8, Glibc 2.42, Musl 1.2.5, uClibC 1.0.54, Mesa 25.1.9.


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

contrinitiator bonked 08 Oct 2025 19:58 +0200
original: gusev@mastodon.ml

Наступило прекрасное время — начало октября. Созрел мой любимый сорт яблок, Орловский синап. Яблоки сочные, кисло-сладкие, а когда полежат месяцок, становятся сахарными. Или когда попадут в мороз — тоже. Моей яблоне в этом году полтинник, и она дала очень хороший урожай, хотя дерево погибает.

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

Несколько лет назад я купил этот же сорт, но на карликовом подвое. Зимой его сгрыз заяц. Дерево не погибло, пошло в рост, но медленно; к тому же даёт много волчков и не цветёт. В будущем феврале сделаю обрезку — без этого сорта будет грустно. С самого детства эти яблоки в семье любили: пекли, мариновали, сушили, хранили свежими в огромном сундуке))
На фото — Орловский синап. Бывают экземпляры и намного больше, но такие не нужны особо. А на втором фото — немного уродливые пакманы, подготовка к сушке))
Такие дела в деревне. Всем приятного яблокопоедания осенних сортов!
#яблоки

Орловский синап Дольки перед сушкой

contrinitiator honked 08 Oct 2025 14:43 +0200

Таки собираются отключать просроченные карты виза и мастеркард. Не то, чтобы я сильно за свою карточку держался, но чисто по инерции кажется, что если так настаивают, значит, зачем-то им надо...

opennet honked 08 Oct 2025 13:00 +0200

Выпуск языка программирования Python 3.14

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

Среди новшеств, добавленных в Python 3.14 (1, 2, 3):

  • Реализована официальная поддержка сборки CPython без глобальной блокировки интерпретатора (GIL, Global Interpreter Lock). Сборка без GIL позволяет избавиться от проблемы с распараллеливанием операций на многоядерных системах, вызванной тем, что глобальная блокировка не допускает параллельное обращение к разделяемым объектам из разных потоков. Отключение GIL приводит к дополнительным накладным расходам, вызванным изменениями в сборщике мусора, системе управления памятью и примитивах для организации блокировок. Например, из-за использования подсчёта ссылок для изоляции потоков наблюдается снижение производительности однопоточных сценариев примерно на 10%. При этом подобные накладные расходы могут компенсироваться распараллеливанием операций.
  • Добавлена поддержка t-строк (литералы с префиксом 't') позволяющих использовать синтаксис, похожий на f-строки, для создания собственных обработчиков шаблонов в строках. В отличие от f-строк t-строки возвращают объект, раздельно хранящий статические строковые данные и подставляемые значения. Раздельное хранение позволяет привязывать собственные обработчики, влияющие только на подставляемые значения. Например, можно подключить обработчик для перевода подставляемого значения в верхний регистр или для экранирования спецсимволов при подстановке в строку внешних данных.
       variety = 'Stilton'
       template = t'Try some {variety} cheese!'
       print(list(template))
       print(lower_upper(template))
    
          ['Try some ', Interpolation('Stilton', 'variety', None, ''), ' cheese!']
          Try some STILTON cheese!
    
       attributes = {'src': 'limburger.jpg', 'alt': 'lovely cheese'}
       template = t'‹img {attributes}›'
       print (html(template))
    
          ‹img src="limburger.jpg" alt="lovely cheese" /›
    
    
  • В стандартную библиотеку добавлен модуль concurrent.interpreters, позволяющий одновременно выполнять в одном процессе несколько изолированных друг от друга копий Python-интерпрератора. Ранее данная возможность была доступна только через C-API. Одновременное выполнение нескольких интерпретаторов может использоваться для распаралелливания операций по аналогии с запуском нескольких параллельно выполняемых процессов, но в отличие от многопроцессной модели расходует меньше ресурсов. На уровне приложений для разделения операций по интерпретаторам могут использоваться модель акторов и CSP (взаимодействие последовательных процессов).
  • В CPython реализован новый тип интерпретатора, использующий хвостовые вызовы между C‑функциями, реализующими отдельные байткоды Python, вместо одной большой функции с выражением switch/case. При сборке в Clang 19 новый интерпретатор демонстрирует повышение производительности на 3-5% при выполнении тестов pyperformance. Новый интерпретатор пока доступен в качестве опции для архитектур x86-64 и AArch64, и требует для сборки как минимум версии Clang 19 (поддержку GCC обещают позднее).
  • Обеспечена отложенная обработка аннотаций для функций, классов и модулей. Аннотации теперь не обрабатываются сразу, а сохраняются в форме специализированных функций и вычисляются при возникновении необходимости. Новое поведение позволяет упростить работу с аннотациями и снизить накладные расходы на обработку аннотация во время выполнения. Для инспектирования отложенных аннотаций предложен модуль annotationlib.
  • В стандартную библиотеку добавлен пакет compression, предоставляющий функции для сжатия и распаковки данных при помощи различных алгоритмов. Помимо модулей compression.lzma, compression.bz2, compression.gzip и compression.zlib, предоставляющих доступ к функциональности, ранее доступной в модулях lzma, bz2, gzip и zlib, добавлен новый модуль compression.zstd с реализацией алгоритма ZSTD (Zstandard).
  • В выражениях "except" и "except*" разрешено не помещать содержимое в скобки, если в выражении указывается несколько типов исключений и не используется ключевое слово "as".
       try:
           connect_to_server()
       except TimeoutError, ConnectionRefusedError:
           print('The network has ceased to be!')
    
  • В интерактивной оболочке PyREPL реализована подсветка синтаксиса. Включён цветной вывод в CLI-утилитах из модулей unittest, argparse, json и calendar.
  • Добавлен интерфейс для подключения внешних отладчиков и профилировщиков к уже работающим процессам CPython, не требующий остановки и перезапуска, и не влияющий на производительность.
  • В модуль pdb добавлена поддержка удалённого подсоединения к работающим Python-процессам. Например, для подключения к процессу с номером 1234 можно использовать команду "python -m pdb -p 1234".
  • В модуль uuid добавлены функции uuid6(), uuid7() и uuid8() с реализацией 6, 7 и 8 версий UUID-идентификаторов.
  • Добавлен вывод предупреждения при использовании выражений "return", "break" и "continue" для выхода из блока "finally".
  • Добавлен C API PyInitConfig для настройки инициализации Python без привязки с структурам на языке Си, дающий возможность вносить изменения, не нарушающие ABI. Предоставляются функции Add PyConfig_Get() и PyConfig_Set() для получения и выставления конфигурации, а также функция PyInitConfig_AddModule() для добавления модуля с расширением.
  • Улучшены сообщения об ошибках. Добавлены рекомендации по устранению ошибок при опечатках в ключевых словах.
  • В состав интегрированы результаты работы по замене в Python реализаций криптографических алгоритмов, предлагаемых в модулях hashlib и hmac, на варианты с математическим (формальным) доказательством надёжности, подготовленные проектом "HACL*". Все предоставляемые по умолчанию в Python хэш-функции и HMAC заменены на варианты, для которых предоставлено формальное доказательство соответствия (формальная верификация). Среди прочего, добавлена реализация HMAC-BLAKE2, использующая SIMD-инструкции AVX2 для ускорения вычислений.
  • Добавлен новый интерфейс командной строки ("python -m asyncio ps PID" и "python -m asyncio pstree PID") для инспектирования запущенных Python-процессов с асинхронными задачами (asyncio).
  • В состав готовых сборок для macOS и Windows включён экспериментальный JIT-компилятор. Инсталлятор для Windows заменён на менеджер установок.
  • Для верификации целостности сборок вместо PGP-подписей задействована система криптографической верификации кода Sigstore.
  • Предоставлены официальные бинарные сборки для платформы Android.

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

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

contrinitiator honked 08 Oct 2025 09:28 +0200

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

opennet honked 08 Oct 2025 09:00 +0200

Компания Cisco выпустила антивирусный пакет ClamAV 1.5.0

После более года разработки компания Cisco опубликовала выпуск свободного антивирусного пакета ClamAV 1.5.0. Проект перешёл в руки Cisco в 2013 году после покупки компании Sourcefire, развивающей ClamAV и Snort. Код проекта распространяется под лицензией GPLv2. Ветка 1.5.0 отнесена к категории обычных (не LTS), обновления к которым публикуются как минимум в течение 4 месяцев после выхода первого релиза следующей ветки. Возможность загрузки базы сигнатур для не-LTS веток также обеспечивается как минимум ещё 4 месяца после выпуска следующей ветки.

Ключевые изменения в ClamAV 1.5:

  • Добавлена проверка, определяющая зашифрованные документы Microsoft Office.
  • Добавлена возможность извлечения ссылок, присутствующих в обрабатываемых HTML- и PDF-файлах. Ссылки выводятся в формате JSON при активном режиме генерации метаданных JSON. Функция может быть отключена через опции командной строки ClamScan "--json-store-html-uris=no" и "--json-store-pdf-uris=no", директивы "JsonStoreHTMLURIs no" и "JsonStorePDFURIs no" в clamd.conf или переменные окружения CL_SCAN_GENERAL_STORE_HTML_URIS и CL_SCAN_GENERAL_STORE_PDF_URIS.
  • В настройке "OnAccessExcludePath" разрешено задание масок исключения файловых путей при помощи регулярных выражений.
  • Добавлена поддержка верификации и заверения цифровой подписью архивов БД сигнатур (CVD) и изменений к БД (CDIFF) с использованием внешних файлов с расширением ".sign", которые автоматически загружаются утилитой Freshclam вместе с cvd-базами и cdiff-патчами. Для проверки и генерации подписей можно использовать команды "sigtool verify" и "sigtool sign". Используемые сертификаты устанавливаются по умолчанию в каталог "‹prefix›/etc/certs", который может быть изменён при сборке через опцию "-D CVD_CERTS_DIRECTORY=PATH", настройку CVDCertsDirectory, переменную окружения CVD_CERTS_DIR или параметр командной строки "--cvdcertsdir PATH".
  • В программы Freshclam, ClamD, ClamScan и Sigtool добавлена возможность отключения ненадёжных алгоритмов хэширования MD5 и SHA1 при верификации по цифровой подписи и проверке ложных срабатываний для заслуживающих доверия файлов. Отключение MD5 и SHA1 осуществляется через настройку "FIPSCryptoHashLimits" или опцию "--fips-limits"
  • В реализации кэша проверенных файлов вместо MD5 задействован алгоритм SHA2-256.
  • В Clamd добавлены настройки EnableShutdownCommand, EnableReloadCommand, EnableStatsCommand и EnableVersionCommand для отключения обработки команд завершения работы, перезапуска, вывода статистики и показа версии.
  • В libclamav добавлены дополнительные функции для операций сканирования, расширенные функции для работы с хэшами, опции для управления рекурсивным обходом каталога с временными файлами. Для каждого сканируемого объекта задействован уникальный идентификатор объекта.
  • В утилите ClamScan повышена точность счётчиков с размером прочитанных и просканированных данных. Добавлена возможность вывода размера в гигабайтах, мегабайтах, килобайтах или байтах.
  • В ClamScan добавлены новые опции командной строки: "--hash-hint", "--log-hash", "--file-type-hint" и "--log-file-type".
  • Максимальное значение настройки max-recursion в файле конфигурации ограничено 100 для защиты от сбоев при обработке файлов с глубокой рекурсией.
  • Повышено качество кода в модуле работы с ZIP-архивами. Улучшена поддержка извлечения данных из некорректных zip-архивов.
  • Реализовано определение типов файлов с AI-моделями.
  • Разрешено указание комментария в конце строки с активной опцией (например, "LogVerbose yes #no")
  • На платформе Windows улучшена поддержка имён файлов с символами UTF-8, не отмеченными в кодовых страницах ANSI и OEM.
  • Улучшена поддержка сборки для платформ GNU/Hurd, Solaris и AIX.


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

opennet honked 08 Oct 2025 08:00 +0200

Выпуск nginx 1.29.2 и форка FreeNginx 1.29.2

Опубликован выпуск основной ветки nginx 1.29.2, в которой продолжается развитие новых возможностей. В параллельно поддерживаемую стабильную ветку 1.28.x вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей. В дальнейшем на базе основной ветки 1.29.x будет сформирована стабильная ветка 1.30. Код проекта написан на языке Си и распространяется под лицензией BSD.

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

  • Добавлена возможность сборки с криптографической библиотекой AWS-LC, развиваемой компанией Amazon.
  • Решена проблема при работе директивы "ssl_protocols" с виртуальным сервером, отличным от сервера по умолчанию. Проблема проявлялась при использовании OpenSSL 1.1.1 и более новых выпусков.
  • Устранён сбой согласования соединения TLSv1.3 в конфигурациях с OpenSSL и клиентскими сертификатами. Сбой проявлялся при возобновлении сеанса с другим значением SNI.
  • Исправлена ошибка, приводившая к выводу в лог сообщения "ignoring stale global SSL error" при использовании протокола QUIC и директивы "ssl_reject_handshake".
  • Устранена проблема при обработке значений со временем в возвращаемом бэкендом HTTP-заголовке "Cache-Control".
  • Налажено использование кодировки xtext в команде XCLIENT.
  • Устранена проблема с кэшированием TLS-сертификатов во время переконфигурации.

Дополнительно можно отметить публикацию релиза проекта FreeNginx 1.29.2, развивающего форк Nginx. Разработку форка ведёт Максим Дунин, один из ключевых разработчиков Nginx. FreeNginx позиционируется как некоммерческий проект, обеспечивающий разработку кодовой базы Nginx без корпоративного вмешательства. Код FreeNginx продолжает поставляться под лицензией BSD. Среди изменений в FreeNginx 1.29.2 отмечается добавление поддержки TLS-расширения ECH (Encrypted Client Hello).

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

opennet honked 07 Oct 2025 22:00 +0200

Qualcomm поглощает Arduino. Представлены плата Arduino UNO Q и среда разработки Arduino App Lab

Компания Arduino, занимающаяся проектированием и разработкой открытых плат на базе микроконтроллеров, объявила о продаже бизнеса компании Qualcomm Technologies. Сумма сделки не разглашается. Отмечается, что присоединение к Qualcomm позволит расширить возможности Arduino по продвижению открытых аппаратных устройств по всему миру.

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

Одновременно представлены два новых продукта Arduino:

  • Плата UNO Q, сочетающая в себе процессор Qualcomm Dragonwing QRB2210 и микроконтроллер STM32U585. Процессор QRB2210 имеет 4 ядра Cortex-A53 (2.0 GHz), оснащён GPU Adreno 702 (с поддержкой OpenGL ES 3.1, Vulkan 1.1 и OpenCL 2.0 и аппаратными декодировщиками H.264, H.265 и VP9) и двухядерным DSP c функциями ускорителя выполнения AI-моделей и обработки звука. В качестве операционной системы предлагается запускать Debian GNU/Linux. Производительности процессора достаточно для использования в робототехники и решения задач машинного зрения.

    Микроконтроллер STM32U585 включает ядро Arm Cortex-M33 160 MHz с поддержкой технологии TrustZone, DSP и FPU, и может использоваться для управления дополнительным оборудование в режиме реального времени. Плата оснащена 16 ГБ eMMC, до 4 ГБ ОЗУ, USB-C, Wi-fi 2.4/5 GHz, Bluetooth 5.1. Форм-фактор платы, коннекторы и поддержка периферийных устройств аналогичны модели Arduino Uno.

  • Интегрированная среда разработки Arduino App Lab, поддерживающая создание приложений для платы Arduino UNO Q с использованием методов визуального проектирования. При разработке приложений можно использовать как визуальную компоновку из готовых блоков, так и традиционный код на C++ и Python. Arduino App Lab также интегрирована с платформой Edge Impulse и предоставляет оптимизированные модели машинного обучения, которые можно использовать для таких задач, как идентификации объектов, определения аномалий, классификация изображений и распознавания звука. Код Arduino App Lab распространяется под лицензией GPLv3.

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

contrinitiator honked 07 Oct 2025 20:36 +0200

"Для некоторых самым милосердным будет не понимание и любовь, а жесткость и аннигиляция".

opennet honked 07 Oct 2025 20:00 +0200

Бывшие мэйнтейнеры RubyGems основали альтернативный репозиторий Gem Cooperative

Пять бывших сопровождающих репозитории RubyGems и Bundler, среди которых владелец торговой марки Bundler, объявили о создании альтернативного проекта - Gem Cooperative, который подконтролен сообществу и использует открытую модель управления, созданную с оглядкой на проект Homebrew. На текущем этапе проектом запущен gem-cервер, содержащий все пакеты из каталога RubyGems.org и синхронизированный с ним. Заявлена полная совместимость с системой управления пакетами RubyGems и менеджером зависимостей Bundler.

Сервер пока работает в режиме зеркала RubyGems.org, а функциональность для публикации пакетов планируют добавить в ближайшие месяцы. Для переключения на альтернативный сервер достаточно заменить в gemfile значение параметра source с "https://rubygems.org" на "https://gem.coop".

Основавшие Gem Cooperative мэйнтейнеры были отстранены от работы над RubyGems после инцидента с некоммерческой компанией Ruby Central, курирующей проведение конференций RubyConf и отвечавшей за поддержание инфраструктуры для работы сервиса RubyGems.org. В сентябре компания Ruby Central получила полный контроль над GitHub-репозиториями, в которых ведётся разработка RubyGems, rubygems.org и Bundler, и приняла решение исключить всех внешних мэйнтейнеров.

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

Помимо принудительно исключённых мэйнтейнров в числе основателей Gem Cooperative присутствует Элен Даш (Ellen Dash), которая в сентябре уволилась из компании Ruby Central и сложила с себя обязанности мэйнтейнера в знак протеста против действий Ruby Central, которые Элен характеризовала как враждебное поглощение проекта. По мнению Элен действия Ruby Central были несправедливыми и прав администраторов лишились заслуженные люди, делом заработавшие свою репутацию и более десяти лет занимавшиеся сопровождением RubyGems и Bundler.

Джоэл Драппер (Joel Drapper), мэйнтейнер gem-пакетов Phlex и Literal, и бывший сотрудник компании Shopify, ключевого спонсора Ruby Central, считает действия Ruby Central захватом репозиториев, раннее контролируемых сообществом. По его мнению у компании Ruby Central, обеспечивающей работу сервиса RubyGems.org, не было необходимости в присвоении git-репозиториев, так как она полостью контролировала то, какой код использовать для организации работы сервиса RubyGems.org. Присвоение прав на репозитории с кодом, который используется для запуска сервиса, сравнивается с присвоением прав на библиотеку функций на основании того, что она используется в приложении.

Тем временем, в сообществе разработчиков Ruby назревает ещё один конфликт - опубликовано открытое письмо с призывом создать форк фреймворка Ruby on Rails, независимый от его создателя, Давида Хейнемейера Ханссона (David Heinemeier Hansson). Давиду вменяют расистские и трансфобные высказывания, недостойные лидера сообщества (например, расистские высказывания сводятся к тому, что в одной из заметок Давид упомянул, что Лондон уже не полон коренных британцев). Открытое письмо уже подписало более 140 участников. Среди подписавших Тим Брэй (соавтор спецификации XML), Джефф Этвуд (сооснователь Stack Overflow и Discourse) и Евгений Рочко (создатель социальной сети Mastodon).

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

continue bonked 07 Oct 2025 16:32 +0200
original: kidchai@mastodon.ml

Мастер, заделавший дыры в нашей кладовке: тут была дырка в полу. Я её заделал, других дыр в стенах или полу не было. Так что больше крысы к вам не пролезут.

Крыса-десантник:

External Attachment: Видео из кладовки, снимающее дверь и пол. Внезапно откуда-то сверху на пол падает крыса.

contrinitiator honked 07 Oct 2025 14:33 +0200

Пять лет назад в моём дворе была одна видеокамера, и то частника, а сейчас около двадцати.

#прогресс

continue honked 13 Oct 2025 23:07 +0200

И мы должны везде побывать с уничтожающей мощью на борту кораблей, чтобы разбить все, что несовместимо с нашим разумом?

Станислав Лем, "Непобедимый"

@litclub

(#федичитает #чтопочитать)

Книга первого издания романа