· | 05.06 |
Релиз оконного менеджера IceWM 3.4.0 (1) |
|
Доступен выпуск легковесного оконного менеджера IceWM 3.4.0. IceWM предоставляет полноценное управление через клавиатурные комбинации, возможность использования виртуальных рабочих столов, панели задач и меню-приложений, для группировки окон можно использовать вкладки. Оконный менеджер настраивается через достаточно простой файл конфигурации, возможно использование тем оформления. Поддерживается объединение окон в форме вкладок. Доступны встроенные апплеты для мониторинга CPU, памяти, трафика. Отдельно развивается несколько сторонних GUI для настройки, реализаций рабочего стола и редакторов меню. Код написан на языке С++ и распространяется под лицензией GPLv2.
В новой версии проведена работа по улучшению управления при помощи клавиатурных комбинаций. Добавлена поддержка использования UTF-8 в раскладке символов (code point), а также возможность привязки к кодам клавиш, меняющих значение при нажатом Shift, и символьным литералам из кодировки Latin-1. Реализовано обновление клавиатурных привязок после переключения раскладки клавиатуры.
- Главная ссылка к новости
- OpenNews: Релиз оконного менеджера IceWM 3.3.0
- OpenNews: Релиз оконного менеджера IceWM 3.1.0, продолжающий развитие концепции вкладок
- OpenNews: Релиз оконного менеджера IceWM 3.0.0 с поддержкой вкладок
- OpenNews: Используемый в Xfce оконный менеджер xfwm4 портирован для работы с Wayland
- OpenNews: Доступен оконный менеджер i3wm 4.19
|
|
|
| |
|
|
· | 04.06 |
Новый JIT-компилятор Maglev позволил поднять производительность Chrome (143 +13) |
|
Компания Google представила новый JIT-компилятор Maglev, постепенное включение которого начнётся для пользователей Chrome 114 5 июня. JIT-компилятор нацелен на быструю генерацию высокопроизводительного машинного кода для активно используемого кода на JavaScript. Включение Maglev позволило ускорить прохождение теста производительности Jetstream на 7.5%, а теста Speedometer на 5%.
Кроме того, упомянута общая динамика роста производительности Chrome:
- В тесте Speedometer, сосредоточенном на оценке отзывчивости браузера при работе с сайтами и измерении скорости выполнения популярных JavaScript-библиотек, показатели Chrome улучшились с 330 до 491 балла. Помимо перехода на Maglev тестирование учитывало и другие оптимизации, внесённые в выпусках за последний год (с выпуска 101), например, оптимизации вызова функций в JavaScript-движке.
- В тесте Jetstream, рассчитанном на проверку работы с продвинутыми web-приложениями на JavaScript и WebAssembly, применение Maglev позволило достигнуть показателя в 330 баллов (улучшение на 7.5%).
- В тесте MotionMark, проверяющем способность графической подсистемы браузера отрисовывать информацию с большой частотой кадров, с прошлого года показатели улучшились в три раза. С начала года разработчиками предложено более 20 оптимизаций, ускоряющих работу с графикой в Chrome, из которых половина уже включена в кодовую базу стабильных выпусков. Например, повышена производительность работы с Canvas, включены оптимизации на основе профилирования кода, улучшено планирование задач, выполняемых на стороне GPU, повышена производительность сведения слоёв (композитинга), реализован новый алгоритм динамического сглаживания MSAA (Multisample Anti-Aliasing) и обеспечен вынос растеризации 2D canvas в отдельные процессы для распараллеливания операций.
- Главная ссылка к новости
- OpenNews: Релиз MagLev 1.0, альтернативной реализации Ruby VM со встроенным NoSQL-хранилищем
- OpenNews: Для JavaScript-движка Firefox создается новый JIT-компилятор
- OpenNews: В ночных сборках Firefox заметно увеличена производительность JIT-компиляции
- OpenNews: Анализ влияния на производительность дополнений к Chrome
- OpenNews: В Chrome внесены значительные оптимизации производительности
|
|
|
| |
|
|
· | 03.06 |
Обновление SMTP-сервера Sendmail 8.17.2 (31 +8) |
|
Спустя почти два года с момента прошлого обновления сформирован релиз SMTP-сервера Sendmail 8.17.2. Кроме исправления ошибок, в новой версии улучшена поддержка email-адресов с символами национальных алфавитов (EAI, Email Address Internationalization), добавлена поддержка новых версий macOS, улучшено выполнение проверок DANE (DNS-based Authentication of Named Entities), для предотвращения проседания производительности параметр MaxMimeHeaderLength по умолчанию выставлен в значение 2048/1024.
- Главная ссылка к новости
- OpenNews: Бета-тестирование проекта sendmail X
- OpenNews: OpenBSD перешёл на использование OpenSMTPD по умолчанию
- OpenNews: Новая версия почтового сервера Exim 4.96
- OpenNews: Proofpoint поглотил компанию-разработчика Sendmail
- OpenNews: Доступен почтовый сервер Postfix 3.8.0
|
|
|
| |
|
|
· | 03.06 |
Ошибка в CPU AMD EPYC 7002 приводит к зависанию после 1044 дней работы (138 +36) |
|
В поставляемой с 2018 года серии серверных процессоров AMD EPYC 7002 ("Rome"), построенных на базе микроархитектуры "Zen 2", выявлена ошибка, в результате которой процессор зависает после 1044 дней работы без сброса состояния (перезагрузки системы). В качестве обходных путей блокирования проблемы рекомендуется отключить поддержку энергосберегающего режима CC6 или перезагружать сервер чаще, чем раз в 1044 дней (примерно 2 года 10 месяцев).
По информации, опубликованной компанией AMD, зависание вызвано сбоем, возникающим при попытке выхода процессорного ядра из энергосберегающего режима CC6 (core-C6, понижает напряжение при бездействии) при достижении таймером значения в 1044 дней после последнего сброса состояния CPU (время проявления может меняться в зависимости от частоты REFCLK).
Более детального пояснения причины сбоя компания AMD не приводит. Судя по опубликованному на Reddit предположению, зависание происходит когда счётчик в регистре TSC (Time Stamp Counter), отсчитывающем число рабочих циклов после сброса, при частоте 2800 MHz достигает значения 0x380000000000000 (2800 MHz * 10**6 * 1042.5, т.е. спустя 1042 дня и 12 часов).
Исправление ошибки публиковать не планируется. Проблема долгое время оставалась незамеченной так как многолетние uptime не типичны для серверов, которые для поддержания в актуальном состоянии периодически приходится перезапускать для установки обновлений ядра или для перехода на новый выпуск операционной системы. Тем не менее, применение в Linux дистрибутивах методов обновления ядра без перезагрузки, а также длительные циклы сопровождения (Ubuntu, RHEL и SUSE поддерживаются 10 лет) могут привести к долгому нахождению серверов без перезагрузки.
- Главная ссылка к новости
- OpenNews: В обновлении микрокода Intel выявлена проблема, приводящая к зависанию на системах Tiger Lake
- OpenNews: Перевод мировых атомных часов на одну секунду привёл к массовому зависанию серверных приложений
- OpenNews: Ошибка в прошивке SSD-накопителей HPE, приводящая к потере данных через 32768 часов работы
- OpenNews: Новая проблема в SSD-накопителях HPE, приводящая к потере данных через 40000 часов
- OpenNews: Решено с 2035 года приостановить синхронизацию мировых атомных часов с астрономическим временем
|
|
Обсуждение (138 +36) |
Тип: Тема для размышления |
|
| |
|
|
· | 03.06 |
Опубликован стандарт SQL:2023 (47 +24) |
|
Международная организация по стандартизации (ISO) утвердила и опубликовала международный стандарт SQL:2023 (ISO/IEC 9075), который определяет девятую редакцию спецификации языка SQL, применяемого для манипуляции данными в реляционных СУБД. Прошлое обновление спецификации было выпущено в 2016 году (SQL:2016).
Основные изменения в новой спецификации:
- Добавлено расширение SQL/PGQ (Property Graph Queries) для манипуляции наборами связанных между собой данных, образующих граф.
CREATE TABLE person (...);
CREATE TABLE company (...);
CREATE TABLE ownerof (...);
CREATE TABLE transaction (...);
CREATE TABLE account (...);
CREATE PROPERTY GRAPH financial_transactions
VERTEX TABLES (person, company, account)
EDGE TABLES (ownerof, transaction);
SELECT owner_name,
SUM(amount) AS total_transacted
FROM financial_transactions GRAPH_TABLE (
MATCH (p:person WHERE p.name = 'Alice')
-[:ownerof]-> (:account)
-[t:transaction]- (:account)
<-[:ownerof]- (owner:person|company)
COLUMNS (owner.name AS owner_name, t.amount AS amount)
) AS ft
GROUP BY owner_name;
- Определена возможность настройки поведения обработки значений NULL при наличии ограничителя "UNIQUE". При указании "UNIQUE NULLS DISTINCT", добавляемые в базу значения NULL будут трактоваться как уникальные. Например, в таблице с условием "UNIQUE NULLS DISTINCT (a, b, c)" можно выполнить несколько операций "INSERT INTO t2 VALUES (1, NULL, NULL);", а в таблице с условием "UNIQUE NULLS NOT DISTINCT (a, b, c)" - нет.
- Расширены возможности выполнение операции "ORDER BY" над сгруппированными таблицами. В спецификации теперь разрешены операции упорядочивания сгруппированных таблиц по столбцу, не упомянутому в списке вывода SELECT сгруппированной таблицы. Ранее большинство СУБД позволяло делать такие манипуляции, но спецификация не определяла подобную возможность. Например:
SELECT product.product_id, sum(product_part.num)
FROM product JOIN product_part ON product.product_id = product_part.product_id
GROUP BY product.product_id
ORDER BY product.product_code;
- Добавлены новые функции GREATEST и LEAST, выбирающие наибольшее и наименьшее значение из переданного списка. Например:
SELECT greatest(1, 2, 3); --> 3
SELECT least(1, 2, 3); --> 1
SELECT least(standard, discount) FROM data ...
- Добавлены новые функции LPAD и RPAD для дополнения строки до определённого размера. Например:
SELECT lpad(cast(amount as varchar), 12, '-') FROM ...
----12345.67
- Добавлены многосимвольные варианты функции TRIM - LTRIM, RTRIM и BTRIM, которые позволяют вырезать из начала или конца строки символы, указанные в списке. По сравнению с TRIM новые функции имеют более простой синтаксис. Например:
SELECT ltrim('cccbtest', 'abc'); --> test
SELECT trim(leading 'abc' from 'cccbtest');
- Для типов "VARCHAR" и "CHARACTER VARYING" разрешено не указывать максимальный размер, в этом случае максимальный размер будет зависеть от реализации СУБД.
CREATE TABLE t1 (
a VARCHAR(256),
b VARCHAR,
...
);
- Расширены возможности по выявлению циклов в рекурсивных запросах, используя выражение "CYCLE". Поле с маркером цикла теперь может иметь тип "boolean", а не строковый, и передавать признак цикла в форме значений true и false. Например:
WITH RECURSIVE ... (
SELECT ...
UNION ALL
SELECT ...
)
CYCLE id SET is_cycle USING path;
-- вместо CYCLE id SET is_cycle TO 'Y' DEFAULT 'N' USING path;
- Добавлена новая агрегатная функция any_value(), которая из входного набора данных возвращает произвольное значение, не являющееся NULL.
CREATE TABLE t1 (
a int,
b int
);
INSERT INTO t1 VALUES (1, 11), (1, 22), (1, 33);
SELECT a, any_value(b) FROM t1 GROUP BY a;
в зависимости от вызова вернёт "1 | 11", "1 | 22" или "1 | 33".
- Добавлена возможность указания шестнадцатеричных, двоичных и восьмеричных литералов. Например:
SELECT 0xFFFF, 0o755, 0b11001111 ...
- Разрешено использование в числе символа подчёркивания для повышения наглядности цифровых литералов.
SELECT ... WHERE a > 1_000_000;
UPDATE ... SET x = 0x_FFFF_FFFF ...
- Значительно расширены возможности, связанные с обработкой данных в формате JSON. Добавлен отдельный тип JSON (в стандарте SQL:2016 данные JSON предписывалось хранить в полях со строковыми типами). В данных с типом JSON можно проверять уникальность, используя "JSON('...text...' WITH UNIQUE KEYS)". Тип JSON также может сравниваться, сортироваться и использоваться в операциях группировки. Предложенные в прошлом стандарте функции JSON_OBJECT, JSON_OBJECTAGG, JSON_TABLE и т.п. могут работать как со старым строковым представлением, так и с отдельными типом JSON.
Реализована поддержка операций JSON_SERIALIZE, JSON_SCALAR и IS JSON. Предоставлен упрощённый синтаксис доступа к наборами вида '{"foo": {"bar": [100, 200, 300]}, ...}' из SQL ("SELECT t.j.foo.bar[2], ... FROM tbl t ..."). Добавлено 14 новых методов для применения к значениям SQL/JSON внутри языка SQL/JSON.
В СУБД PostgreSQL большая часть предложенных в SQL:2023 новшеств уже доступна или запланирована для включения в следующий значительный выпуск. Поддержка ANY_VALUE, подчёркиваний в числах, шестнадцатеричных/двоичных/восьмеричных литералов и шестнадцатеричных литералов в SQL/JSON появится в осеннем выпуске PostgreSQL. Поддержка расширенных возможностей для типа JSON, упрощённого синтаксиса SQL/JSON, новых JSON-методов и расширения PGQ ожидается в выпусках после PostreSQL 16, но работа в этих областях пока не началась. Остальные новшества SQL:2023 уже доступны в существующих выпусках PostreSQL.
- Главная ссылка к новости
- OpenNews: Релиз языка для формирования структурированных запросов HTSQL 2.0
- OpenNews: Проект libSQL начал развитие форка СУБД SQLite
- OpenNews: Релиз СУБД PostgreSQL 15
- OpenNews: Facebook представил новый язык формирования запросов GraphQL
- OpenNews: Facebook сменил лицензию на GraphQL и выпустил React 16
|
|
|
| |
|
|
· | 02.06 |
Red Hat прекратит подготовку rpm-пакетов с LibreOffice для RHEL и Fedora (285 –25) |
|
Маттиас Класен (Matthias Clasen), лидер Fedora Desktop Team и участник GNOME Release Team, сообщил о решении компании Red Hat прекратить поставку RPM-пакетов с LibreOffice в следующей значительной ветке дистрибутива Red Hat Enterprise Linux 10, а также ограничить своё участие в разработке пакетов с LibreOffice для Fedora, сопровождением которых ранее занимались работники Red Hat. Пользователям, желающим установить LibreOffice, будет предложено использовать пакеты в формате Flatpak.
Решение объясняется перераспределением ресурсов в команде Red Hat Display Systems, которая занималась сборкой пакетов с LibreOffice для Fedora и RHEL. Приоритеты в работе данной команды будут смещены в область устранения проблем и недоработок, связанных с использованием протокола Wayland, а также реализации поддержки HDR, механизмов управления цветом и других улучшений, востребованных пользователями рабочих станций.
В качестве компромисса решено отказаться от ранее взятой на себя работы над десктоп-приложениями, прекратить поставку LibreOffice в основном составе будущей ветки RHEL и отказаться от сопровождения пакетов c LibreOffice для Fedora. Сопровождение пакетов с LibreOffice в текущих ветках RHEL 7,8 и 9 будет продолжено без изменений. В рамках данной работы для включения в состав LibreOffice планируют передать исправления для улучшения поддержки поставки офисного пакета в формате Flatpak, который в долгосрочной перспективе рассматривается в качестве основного способа установки LibreOffice пользователями RHEL.
Не исключается, что в сообществе найдутся желающие взять в свои руки сопровождение пакетов LibreOffice в формате RPM и Flatpak, но так как поставка LibreOffice охватывает заметный блок пакетов и зависимостей, сопровождение потребует выполнения значительного объёма работы.
- Главная ссылка к новости
- OpenNews: Red Hat упразднил должность Fedora Program Manager
- OpenNews: Red Hat начинает сокращение рабочих мест
- OpenNews: Проект по избавлению GNOME от ошибок и недоработок, проявляющихся при работе поверх Wayland
- OpenNews: Инициатива по развитию средств управления цветом и HDR для Wayland
- OpenNews: Canonical готовит вариант Ubuntu Desktop, содержащий только пакеты Snap
|
|
|
| |
|
|
· | 02.06 |
Выпуск интегрированной среды разработки Apache NetBeans 18 (47 +8) |
|
Организации Apache Software Foundation представила интегрированную среду разработки Apache NetBeans 18, которая предоставляет поддержку языков программирования Java SE, Java EE, PHP, C/C++, JavaScript и Groovy. Готовые сборки сформированы для Linux (snap, flatpak), Windows и macOS.
Среди предложенных изменений:
- Добавлена начальная реализация окружения для разработки проектов на языке Rust.
- Улучшена поддержка системы сборки Gradle. Инструментарий и API Gradle обновлён до версии 8.1 с поддержкой JDK 20.
- Улучшена поддержка системы сборки Maven. Встроенный инструментарий maven обновлён до версии 3.9.1. Добавлены настройки для загрузки внешнего индекса. Улучшено определение выполнения maven в многопоточном режиме. Добавлена возможность запуска тестов из произвольного каталога.
- Для проектов на языке Java добавлена поддержка JDK 20 и реализован обработчик больших строк.
- Добавлена поддержка платформы Glassfish 7.0.x и поддержка JPA 3.1 из Jakarta EE 10.
- В окружении для языка PHP улучшена поддержка возможностей, появившихся в новых версиях PHP.
- В окружении для web-проектов улучшена поддержка CSS, обновлены шаблоны HTML5, улучшена обработка публичных и закрытых полей в JavaScript-классах.
- В редактор кода добавлена начальная поддержка HCL (применяемый в HashiCorp Terraform язык определения конфигурации). Добавлена поддержка подсветки синтаксиса для кода на языке Go.
- Расширены возможности, связанные с использованием серверов LSP (Language Server Protocol).
- Главная ссылка к новости
- OpenNews: Выпуск интегрированной среды разработки Apache NetBeans 17
- OpenNews: Выпуск интегрированной среды разработки Apache NetBeans 16
- OpenNews: Уязвимости в механизме автообновления Apache NetBeans
- OpenNews: Вредоносное ПО, поражающее NetBeans для внедрения бэкдоров в собираемые проекты
- OpenNews: Выпуск Java SE 20
|
|
|
| |
|
|
· | 02.06 |
Выпуск дистрибутива для исследования безопасности Kali Linux 2023.2 (33 +4) |
|
Представлен релиз дистрибутива Kali Linux 2023.2, основанного на пакетной базе Debian и предназначенного для тестирования систем на предмет наличия уязвимостей, проведения аудита, анализа остаточной информации и выявления последствий атак злоумышленников. Все оригинальные наработки, созданные в рамках дистрибутива, распространяются под лицензией GPL и доступны через публичный Git-репозиторий. Для загрузки подготовлены несколько вариантов iso-образов, размером 443 МБ, 2.8 ГБ и 3.7 ГБ. Сборки доступны для архитектур i386, x86_64, ARM (armhf и armel, Raspberry Pi, Banana Pi, ARM Chromebook, Odroid). По умолчанию предлагается рабочий стол Xfce, но опционально поддерживаются KDE, GNOME, MATE, LXDE и Enlightenment e17.
Kali включает одну из самых полных подборок инструментов для специалистов в области компьютерной безопасности: от средств для тестирования web-приложений и проникновения в беспроводные сети до программ для считывания данных с идентификационных RFID чипов. В комплект входит коллекция эксплоитов и более 300 специализированных утилит для проверки безопасности, таких как Aircrack, Maltego, SAINT, Kismet, Bluebugger, Btcrack, Btscanner, Nmap, p0f. Помимо этого, в дистрибутив включены средства для ускорения подбора паролей (Multihash CUDA Brute Forcer) и WPA ключей (Pyrit) через задействование технологий CUDA и AMD Stream, позволяющих использовать GPU видеокарт NVIDIA и AMD для выполнения вычислительных операций.
В новом выпуске:
- Подготовлен отдельный образ виртуальной машины для гипервизора Hyper-V, преднастроенный для использования режима ESM (Enhanced Session Mode, xRDP поверх HvSocket) и способный работать сразу без дополнительных настроек.
- В поставляемой по умолчанию сборке с рабочим столом Xfce осуществлён переход со звукового сервера PulseAudio на мультимедийный сервер PipeWire (сборка с GNOME была переведена на PipeWire ранее).
- В базовую сборку с Xfce в файловый менеджер предустановлено расширение GtkHash, позволяющее быстро вычислять контрольные суммы в диалоге со свойствами файлов.
- Окружение на основе GNOME обновлено до выпуска 44, в котором продолжен перевод приложений на использование GTK 4 и библиотеки libadwaita (на GTK4 среди прочего переведена пользовательская оболочка GNOME Shell и композитный менеджер Mutter). В диалог выбора файлов добавлен режим отображения содержимого в форме сетки значков. Внесены многочисленные изменения в конфигуратор. В меню быстрого изменения настроек добавлена секция для управления Bluetooth.
- В состав варианта на основе GNOME добавлено расширение Tiling Assistant для работы с окнами в мозаичном режиме.
- Полностью переделан вариант с рабочим столом на основе мозаичного оконного менеджера i3 (мета-пакет kali-desktop-i3), который приобрёл вид полноценного пользовательского окружения.
- Обновлены пиктограммы и реструктуризовано меню приложений.
- В состав включены новые утилиты:
- Cilium-cli - управление кластерами Kubernetes.
- Cosign - формирование цифровых подписей для контейнеров.
- Eksctl - интерфейс командной строки для Amazon EKS.
- Evilginx - фреймворк MITM-атак для захвата учётных данных, сессионных Cookie и обхода двухфакторной аутентификации.
- GoPhish - инструментарий для фишинга.
- Humble - анализатор заголовков HTTP.
- Slim - упаковщик образов контейнеров.
- Syft - генератор SBoM (Firmware Software Bill of Materials), определяющий состав программных компонентов, включённых в образ контейнера или присутствующих в ФС.
- Terraform - платформа управления инфраструктурой.
- Tetragon - анализатор на основе eBPF.
- TheHive - платформа реагирования на вторжения.
- Trivy - инструментарий для поиска уязвимостей и проблем с настройками в контейнерах, репозиториях и облачных окружениях.
- Wsgidav - сервер WebDAV, использующий WSGI.
- Обновлено окружение для мобильных устройств на базе платформы Android - NetHunter, с подборкой инструментов для тестирования систем на наличие уязвимостей. При помощи NetHunter возможна проверка осуществления атак, специфичных для мобильных устройств, например, через эмуляцию работы USB-устройств (BadUSB и HID Keyboard - эмуляция сетевого USB-адаптера, который может использоваться для MITM-атак, или USB-клавиатуры, выполняющей подстановку символов) и создание подставных точек доступа (MANA Evil Access Point). NetHunter устанавливается в штатное окружение платформы Android в форме chroot-образа, в котором выполняется специально адаптированный вариант Kali Linux.
- Главная ссылка к новости
- OpenNews: Выпуск дистрибутива для исследования безопасности Kali Linux 2023.1
- OpenNews: Выпуск дистрибутива Parrot 5.2 с подборкой программ для проверки безопасности
- OpenNews: Выпуск BackBox Linux 8, дистрибутива для тестирования безопасности
- OpenNews: Выпуск BlackArch 2020.06.01, дистрибутива для тестирования безопасности
|
|
|
| |
|
|
· | 02.06 |
Выпуск дистрибутива для создания сетевых хранилищ TrueNAS CORE 13.0-U5 (37 +7) |
|
Представлен выпуск TrueNAS CORE 13.0-U5, дистрибутива для быстрого развёртывания сетевого хранилища (NAS, Network-Attached Storage), продолжающего развитие проекта FreeNAS. TrueNAS CORE 13 основан на кодовой базе FreeBSD 13, отличается интегрированной поддержкой ZFS и возможностью управления через веб-интерфейс, построенный с использованием Python-фреймворка Django. Для организации доступа к хранилищу поддерживается FTP, NFS, Samba, AFP, rsync и iSCSI, для повышения надежности хранения может применяться программный RAID (0,1,5), для авторизации клиентов реализована поддержка LDAP/Active Directory. Размер iso-образа 1 ГБ (x86_64). Параллельно развивается дистрибутив TrueNAS SCALE, использующий Linux вместо FreeBSD.
Основные изменения:
- Реализована возможность определения в таблицах ACPI флага 'unarmed' (только для чтения) для памяти NVDIMM.
- Добавлена отладочная возможность сохранения вывода утилиты mprutil для всех подключённых HBA (Host Bus Adapter).
- При формировании ответа SMB2 AAPL readirattr обеспечена возможность прямого чтения расширенных атрибутов файлов.
- Добавлена возможность показа статистики об операциях NVDIMM.
- Для NVDIMM Micron 16GB 2666 предоставлена новая версия прошивки.
- Устранено около 60 ошибок, среди прочего связанных с работой NFS, SMB и репликации.
- Главная ссылка к новости
- OpenNews: Выпуск дистрибутива для создания сетевых хранилищ TrueNAS SCALE 22.12.2
- OpenNews: Выпуск дистрибутива для создания сетевых хранилищ TrueNAS CORE 13.0-U3
- OpenNews: Выпуск дистрибутива для создания сетевых хранилищ TrueNAS 13.0
- OpenNews: Объявлено об объединении проектов FreeNAS и TrueNAS
- OpenNews: Выпуск дистрибутива для создания сетевых хранилищ EasyNAS 1.0
|
|
|
| |
|
|
· | 02.06 |
Доступна система управления исходными текстами Git 2.41 (98 +14) |
|
После трёх месяцев разработки опубликован выпуск распределенной системы управления исходными текстами Git 2.41. Git является одной из самых популярных, надёжных и высокопроизводительных систем управления версиями, предоставляющей гибкие средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям "задним числом" используются неявное хеширование всей предыдущей истории в каждом коммите, также возможно удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов.
По сравнению с прошлым выпуском в новую версию принято 542 изменения, подготовленные при участии 95 разработчиков, из которых 29 впервые приняли участие в разработке. Основные новшества:
- Улучшена обработка недостижимых объектов (unreachable), на которые в репозитории отсутствуют ссылки (не ссылаются ветки или теги). Недостижимые объекты удаляются сборщиком мусора, но до удаления определённое время остаются в репозитории для исключения состояний гонки. Для отслеживания периода нахождения недостижимых объектов необходима привязка к ним меток с временем изменения подобных объектов, что не позволяет хранить их в одном pack-файле, в котором все объекты имеют общее время изменения. Ранее каждый недостижимый объект сохранялся в отдельном файле, что приводило к проблемам при наличии большого числа свежих недостижимых объектов, ещё не подпадающих под удаление. В новом выпуске для упаковки недостижимых объектов по умолчанию задействован механизм "cruft packs", позволяющий хранить все недостижимые объекты в одном pack-файле, а данные о времени модификации каждого объекта отражать в отдельной таблице, хранимой в файле с расширением ".mtimes" и связываемой при помощи индексного файла с расширением ".idx".
- Включено по умолчанию ведение на диске обратного индекса (revindex) для pack-файлов. При тестировании на репозитории torvalds/linux применение обратного индекса позволило ускорить ресурсоёмкие операции "git push" в 1.49 раза, а простые операции, такие как вычисление размера одного объекта при помощи "git cat-file --batch='%(objectsize:disk)'" в 77 раз. Файлы (".rev") с обратным индексом будут сохранены внутри репозитория в каталоге
".git/objects/pack".
Напомним, что Git хранит все данные в форме объектов, которые размещаются в отдельных файлах. Для повышения эффективности работы с репозиторием объекты дополнительно помещаются в pack-файлы, в которых информация представлена в форме потока из объектов, следующих друг за другом (аналогичный формат используется при передаче объектов командами git fetch и git push). Для каждого pack-файла создаётся индексный файл (.idx), позволяющий по идентификатору объекта очень быстро определить смещение в pack-файле, по которому хранится данный объект.
Включённый в новом выпуске обратный индекс нацелен на оптимизацию процесса определения идентификатора объекта по информации о размещении объекта в pack-файле. Ранее такое преобразование выполнялось на лету во время разбора pack-файла и хранилось только в памяти, что не позволяло повторно использовать подобные индексы и вынуждало генерировать индекс каждый раз. Операция построения индекса сводится к построению массива из пар "объект-позиция" и его сортировке по позиции, что может занимать много времени для больших pack-файлов.
Например, операция вывода содержимого объектов, в которой используется прямой индекс, выполнялась в 62 раза быстрее, чем операция показа размера объектов, для которой данные о связи позиции с объектом не индексировались. После использования обратного индекса указанные операции стали занимать примерно одинаковое время. Обратные индексы также позволяют ускорить операции отправки объектов при выполнении команд fetch и push за счёт прямой передачи уже готовых данных с диска.
- В протокол "credential helper", применяемый для передачи учётных данных
при обращения к репозиторям c ограниченным доступом, добавлена поддержка передачи заголовков WWW-Authenticate между обработчиком учётных данных и сервисом, в котором производится аутентификация. Поддержка заголовка WWW-Authenticate позволяет передавать scope-параметры OAuth для более гранулированного разделения доступа пользователя к репозиториям и разграничения областей, доступных для запросов.
- В команду for-each-ref добавлена опция форматирования "%(ahead-behind:<base>)", позволяющая разом получить сведения о числе коммитов, присутствующих или отсутствующих в определённой ветке, относительно другой ветки (на сколько одна ветка отстаёт или опережает другую на уровне коммитов). Ранее для получения подобной информации требовалось выполнить две отдельные команды: "git rev-list --count main..my-feature" для получения числа уникальных для ветки коммитов и "git rev-list --count my-feature..main" для получения числа отсутствующих коммитов. Теперь подобные вычисления можно свести к одной команде, что упрощает написание обработчиков и сокращает время выполнения. Например для показа не прошедших слияния веток и оценки отставания или опережения их основной ветки можно использовать однострочник:
$ git for-each-ref --no-merged=origin/HEAD \
--format='%(refname:short) %(ahead-behind:origin/HEAD)' \
refs/heads/tb/ | column -t
tb/cruft-extra-tips 2 96
tb/for-each-ref--exclude 16 96
tb/roaring-bitmaps 47 3
вместо ранее применявшегося скрипта, который выполняется в 17 раз медленнее:
$ git for-each-ref --format='%(refname:short)' --no-merged=origin/HEAD \
refs/heads/tb |
while read ref
do
ahead="$(git rev-list --count origin/HEAD..$ref)"
behind="$(git rev-list --count $ref..origin/HEAD)"
printf "%s %d %d\n" "$ref" "$ahead" "$behind"
done | column -t
tb/cruft-extra-tips 2 96
tb/for-each-ref--exclude 16 96
tb/roaring-bitmaps 47 3
- В команду "git fetch" добавлена опция "--porcelain", при указании которой формируется вывод в формате "<flag> <old-object-id> <new-object-id> <local-reference>", менее читаемый, но более удобный для разбора в скриптах.
- Добавлена настройка "fetch.hideRefs", позволяющая ускорить операции
"git fetch" за счёт скрытия части ссылок в локальном репозитории на стадии проверки отправки сервером полного набора объектов, что позволяет сэкономить время, ограничив проверку только серверов, с которых напрямую извлекаются данные. Например, при проведении теста на системе с репозиториями, содержащими большое число отслеживаемых внешних ссылок, исключение всех ссылок, кроме адресованных целевому серверу $remote, позволило сократить выполнение операции "git fetch" с 20 минут до 30 секунд.
$ git -c fetch.hideRefs=refs -c fetch.hideRefs=!refs/remotes/$remote \
fetch $remote
- В команде "git fsck" реализована возможность проверки повреждений, соответствия контрольных сумм и корректности значений в битовых картах доступности и обратных индексах.
- В команде "git clone --local" реализован вывод ошибки при попытке копирования из репозитория, содержащего символические ссылки внутри $GIT_DIR.
- Главная ссылка к новости
- OpenNews: Уязвимости в Git, позволяющие перезаписать файлы или выполнить свой код
- OpenNews: Выпуск системы управления исходными текстами Git 2.40
- OpenNews: Уязвимости в Git, приводящие к утечке и перезаписи данных
- OpenNews: Выпуск git-совместимой системы управления версиями Got 0.80
- OpenNews: Две уязвимости в Git, способные привести к удалённому выполнению кода
|
|
|
| |
|
|
· | 02.06 |
Выпуск языка программирования Rust 1.70 (177 +8) |
|
Опубликован релиз языка программирования общего назначения Rust 1.70, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки).
Методы работы с памятью в Rust избавляют разработчика от ошибок при манипулировании указателями и защищают от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Для распространения библиотек, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo. Для размещения библиотек поддерживается репозиторий crates.io.
Безопасная работа с памятью обеспечивается в Rust во время компиляции через проверку ссылок, отслеживание владения объектами, учёт времени жизни объектов (области видимости) и оценку корректности доступа к памяти во время выполнения кода. Rust также предоставляет средства для защиты от целочисленных переполнений, требует обязательной инициализации значений переменных перед использованием, лучше обрабатывает ошибки в стандартной библиотеке, применяет концепцию неизменяемости (immutable) ссылок и переменных по умолчанию, предлагает сильную статическую типизацию для минимизации логических ошибок.
Основные новшества:
- В репозитории пакетов crates.io по умолчанию задействован протокол
"sparse", реализующий новый способ работы с индексом, в котором отражены доступные версии всех существующих в репозитории пакетов. Новый протокол позволяет существенно повысить скорость работы с crates.io и решить проблемы с масштабированием при дальнейшем росте числа пакетов в репозитории. Для сокращения задержек, возникающих из-за загрузки полного индекса, в Sparse вместо доступа к индексу с использованием Git задействована прямая загрузка по HTTPS только необходимых индексных данных, охватывающих зависимости конкретного проекта. Для отдачи индексных данных задействован сервис index.crates.io. Для возвращения старого протокола можно использовать настройку "registries.crates-io.protocol".
- Стабилизированы структуры OnceCell и OnceLock, реализующие возможность одноразовой инициализации совместно используемых данных (записать значение можно только один раз).
use std::cell::OnceCell;
let cell = OnceCell::new();
assert_eq!(cell.set(92), Ok(()));
assert_eq!(cell.set(62), Err(62));
- Стабилизирован типаж IsTerminal, предлагающий метод is_terminal для определения связи файлового дескриптора с терминалом или TTY.
use std::io::{stdout, IsTerminal};
fn main() {
let use_color = stdout().is_terminal(); // если терминал, то можно использовать коды цвета
}
- В опции "-Cdebuginfo" появилась возможность указания уровней вывода отладочной информации не только в цифровом виде, но в форме строковых имён ("none" - идентично уровню 0, "limited" - 1 и "full" - 2). Также добавлены два новых уровня "line-directives-only" и "line-tables-only".
- В стабильных и бета-сборках в интерфейсе командой строки пакета test запрещено использование нестабильных опций тестирования, включаемых при указании -Zunstable-options, которые теперь можно использовать только в ночных сборках.
- В разряд стабильных переведена новая порция API, в том числе стабилизированы методы и реализации типажей:
- В пакетный менеджер cargo добавлена команда "cargo logout" для удаления токена доступа к API из локального реестра. В команду "cargo install" добавлена опция "--ignore-rust-version".
- Компилятор переведён на использование LLVM 16.
- Реализован третий уровень поддержки для платформ loongarch64-unknown-linux-gnu и i586-pc-nto-qnx700 (QNX Neutrino RTOS 7.0). Третий уровень подразумевает базовую поддержку, но без автоматизированного тестирования, публикации официальных сборок и проверки возможности сборки кода.
Дополнительно можно отметить публикацию серии статей о внутреннем устройстве Rust и том, как различные структуры и языковые конструкции работают на низком уровне и какой машинный код для них генерируется.
- Главная ссылка к новости
- OpenNews: Представлен Crab, форк языка Rust, избавленный от бюрократии
- OpenNews: Google опубликовал результат аудита используемых пакетов на языке Rust
- OpenNews: Компания Microsoft добавит код на Rust в ядро Windows 11
- OpenNews: Выпуск языка программирования Rust 1.69
- OpenNews: Изменение политики товарных знаков Rust Foundation
|
|
|
| |
|
|
· | 01.06 |
Выпуск Angie 1.2.0, форка Nginx от группы бывших разработчиков (89 +4) |
|
Опубликован выпуск высокопроизводительного HTTP-сервера и многопротокольного прокси-сервера Angie 1.2.0, ответвлённого от Nginx группой бывших разработчиков проекта, уволившихся из компании F5 Network. Исходные тексты Angie доступны под лицензией BSD.
Сопровождением разработки занимается компания "Веб-сервер", образованная прошлой осенью и получившая инвестиции в размере 1 млн долларов. Среди совладельцев компании Веб-сервер: Валентин Бартенев (лидер команды, развивавшей продукт Nginx Unit), Иван Полуянов (бывший руководитель фронтэнд-разработчиков Rambler и Mail.Ru), Олег Мамонтов (руководитель команды техподдержки NGINX Inc) и Руслан Ермилов (ru@FreeBSD.org).
Изменения в выпуске Angie 1.2.0:
- Из репозитория проекта nginx перенесены накопившиеся изменения, соответствующие версии nginx 1.25. Среди прочего перенесён модуль с реализацией протокола HTTP/3.
- Добавлена директива sticky, действующая в секции настроек upstream модуля http. Директива позволяет настроить режим привязки сеанса, при котором все запросы, связанные с одним сеансом, перенаправляются на один и тот же сервер, при наличии нескольких бэкендов. Привязка к сеансу производится на основе значения Cookie или параметра в URI.
- Добавлена переменная $upstream_sticky_status, определяющая состояние передачи запроса к серверу, к которому привязан сеанс ("NEW", "HIT" или "MISS").
- Реализована поддержка протокола NTLS (TLS 1.3 c шифрами SM3 и SM4, стандартизированными в Китае). Для использования протокола требуется наличие библиотеки Tongsuo и указание опции "‑‑with‑ntls" при сборке. Для настройки в модулях http и stream предложены директивы ssl_ntls и proxy_ssl_ntls.
- В модулях http_proxy и stream_proxy разрешено указывать несколько сертификатов разных типов (RSA и ECDSA) с соответствующими им ключами. Настройка осуществляется при помощи директив proxy_ssl_certificate, proxy_ssl_certificate, proxy_ssl_certificate_key и proxy_ssl_certificate_key.
- В имени основного процесса показана версия и сборочное имя, что позволяет увидеть данную информацию при просмотре запущенных процессов утилитой "ps".
- В модуле gzip появилась возможность сжатия ответов с кодом 207 (Multi-Status).
- Главная ссылка к новости
- OpenNews: Доступен nginx 1.25.0 с экспериментальной поддержкой HTTP/3
- OpenNews: Выпуск nginx 1.24.0
- OpenNews: Доступен Angie 1.1.0, форк Nginx от группы бывших разработчиков
- OpenNews: Первый выпуск Angie, форка Nginx от разработчиков, ушедших из компании F5
|
|
|
| |
|
|
· | 01.06 |
Nintendo добилась удаления эмулятора Dolphin из каталога Steam (179 –20) |
|
Компания Valve удалила страницу (архивная копия) предстоящего релиза эмулятора Dolphin на платформе Steam после получения письма от юристов компании Nintendo в котором упоминалось нарушение в проекте действующего в США Законе об авторском праве в цифровую эпоху (письмо было не официальным требованием, а просьбой и предложением обсудить ситуацию, если возникнут вопросы). Проект Dolphin распространяется под лицензией GPLv2+ и развивает эмулятор игровых консолей Nintendo GameCube и Wii, позволяющий запускать подготовленные для указанных консолей игры на обычном ПК в режиме full HD. Релиз на платформе Steam, который упростил бы установку Dolphin на консолях Valve Steam Deck, планировалось выпустить во втором квартале 2023 года.
Для предотвращение запуска на приставках Nintendo пиратских копий игр и защиты от копирования игр для последующего запуска на неавторизированных устройствах на приставках применяется шифрование содержимого прошивки и файлов с играми, используя проприетарные криптографические ключи. Компания Nintendo владеет или управляет авторским правом на игры для приставок Wii и GameCub, и отвечает за предоставление лицензий на распространение игр для своих устройств. Условия использования игр разрешают запуск исключительно только на своей игровой консоли.
В отправленной жалобе утверждается, что для работы эмулятора Dolphin требуются криптографические ключи, на распространение которых компания Nintendo не давала разрешения, а также выполняется расшифровка ПЗУ, которая производится во время выполнения или непосредственно перед ним. По мнению юристов Nintendo, использование эмулятора Dolphin приводит к незаконному обходу методов технической защиты доступа к содержимому, являющемуся объектом авторского права.
Позиция Nintendo подкрепляется тем, что в состав кодовой базы Dolphin входит ключ шифрования данных для приставок Wii, попавший в открытый доступ после утечки информации в 2008 году. Поставка данного ключа подпадает под нарушение DMCA и может стать предлогом, например, для отправки требования по блокировке репозитория Dolphin на GitHub, как это произошло с проектом Lockpick.
В качестве одного из вариантов, который позволил бы избежать дальнейших претензий, рассматривается применение схемы, при которой пользователь самостоятельно находит и предоставляет ключи для расшифровки, но запрос подобных ключей возможно продолжает подпадать под "обход средств защиты", даже если пользователь не нашёл ключ в интернете, а извлёк из своей приставки. С другой стороны, подобные действия могут трактоваться и как добросовестное использование.
- Главная ссылка к новости
- OpenNews: Nintendo потребовала заблокировать проект Lockpick, что остановило разработку эмулятора Skyline Switch
- OpenNews: GitHub опубликовал отчёт о блокировках в 2022 году
- OpenNews: GitHub заблокировал репозиторий SymPy после ложной жалобы
- OpenNews: В закон DMCA внесены исключения, разрешающие замену прошивок маршрутизаторов
- OpenNews: GitHub повторно заблокировал репозиторий проекта RE3
|
|
|
| |
|
|
· | 01.06 |
Выпуск дистрибутива NixOS 23.05, использующего пакетный менеджер Nix (111 +21) |
|
Состоялся выпуск дистрибутива NixOS 23.05, основанного на пакетном менеджере Nix и предоставляющего ряд собственных разработок, упрощающих настройку и сопровождение системы. Например, в NixOS вся настройка системы происходит посредством единого файла системной конфигурации (configuration.nix), предоставляется возможность быстрого отката системы на предыдущую версию конфигурации, присутствует поддержка переключения между различными состояниями системы, поддерживается установка индивидуальных пакетов отдельными пользователями, есть возможность одновременного использования нескольких версий одной программы, обеспечены воспроизводимые сборки. Размер полного установочного образа с KDE 2.4 ГБ, GNOME - 2.3 ГБ, сокращённого консольного варианта - 812 МБ.
При использовании Nix результат сборки пакетов хранится в отдельной поддиректории в /nix/store. Например, после сборки пакет firefox может записываться в /nix/store/1onlv6pc3ez4n5nskg8ew7twcfd0d5ce4ec5d4-firefox-113.0.2/, где "1onlv6pc3ez4n5nskg8ew7twcfd0d5ce4ec5d4" является хешем всех его зависимостей и инструкций сборки. Под установкой пакета подразумевается его сборка или скачивание уже собранного (при условии, что он был уже собран на Hydra - сервисе сборки проекта NixOS), а также формирование директории с символическими ссылками на все пакеты в профиле системы или пользователя, с последующим добавлении этой директории в список PATH. Аналогичный подход применяется в пакетном менеджере GNU Guix, который основан на наработках Nix. Коллекция пакетов представлена в специальном репозитории Nixpkgs.
Основные новшества:
- Добавлено 16240 пакетов, удалено 13466 пакетов, обновлено 13524 пакетов. Обновлены версии пакетов, например, systemd 253, glibc 2.37, GNOME 44, Cinnamon 5.6, KDE 5.27. Ядро Linux обновлено с версии 5.15 до 6.1.
- Добавлено 63 новых сервиса, среди которых Deepin Desktop, Budgie Desktop, SFTPGo, lldap, ivpn, openvscode-server, ulogd, wstunnel.
- Добавлена поддержка спецификации PEP 668 для исключения конфликтов между Python-пакетами, установленными для всей системы командой "pip install" и пакетным менеджером дистрибутива.
- В утилиту nixos-rebuild добавлена опция "--specialisation" для изменения специализации для команд switch и test.
- В библиотеке libxcrypt отключены ненадёжные алгоритмы хэширования паролей.
- По умолчанию включена опция boot.bootspec.enable, приводящая к генерации загрузочной спецификации (boot.json, RFC-125) для каждой системы, что, например, позволяет реализовать в NixOS поддержку UEFI SecureBoot, обеспечить работу с несколькими initrd, унифицировать скрипты установки загрузчика и применять схемы с ротацией рабочих дисковых разделов.
- Главная ссылка к новости
- OpenNews: Выпуск дистрибутива NixOS 22.11, использующего пакетный менеджер Nix
- OpenNews: В NixOS обеспечена поддержка повторяемых сборок для iso-образа
- OpenNews: Выпуск системного менеджера GNU Shepherd 0.10
- OpenNews: Опубликован инструментарий для вложенного запуска дистрибутивов Distrobox 1.4
- OpenNews: Доступен пакетный менеджер GNU Guix 1.4 и дистрибутив на его основе
|
|
|
| |
|
|
· | 01.06 |
В UEFI-прошивках материнских плат Gigabyte выявлена активность, напоминающая бэкдор (236 +66) |
|
Исследователи из компании Eclypsium выявили аномальное поведение на системах с материнскими платами тайваньской компании Gigabyte Technology. Используемая в платах прошивка UEFI без информирования пользователя во время загрузки системы осуществляла подстановку и запуск исполняемого файла для платформы Windows. В свою очередь, запущенный исполняемый файл загружал из сети и запускал сторонние исполняемые файлы. Дальнейший разбор ситуации показал, что идентичное поведение проявляется на сотнях разных моделей плат Gigabyte и связано с работой поставляемого компанией приложения App Сenter.
Запускаемый файл был встроен в прошивку UEFI и в процессе инициализации во время загрузки сохранялся на диск. На стадии запуска драйверов (DXE, Driver Execution Environment) при помощи модуля прошивки WpbtDxe.efi данный файл загружался в память и прописывался в таблицу WPBT ACPI, содержимое которой в дальнейшем загружается и запускается менеджером сеансов Windows (smss.exe, Windows Session Manager Subsystem). Перед загрузкой модуль проверял включение в BIOS/UEFI функции "APP Center Download & Install" (отключена по умолчанию). Во время запуска на стороне Windows код подставлял в систему исполняемый файл "%SystemRoot%\system32\GigabyteUpdateService.exe", который прописывался как системный сервис.
После запуска сервис GigabyteUpdateService.exe выполнял загрузку обновления с серверов Gigabyte, но производил это без должной верификации загруженных данных по цифровой подписи и без использования шифрования канала связи. Для загрузки использовались адреса "http://mb.download.gigabyte.com/FileList/Swhttp/LiveUpdate4", "https://mb.download.gigabyte.com/FileList/Swhttp/LiveUpdate4" и "https://software-nas/Swhttp/LiveUpdate4". Допускалась загрузка по HTTP без шифрования, но даже при обращении по HTTPS проверка сертификата не производилась, что позволяло подменить файл при помощи MITM-атак и организовать выполнение своего кода на системе пользователя.
Ситуацию усложняет то, что полное устранение проблемы требует обновления прошивки, так как логика запуска стороннего кода интегрирована в прошивку. В качестве временной меры защиты от MITM-атаки на пользователей плат Gigabyte рекомендуется заблокировать вышеупомянутые URL на межсетевом экране. Компания Gigabyte уведомлена о недопустимости наличия в прошивках подобных небезопасно автообновляемых и принудительно встраиваемых в систему сервисов, так как компрометация инфраструктуры компании или участника цепи поставщиков (supply chain) может привести к совершению атак на пользователей плат и организации запуска вредоносного ПО, неподконтрольного на уровне операционной системы. Например, в августе и октябре 2021 года было зафиксировано два взлома инфраструктуры Gigabyte, которые привели к утечке закрытой документации и конфиденциальных данных.
- Главная ссылка к новости
- OpenNews: Заявлено об обнаружении бэкдора в процессорах VIA C3
- OpenNews: В коммутаторах Lenovo и IBM выявлен бэкдор
- OpenNews: Результаты анализа бэкдоров в приложениях для Android
- OpenNews: В межсетевых экранах Juniper выявлен бэкдор с функциями расшифровки трафика VPN
- OpenNews: Бэкдор в отладочном коде модифицированного ядра Linux для систем Allwinner
|
|
Обсуждение (236 +66) |
Тип: Проблемы безопасности |
|
| |
|
|
Следующая страница (раньше) >> |