home tags events about rss login

Things happen.

opennet honked 23 Sep 2023 22:00 +0200

Компания Intel присоединилась к разработке CentOS Stream

Компания Red Hat приветствовала присоединение Intel к разработке дистрибутива CentOS Stream. Intel подключился к рабочим группам CentOS Stream, курирующим вопросы, связанные с поддержкой процессорных архитектур и наборов инструкций, виртуализации и создания решений для больших инфраструктур. Ожидается, что участие Intel повысит эффективность поддержки новейших аппаратных архитектур, а также позволит увеличить производительность продуктов Red Hat на системах с процессорами Intel и реализовать в RHEL поддержку таких технологий Intel, как QAT (QuickAssist Technology).

Дополнительно на конференции Innovation 2023 в одном из докладов Intel было упомянуто сотрудничество с Red Hat, Canonical и SUSE в работе по оптимизации производительности дистрибутивов для новых процессоров Intel.

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

opennet honked 23 Sep 2023 21:00 +0200

Релиз векторной графической библиотеки Cairo 1.18.0

После 5 лет разработки представлен новый стабильный релиз векторной графической библиотеки Cairo 1.18.0. Код Cairo распространяется под лицензиями LGPL и Mozilla Public License. Среди известных проектов, использующих Cairo, можно отметить GTK и Firefox.

Cairo предоставляет унифицированный программный интерфейс для векторного формирования изображений, похожий на операции рисования в PostScript и PDF, но не зависящий от отдельных механизмов вывода. Формирование 2D-графики может производиться при помощи различных бэкендов вывода, от стандартного вывода на экран через X Window System, Quartz и Win32, до генерации PostScript, PDF, SVG и задействования OpenGL, XCB и DirectFB. Кроме функций, напоминающих операторы рисования PostScript и PDF, API библиотеки предоставляет такие дополненные возможности, как трансформация изображений (масштабирование, поворот, вращение и т.п.), создание полупрозрачных объектов и рендеринг текста.

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

  • Для PDF реализована поддержка цветных шрифтов в формате Type 3.
  • Автоматически включена поверхность Tee, обеспечивающая перенаправление ввода в другие поверхности (используется в Firefox).
  • Решены проблемы в шрифтовом бэкенде DWrite.
  • Улучшены поверхности Quart, в которых ускорены операции отрисовки и задействовано цветовое пространство основного экрана.
  • Добавлен API для применения dithering-фильтра из Pixman.
  • Удалена утилита cairo-sphinx.
  • Удалена поверхность XML, которая была отключена по умолчанию и не использовалась в дистрибутивах.
  • Удалены бэкенды и платформы: Qt4, BeOS, OS/2, DirectFB, DRM, Cogl и OpenVG.


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

opennet honked 23 Sep 2023 20:00 +0200

Проект Wine опубликовал Vkd3d 1.9 с реализацией Direct3D 12

Проект Wine опубликовал выпуск пакета vkd3d 1.9 с реализацией Direct3D 12, работающей через трансляцию вызовов в графический API Vulkan. В состав пакета входят библиотеки libvkd3d с реализаций Direct3D 12, libvkd3d-shader c транслятором 4 и 5 модели шейдеров и libvkd3d-utils с функциями для упрощения портирования приложений Direct3D 12, а также набор демонстрационных примеров, включая порт glxgears на Direct3D 12. Код проекта распространяется под лицензией LGPLv2.1.

Библиотека libvkd3d поддерживает большую часть возможностей Direct3D 12, включая средства для графики и вычислений, очереди и списки команд, дескрипторы и дескрипторы кучи, корневые сигнатуры, неупорядоченный доступ, Sampler-ы, сигнатуры команд, корневые константы, непрямую (indirect) отрисовку, методы Clear*() и Copy*(). В libvkd3d-shader реализована трансляция байткода 4 и 5 моделей шейдеров в промежуточное представление SPIR-V. Поддерживаются вершинные, пиксельные, тесселяционные, вычислительные и простые геометрические шейдеры, сериализация и десериализация корневой сигнатуры. Из шейдерных инструкций реализованы арифметические, атомарные и битовые операции, операторы сравнения и управления потоком передачи данных, инструкции sample, gather и load, операции неупорядоченного доступа (UAV, Unordered Access View).

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

  • Добавлена утилита vkd3d-dxbc для инспектирования блобов DXBC и продолжена работа по улучшению компилятора шейдеров на языке HLSL (High-Level Shader Language).
    • Реализованы встроенные функции clip(), ddx_coarse(), ddy_coarse(), ddx_fine(), ddy_fine(), tex1D(), tex2D(), texCUBE() и tex3D().
    • В функции vkd3d_shader_scan() появилась возможность извлечения информации о дескрипторе для шейдеров d3dbc.
    • Добавления поддержка свёртки констант для операторов сравнения, min() и max() с числами с плавающей запятой, логических операций AND и OR, квадратных корней и логарифмов.
    • Упрощено определение объектов мультисэмпловых текстур.
    • Для функций реализован модификатор "inline".
  • В функции ID3D12GraphicsCommandList::CopyResource() добавлена поддержка копирования между форматами цвета и глубины/масок (stencil).
  • Добавлена поддержка интерфейса ID3D12Fence1.
  • Добавлены стуркутры vkd3d_shader_scan_signature_info и vkd3d_shader_varying_map_info, а также связанные с ними функции vkd3d_shader_free_scan_signature_info() и vkd3d_shader_build_varying_map().


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

opennet honked 23 Sep 2023 20:00 +0200

Выпуск свободной операционной системы Visopsys 0.92

После двух лет разработки опубликован релиз визуальной операционной системы Visopsys 0.92 (VISual OPerating SYStem), разрабатываемой с 1997 года и не похожей на Windows и Unix. Код системы разработан с нуля и распространяется в исходных текстах под лицензией GPLv2. Загрузочный Live-образ занимает 23 МБ.

Графическая подсистема, при помощи которой формируется интерфейс пользователя, интегрирована прямо в ядро ОС, при этом поддерживается и работа в консольном режиме. Из файловых систем в режиме чтения/запись предлагаются FAT32, в режиме только для чтения дополнительно поддерживаются Ext2/3/4. В Visopsys реализована вытесняющая многозадачность, многопоточность, сетевой стек, динамическое связывание, поддержка асинхронного ввода/вывода и виртуальной памяти. Подготовлен типовой набор приложений и стандартных Си-библиотек. Ядро работает в 32-разрядном защищенном режиме и оформлено в массивно-монолитном стиле (все вкомпилировано, без поддержки модулей). Исполняемые файлы оформлены в стандартном формате ELF. Имеется встроенная поддержка изображений JPG, BMP и ICO.

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

  • Добавлена поддержка 64-разрядных файловых систем EXT2/3/4 (в режиме чтения).
  • Проведена работа по переводу реализации многозадачности в ядре на программное переключение задач. В частности, реализована функция contextSwitch(), добавлен поток collector для очистки завершённых процессов, планировщик задач преобразован для работы в форме обработчика прерываний.
  • Расширены возможности текстового редактора "edit", в котором появились элементы "New" и "Save As" в меню.
  • Добавлена оконная библиотека для создания диалогов "cancel", отменяющих незавершённые операции. Например, данный диалог можно использовать для отмены очень долго устанавливаемых TCP-соединений.
  • В сниффер пакетов добавлена поддержка фильтров, отсеивающий определённый вид трафика (TCP, ARP и т.п.).
  • Добавлена программа errno для вывода сообщений, связанных с заданными кодами ошибок.
  • Обновлены используемые в ядре функции хэширования на базе алгоритма MD5. Программа md5 разделена на отдельные утилиты md5pass и md5sum для создания хэшей для строк и файлов.
  • Улучшено использование блокировок для структур ядра.
  • В стандартную библиотеку добавлена функция strndup(). Реализована глобальная таблица строк, ассоциированных с кодами ошибок.



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

opennet honked 23 Sep 2023 19:00 +0200

Arch Linux переходит на yescrypt для хэширования паролей

Разработчики Arch Linux объявили о смене применяемой по умолчанию схемы хеширования паролей с SHA512 на yescrypt, а также о переходе на хранение настроек параметра umask в файле конфигурации /etc/login.defs вместо /etc/profile. Yescrypt расширяет возможности классического scrypt поддержкой использования схем с большим расходом оперативной памяти и снижает эффективность атак, использующих GPU, FPGA и специализированные чипы. Безопасность Yescrypt обеспечивается благодаря применению уже проверенных криптографических примитивов SHA-256, HMAC и PBKDF2.

Из недостатков ранее применявшейся схемы хэширования паролей на основе алгоритма SHA512 можно выделить: необходимость задания достаточно больших значений salt (не менее 128 бит); подверженность DoS-атакам через создание паразитной нагрузки на CPU при хэшировании длинных паролей; подверженность атаке по определению размера пароля на основе пассивного анализа времени обработки хэша; работа без применения криптографической функции формирования ключа (KDF, key derivation function).

Дополнительно можно отметить обновление инсталлятора Archinstall 2.6.1, который с апреля 2021 года в качестве опции входит в состав установочных iso-образов Arch Linux. Archinstall может использоваться вместо предлагаемого по умолчанию ручного режима установки дистрибутива, предоставляя диалоговый (guided) и автоматизированный режимы установки.В диалоговом режиме пользователю последовательно задаются вопросы, охватывающие основные настройки и действия из руководства по установке. В автоматизированном режиме имеется возможность использования скриптов для развёртывания типовых конфигураций. Инсталлятор также поддерживает профили установки, например, профиль "desktop" для выбора рабочего стола (KDE, GNOME, Awesome) и установки необходимых для его работы пакетов, или профили "webserver" и "database" для выбора и установки начинки web-серверов и СУБД.

В новой версии у пользователя появилась возможность задания произвольного числа параллельных загрузок, добавлена опция для использования ly в качестве консольного дисплейного менеджера, а также использования slick-greeter вместо gtk-greeter в lightdm. В профиль, формирующий окружение на основе композитного сервера Hyprland, добавлены приложения kitty, dolphin и wofi.

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

contrinitiator honked 23 Sep 2023 18:35 +0200

Только вернулся домой, а в любимом городе как обычно: в парке жарят шашлындос, рядом фотосессия с мадамами в платьях, на перекрёстке опять колдуют.
#ЛенинградНутряной

opennet honked 22 Sep 2023 16:00 +0200

Бета-выпуск Ubuntu 23.10

Представлен бета-выпуск дистрибутива Ubuntu 23.10 "Mantic Minotaur", после формирования которого произведена полная заморозка пакетной базы, и разработчики перешли к итоговому тестированию и исправлению ошибок. Релиз, который отнесён к промежуточным выпускам, обновления для которых формируются в течение 9 месяцев, запланирован на 12 октября. Готовые тестовые образы созданы для Ubuntu, Ubuntu Server, Lubuntu, Kubuntu, Ubuntu Mate, Ubuntu Budgie, Ubuntu Studio, Xubuntu, UbuntuKylin (редакция для Китая), Ubuntu Unity, Edubuntu и Ubuntu Cinnamon.

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

  • Рабочий стол обновлён до выпуска GNOME 45, в котором в панели появился динамический индикатор виртуальных рабочих столов, повышена производительность системы поиска, добавлен индикатор включения камеры, задействовано аппаратное ускорение воспроизведения видео, заменены просмотрщик изображений и приложение для работы с камерой, изменён стиль отображения боковых панелей, обновлены библиотеки GTK 4.12 и libadwaita 1.4. Из специфичных для Ubuntu изменений отмечается включение в поставку приложения GNOME Clocks.
  • Ядро Linux обновлено до версии 6.5. Из специфичных для Ubuntu изменений в пакете с ядром выделяется сжатие модулей с использованием алгоритма zstd, что позволило сократить время загрузки. В пакет с ядром добавлены свежие наборы патчей для shiftfs, Apparmor и LSM. По умолчанию включён механизм MGLRU (Multi-Generational LRU), который заменяет старую реализацию LRU (Least Recently Used) на основе двух очередей на многоступенчатую структуру, лучше определяющую какие страницы памяти по настоящему используются, а какие можно вытеснить в раздел подкачки. Проведена оптимизация настроек ядра с целью снижения задержек при выполнении десктоп-ориентированных задач. Реализация ZFS обновлена до версии 2.2.0~rc3. В ФС Ceph перенесена поддержка маппинга пользовательских идентификаторов при монтировании.
  • Обновлены версии GCC 13.2.0, binutils 2.41, glibc 2.38, Python 3.11.5 (в репозитории также доступен Python 3.12.0-rc2), Perl 5.36.0, LLVM 16 (в репозитории также доступен LLVM 17), Rust 1.71, OpenJDK 21 (также оставлен OpenJDK 17), .NET 7.0.110, Go 1.21,
  • Обновлены подсистемы: Mesa 23.1.7, BlueZ 5.68, NetworkManager 1.44, Pipewire 0.3.79, Poppler 23.08, xdg-desktop-portal 1.17.2, CUPS 2.4.6, PulseAudio 16.1, Snapd 2.60.3.
  • Обновлены пользовательские приложения, среди которых Firefox 117, LibreOffice 7.6, Thunderbird 115.2, GIMP 2.10.34, Rhythmbox 3.4.7, Blender 3.6.2, Krita v5.1.5, Scribus 1.5.8, Darktable 4.2.1, Inkscape 1.2.2, OBS Studio 29.1.3.
  • Обновлены серверные пакеты: Nginx 1.24, Apache httpd 2.4.57, Django 4.2, Dovecot 2.3.20, Spamassassin 4 (с поддержкой DMARC), Docker n 24.0.5, Containerd 1.7.2, Runc 1.1.7.
  • Добавлена экспериментальная поддержка шифрования дисков, не требующая ввода пароля разблокировки диска при загрузке, благодаря хранению информации для расшифровки ключей в TPM (Trusted Platform Module).
  • В инсталляторе возвращена поддержка файловой системы ZFS.
  • Предложен новый менеджер приложений Ubuntu Store, написанный на языке Dart с использованием фреймворка Flutter и адаптивных методов компоновки интерфейса для корректной работы на экранах любого размера. Ubuntu Store реализует комбинированный интерфейс для работы с пакетами в формате DEB и Snap (при наличии одной программы в пакетах deb и snap по умолчанию выбирается snap), позволяет выполнять поиск и навигацию по каталогу пакетов snapcraft.io и подключённым DEB-репозиториям, даёт возможность управлять установкой, удалением и обновлением приложений, устанавливать отдельные deb-пакеты из локальных файлов. В приложение задействована новая система рейтинга, в которой пятибалльная шкала оценки заменена на голосование в формате нравится/не нравится (+1/-1), на основе которого выводится виртуальный пятизвёздочный рейтинг. Поставка старого менеджера приложений Ubuntu Software сохранена в качестве опции.
  • Добавлено новое приложение для обновления прошивок (Firmware Updater), позволяющее устанавливать обновления прошивок без запуска фонового сервиса управления обновлениями.
  • Добавлен пакет fonts-ubuntu-classic, в котором предложен набор классических шрифтов, используемых в Ubuntu до выпуска 23.04.
  • Реализована поддержка аппаратного кодирования и декодирования видео в snap-пакете с браузером Chromium.
  • Расширены инструменты управления конфиденциальностью - добавлен механизм, запрашивающий у пользователя полномочия при необходимости предоставления приложениям дополнительных прав (например, для доступа к определённым файлам).
  • Повышена безопасность управления ключами PPA-репозиториев. Утилита add-apt-repository теперь добавляет все данные PPA-репозиториев в .sources-файлы в формате deb822, вместо раздельного добавления .list-файла в /etc/apt/sources.list.d/ и gpg-ключа в /etc/apt/trusted.gpg.d.
  • Для установки Ubuntu Desktop в новом инсталляторе по умолчанию задействован режим "minimal". Для получения возможности начальной установки дополнительных приложений, таких как LibreOffice и Thunderbird, доступна возможность выбора расширенного режима установки (Expanded installation).
  • В Ubuntu Desktop для хранения настроек сетевых интерфейсов задействована система Netplan, уже применяемая в Ubuntu Server. При обновлении системы миграция настроек и профилей NetworkManager (из /etc/NetworkManager/system-connections/ в /etc/netplan/90-NM-*.yaml ) выполняется автоматически (копия старых настроек и профилей сохраняется в /etc/netplan/01-network-manager-all.yaml.dpkg-backup и /var/lib/NetworkManager/backups/). Файл конфигурации /etc/netplan/01-network-manager-all.yaml перенесён в /lib/netplan/00-network-manager-all.yaml, так как его теперь не рекомендуется изменять вручную.
  • Включён механизм Active Directory Certificate Auto Enrollment, позволяющий автоматически получать сертификаты из сервисов Active Directory при включении групповых политик. Автоматическое получение сертификатов через Active Directory также применяется при подключении к корпоративным беспроводным сетям и VPN.
  • В сборках для плат Raspberry Pi добавлена официальная поддержка модулей с камерами, среди прочего оснащёнными автофокусом. Библиотека libcamera обновлена до версии 0.1. Настройки cloud-init изменены для отключения по умолчанию парольной аутентификации в сервере SSH.
  • Доступ к пространствам имён идентификаторов пользователя (user namespace) теперь предоставляется только программам, для которых добавлен специальный профиль AppArmor (например, для Chrome создан профиль /etc/apparmor.d/opt.google.chrome.chrome, который можно использовать в качестве примера для открытия доступа к user namespace для других программ). Изменение позволит повысить защищённость систем, использующих контейнерную изоляцию, от уязвимостей, для эксплуатации которых необходим доступ к user namespace.
  • Развивается редакция Ubuntu Core Desktop, основанная на платформе Ubuntu Core и включающая только приложения, оформленные с использованием пакетов в формате Snap.
  • В Kubuntu предложен рабочий стол KDE Plasma 5.27.8 и набор приложений KDE Gear 23.08.1.
  • В Ubuntu Cinnamon задействовано пользовательское окружение Cinnamon 5.8.4.
  • В Xubuntu обновлено окружение на базе Xfce 4.18. Задействованы новые версии Mousepad 0.6.1, Ristretto 0.13.1, Xfce Power Manager 4.18.2, Xfce Screensaver 4.18.2, Xfce PulseAudio Plugin 0.4.7, Xfce Screenshooter 1.10.4, elementary-xfce 0.18, Greybird 3.23.3, GNOME Disk Usage Analyzer (baobab), GNOME Fonts (gnome-font-viewer) и GNOME Document Scanner (simple-scan). В некоторых компонентах Xfce улучшена поддержка масштабирования интерфейса. В состав включены цветные emoji. Улучшена поддержка наушников с интерфейсом Bluetooth. Добавлена поддержка новых сенсорных устройств ввода, таких как Apple Magic Trackpad.
  • В Ubuntu Studio обновлены версии Carla 2.5.6, Audacity 3.3.3, Ardour 7.5.0, Patchance 1.1.0, digiKam 8.1.0, OBS Studio upgraded to 29.1.3, Blender 3.6.2, KDEnlive 23.08.1, Freeshow 0.9.7, Q Light Controller Plus 4.12.7.
  • В Ubuntu MATE задействован выпуск MATE Desktop 1.26.3, а панель MATE Panel обновлена до ветки 1.27 и включает дополнительные патчи.
  • В Lubuntu по умолчанию предложено пользовательское окружение LXQt 1.3.
  • В Ubuntu Budgie рабочий стол Budgie обновлён до версии 10.8. Добавлен новый апплет с реализацией корзины. Добавлена поддержка Magpie, форка Mutter. Улучшен диалог аутентификации, выводимый при необходимости предоставления расширенных прав доступа. Реализован выбор профиля производительности (экономия энергии, сбалансированное энергопотребление и максимальная производительность).


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

contrinitiator honked back 22 Sep 2023 11:38 +0200
in reply to: https://libranet.de/objects/0b6b25a8-1865-0d5e-01d1-dfb881256742

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

opennet honked 22 Sep 2023 11:00 +0200

Опубликован Bottlerocket 1.15, дистрибутив на базе изолированных контейнеров

Опубликован выпуск Linux-дистрибутива Bottlerocket 1.15.0, развиваемого при участии компании Amazon для эффективного и безопасного запуска изолированных контейнеров. Инструментарий и управляющие компоненты дистрибутива написаны на языке Rust и распространяются под лицензиями MIT и Apache 2.0. Поддерживается запуск Bottlerocket в кластерах Amazon ECS, VMware и AWS EKS Kubernetes, а также создание произвольных сборок и редакций, допускающих применение различных инструментов оркестровки и runtime для контейнеров.

Дистрибутив предоставляет атомарно и автоматически обновляемый неделимый системный образ, включающий ядро Linux и минимальное системное окружение, включающие только компоненты, необходимые для запуска контейнеров. В окружении задействованы системный менеджер systemd, библиотека Glibc, сборочный инструментарий Buildroot, загрузчик GRUB, конфигуратор сети wicked, runtime для изолированных контейнеров containerd, платформа оркестровки контейнеров Kubernetes, аутентификатор aws-iam-authenticator и агент Amazon ECS.

Инструменты для оркестровки контейнеров поставляются в отдельном управляющем контейнере, который включается по умолчанию и управляется через API и AWS SSM Agent. В базовом образе отсутствует командная оболочка, сервер SSH и интерпретируемые языки (например, нет Python или Perl) - средства для администратора и отладочные инструменты вынесены в отдельный служебный контейнер, который по умолчанию отключён.

Ключевым отличием от похожих дистрибутивов, таких как Fedora CoreOS, CentOS/Red Hat Atomic Host является первичная ориентация на предоставление максимальной безопасности в контексте усиления защиты системы от возможных угроз, усложнения эксплуатации уязвимостей в компонентах ОС и повышения изоляции контейнеров. Контейнеры создаются при помощи штатных механизмов ядра Linux - cgroups, пространств имён и seccomp. Для дополнительной изоляции в дистрибутиве применяется SELinux в режиме "enforcing".

Корневой раздел монтируется в режиме только для чтения, а раздел с настройками /etc монтируется в tmpfs и восстанавливает исходное состояние после перезапуска. Прямое изменение файлов в каталоге /etc, таких как /etc/resolv.conf и /etc/containerd/config.toml, не поддерживается - для постоянного сохранения настроек следует использовать API или выносить функциональность в отдельные контейнеры. Для криптографической верификации целостности корневого раздела задействован модуль dm-verity, а в случае выявления попытки модификации данных на уровне блочного устройства система перезагружается.

Большинство системных компонентов написаны на языке Rust, предоставляющем средства для безопасной работы с памятью, позволяющие избежать уязвимостей, вызванных обращением к области памяти после её освобождения, разыменованием нулевых указателей и выходом за границы буфера. При сборке по умолчанию применяются режимы компиляции "--enable-default-pie" и "--enable-default-ssp" для включения рандомизации адресного пространства исполняемых файлов (PIE) и защиты от переполнения стека через подстановку канареечных меток. Для пакетов, написанных на языке C/C++, дополнительно включаются флаги "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" и "-fstack-clash-protection".

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

  • На платформах, использующих UEFI, добавлена поддержка безопасного режима загрузки (Secure Boot).
  • Ядро Linux обновлено до версии 6.1. Системный менеджер systemd обновлён до версии 252.
  • Для настройки сети на хостах задействованы компоненты systemd-networkd и systemd-resolved вместо сервиса wicked.
  • Локальное хранилище переведено на использование файловой системы XFS для новых установок (на уже установленных системах продолжат использоваться EXT4, wicked и прошлые ядра).
  • Обновлено содержимое управляющего (control) и администрирующего (admin) контейнеров.
  • Добавлена команда "apiclient report" для генерации отчёта CIS (Center of Internet Security) с оценкой безопасности настроек. Также в состав включён агент для проверки соответствия системы требованиям CIS.
  • В параметры, задаваемые по умолчанию для контейнеров OCI, добавлены настройки ограничения ресурсов.
  • Предложен новый вариант дистрибутива "aws-ecs-2" для Amazon Elastic Container Service (Amazon ECS), в котором используется UEFI Secure Boot, systemd-networkd и XFS. Во всех вариантах дистрибутива для Amazon ECS добавлена поддержка AppMesh.
  • Предложены новые варианты дистрибутива c поддержкой Kubernetes 1.28, в которых используются UEFI Secure Boot, systemd-networkd и XFS. Прекращена поддержка вариантов на базе Kubernetes 1.22 и обновлены версии Kubernetes 1.27.4, 1.26.7, 1.25.12 и 1.24.16 в остальных поддерживаемых вариантах. В варианты на базе Kubernetes 1.25 и более новых выпусков добавлена настройка SeccompDefault.
  • В вариантах дистрибутива "metal-*" (Bare Metal, для работы поверх обычного оборудования) включён драйвер Intel VMD и добавлены пакеты linux-firmware и aws-iam-authenticator.


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

opennet honked 22 Sep 2023 09:00 +0200

Локальная уязвимость в сетевой подсистеме ядра Linux

В сетевой подсистеме ядра Linux выявлена уязвимость (CVE-2023-42752), позволяющая через манипуляции с сетевыми сокетами в пространстве пользователя перезаписать содержимое памяти ядра, что потенциально может использоваться для организации выполнение непривилегированным пользователем своего кода на уровне ядра. Уязвимость является локальной и не может быть эксплуатирована удалённо по сети. Включение механизма защиты SMAP (Supervisor Mode Access Prevention) в ядре блокирует проблему.

Уязвимость вызвана целочисленным переполнением в функции ядра Linux "__alloc_skb", обеспечивающей выделение памяти для структуры sk_buff (socket buffer), которая используется для хранения сетевых пакетов. Переполнение возникает из-за отсутствия должной проверки получаемых от пользователя параметров, применяемых для вычисления размера буфера. Для совершения атаки непривилегированным пользователем требуется доступ к созданию пространств имён идентификаторов пользователя (user namespace), которые могут предоставляться, например, в изолированных контейнерах.

Уязвимость вызвана изменением, внесённым в ядро 6.2, но данное изменение было бэкпортировано во все LTS-ветки, поэтому уязвимость проявляется и в более ранних выпусках поддерживаемых стабильных веток ядра. Исправления, блокирующие уязвимость приняты в состав стабильных веток ядра 5 сентября и вошли в состав выпусков 6.1.53, 6.5.3, 6.4.16, 5.15.132 и 5.10.195. Проследить за исправлением уязвимости в дистрибутивах можно на страницах: Debian, Ubuntu, Gentoo, RHEL, Fedora, SUSE/openSUSE, Arch.

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

opennet honked 21 Sep 2023 23:00 +0200

Дистрибутив Fedora Linux 39 перешёл на стадию бета-тестирования

Началось тестирование бета-версии дистрибутива Fedora Linux 39. Бета-выпуск ознаменовал переход на финальную стадию тестирования, при которой допускается только исправление критических ошибок. Релиз запланирован на 17 октября. Выпуск охватывает Fedora Workstation, Fedora Server, Fedora Silverblue, Fedora IoT, Fedora CoreOS, Fedora Cloud Base, Fedora Onyx и Live-сборки, поставляемые в форме спинов c пользовательскими окружениями KDE Plasma 5, Xfce, MATE, Cinnamon, LXDE, Phosh, LXQt, Budgie и Sway . Сборки сформированы для архитектур x86_64, Power64 и ARM64 (AArch64).

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

  • Рабочий стол в Fedora Workstation обновлён до выпуска GNOME 45.
  • В командном интерпретаторе Bash по умолчанию включено цветное оформление командной строки.
  • В NetworkManager обеспечен автоматический перевод существующих профилей соединений, хранимых в формате ifcfg (/etc/sysconfig/network-scripts/ifcfg-*), в формат на основе файла keyfile.
  • Добавлены мета-пакеты default-fonts* для упрощения обновления и установки шрифтов, предлагаемых по умолчанию.
  • Предоставлена возможность удаления пакета tzdata с БД часовых поясов для сокращения размера содержимого изолированных контейнеров.
  • Прекращена сборка и поставка отдельно обновляемых модулей, жизненный цикл которых не привязан к основной начинке дистрибутива, а поддержка приложений, выделенных в модули, осуществляется независимо от релизов дистрибутива, что позволяло обеспечить сосуществование пакетов с разными версиями одного и того же приложения. В качестве причины прекращение поддержки модулей отмечается потеря интереса к разработке модулей и проблемы с сопровождением существующих модулей (последняя активность в pagure.io/modularity наблюдалась более 3 лет назад).
  • Из базовой установки удалён пакет fedora-repos-modular для отключения по умолчанию настроек модульного репозитория. Изменение позволяет ускорить работу пакетного менеджера DNF за счёт сокращения числа проверок и загрузок метаданных.
  • Изменён способ сборки Flatpak-пакетов в дистрибутиве. Вместо использования модулей при пересборке пакетов с параметром "prefix=/app", задействована отдельная сборочная цель.
  • Значение sysctl vm.max_map_count по умолчанию увеличено с 65530 до 1048576 для улучшения совместимости c Windows-играми, запускаемыми через wine или steam.
  • В утилите createrepo_c по умолчанию задействован алгоритм Zstd для сжатия метаданных репозитория и прекращена генерация метаданных в БД SQLite.
  • Удалён пакет pam_console, который не применялся по умолчанию, имел проблемы с безопасностью и мог быть заменён на функциональность из systemd.
  • Обновлены версии пакетов, среди которых RPM 4.19, gcc 13.2, LLVM/Clang 17, binutils 2.40, glibc 2.38, Python 3.12, Perl 5.38, Golang 1.21, Boost 1.81, Vagrant 2.3, Haskell GHC 9.4, LibreOffice 7.6.
  • Прекращена поставка тем оформления QGnomePlatform и Adwaita-qt, применявшихся для придания Qt-приложениям GNOME-подобных настроек и стиля, чтобы данные приложения лучше вписывались в окружение GNOME. В качестве причины упоминается стагнация данных тем и проблемы при их использовании с некоторыми приложениями.
  • Объявлены устаревшими пакеты с системой проверки правописания aspell, вместо которых рекомендуется использовать hunspell или enchant2. В качестве причины называется отсутствие обновлений в проекте aspell в течение последних 4 лет.
  • В Fedora Cloud реализована возможность автоматической перезагрузки после установки обновлений пакетов, требующих перезагрузки системы. Возможность организована через создание после выполнения операции "dnf update" файла /var/run/reboot-required и его проверки в cloud-init.
  • Пользователям, управляемым через Active Directory, FreeIPA или LDAP, предоставлена возможность использования технологии Passkeys, позволяющей пользователю проходить аутентификацию без паролей с использованием биометрических идентификаторов, таких как отпечаток пальца или распознавание лица, используя FIDO2-совместимое устройство, поддерживаемой в библиотеке libfido2.
  • Прекращена поставка пакета с man-pages-ru, так как переводы man-руководств на русский язык также входят в состав пакета man-pages-l10n.
  • Минимальный размер раздела ESP (EFI System Partition), используемого при установке Fedora, увеличен с 200 до 500 МБ из-за нехватки места под обновления прошивок. Ограничение в 500 МБ соответствует параметрам, используемым Microsoft, начиная с Windows 10.
  • Реализована вторая стадия перехода на модернизированный процесс загрузки, предложенный Леннартом Поттерингом. Отличия от классической загрузки сводятся к использованию вместо образа initrd, формируемого на локальной системе при установке пакета с ядром, унифицированного образа ядра UKI (Unified Kernel Image), генерируемого в инфраструктуре дистрибутива и заверенного цифровой подписью дистрибутива. UKI объединяет в одном файле обработчик для загрузки ядра из UEFI (UEFI boot stub), образ ядра Linux и загружаемое в память системное окружение initrd. При вызове образа UKI из UEFI предоставляется возможность проверки целостности и достоверности по цифровой подписи не только ядра, но и содержимого initrd, проверка достоверности которого важна так как в данном окружении осуществляется извлечение ключей для расшифровки корневой ФС. На второй стадии в инсталлятор интегрирована поддержка systemd-boot, осуществлён уход от использования командной строки ядра для настройки, изменена обработка необязательных модулей dracut.
  • Редакции Sericea и Sway Spin прекратили поставку пакетов xorg-x11.
  • В редакции Fedora Kinoite (атомарно обновляемый вариант Fedora с KDE) по умолчанию включено автоматическое обновление в системы.
  • Для сборки редакций Fedora Silverblue и Fedora Kinoite задействован более безопасный унифицированный (unified core) режим rpm-ostree.
  • Началось формирование образов с пользовательским окружением LXQt для архитектуры Aarch64.
  • Добавлена официальная сборка Fedora Onyx с атомарно обновляемым вариантом Fedora Linux, оснащённым пользовательским окружением Budgie. Новая сборка дополняет классическую сборку Fedora Budgie Spin и напоминает редакции Fedora Silverblue, Fedora Sericea и Fedora Kinoite, поставляемые с GNOME, Sway и KDE. Fedora Onyx основан на технологиях Fedora Silverblue и также поставляется в форме монолитного образа, не разделяемого на отдельные пакеты и обновляемого атомарно через замену целиком. Базовое окружение собирается из официальных RPM-пакетов Fedora при помощи инструментария rpm-ostree и монтируется в режиме только для чтения. Для установки и обновления дополнительных приложений применяется система самодостаточных пакетов flatpak, при помощи которой приложения отделяются от основной системы и запускаются в отдельном контейнере.

Переход на пакетный менеджер DNF5 и новый инсталлятор на основе web-интерфейса отложены до выпуска Fedora 40. Также отменено намеченное на Fedora 39 удаление драйверов org-x11-drv-vesa и xorg-x11-drv-fbdev, и связанного с ними кода из пакета xorg-x11-server-Xorg. При этом в Fedora 40 разработчики рассматривают возможность прекратить поддержу сеанса на базе X11 в сборках дистрибутива с KDE и GNOME.

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

continue honked 21 Sep 2023 17:41 +0200

Совершенно не заметил, что в f-string форматирование #python добавили символ =

>>> my_str = "foo"
>>> f"{my_str=}"
"my_str='foo'"

Это упрощает формирование всяких отладочных логов.

Formatted string literals #WorkLog

continue bonked 21 Sep 2023 14:37 +0200
original: dside@mastodon.ml

Мда-а-а, #Unity нарвалась.

Даже разработчики, для которых это не основной движок (#Terraria исходно сделана на XNA) решили, что так не пойдёт и самое время подтолкнуть игровые движки с открытым кодом. И посему решили пожертвовать по $100,000 сейчас и по $1,000 ежемесячно на #Godot и #FNA.

Источник: https://twitter.com/Terraria_Logic/status/1704227519027651016

#videogames #games #gamedev #gamedevelopment

An open address from Re-Logic, developers of Terraria, condemning Unity's actions and announcing a one-time donation of $100,000 to both Godot and FNA and a monthly $1,000 going forward in an effort to brighten the situation.

continue bonked 21 Sep 2023 13:19 +0200
original: opennet@honk.any-key.press

Доступен набор компиляторов LLVM 17.0

После шести месяцев разработки представлен релиз проекта LLVM 17.0 - GCC-совместимого инструментария (компиляторы, оптимизаторы и генераторы кода), компилирующего программы в промежуточный биткод RISC-подобных виртуальных инструкций (низкоуровневая виртуальная машина с многоуровневой системой оптимизаций). Сгенерированный псевдокод может быть преобразован при помощи JIT-компилятора в машинные инструкции непосредственно в момент выполнения программы.

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

  • Реализованы возможности, определённые в будущем Си-стандарте C2x:
    • Добавлены ключевые слова bool, static_assert, alignas, alignof и thread_local.
    • Разрешено указание пустых скобок "{}" для инициализации в нулевые значения , т.е. теперь можно писать "struct S { int x, y } s = {};".
    • Предоставлена возможность указания любых универсальных имён символов в символьных и строковых литералах. Например, "int \u0024 = 0;".
    • В "stddef.h" добавлен макрос "unreachable".
    • Из спецификации исключён макрос ATOMIC_VAR_INIT.
    • Добавлена полная реализация типов nullptr и nullptr_t. Например, можно указывать "void func(nullptr_t); func(0); func((void *)0);".
  • В коде на языке Си предоставлена возможность проброса через выражение "goto" внутри блоков "asm" по косвенно выбранным меткам. Например, goto("mov %1, %0\n\tjmp %l[label]" : "=r" (x) : "r" (45) : : label);
  • Добавлена поддержка Си-расширения, позволяющего использовать в "_Generic" в качестве первого операнда тип, а не выражение. Например, "_Generic(typeof(i), int : 0, const int : 1);".
  • В константных выражениях на языке Си разрешено использование структур, объединений и массивов, объявленных с признаком "const".


  • Реализованы расширенные возможности, связанные со стандартом C++20:
    • Для всех платформ, за исключением Windows, обеспечена полная поддержка сопрограмм (Coroutines).
    • Реализованы дополнительные требования к операциям сравнения константных выражений.
    • Обеспечен корректный разбор лямбда-шаблонов, указанных сразу после параметров шаблона и содержащих в блоке "requires" переменную с зависимым типом.
    • Включён по умолчанию флаг "-Wreserved-module-identifier", приводящий к выводу предупреждения вместо ошибки при использовании зарезервированных идентификаторов в блоке экспорта модулей.
    • Добавлена поддержка выражения "requires cplusplus20" в описаниях связей заголовочных файлов с модулями (module map).
    • Реализованы дополнительные требования к применению операторов сравнения.
    • Зарезервировано использование двойного подчёркивания в пользовательских литералах и объявлено устаревшим использования ключевого слова "operator" в определении функций с зарезервированными идентификаторами в имени (например, 'double operator"" _Bq(long double);').
    • Обеспечено определение макроса "__cpp_consteval".
    • Разрешено использование CTAD для агрегатных типов.
    • Разрешено использование спецификатора "auto" для указателей и ссылок на массивы.
  • Реализованы расширенные возможности, связанные со стандартом C++23, который находится на финальной стадии утверждения в ISO:
    • Изменена область действия хвостового возвращаемого типа (trailing-return-type) в лямбда-функциях, который теперь сначала смотрит в перехваты, а затем в окружающий текст.
    • Ослаблены некоторые требования к "constexpr". Например, в constexpr-функциях разрешено указание переменных нелитеральных типов в качестве возвращаемых значений и параметров. Разрешён вызов в constexpr-функциях других функций и конструкторов, не являющихся "constexpr".
    • Добавлена поддержка выражения "requires cplusplus23" в описаниях связей заголовочных файлов с модулями (module map).
    • Реализовано требование, в соответствии с которым все функции, вызывающие функции с признаком consteval тоже становятся consteval, т.е. выполняются при компиляции.
  • Реализованы расширенные возможности, связанные с будущим стандартом C++2с (C++26):
    • В компилятор добавлены новые флаги "-std=c++2c" и "-std=gnu++2c" для включения экспериментальной поддержки развивающейся спецификации C++2c.
    • Для constexpr реализована поддержка "стирания типа" через преобразование указателей в void* и обратно в исходный тип, что позволит добиться возможности выполнения std::format во время компиляции.
    • Частично реализована поддержка невычисляемых строк (unevaluated string), которые используются только на стадии компиляции в _Pragma, asm, extern, static_assert, [[deprecated]] и [[nodiscard]], и не попадают в скомпилированную программу.
    • Добавлена возможность использования в static_assert сгенерированных пользователем диагностических сообщений.
  • При компиляции приложений языке C++ при использовании режима оптимизации "-O0" улучшена генерация кода для вызовов, подобных std::forward_like, std::move и std::forward, которые теперь обрабатываются как встроенные в компилятор и не использующие стандартную библиотеку. Кроме того, улучшена генерация кода при динамическом приведении (dynamic_cast) к окончательному типу (для сравнения данных RTTI больше не используется runtime-библиотека и указатели vtable сравниваются напрямую).
  • Разрешено использование static_assert(false) в коде на C++ в контексте определения шаблона.


  • Добавлена поддержка встроенных функций (builtin):
    • "__builtin_nondeterministic_value" - возвращает недетерминированное значение с тем же типом.
    • "__builtin_FILE_NAME" - аналог макроса __FILE_NAME__.
    • "__builtin_FUNCSIG - аналог макроса "__FUNCSIG__".
    • "__builtin_assume_separate_storage" - проверяет, что аргумент указывает на объекты в отдельно выделенной памяти.
    • "__builtin_isfpclass" - проверяет сочетаемость значения с плавающей запятой с указанным классом данных.
    • "__builtin_elementwise_round" - предоставляет доступ к llvm.round для типов с плавающей запятой.
    • "__builtin_elementwise_rint" - предоставляет доступ к llvm.rint для типов с плавающей запятой.
    • "__builtin_elementwise_nearbyint" - предоставляет доступ к llvm.nearbyint для типов с плавающей запятой.
    • Добавлена поддержка встроенных функций stdio, доступных в GCC: __builtin_vprintf, __builtin_vfprintf, __builtin_fscanf, __builtin_scanf, __builtin_sscanf, __builtin_vfscanf, __builtin_vscanf, __builtin_vsscanf.
  • Добавлена возможность определения многомерных массивов через "__declspec(property)".
  • Добавлен новый встроенный типаж "__is_trivially_equality_comparable" проверяющий идентичность двух экземпляров типов (например, memcmp(&lhs, &rhs, sizeof(T)) == 0).
  • Добавлена поддержка переменной окружения NO_COLOR для отключения выделения цветом вывода.
  • Добавлены новые флаги компилятора: "-std=c++23", "-dumpdir", "-fcaret-diagnostics-max-lines", "-fkeep-persistent-storage-variables", "-f[no-]assume-unique-vtables", "-print-multi-flags-experimental".
  • Для совместимости с GCC добавлены флаги "-maix32", "-maix64" и "-p".
  • Объявлен устаревшим флаг "-fdouble-square-bracket-attributes". Удалены устаревшие флаги "-fmodules-ts", "-fcoroutines-ts", "-lower-global-dtors-via-cxa-atexit" и "-no-opaque-pointers".
  • Добавлен новый атрибут функций "__attribute__((unsafe_buffer_usage))", сигнализирующий об осознанной небезопасной работе с буферами в функции (при указании атрибута для функции не выводится предупреждение "-Wunsafe-buffer-usage").
  • Значительно расширены средства диагностики и статического анализа, например, добавлены новые проверки переполнения знаковых целых чисел, корректности лямбда-шаблонов, выражений constexpr, сравнений с нулевыми указателями, использования неинициализированных структур и т.п. Доступен обзор новых возможностей диагностики с наглядными примерами.

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

  • В бэкенд для архитектуры X86 добавлена поддержка расширений архитектуры набора команд (ISO): AMX-COMPLEX, SHA512, SM3, SM4 и AVX-VNNI-INT16.
  • Заметно расширены возможности бэкенда для архитектуры RISC-V. Добавлена поддержка процессора sifive-x280. Реализована поддержка процессорных расширений XTHeadBa, XTHeadBb, XTHeadBs, XTHeadCondMov, XTHeadMac, XTHeadMemPair, XTHeadMemIdx, Xsfvcp (SiFive VCIX), Xsfcie (SiFive CIE), Zawrs, XTHeadCmo, XTHeadSync, XTHeadFMemIdx, Xca 1.0.1, Zcf 1.0.1, Zcd 1.0.1, Zfa 0.2.
  • В бэкенд для архитектуры LoongArch добавлена поддержка расширений LSX, LASX, LVZ и LBT ISA.
  • Улучшены бэкенды для архитектур AArch64, ARM, WebAssembly, MIPS, PowerPC, AMDGPU.
  • В отладчик LLDB добавлена новая команда "register info" для вывода всей информации, известной о регистре.
  • Расширены возможности компоновщика LLD.
  • В библиотеке Libc++ продолжена реализация поддержки возможностей стандартов C++20 и C++23, а также началась работа по обеспечению поддержки спецификации C++26.


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

contrinitiator honked 21 Sep 2023 13:06 +0200

В парке земля усеяна желудями - что это за примета такая? К снежной зиме?
На газоне пищат скворцы (скворчата?), ещё недавно они сидели на тополях, а сегодня ищут что-то в траве. Галдёж неимоверный.
#вокруг

opennet honked 21 Sep 2023 13:00 +0200

Доступен набор компиляторов LLVM 17.0

После шести месяцев разработки представлен релиз проекта LLVM 17.0 - GCC-совместимого инструментария (компиляторы, оптимизаторы и генераторы кода), компилирующего программы в промежуточный биткод RISC-подобных виртуальных инструкций (низкоуровневая виртуальная машина с многоуровневой системой оптимизаций). Сгенерированный псевдокод может быть преобразован при помощи JIT-компилятора в машинные инструкции непосредственно в момент выполнения программы.

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

  • Реализованы возможности, определённые в будущем Си-стандарте C2x:
    • Добавлены ключевые слова bool, static_assert, alignas, alignof и thread_local.
    • Разрешено указание пустых скобок "{}" для инициализации в нулевые значения , т.е. теперь можно писать "struct S { int x, y } s = {};".
    • Предоставлена возможность указания любых универсальных имён символов в символьных и строковых литералах. Например, "int \u0024 = 0;".
    • В "stddef.h" добавлен макрос "unreachable".
    • Из спецификации исключён макрос ATOMIC_VAR_INIT.
    • Добавлена полная реализация типов nullptr и nullptr_t. Например, можно указывать "void func(nullptr_t); func(0); func((void *)0);".
  • В коде на языке Си предоставлена возможность проброса через выражение "goto" внутри блоков "asm" по косвенно выбранным меткам. Например, goto("mov %1, %0\n\tjmp %l[label]" : "=r" (x) : "r" (45) : : label);
  • Добавлена поддержка Си-расширения, позволяющего использовать в "_Generic" в качестве первого операнда тип, а не выражение. Например, "_Generic(typeof(i), int : 0, const int : 1);".
  • В константных выражениях на языке Си разрешено использование структур, объединений и массивов, объявленных с признаком "const".


  • Реализованы расширенные возможности, связанные со стандартом C++20:
    • Для всех платформ, за исключением Windows, обеспечена полная поддержка сопрограмм (Coroutines).
    • Реализованы дополнительные требования к операциям сравнения константных выражений.
    • Обеспечен корректный разбор лямбда-шаблонов, указанных сразу после параметров шаблона и содержащих в блоке "requires" переменную с зависимым типом.
    • Включён по умолчанию флаг "-Wreserved-module-identifier", приводящий к выводу предупреждения вместо ошибки при использовании зарезервированных идентификаторов в блоке экспорта модулей.
    • Добавлена поддержка выражения "requires cplusplus20" в описаниях связей заголовочных файлов с модулями (module map).
    • Реализованы дополнительные требования к применению операторов сравнения.
    • Зарезервировано использование двойного подчёркивания в пользовательских литералах и объявлено устаревшим использования ключевого слова "operator" в определении функций с зарезервированными идентификаторами в имени (например, 'double operator"" _Bq(long double);').
    • Обеспечено определение макроса "__cpp_consteval".
    • Разрешено использование CTAD для агрегатных типов.
    • Разрешено использование спецификатора "auto" для указателей и ссылок на массивы.
  • Реализованы расширенные возможности, связанные со стандартом C++23, который находится на финальной стадии утверждения в ISO:
    • Изменена область действия хвостового возвращаемого типа (trailing-return-type) в лямбда-функциях, который теперь сначала смотрит в перехваты, а затем в окружающий текст.
    • Ослаблены некоторые требования к "constexpr". Например, в constexpr-функциях разрешено указание переменных нелитеральных типов в качестве возвращаемых значений и параметров. Разрешён вызов в constexpr-функциях других функций и конструкторов, не являющихся "constexpr".
    • Добавлена поддержка выражения "requires cplusplus23" в описаниях связей заголовочных файлов с модулями (module map).
    • Реализовано требование, в соответствии с которым все функции, вызывающие функции с признаком consteval тоже становятся consteval, т.е. выполняются при компиляции.
  • Реализованы расширенные возможности, связанные с будущим стандартом C++2с (C++26):
    • В компилятор добавлены новые флаги "-std=c++2c" и "-std=gnu++2c" для включения экспериментальной поддержки развивающейся спецификации C++2c.
    • Для constexpr реализована поддержка "стирания типа" через преобразование указателей в void* и обратно в исходный тип, что позволит добиться возможности выполнения std::format во время компиляции.
    • Частично реализована поддержка невычисляемых строк (unevaluated string), которые используются только на стадии компиляции в _Pragma, asm, extern, static_assert, [[deprecated]] и [[nodiscard]], и не попадают в скомпилированную программу.
    • Добавлена возможность использования в static_assert сгенерированных пользователем диагностических сообщений.
  • При компиляции приложений языке C++ при использовании режима оптимизации "-O0" улучшена генерация кода для вызовов, подобных std::forward_like, std::move и std::forward, которые теперь обрабатываются как встроенные в компилятор и не использующие стандартную библиотеку. Кроме того, улучшена генерация кода при динамическом приведении (dynamic_cast) к окончательному типу (для сравнения данных RTTI больше не используется runtime-библиотека и указатели vtable сравниваются напрямую).
  • Разрешено использование static_assert(false) в коде на C++ в контексте определения шаблона.


  • Добавлена поддержка встроенных функций (builtin):
    • "__builtin_nondeterministic_value" - возвращает недетерминированное значение с тем же типом.
    • "__builtin_FILE_NAME" - аналог макроса __FILE_NAME__.
    • "__builtin_FUNCSIG - аналог макроса "__FUNCSIG__".
    • "__builtin_assume_separate_storage" - проверяет, что аргумент указывает на объекты в отдельно выделенной памяти.
    • "__builtin_isfpclass" - проверяет сочетаемость значения с плавающей запятой с указанным классом данных.
    • "__builtin_elementwise_round" - предоставляет доступ к llvm.round для типов с плавающей запятой.
    • "__builtin_elementwise_rint" - предоставляет доступ к llvm.rint для типов с плавающей запятой.
    • "__builtin_elementwise_nearbyint" - предоставляет доступ к llvm.nearbyint для типов с плавающей запятой.
    • Добавлена поддержка встроенных функций stdio, доступных в GCC: __builtin_vprintf, __builtin_vfprintf, __builtin_fscanf, __builtin_scanf, __builtin_sscanf, __builtin_vfscanf, __builtin_vscanf, __builtin_vsscanf.
  • Добавлена возможность определения многомерных массивов через "__declspec(property)".
  • Добавлен новый встроенный типаж "__is_trivially_equality_comparable" проверяющий идентичность двух экземпляров типов (например, memcmp(&lhs, &rhs, sizeof(T)) == 0).
  • Добавлена поддержка переменной окружения NO_COLOR для отключения выделения цветом вывода.
  • Добавлены новые флаги компилятора: "-std=c++23", "-dumpdir", "-fcaret-diagnostics-max-lines", "-fkeep-persistent-storage-variables", "-f[no-]assume-unique-vtables", "-print-multi-flags-experimental".
  • Для совместимости с GCC добавлены флаги "-maix32", "-maix64" и "-p".
  • Объявлен устаревшим флаг "-fdouble-square-bracket-attributes". Удалены устаревшие флаги "-fmodules-ts", "-fcoroutines-ts", "-lower-global-dtors-via-cxa-atexit" и "-no-opaque-pointers".
  • Добавлен новый атрибут функций "__attribute__((unsafe_buffer_usage))", сигнализирующий об осознанной небезопасной работе с буферами в функции (при указании атрибута для функции не выводится предупреждение "-Wunsafe-buffer-usage").
  • Значительно расширены средства диагностики и статического анализа, например, добавлены новые проверки переполнения знаковых целых чисел, корректности лямбда-шаблонов, выражений constexpr, сравнений с нулевыми указателями, использования неинициализированных структур и т.п. Доступен обзор новых возможностей диагностики с наглядными примерами.

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

  • В бэкенд для архитектуры X86 добавлена поддержка расширений архитектуры набора команд (ISO): AMX-COMPLEX, SHA512, SM3, SM4 и AVX-VNNI-INT16.
  • Заметно расширены возможности бэкенда для архитектуры RISC-V. Добавлена поддержка процессора sifive-x280. Реализована поддержка процессорных расширений XTHeadBa, XTHeadBb, XTHeadBs, XTHeadCondMov, XTHeadMac, XTHeadMemPair, XTHeadMemIdx, Xsfvcp (SiFive VCIX), Xsfcie (SiFive CIE), Zawrs, XTHeadCmo, XTHeadSync, XTHeadFMemIdx, Xca 1.0.1, Zcf 1.0.1, Zcd 1.0.1, Zfa 0.2.
  • В бэкенд для архитектуры LoongArch добавлена поддержка расширений LSX, LASX, LVZ и LBT ISA.
  • Улучшены бэкенды для архитектур AArch64, ARM, WebAssembly, MIPS, PowerPC, AMDGPU.
  • В отладчик LLDB добавлена новая команда "register info" для вывода всей информации, известной о регистре.
  • Расширены возможности компоновщика LLD.
  • В библиотеке Libc++ продолжена реализация поддержки возможностей стандартов C++20 и C++23, а также началась работа по обеспечению поддержки спецификации C++26.


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

continue bonked 21 Sep 2023 12:46 +0200
original: shuro@friends.deko.cloud

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

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

Дальше был предложен гомосексуальный контакт в довольно назойливой форме (achievement unlocked! - первый раз случилось) и я ретировался. Надеюсь, выплывет.

Исправительная система, говорите...
#ТакиеДела

continue honked back 21 Sep 2023 12:05 +0200
in reply to: https://metalhead.club/users/contrinitiator/statuses/111097713006078350

@contrinitiator

Пару дней назад шёл через дворик, где похожим образом опавшие яблоки лежали на траве. И был этот запах, когда созревшие фрукты только-только начинают "портиться" прямо на земле. Меня этот запах мгновенно погрузил в детские воспоминания, когда я стою посреди осеннего сада. На земле разбросаны не собранные груши, яблоки и слива. Спелые и начинающие подгнивать плоды. И все это пахнет. Не сказать, что мне как-то очень нравился этот запах, но и какого-то отвращения я тоже не испытывал. А сад казался большим, казалось, что можно убежать в какой-то дальний уголок и там тебя никто не найдёт (хотя сейчас я понимаю, что там было хорошо если 6 соток земли).

continue honked 21 Sep 2023 11:11 +0200

- знаете ли вы, кто теперь на всей земле единственный народ-"богоносец", грядущий обновить и спасти мир именем нового бога и кому единому даны ключи жизни и нового слова... Знаете ли вы, кто этот народ и как ему имя?
- По вашему приему я необходимо должен заключить, и, кажется, как можно скорее, что это народ русский...
- И вы уже смеетесь, о племя! - рванулся было Шатов.
- Успокойтесь, прошу вас; напротив, я именно ждал чего-нибудь в этом роде.

Ф.М. Достоевский, "Бесы". 1872 год.
#ЧтоПочитать #ФедиЧитает

contrinitiator honked 21 Sep 2023 08:29 +0200

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

см. описание в тексте

см. описание в тексте

opennet honked 21 Sep 2023 00:00 +0200

Опубликовано пользовательское окружение GNOME 45

После шести месяцев разработки представлен выпуск десктоп-окружения GNOME 45. Для быстрой оценки возможностей GNOME 45 предложены специализированные Live-сборки на основе openSUSE и установочной образ, подготовленный в рамках инициативы GNOME OS. GNOME 45 также уже включён в состав экспериментальных сборок Ubuntu 23.10 и Fedora 39.

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

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

  • Проведена оптимизация производительности системы поиска и снижено потребление ресурсов при выполнении таких приложений, как Software, Characters, Clocks, Files и Calculator.
  • В верхней панели предложен новый индикатор, сигнализирующий о включении камеры. Индикатор показывается только при обращении к камере из приложений, использующих мультимедийный сервер Pipewire (для приложений, работающих с камерой в обход Pipewire, индикатор не показывается). Обновлён стиль ранее доступного индикатора включения микрофона.
  • В меню быстрого изменения наиболее часто используемых настроек добавлена кнопка для управления клавиатурной подсветкой. Для быстрого открытия и закрытия меню быстрого изменения настроек предложена клавиатурная комбинация "Super/Windows + S".
  • Для повышения эффективности воспроизведения видео и создания скринкастов теперь используются доступные средства аппаратного ускорения.
  • Обновлено оформление изображений курсора. Повышена плавность перемещения указателя, даже при высокой нагрузке на систему.
  • Добавлен новый светлый системный стиль оформления интерфейса, который можно использовать вместо применяемого по умолчанию тёмного стиля. Новый стиль включается командой "gsettings set org.gnome.desktop.interface color-scheme prefer-light" (настройка для включения пока не интегрирована в конфигуратор).
  • В сеансе на базе Wayland реализована поддержка программного KVM-коммутатора Input Leap, позволяющего использовать одну клавиатуру и мышь для управления несколькими компьютерами.
  • По умолчанию предложен новый просмотрщик изображений, оснащённый лёгким интерфейсом и оптимизированный для быстрого просмотра изображений. В приложении поддерживается плавный переход от одного изображения к другому, применяются визуальные эффекты при масштабировании и повороте картинки, присутствует боковая панель со свойствами, доступны кнопки для быстрого копирования и удаления, предоставляются настройки вывода на печать. Интерфейс построен с использованием адаптивного оформления, которое подстраивается под текущие параметры экрана, может применяться на мобильных устройствах с небольшими экранами и управляться с сенсорного экрана с использованием типовых жестов, таких как масштабирование щипком.

  • В состав включено новое приложение для работы с камерой, в котором используется адаптивное оформление и прозрачная панель с элементами управления, накладываемая поверх изображения. Программа оснащена возможностью записи отдельных снимков или видео, поддержкой переключения между несколькими камерами, встроенным просмотрщиком ранее сохранённых изображений и видео.
  • Продолжен перевод приложений на использование GTK 4 и библиотеки libadwaita, которая предлагает готовые виджеты и объекты для построения приложений, соответствующие новым рекомендациям GNOME HIG (Human Interface Guidelines) и способные адаптивно подстраиваться под экраны любого размера. На GTK 4 переведена программа для сканирования документов. В приложениях Console, Text Editor, Disk Usage Analyzer, Fonts, Tour и Web задействован новый стиль панели заголовков, в котором заголовок визуально отделён от содержимого тенью. Обновлён стиль оформления приложений Calendar, Maps, Files и Calculator. Изменён стиль отображения боковых панелей, которые теперь занимают всю ширину окна и автоматически подстраиваются под новый размер при изменении ширины окна.
  • В файловом менеджере Nautilus (GNOME Files) модернизированы средства для поиска: значительно ускорен вывод результатов поиска, улучшена сортировка результатов и добавлены кнопки для расширения области поиска. Добавлено новое окно для настройки столбцов, показываемых в режиме просмотра списка файлов. Ускорена генерация миниатюр. В режиме показа пиктограмм обеспечена индикация помеченных звёздочкой файлов.
  • В конфигураторе предоставлена возможность настройки формата отображения даты и времени в панели. Все настройки в разделах "Конфиденциальность" и "Совместный доступ" снабжены примечаниями с описанием сути. Подсказки также добавлены в настройки администратора и автоматического входа. Улучшена навигация по настройкам с использованием клавиатуры. Обновлено оформление многих панелей. Добавлен новый интерфейс для отображения раскладки клавиатуры.
  • В менеджере приложений (GNOME Software) предоставлена опция для удаления сопутствующих данных после удаления пакета в формате Flatpak. Интерфейс адаптирован для отображения небольшого числа доступных приложений. Реализована блокировка загрузки и установки обновлений, в случае выполнения игровых приложений.
  • В календаре-планировщике добавлены новые клавиатурные комбинации: F5 для синхронизации календарей, F8 для открытия меню календарей и Ctrl+Alt+M для управления календарями. Увеличен диапазон дат, которые охватывает поиск событий. Проведена оптимизация производительности.
  • В GNOME Maps добавлена кнопка, показывающая направление и позволяющая повернуть карту для ориентации на север. В поисковой панели реализована поддержка поиска ближайших достопримечательностей. Кнопка масштабирования перемещена из заголовка на карту.
  • В приложении Connections (клиент для удалённого подключения к рабочему столу с использованием протоколов VNC и RDP) при подключении через RDP добавлена поддержка копирования текста, изображений и файлов между локальным и удалённым компьютером.
  • В эмуляторе терминала Console предложено новое окно с настройками, среди прочего позволяющее указать собственный шрифт и отключить звуковую индикацию.
  • В рамках инициативы GNOME Circle подготовлены новые дополнительные приложения от сообщества:
    • Telegraph - переводчик для азбуки Морзе.
    • Cartridges - интерфейс для запуска игр, поддерживающий такие сервисы, как Steam, Lutris и Heroic.
    • Ear Tag - редактор звуковых меток.
    • Paper Clip - редактор метаданных в PDF-документах.
    • Forge Sparks - вывод уведомлений о событиях в Github, Gitea и Forgejo.
    • Impression - интерфейс для записи дисковых образов на внешние накопители.
  • В интегрированной среде разработки GNOME Builder предоставлена возможность использования языка JavaScript для разработки плагинов. Цветовая схема приведена в соответствие с современным стилевым оформлением GNOME.
  • Обновлены библиотеки GTK 4.12 и libadwaita 1.4. JavaScript-движок GJS обновлён до версии 1.76, основанной на движке SpiderMonkey 115. Обновлены привязки для разработки графических приложений на языке Rust с использованием библиотеки GTK.
  • Изменена организация загрузки модулей в дополнениях к GNOME Shell, что привело к нарушению обратной совместимости. Дополнения, разработанные для прошлых версий GNOME, не смогут работать в выпуске GNOME 45.


<iframe src="https://www.youtube.com/embed/47aZgF6xmS0?si=yu0vgPZUjcvkZQDn">

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

opennet honked 20 Sep 2023 18:00 +0200

OpenTF, форк платформы Terraform, переименован в OpenTofu

Проект по созданию форка платформы управления конфигурацией и автоматизации поддержания инфраструктуры Terraform переименован из OpenTF в OpenTofu для исключения пересечений с проектом Terraform и товарными знаками компании Hashicorp. Сокращение "tf" решено заменить на "Tofu" так как оно уже используется в расширениях файлов Terraform, в переменных и функциях в коде, а также в названиях продуктов TFC (Terraform Cloud) и TFE (Terraform Enterprise). Так как OpenTofu позиционируется как продукт для предприятий, создатели форка решили исключить все потенциальные риски, связанные с возможными судебными претензиями о нарушении товарных знаков и интеллектуальной собственности Hashicorp.

Одновременно объявлено о официальном принятии OpenTofu в число проектов организации Linux Foundation. Разработка форка на нейтральной площадке под эгидой Linux Foundation позволит гарантировать сохранение открытого характера платформы, защитить проект от изменений в политике отдельных компаний и упростить участие сторонних компаний. О своей поддержке новой организации и намерении участвовать в разработке форка объявили 147 компаний и 734 индивидуальных разработчиков. Присоединившиеся к инициативе OpenTofu компании выделили на разработку форка ресурсы, эквивалентные работе 18 инженеров в режиме полного рабочего дня в течение следующих 5 лет (для сравнения последние два года в компании HashiCorp сопровождением Terraform занимается 5 инженеров).

Основные принципы дальнейшего развития OpenTofu:

  • Развитие как открытого проекта под свободной лицензией MPLv2.
  • Участие сообщества в управлении проектом, приём изменений от сообщества, открытый процесс рецензирования изменений и развитие новшеств через публичное обсуждение RFC.
  • Принятие решений о включении исправлений и новых возможностей, учитывая пользу для сообщества, а не отдельных поставщиков.
  • Применение модульной структуры, удобной для программистов и способствующей развитию новой экосистемы инструментов и компонентов для интеграции.
  • Сохранение обратной совместимости и возможность использовать OpenTofu в качестве прозрачной замены Terraform, совместимой со всеми провайдерами и модулями Terraform.

Напомним, что причиной создания форка стал перевод компанией HashiCorp своих продуктов на проприетарную лицензию BSL 1.1, ограничивающую использование кода в облачных системах, конкурирующих с продуктами и сервисами HashiCorp. Cмена лицензии объясняется желанием сохранить финансирование своих разработок в условиях неспособности классических моделей лицензирования противостоять паразитированию компаний, использующих готовые открытые исходные тексты разработок HashiCorp для создания собственных коммерческих облачных продуктов без участия в совместной разработке.

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

contrinitiator honked 20 Sep 2023 17:30 +0200

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

opennet honked 20 Sep 2023 15:00 +0200

Сокращение срока поддержки LTS-ядер Linux и проблема с выгоранием сопровождающих

Разработчики ядра Linux намерены ограничиться двухлетним циклом выпуска обновлений для LTS-веток ядра Linux. Формально время сопровождения LTS-веток и сейчас составляет 2 года, но последние пять лет, срок выпуска обновлений продлевался до 6 лет в случае, если ядро продолжает быть востребованным и представители индустрии готовы оказать поддержку разработчиков, осуществляющих сопровождение.

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

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

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

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

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

continue bonked 20 Sep 2023 12:31 +0200
original: kvasko@mastodon.ml

Чип-чип и Дейл 🤔
Видеоблогер и бывший менеджер АО "МЦСТ" Максим Горшенин разобрал отечественный монитор Lightcom. Выпаял с платы российский чип от "Миландра", поставил проволочку... Вуаля! Монитор работает.
Выяснилось, что в работе устройства участвует не русский, а тайваньский чип RTD2525AR от Realtek, скрытый за радиатором. Российский чип только подаёт питание.
Лайтком и Миландр обвинили блогера в чёрном пиаре. Горшенин в ответ выложил фото и схему снятия ненужного чипа и спросил:
- И где тут хоть что-то, где действительно нужен российский чип? И зачем было удорожать конструкцию, если и так все работает? И тем более, если они заявляют, что, цитата, "...для попадания в реестр Минпромторга российская интегральная схема в мониторе не нужна", то зачем вы вообще начали использовать "Миландр", если с его ролью справляются "проволочки"

External Attachment:

opennet honked 20 Sep 2023 11:00 +0200

Выпуск Java SE 21

После шести месяцев разработки компания Oracle выпустила платформу Java SE 21 (Java Platform, Standard Edition 21), в качестве эталонной реализации которой используется открытый проект OpenJDK. За исключением удаления некоторых устаревших возможностей в Java SE 21 сохранена обратная совместимость с прошлыми выпусками платформы Java - большинство ранее написанных Java-проектов без изменений будут работоспособны при запуске под управлением новой версии. Готовые для установки сборки Java SE 21 (JDK, JRE и Server JRE) подготовлены для Linux (x86_64, AArch64), Windows (x86_64) и macOS (x86_64, AArch64). Разработанная в рамках проекта OpenJDK эталонная реализация Java 21 полностью открыта под лицензией GPLv2 с исключениями GNU ClassPath, разрешающими динамическое связывание с коммерческими продуктами.

Java SE 21 отнесён к категории выпусков с расширенным сроком поддержки, обновления для которого будут выпускаться до 2031 года (общедоступные обновления будут выходить до сентября 2028 года). В качестве ветки с длительным сроком поддержки (LTS) также продолжает сопровождаться Java SE 17, обновления для которой будут выпускаться до 2029 года (общедоступные - до 2026 года). Общедоступная поддержка LTS-ветки Java SE 11 прекращается в сентябре этого года, но расширенная поддержка будет производиться до 2032 года. Расширенная поддержка LTS-ветки ava SE 8 продлится до 2030 года.

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

Из новшеств Java 21 можно отметить:

  • Добавлена предварительная поддержка строковых шаблонов (String Template), реализованных в дополнение к строковым литералам и блокам текста. Строковые шаблоны позволяют совмещать текст с вычисляемыми выражениями и переменными без использования оператора "+". Подстановка выражений осуществляется при помощи подстановок \{..}, при этом для проверки корректности подставляемых значений могут подключаться специальные обработчики. Например, обработчик SQL обеспечивает проверку значений, подставляемых в SQL-код, и возвращает на выходе объект java.sql.Statement, а обработчик JSON отслеживает корректность подстановок JSON и возвращает JsonNode.
       String query = "SELECT * FROM Person p WHERE p."
           + property + " = '" + value + "'"; // было
    
       Statement query = SQL."""SELECT * FROM Person p
           WHERE p.\{property} = '\{value}'"""; // стало
    
  • Добавлена поддержка упорядоченных коллекций (SequencedCollection), предоставляющих методы addFirst, addLast, getFirst, getLast, removeFirst и removeLast для прямого доступа к первым и последним элементам коллекции с постоянным следованием элементов. Упорядоченные коллекции применимы к спискам, sets-наборам (например, TreeSet) и некоторым другим структурам данных.
       var letters = List.of("c", "b", "a");
       "c".equals(letters.getFirst());
       "a".equals(letters.getLast());
    
  • Реализован генеративный вариант сборщика мусора ZGC (Generational Z Garbage Collector), вводящий раздельную обработку "старых" и "молодых" объектов, что повышает эффективной очистки недавно созданных объектов с небольшим временем жизни. Отмечается, что применение Generational ZGC уменбшает риски приостановок во время выделения ресурсов, снижает нагрузку на CPU и потребление памяти при сборке мусора. Применение Generational ZGC с Apache Cassandra 4 в проведённых тестах привело к увеличению пропускной способности в 4 раза при фиксированном размере кучи (heap) и уменьшение размера кучи на четверть при неизменной пропускной способности. Для включения нового режима предложена опция "-XX:+UseZGC -XX:+ZGenerational".
  • Стабилизирована реализация шаблонов записей (record pattern), расширяющая появившуюся в Java 16 возможность сопоставления с образцом средствами для разбора значений классов типа record. Например:
       record Point(int x, int y) {}
    
       static void printSum(Object obj) {
           if (obj instanceof Point p) {
               int x = p.x();
               int y = p.y();
               System.out.println(x+y);
           }
       }
    
  • Стабилизирована поддержка сопоставления по шаблону в выражениях "switch", позволяющая в метках "case" использовать не точные значения, а гибкие шаблоны, охватывающие сразу серию значений, для которых ранее приходилось использовать громоздкие цепочки выражений "if...else".
       static String formatterPatternSwitch(Object obj) {
           return switch (obj) {
               case Integer i -> String.format("int %d", i);
               case Long l    -> String.format("long %d", l);
               case Double d  -> String.format("double %f", d);
               case String s  -> String.format("String %s", s);
               default        -> o.toString();
           };
       }
    
  • Стабилизирована реализация виртуальных потоков, представляющих собой легковесные потоки, значительно упрощающие написание и сопровождение высокопроизводительных многопоточных приложений.
  • Предложена третья предварительная реализация API FFM (Foreign Function & Memory), позволяющего организовать взаимодействие Java-программ с внешними кодом и данными через вызов функций из внешних библиотек и доступ к памяти вне JVM.
  • Добавлена предварительная поддержка безымянных переменных и сопоставлений с шаблоном - вместо неиспользуемых, но необходимых при вызове переменных и шаблонов, теперь можно указывать символ "_".
       // было
       String pageName = switch (page) {
         case GitHubIssuePage(var url, var content, var links, int issueNumber)
               -› "ISSUE #" + issueNumber;
       ...
       };
    
    
       // теперь можно
       String pageName = switch (page) {
          case GitHubIssuePage(_, _, _, int issueNumber)
            -› "ISSUE #" + issueNumber;
       };
    
  • Добавлена предварительная поддержка безымянных классов и безымянных экземпляров метода "main", в которых можно обойтись без объявлений public/static, передачи массива аргументов и прочих сущностей, связанных с объявлением класса.
       // было
       public class HelloWorld {
         public static void main(String[] args) {
           System.out.println("Hello world!");
         }
       }
    
       // теперь можно
       void main() {
           System.out.println("Hello, World!");
       }
    
  • Добавлена предварительная поддержка ограниченных значений (Scoped Values), позволяющих совместно использовать неизменяемые данные в потоках и эффективно обмениваться данными между дочерними потоками (значения наследуются). Scoped Values развиваются для замены механизма переменных локальных к потоку (thread-local variables) и более эффективны при использовании очень большого числа виртуальных потоков (тысячи и миллионы потоков). Главное отличие Scoped Values от переменных локальных к потоку в том, что первые записываются один раз, в дальнейшем не могут быть изменены и остаются доступны только на время выполнения потока.
       class Server {
           final static ScopedValue‹user› CURRENT_USER = new ScopedValue‹›();      
    
           void serve(Request request, Response response) {
               var level = (request. isAuthorized()? ADMIN : GUEST);
               var user  = new User(level);
          
               ScopedValue.where(CURRENT_USER, user)                               
                          .run(() -> Application.handle(request, response));       
           }
       }
    
       class DatabaseManager {
           DBConnection open() {
               var user = Server.CURRENT_USER.get();                               
               if (!user.canOpen()) throw new InvalidUserException();
               return new DBConnection(...);
           }
       }
    
    
  • Добавлена шестая предварительная реализация API Vector, предоставляющего функции для векторных вычислений, которые выполняются с использованием векторных инструкций процессоров x86_64 и AArch64 и позволяют одновременно применить операции сразу к нескольким значениям (SIMD). В отличие от предоставляемых в JIT-компиляторе HotSpot возможностей по автовекторизации скалярных операций, новый API даёт возможность явно управлять векторизацией для параллельной обработки данных.
  • Добавлен экспериментальный API для cтруктурированного параллелизма (Structured Concurrency), упрощающий разработку многопоточных приложений за счёт обработки нескольких задач, выполняемых в разных потоках, как единого блока.
  • Добавлены новые методы: Math.clamp(), StrictMath.clamp(), String indexOf(int,int,int), indexOf(String,int,int), String splitWithDelimiters().
  • Добавлены методы для определения свойств emoji: isEmoji(int codePoint), isEmojiPresentation(int codePoint), isEmojiModifier(int codePoint), isEmojiModifierBase(int codePoint), isEmojiComponent(int codePoint) и isExtendedPictographic(int codePoint).
       var codePoint = Character.codePointAt("😃", 0);
       var isEmoji = Character.isEmoji(codePoint);
       System.out.println("😃 is an emoji: " + isEmoji);
    
  • Добавлен API для использования механизмов инкапсуляции ключей шифрования (KEM, Key Encapsulation Mechanism), предназначенных для защиты ключей симметричного шифрования при помощи алгоритмов на основе открытых ключей.
  • Добавлена поддержка алгоритма цифровых подписей HSS/LMS.
  • Началась подготовка к запрету динамической загрузки агентов. При попытке динамической загрузки Java-агентов в работающую виртуальную машину JVM теперь будет выводиться предупреждение.
  • Прекращена поддержка 32-разрядной платформы Windows.

Дополнительно можно отметить публикацию обновления платформы для создания приложений с графическим интерфейсом JavaFX 21.

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

opennet honked 20 Sep 2023 09:00 +0200

Выпуск распределённого хранилища Apache Pinot 1.0

Организации Apache Software Foundation представила выпук распределённого OLAP-хранилища Apache Pinot 1.0, предназначенного для выполнения аналитических запросов. Изначально проект Pinot был разработан компанией LinkedIn и в 2015 году передан для дальней совместной разработки фонду Apache. Хранилище ориентировано на работу в условиях постоянного добавления новых данных и рассчитано на обеспечение минимальных и предсказуемых задержек, позволяющих использовать хранилище для обработки запросов в реальном времени. Код проекта написан на Java и распространяется под лицензией Apache.

В Apache Pinot обеспечивается горизонтальная масштабируемость и предоставляются средства достижения отказоустойчивости и сохранения живучести при возникновении программных и аппаратных ошибок. Процессы репликации и резервного копирования встроены непосредственно в цикл обработки добавляемых в хранилище данных. С одной стороны такой подход позволяет значительно упростить архитектуру, но, с другой стороны, приводит к возникновению задержки между добавлением данных и их доступностью для запросов. Данные в хранилище могут загружаться из разных источников, начиная Hadoop и обычных файлов и заканчивая получением информации от online-источников, таких как Kafka. Для управления Pinot-кластером применяется Apache Helix.

Обращение к хранилищу производится через привычный язык запросов SQL, поддерживающий типовые операции фильтрации выборки, агрегирования, сортировки, слияния (JOIN) и группировки данных. Имеется поддержка оконных функций. Данные размещаются в таблицах базы данных, ориентированной на столбцы (column-oriented). Поддерживаются различные схемы сжатия и возможность размещения нескольких значений в одном поле. Pinot предоставляет подключаемую систему индексов, в которой можно применять различные технологии индексации (отсортированный индекс, Bitmap-индекс, инвертированный индекс, StarTree-индекс, Bloom Filter, индекс по диапазонам, индекс для поиска текста (Lucence/FST), JSON-индекс, геопространственный индекс).

Выпуск 1.0 подвёл итог большой работы по стабилизации кодовой базы и учёту пожеланий сообщества (учтено более 300 замечаний). До полноценного состояния доведён новый движок многоэтапной обработки запросов (Multi-Stage Query Engine), позволивший реализовать поддержку слияния таблиц (JOIN). Изначально используемый движок прекрасно справлялся с простыми операциями фильтрации и агрегирования, но для обеспечения предсказуемого времени выполнения запроса не поддерживал операции слияния таблиц. В новом движке задействованы промежуточные стадии обработки сложных запросов, а семантика SQL приближена к ANSI SQL. Кроме того, в новом выпуске предложена встроенная поддержка обработки данных в формате JSON, реализована поддержка значения "NULL", реализована интеграция с Apache Spark 3.x и улучшена реализация таблиц в режиме Upsert (добавлено сжатие сегментов и предоставлена поддержка операций удаления).

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

opennet honked 20 Sep 2023 08:00 +0200

В ветку ядра Linux-next добавлена реализация ФС Bcachefs

В состав ветки linux-next, в которой тестируются возможности для будущих выпусков ядра Linux, принят код файловой системы Bcachefs. Ранее, Кент Оверстрит (Kent Overstreet), автор Bcachefs и входящей в состав ядра Linux системы кэширования блочных устройств на SSD-накопителях BCache, отправил Линусу Торвальдсу poll-запрос на включение кода Bcachefs в основной состав ядра Linux, но Линус отклонил их и рекомендовал вначале оценить пригодность предложенных патчей в экспериментальной ветке Linux-next. В случае успешного рецензирования ФС Bcachefs может быть включена в состав ядра 6.7, выпуск которого ожидается в декабре.

Целью разработки Bcachefs является достижение уровня XFS в производительности, надёжности и масштабируемости, предоставляя при этом дополнительные возможности, свойственные Btrfs и ZFS, такие как включение в раздел нескольких устройств, многослойные раскладки накопителей, репликация (RAID 1/10), кэширование, прозрачное сжатие данных (режимы LZ4, gzip и ZSTD), срезы состояния (снапшоты), верификация целостности по контрольным суммам, возможность хранения кодов коррекции ошибок Рида—Соломона (RAID 5/6), хранение информации в зашифрованном виде (используются ChaCha20 и Poly1305). По производительности Bcachefs опережает Btrfs и другие ФС на базе механизма Copy-on-Write, и демонстрирует скорость работы, близкую к Ext4 и XFS.

Bcachefs развивается с использованием технологий уже опробованных при разработке блочного устройства Bcache, предназначенного для кэширования доступа к медленным жёстким дискам на быстрых SSD-накопителях (входит в ядро, начиная с выпуска 3.10). В Bcachefs используется механизм Copy-on-Write (COW), при котором изменения не приводят к перезаписи данных - новое состояние записывается в новое место, после чего меняется указатель актуального состояния.

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

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

contrinitiator bonked 20 Sep 2023 07:58 +0200
original: wthinker@libranet.de

@strizhechenko Включу и я свой бредогенератор. 😀

А может быть лучше выделить на всех нейтралках полигончики в конфигурации обоих соседствующих стран в масштабе 1:1000? На которых все желающие расширения территорий строго лично сражались бы с защитниками сопредельной территории. И исключительно булавами, палицами, кистенями... Ну или бесбольными битами.

Плюсы:
1. Не нужны большие армии.
2. Строго добровольный принцип участия в боевых действиях с нападающей стороны.
3. Конфликты не затрагивают остальное население.
4. Конфликты не разрушают инфраструктуру.
5. Конфликты не уничтожают экономику.
6. Безумные затраты на оружие и содержание армий перенаправляются на социальные нужды, науку, образование, медицину, развитие производств.

Минусы:
1. Пустующие территории, довольно большие. Потому что мне почему-то кажется, что они, эти полигончики, пустовали бы...

opennet honked 20 Sep 2023 00:00 +0200

Microsoft опубликовал WSL 2.0.0, прослойку для запуска Linux-приложений в Windows

Компания Microsoft представила выпуск прослойки для запуска Linux-приложений в Windows - WSL 2.0.0 (Windows Subsystem for Linux). Для обеспечения запуска исполняемых файлов Linux в WSL предоставляется окружение с полноценным ядром Linux, основанном на выпуске ядра Linux 5.15, который расширен специфичными для WSL патчами, включающими оптимизации для сокращения времени запуска ядра, уменьшения потребления памяти, возвращения Windows освобождённой Linux-процессами памяти, оставления в ядре минимально необходимого набора драйверов и подсистем.

Ядро Linux выполняется в окружении Windows при помощи виртуальной машины, которая использует отдельный дисковый образ (VHD) c файловой системой ext4 и виртуальным сетевым адаптером. Компоненты пространства пользователя устанавливаются отдельно и базируются на сборках различных дистрибутивов. Например, для установки в WSL в каталоге Microsoft Store предлагаются сборки Ubuntu, Debian GNU/Linux, Kali Linux, Fedora, Alpine, SUSE и openSUSE.

Среди наиболее заметных изменений в версии WSL 2.0.0:

  • Реализована экспериментальная настройка autoMemoryReclaim (добавляется в %USERPROFILE%\.wslconfig), активирующая автоматическое высвобождение памяти, занимаемой в Linux под кэши, после нахождения процессора в состоянии простоя в течение 5 минут. Высвобожденная в Linux-окружении память возвращается в основное окружение с Windows, т.е. неиспользуемые виртуальные машины с Linux автоматически начинают потреблять меньше памяти.
  • Добавлена экспериментальная настройка sparseVhd, которая включает для новых образов VHD (Virtual Hard Disk) режим автоматического уменьшения размера. По аналогии с тем, как VHD-образы могут автоматически увеличиваться при увеличении объёма данных в Linux-окружении, теперь они также могут и уменьшаться при удалении данных из Linux-окружения. Для включения режима "sparse" для уже существующих дистрибутивов предложена опция "--set-sparse", например "wsl --manage ‹distro› --set-sparse ‹true/false›".
  • Добавлена экспериментальная настройка networkingMode, при указании в которой значения "mirrored" для обеспечения сетевого доступа используется зеркалирование в Linux сетевых интерфейсов Windows, вместо применения транслятора адресов. Новый режим отличается возможностью использования IPv6 и Multicast, улучшением совместимости с VPN, поддержкой прямого подключения к WSL из локальной сети, поддержкой подключения к Windows-серверам, используя localhost (127.0.0.1).
  • Добавлена экспериментальная настройка dnsTunneling, позволяющая пробрасывать DNS-запросы через резолвер, предоставляемый платформой Windows.
  • Добавлена экспериментальная настройка firewall, включающая применение для фильтрации трафика Linux-окружения правил межсетевых экранов Windows (Windows Firewall) и Hyper-V (Hyper-V Firewall).
  • Добавлена экспериментальная настройка autoProxy, добавляющая возможность использования в Linux-окружении информации о настройках HTTP-прокси из Windows.
  • Для графических приложений, запускаемых при помощи WSL, реализована поддержка прикрепления окон клавиатурной комбинацией "WIN + одна из клавиш управления курсором".
  • Все исполняемые файлы, распространяемые через пакет WSL, снабжены электронными подписями.
  • Используемое в WSL-окружении ядро Linux обновлено до версии 5.15.123.
  • Мини-дистрибутив WSLg, в котором предоставляются компоненты графического стека для организации запуска GUI-приложений, обновлён до версии 1.0.57.


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

opennet honked 19 Sep 2023 23:00 +0200

32 года с момента первого релиза ядра Linux 0.01

Исполнилось 32 года с момента формирования первого выпуска ядра Linux. Ядро 0.01 имело размер 116 Кб в сжатом виде (62 Кб после переупаковки из tar.Z в tar.gz), включало 88 файлов и содержало 10239 строк исходного кода. По мнению Линуса Торвальдса именно момент публикации ядра 0.01, а не день анонсирования рабочего прототипа, является настоящим днём рождения Linux.

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

opennet honked 19 Sep 2023 23:00 +0200

Критическая уязвимость в GitLab, позволяющая запустить pipeline-работы под другим пользователем

Опубликованы корректирующие обновления платформы для организации совместной разработки - GitLab 16.3.4 и 16.2.7 (Community Edition и Enterprise Edition), в которых устранена критическая уязвимость (CVE-2023-4998), позволяющая запустить работы в конвейере непрерывной интеграции (pipeline jobs) под произвольным пользователем через применение плановых политик сканирования безопасности. Выполнение своей работы в контексте другого пользователя позволяет атакующему получить доступ к внутренним репозиториям и закрытым проектам этого пользователя.

Информация об уязвимости передана в GitLab в рамках действующей на HackerOne программы выплаты вознаграждений за обнаружение уязвимостей. Уязвимость затрагивает редакцию GitLab Enterprise Edition и облачный сервис GitLab.com. Подробности эксплуатации будут опубликованы через месяц после публикации обновления. При этом известно, что уязвимость является вариацией ранее исправленной похожей проблемы CVE-2023-3932.

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

opennet honked 19 Sep 2023 22:00 +0200

В адресной строке Firefox 119 изменится отображение сайтов, открытых по HTTP и HTTPS

В выпуске Firefox 119, намеченном на 24 октября, будет изменена индикация защищённых и незащищённых соединений к сайту. При открытии сайтов с использованием HTTPS в адресной строке будет убрано отображение префикса "https://", а для сайтов, открытых по HTTP без шифрования соединения, начнёт показываться префикс "http://" и помимо пиктограммы с перечёркнутым замком появится отдельное текстовое примечание "Not Secure". Например, при открытии "https://www.opennet.ru" будет показываться "www.opennet.ru", а при открытии "httр://www.opennet.ru" - "Not Secure httр://www.opennet.ru".

В более ранних выпусках Firefox изменение можно протестировать при помощи настроек browser.urlbar.trimHttps, "security.insecure_connection_text.enabled" и "security.insecure_connection_text.pbmode.enabled" в about:config. В Firefox 119 значение по умолчанию для данных настроек будет инвертировано, а настройки security.insecure_connection_icon.enabled и security.insecure_connection_icon.pbmode.enabled будут удалены, так как разработчики не видят смысла в опциональном отключении пиктограммы с замком. В качестве причины изменения упоминается переход к более заметной индикации незашифрованных соединений, на фоне внедрения большинством сайтов использования HTTPS (т.е. смещение акцента с выделения защищённых соединений на пометку незащищённых).

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

opennet honked 19 Sep 2023 20:00 +0200

Один из сопровождающих драйвер Nouveau объявил об отставке

Бен Скеггс (Ben Skeggs) объявил о прекращении участия в разработке проекта Nouveau, развивающего свободный драйвер для GPU NVIDIA, и снятии с себя полномочий мэйнтейнера поставляемого в ядре Linux кода DRM-драйвера (Direct Rendering Manager) Nouveau. В качестве причины прекращения участия в разработке называется уход из компании Red Hat по личным мотивам. При этом драйвер не останется без присмотра - в списке сопровождающих остаются ещё два сотрудника Red Hat - Кэрол Хербст (Karol Herbst) и Люде Пауль (Lyude Paul).

За день до своего ухода Бен опубликовал большой набор патчей (около 14 тысяч строк кода), добавляющий в модуль ядра Nouveau поддержку прошивки GSP-RM, которая используется в GPU NVIDIA RTX 20+ для выноса инициализации и управления GPU на сторону отдельного микроконтроллера GSP (GPU System Processor). Патчи добавляют в Nouveau возможность работы через обращение к прошивке, вместо прямого программирования операций взаимодействия с оборудованием, что значительно упрощает добавление поддержки новых GPU NVIDIA, благодаря использованию уже готовых вызовов для инициализации и управления энергопотреблением. Ожидается, что поддержка GSP-RM будет принята в состав ядра Linux 6.7.

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

opennet honked 19 Sep 2023 17:00 +0200

Выпуск пакетного менеджера RPM 4.19

После года разработки состоялся релиз пакетного менеджера RPM 4.19.0. Проект RPM4 развивается компанией Red Hat и используется в таких дистрибутивах, как RHEL (включая производные проекты CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen и многих других. Ранее независимой командой разработчиков развивался проект RPM5, который непосредственно не связан с RPM4 и в настоящее время заброшен (не обновлялся с 2010 года). Код проекта распространяется под лицензиями GPLv2 и LGPLv2.

Наиболее заметные улучшения в RPM 4.19:

  • Добавлена поддержка файлов ".specpart" для динамической генерации spec-файлов.
  • Обеспечена интеграция с каталогом учётных записей системных пользователей sysusers.d для автоматической обработки пользователей и групп. Добавлена поддержка генерации пользователя и группы из включённых в пакет файлов /etc/passwd, /etc/group и sysusers.d.
  • В блоке "%files" и утилите командной строки реализована поддержка раскрытия путей (globbing) и экранирования спецсимволов в стиле командных оболочек. В API добавлены функции rpmGlobPath(), rpmEscape() и rpmUnescape().
  • В spec-файлах добавлена поддержка блоков %preuntrans и %postuntrans со скриплетами.
  • Добавлена утилита rpmsort для сортировки версий rpm-пакетов.
  • В утилите rpm2archive добавлена возможность вывода в неименованный канал.
  • Добавлены опции "--nopreuntrans", "--nopostuntrans" и "--nosysusers " для отключения скриптов и автоматического создания пользователя и группы во время установки пакета.
  • Распараллеливание сборки теперь производится с учётом памяти и адресного пространства.
  • Осуществлён переход на систему сборки CMake вместо Autotools.
  • В тестовом наборе вместо chroot задействованы изолированные контейнеры.
  • Для проектов, использующих CMake, предоставлена функция find_package(rpm).


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

opennet honked 19 Sep 2023 17:00 +0200

Выпуск Angie 1.3.0, российского форка Nginx

Опубликован выпуск высокопроизводительного HTTP-сервера и многопротокольного прокси-сервера Angie 1.3.0, ответвлённого от Nginx группой бывших разработчиков проекта, уволившихся из компании F5 Network. Исходные тексты Angie доступны под лицензией BSD. Проект получил сертификаты совместимости с российскими операционными системами Ред ОС, Astra Linux Special Edition, Альт и ФСТЭК-версии Альт.

Сопровождением разработки занимается компания "Веб-сервер", образованная прошлой осенью и получившая инвестиции в размере 1 млн долларов. Среди совладельцев компании Веб-сервер: Валентин Бартенев (лидер команды, развивавшей продукт Nginx Unit), Иван Полуянов (бывший руководитель фронтэнд-разработчиков Rambler и Mail.Ru), Олег Мамонтов (руководитель команды техподдержки NGINX Inc) и Руслан Ермилов (ru@FreeBSD.org).

Изменения в выпуске Angie 1.3.0:

  • Предоставлена возможность указания более одного шаблона сопоставления URI в одной директиве "location", что позволяет совмещать несколько обработчиков разных URI в одном блоке "location" без лишнего дублирования повторяющихся конструкций.
       location =/
             ^~/images/
             ~*\.(gif|jpg|jpeg)$ {
          #общая конфигурация
       }
    
  • Добавлена возможность экспорта статистики и метрик в формате системы мониторинга Prometheus. Для включения экспорта и определения шаблона-обработчика собираемых метрик предложены директивы prometheus и prometheus_template.
  • В интерфейс статистики, настраиваемый директивой "api", добавлена детальная информация и метрики по группам проксируемых серверов, собранные в контексте модуля "stream" (ранее подобная статистика собиралась только для HTTP).
  • В модуль "stream" в директиву "server", действующую в блоке "upstream", добавлен параметр "service", позволяющий получать списки IP-адресов из DNS-записей SRV, с учётом выставленного приоритета. Ранее данный параметр был доступен только для HTTP.
  • В модуль "stream" в директиву "server", действующую в блоке "upstream", добавлен параметр "resolve", позволяющий отслеживать изменения списка IP-адресов, соответствующего указанному имени домена, и автоматически обновлять его без перезагрузки конфигурации. Ранее данный параметр был доступен только для HTTP.
  • Добавлена поддержка версионирования конфигураций отдельных процессов http-сервера для упрощения отслеживания перезагрузки конфигурации и устранения проблем. Номер версии конфигурации показывается в заголовках процессов и виден при использовании утилиты "ps".
  • В модуль api добавлена директива api_config_files, включающая возможность отдачи через HTTP API содержимого файлов конфигурации, используемых текущей версией рабочего процесса.
  • При загрузке конфигурации OpenSSL задействовано имя приложения "angie".
  • Из репозитория проекта nginx перенесены изменения, накопившиеся в ветке nginx 1.25.


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

opennet honked 19 Sep 2023 16:00 +0200

Выпуск Альт Рабочая станция К 10.2

Доступно обновление операционной системы «Альт Рабочая станция К 10.2». Сборка подготовлена для архитектуры x86_64 и построена на 10 платформе ALT (ветка p10 Aronia). Операционная система внесена в Единый реестр российских программ и баз данных. Дистрибутив подходит широкому кругу пользователей для работы в офисе и дома. Также это решение может быть частью инфраструктуры Active Directory, доступны: аутентификация в домене, доступ к файловым ресурсам и ресурсам печати.

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

Новшества 10.2:

  • Включена поддержка биометрической аутентификации по отпечатку пальца. Доступно при наличии технической возможности.
  • Появилась возможность присоединиться к установщику системы по VNC.
  • По умолчанию включена опция запуска пользовательской сессии Plasma через systemd.
  • Добавлен модуль ролей libnss-role. Механизм добавления групп в группы позволяет управлять группами пользователей через категории ролей и привилегий.
  • По умолчанию установка производится на файловую систему BTRFS.
  • После установки системы автоматически создаётся точка восстановления.
  • В дистрибутиве появились специальные возможности: синтезатор речи, зачитывание с экрана, служба обработки речевого вывода. Зачитывание с экрана ORCA устанавливается по умолчанию и требует включения.

Новые версии приложений:

  • Ядро Linux 6.1
  • KDE: Plasma 5.27, Frameworks 5.108, Applications 22.12, Mesa 23.1.
  • Samba 4.16.11 и механизм применения групповых политик gpupdate 0.9.12.6.


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

contrinitiator honked 19 Sep 2023 15:13 +0200

Ветер сильный, то тёплый.
Рыбаки выстроились в шеренгу на набережной.
Даже не знаю, какая рыба сейчас идёт?
#вокруг

continue bonked 19 Sep 2023 12:27 +0200
original: grunfink@comam.es

One year of #snac

If the source code version control history is to be trusted, I started developing snac (a simple, minimalistic #ActivityPub instance server written in C) exactly one year ago (Sept 19th).

It was not my first experience with ActivityPub: I had built a prototype version in Python some months before (hence the "2" in the snac2 repository name), and back in 2019 I made some partial implementation for an unrelated (and now forgotten) blog project, so the protocol was not totally new to me.

These are my thoughts about one year of development.

Why did I start it? Because I read somewhere about the (still baffling to me) humoungous requirements of a basic #Mastodon installation. I read a lot of people affirming that was the bare minimum: "it CAN'T be done with less resources". But I've always seen it as a glorified short message application and challenged myself to write a feature-complete #Fediverse instance with the following goals: keeping it small, simple, easily deployed, and lacking the bloat software tendencies of modern times.

Did it come out as expected? not totally sure, but probably yes. I even implemented more things that I originally planned (I initially said a big NO to myself regarding adding Mastodon API support, but finally did it and it works mostly well). The program is still somewhat small (a stripped binary of less that 300k probably counts). The no-database, no-cookies, no-javascript absolute rules still apply. I'm fine with the (opinionated) web UI that shows conversations as threaded trees instead of the plain, dull stream of posts that Mastodon or Twitter show. It cooperates pretty well with the always growing ecosystem of ActivityPub applications.

Was the time and effort worth it? On this, I'm not sure. I'm old and depressed and unemployed, so developing snac has kept my brain busy and entertained for a little while. But it has been more work that I expected: the ActivityPub specification is a bit diffuse in some areas, so every implementation does some things a bit different and many corner cases had to be implemented; some parts (specifically, the Mastodon API) have been very tedious to implement and test; and also, helping users debugging remote systems is difficult and very stressing for me. Fortunately, some fellow developers have helped me and I'm immensely thankful to them.

Has it been a success? I'm pretty sure about this: no. I thought that the small footprint, the lack of moving parts and the feature set would be attractive to a large base of users, but this has not been the case. Perhaps I've been unable to reach the neccessary potential users for it to reach some critical mass (a failure of the PR department 😆). Perhaps what I consider interesting features (minimalism, footprint, the web UI concept, Mastodon API compatibility, etc.) are not that valuable for most. Perhaps people disregard it just because it's not Mastodon. Perhaps there are errors and crashes that I'm not aware of. Perhaps snac is rubbish and I'm unable to see it. The reality is that snac is a niche and unknown part of the Fediverse ecosystem and there is no sign that the user base will grow from the current small fistful of deployments out there.

What about the future? I'm also not sure. Apart from some pending bugfixes and wishlist items mentioned in the TODO file, I've implemented all the features I initially expected and then many more, so I consider snac a finished program. New bugs will happen, that's for sure. New ActivityPub applications will show out there and, if experience tells me anything, they will all have slightly different protocol interpretations that will need some code tuning on my part. Development will continue; snac is a maintained program. But big changes will probably not happen anymore.

https://comam.es/what-is-snac

If you find snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

opennet honked 18 Sep 2023 22:00 +0200

Уязвимости в сетевых устройствах Juniper, ASUS, D-Link, Tenda и NETGEAR

Несколько опасных уязвимостей в сетевых устройствах, позволяющих выполнить свой код или получить управляющий доступ без прохождения аутентификации:
  • В межсетевых экранах Juniper серий SRX и коммутаторах Juniper серий EX, построенных на базе Junos OS c web-интерфейсом J-Web, выявлена уязвимость (CVE-2023-36845), позволяющая прочитать содержимое любого файла в системе, в том числе файла с заданным во время начальной настройки root-паролем, или выполнить произвольный PHP-код через отправку запроса к web-интерфейсу без аутентификации. Пример выполнения функции phpinfo(): curl "http://10.12.72.1/?PHPRC=/dev/fd/0" --data-binary $'allow_url_include=1\nauto_prepend_file="data://text/plain;base64,PD8KICAgcGhwaW5mbygpOwo/Pg=="'
  • Три уязвимости в беспроводных маршрутизаторах ASUS RT-AX55, RT-AX56U_V2 и RT-AC86U (CVE-2023-39238, CVE-2023-39239, CVE-2023-39240), связанные с отсутствием должной проверки входных данных перед использованием в функциях форматирования строки в CGI-скриптах web-интерфейса. Уязвимости позволяют удалённо выполнить свой код через отправку запроса без аутентификации.
  • 95 уязвимостей (CVE-2023-35724 - CVE-2023-34756, CVE-2023-37310 - CVE-2023-37326, CVE-2023-41188 - CVE-2023-41230) в маршрутизаторах D-Link DIR-3040, DAP-1325 и DAP-2622. 79 уязвимостей позволяют выполнить свой код с правами root через отправку сетевого запроса без аутентификации.
  • Уязвимость (CVE-2023-4498 ) в беспроводном маршрутизаторе Tenda N300 Wireless N VDSL2, позволяющая получить удалённый доступ к управляющему web-интерфейсу без прохождения аутентификации через указание в путях ключевых слов из белого списка, наличие которых приводит к выполнению запроса без аутентификации.
  • Уязвимости в маршрутизаторах NETGEAR RAX30 (CVE-2023-40480, CVE-2023-40479) позволяющие добиться выполнения команд с правами root через отправку специально оформленных данных по DHCP и UPnP. Проблемы вызваны отсутствием проверки внешних данных перед их использованием в числе аргументов функции system(). Уязвимость в маршрутизаторах NETGEAR Orbi 760 (CVE-2023-41183), позволяющая получить доступ к системе без аутентификации из-за ошибки в реализации API SOAP.


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

continue honked 18 Sep 2023 11:48 +0200

Вчера досмотрел первый сезон (10 серий) сериала "Террор", который является экранизацией одноименного романа Дэна Симмонса. Смотрел с супругой, поэтому у меня есть два взгляда на сериал: мой (того, кто читал первоисточник) и её (она не читала).

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

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

Контекст (аннотация взята из книжного магазина):

"В 1845 году экспедиция под командованием опытного полярного исследователя сэра Джона Франклина отправляется на судах «Террор» и «Эребус» к северному побережью Канады на поиск Северо-Западного прохода из Атлантического океана в Тихий – и бесследно исчезает. Поиски ее затянулись на несколько десятилетий, сведения о ее судьбе собирались буквально по крупицам, и до сих пор картина происшедшего пестрит белыми пятнами – хотя осенью 2014 года грянула сенсация: после более чем полутора веков поисков «Эребус» был наконец обнаружен, и ученые уже готовятся приступить к изучению останков корабля, идеально сохранившихся в полярных водах. Но еще за несколько лет до этого поразительного открытия Дэн Симмонс, знаменитый автор «Гипериона» и «Эндимиона», «Илиона» и «Олимпа», «Песни Кали» и «Темной игры смерти», предложил свою версию событий: главную угрозу для экспедиции составляли не сокрушительные объятия льда, не стужа с вьюгой и не испорченные консервы – а неведомое исполинское чудовище, будто сотканное из снега и полярного мрака."

#ЧтоПосмотреть #ЧтоПочитать #ФедиЧитает

Экспедиционные суда HMS Erebus и HMS Terror

opennet honked 18 Sep 2023 09:00 +0200

Релиз браузерного движка WebKitGTK 2.42.0 и обновление проекта Servo

Представлен выпуск новой стабильной ветки WebKitGTK 2.42.0, порта браузерного движка WebKit для платформы GTK. WebKitGTK позволяет использовать все возможности WebKit через GNOME-ориентированный программный интерфейс на основе GObject и может применяться для интеграции средств обработки web-контента в любые приложения, от использования в специализированных HTML/CSS-парсерах, до создания полнофункциональных web-браузеров. Из известных проектов, использующих WebKitGTK, можно отметить штатный браузер GNOME (Epiphany). Ранее WebKitGTK применялся в браузере Midori, но после перехода проекта в руки Astian Foundation старый вариант Midori на WebKitGTK был заброшен и путём создания ответвления от браузера Wexond создан принципиально другой продукт с тем же названием Midori, но на основе платформы Electron и React.

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

  • Реализован новый механизм рендеринга, использующий разделяемые буферы DMA-BUF.
  • Добавлен новый запрос полномочий, применяемый для предоставления доступа к вставке через DOM (DOM paste).
  • Добавлен API для настройки экспериментальных возможностей во время работы.
  • Добавлен API для установки объёма хранилища, используемого для хранения данных.
  • Реализация WebGL избавлена от привязке к GBM.

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

В свежих ночных сборках Servo реализованы следующие возможности:

  • Включён по умолчанию интерфейс пользователя minibrowser (рабочий пример браузера на базе движка Servo), оснащённый адресной строкой.
  • Обновлена экспериментальная реализация API WebGPU, включаемая через параметр "--pref dom.webgpu.enabled". Новая версия успешно проходит более 5000 тестов, оценивающих совместимость со спецификацией.
  • Код, обеспечивающий работу HTTPS, переведён с OpenSSL на пакет rustls.
  • Добавлена возможность сборки для архитектуры ARM32, помимо ARM64.
  • Возвращена поддержка плавающих элементов CSS и свойства "white-space: nowrap".
  • Улучшена страница, показываемая при аварийном завершении.


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

continue honked 17 Sep 2023 19:38 +0200

#сегодня в лесу много грибов
не только этих, но и съедобных) хотя может и среди этих есть не-ядовитые...

Грибы в окружении мха, лесной древесины и опада.

Грибы в окружении мха, лесной древесины и опада.

Грибы в окружении мха, лесной древесины и опада.

Грибы в окружении мха, лесной древесины и опада.

Грибы в окружении мха, лесной древесины и опада.

Грибы в окружении мха, лесной древесины и опада.

Грибы в окружении мха, лесной древесины и опада.

Грибы в окружении мха, лесной древесины и опада.

contrinitiator bonked 17 Sep 2023 19:07 +0200
original: shuro@friends.deko.cloud

@orbite В принципе, логично, что нечистая сила использует схожий подход (особенно, если образ рисуется телепатически).

opennet honked 17 Sep 2023 10:00 +0200

Выпуск библиотеки Libadwaita 1.4 для создания интерфейсов в стиле GNOME

Проект GNOME опубликовал выпуск библиотеки Libadwaita 1.4, включающей набор компонентов для стилевого оформления интерфейса пользователя, соответствующего рекомендациям GNOME HIG (Human Interface Guidelines). Библиотека включает в себя готовые виджеты и объекты для построения приложений, соответствующих общему стилю GNOME, интерфейс которых может адаптивно подстраиваться под экраны любого размера. Код библиотеки написан на языке Си и распространяется под лицензией LGPL 2.1+.

Библиотека libadwaita используется в сочетании с GTK4 и включает компоненты используемой в GNOME темы оформления Adwaita, которые были вынесены из GTK в отдельную библиотеку. Вынос элементов визуального оформления GNOME в отдельную библиотеку позволяет развивать необходимые для GNOME изменения отдельно от GTK, что даёт возможность разработчикам GTK сосредоточиться на базовых вещах, а разработчикам GNOME более быстро и гибко продвигать необходимые для себя изменения стилевого оформления, не затрагивая сам GTK.

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

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

  • Предложены новые адаптивные виджеты, подстраивающиеся под размер видимой области. В новом наборе обеспечена корректная поддержка вложенного изменения размера (например, когда изменение размера боковой панели, влечёт за собой изменение размера кнопок и переключателей), решены проблемы с анимированными эффектами при переключении режимов, переделана обработка изменения ширины, повышена гибкость использования (например, в версии для мобильных устройств можно перенести часть виджетов из заголовка в нижнюю панель). Старые адаптивные виджеты AdwLeaflet, AdwFlap, AdwSqueezer и AdwViewSwitcherTitle объявлены устаревшими и со временем должны быть заменены на новые.

  • Реализована система точек останова (класс Breakpoint), позволяющая менять интерфейс пользователя произвольным образом в зависимости от размера окна. Точки останова могут использоваться с классами AdwWindow, AdwApplicationWindow и AdwBreakpointBin. Среди прочего, точки останова могут определяться декларативным способом через UI-файлы.
  • В виджете AdwNavigationView реализован шаблон браузинга, пришедший на смену виджету AdwLeaflet в режиме "can-unfold=false", предоставляющий стек навигации, который может настраиваться статически (через UI-файлы) или динамически, и поддерживающий действия navigation.push и navigation.pop для помещения страниц напрямую из UI-файла.
  • В виджет AdwHeaderBar добавлена возможность автоматического показа корректного заголовка для каждой страницы навигации, а также показа кнопки "назад" для перехода к прошлой странице или вывода меню для выбора страниц для перехода.
  • Добавлен виджет AdwNavigationSplitView, имеющий два дочерних элемента - боковую панель и содержимое, которые выводятся бок о бок. Размер боковой панели может выбираться как определённый процент от общей ширины видимой области.
  • Добавлен виджет AdwToolbarView, включающий виджет с содержимым и несколько верхних и нижних панелей (например, AdwHeaderBar, AdwTabBar, GtkSearchBar, GtkActionBar или GtkBox со стилем .toolbar).
  • Добавлен виджет для вывода переключателей AdwSwitchRow, реализованный как подкласс AdwActionRow, содержащий GtkSwitch.
  • Добавлен виджет AdwSpinRow c реализацией строки списка, включающей GtkSpinButton.
  • Добавлен новый класс стилей ".property" для отображения свойств.
  • Добавлена функция adw_about_window_new_from_appdata() для упрощения создания окон с информацией о программе.
  • В виджете AdwComboRow реализована поддержка полей поиска.
  • Добавлено свойство AdwPreferencesPage:description для показа описания в верхней части страницы.
  • В виджете AdwTabOverview значительно переделана обработка миниатюр для лучшей работы с WebKitWebView.
  • Цвет заголовков и панелей инструментов в светлых темах заменён на белый вместо серого. Серый цвет теперь задействован в боковых панелях.


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