The OpenNET Project / Index page

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

22.01.2018 Опубликованы библиотеки для работы с форматами EPUB3, AbiWord, MS Publisher, PageMaker и QuarkXPress (8 +4)
  Проект Document Liberation, основанный разработчиками LibreOffice для выноса в отдельные библиотеки средств для работы с различными форматами файлов, анонсировал пять библиотек: одну для экспорта в формате EPUB3 и четыре для импорта из файлов в форматах AbiWord, MS Publisher, PageMaker и QuarkXPress. Библиотеки изначально разработаны для LibreOffice 6.0, но благодаря обособленной поставке, позволяют организовать работу с данными форматами не только в LibreOffice, но и в любом стороннем открытом проекте.
  • libe-book - экспорт файлов ODT в формат EPUB3;
  • libabw - импорт документов AbiWord;
  • libmspub - импорт документов MS Publisher;
  • libpagemaker - импорт документов PageMaker 6/7;
  • libqxp - импорт документов и шаблонов QuarkXPress 3.1/4.1.

  1. Главная ссылка к новости
  2. OpenNews: Успехи проекта Document Liberation по созданию библиотек для работы с проприетарными форматами
  3. OpenNews: Создатели LibreOffice представили Document Liberation Project
  4. OpenNews: Выпуск офисного пакета LibreOffice 5.4
  5. OpenNews: Доступен CODE 3.0, дистрибутив для развёртывания LibreOffice Online
  6. OpenNews: Модуль для интеграции LibreOffice в просмотрщик документов GNOME
Обсуждение (8 +4) | Тип: Программы |
22.01.2018 Выпуск Minibase, минимального статически собранного окружения Linux (42 +12)
  Доступен первый стабильный релиз проекта Minibase, в рамках которого развивается пользовательское окружение на базе ядра Linux, позволяющее получить рабочую загрузочную систему с минимально возможным набором самодостаточных компонентов. Минимальный размер окружения составляет 19 Мб. Поддерживается сборка для архитектур x86_64, arm, arm64 и rv64. Система может быть загружена как в QEMU, так и на реальном оборудовании. Наработки проекта написаны на языке Си и распространяются под лицензией GPLv3.

В базовую поставку входит ядро Linux (3MB), набор модулей ядра (6MB ), набор прошивок для беспроводных чипов (9MB) и подборка статически собранных утилит (650KB), таких как cat, ls, du, df, systime, sync, dmesg, switchroot, pstree, elfinfo, lsdri, modprobe и mount. Большинство из утилит специально написаны для Minibase и не основываются на коде штатных утилит. Все исполняемые файлы в базовом окружении собраны статически - применение стандартной Си-библиотеки (libc) не обязательно, но для обеспечения запуска дополнительных динамически собранных приложений (например, X.org) предусмотрена возможность использования библиотеки musl.

В состав также входят инструменты для поиска и подключения шифрованных или нешифрованных разделов (passblk, findblk, dektool, dmcrypt), базовые процессы системы инициализации (init, super, reboot, svctl), урезанный вариант udevd и syslogd, инструменты для монтирования (mountd, pmount), утилита для запуска привилегированных процессов (sudo), система мультиплексирования терминалов (vtmux), простая интерактивная командная оболочка (cmd), утилиты для настройки сетевых интерфейсов (ifmon с поддержкой DHCP, ip4cfg, ip4info), конфигуратор беспроводной сети (wsupp, wpa_supplicant). Опционально поддерживается установка SSH-сервера/клиента dropbear (200KB), командного интерпретатора dash (100KB) и графического стека (27MB), который может включать X.Org-сервер или композитный сервер Weston (Wayland).

По своим задачам окружение minibase во многом напоминает busybox и сопоставимо с ним по размеру. Ключевое отличие заключается в том, что busybox оформлен в виде единого исполняемого файла, а minibase позиционируется как набор статически собранных исполняемых файлов. При этом Minibase не ставит перед собой цель обеспечения совместимости с инструментарием POSIX или GNU и в большей степени нацелен на поставку специфичных для Linux сервисов (KMS VT, сетевые утилиты, шифрование диска). Minibase также не требует libc для сборки - за счёт прямого обращения к системным вызовам пакет самодостаточен, для его сборки достаточно компилятора и компоновщика. Для выполнения привилегированных операций в Minibase не используется suid-бит или capabilities, вместо этого осуществляется обращение к специальному привилегированному сервису через IPC.

  1. Главная ссылка к новости
  2. OpenNews: Релиз минималистичного набора системных утилит BusyBox 1.28
  3. OpenNews: Противоречивая ситуация вокруг создания альтернативы Busybox
  4. OpenNews: Выпуск BusyBox 1.21.0 и Toybox 0.4.3
  5. OpenNews: Оценка пригодности ядра Linux для систем с несколькими мегабайтами ОЗУ
Обсуждение (42 +12) | Тип: Программы |
22.01.2018 Доступен WineD3D для Windows, предоставляющий поддержку DirectX 11 через OpenGL (48 +21)
  В рамках проекта WineD3D For Windows подготовлена обвязка для запуска в Windows реализации DirectX 1-11 на базе OpenGL и наработок проекта Wine. В качестве реализации OpenGL в том числе может применяться порт Mesa для Windows.

Несмотря на то, что в Windows имеется встроенная поддержка DirectX, использование WineD3D может быть полезным для улучшения обратной совместимости со старыми играми (например, в Windows 8 прекращена поддержка режимов с 16-разрядной глубиной цветности). Ещё одной областью применения проекта является эмулирование неподдерживаемых версий DirectX и портирование DirectX-приложений на OpenGL без переписывания кода отрисовки.

Дополнительно можно отметить второй выпуск проекта DXVK, нацеленного на создание реализации DXGI и Direct3D 11 поверх API Vulkan для предоставления возможности запуска 3D-приложений в Linux при помощи Wine. Новая версия примечательна доведением поддержки D3D11 до возможности запуска игры NieR: Automata и обеспечением начальной поддержки тестовых наборов Unigine Heaven и Unigine Valley. Из пока отсутствующих возможностей упоминается поддержка тесселяции, потокового вывода и запросов через Queries API.

После доведения проекта до полнофункционального состояния, DXVK сможет использоваться в качестве основанной на Vulkan альтернативы для предоставляемой в Wine реализации D3D11, работающей поверх OpenGL. При этом разработчиками Wine уже развивается собственный проект vkd3d по реализации Direct3D 12 поверх API Vulkan.

  1. Главная ссылка к новости
  2. OpenNews: Стабильный релиз Wine 3.0 c поддержкой Direct3D 10 и 11
  3. OpenNews: Выпуск Mesa 17.3.0, свободной реализации OpenGL
  4. OpenNews: Выпуск проекта Wine Staging 2.0, дополняющего Wine 2.0
  5. OpenNews: В Crossover планируется реализовать поддержку DirectX 11 для Linux и OS X
  6. OpenNews: Microsoft открыл код DirectX Shader Compiler
Обсуждение (48 +21) | Тип: Программы |
21.01.2018 Порт библиотеки сжатия Zstd на JavaScript (25 –12)
  Опубликован JavaScript-порт библиотеки для сжатия данных с использованием алгоритма Zstd, обеспечивающего одно из лучших соотношений уровня сжатия к производительности. Порт сделан на основе оригинального кодека Zstandard, преобразованного в JavaScript при помощи компилятора Emscripten. Порт поддерживает использование словарей и может применяться в Node.js и в приложениях, выполняемых на стороне браузера.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск библиотеки сжатия LZHAM 1.0, нацеленной на создание более быстрой альтернативы LZMA
  3. OpenNews: Автор LZ4 представил новый быстрый и эффективный алгоритм сжатия ZSTD
  4. OpenNews: Dropbox опубликовал реализацию алгоритма сжатия изображений Lepton
  5. OpenNews: Facebook опубликовал реализацию алгоритма сжатия Zstandard 1.0
  6. OpenNews: Компания Google открыла код Draco, библиотеки для эффективного сжатия 3D-графики
Обсуждение (25 –12) | Автор: Аноним | Тип: Программы |
21.01.2018 Проекты по созданию компиляторов из Java в JavaScript и исполняемые файлы (83 +2)
  В рамках проекта TeaVM развивается компилятор, позволяющий компилировать Java-байткод в JavaScript и WebAssembly для последующего выполнения в браузере. Ключевым отличием от проекта GWT (Google Web Toolkit) является то, что TeaVM выполняет трансляцию на уровне байткода (может компилировать файлы *.class или *.jar), без привязки к исходным текстам на языке Java, что позволяет компилировать проекты на языках Kotlin и Scala. Код TeaVM распространяется под лицензией Apache 2.0.

Основной целью TeaVM является предоставление средств по созданию web-приложений для разработчиков знакомых с Java, унификации платформы для разработки (фронтэнд на базе те же технологий, что и бэкенд) или при необходимости задействования в web-приложении уже имеющегося кода на Java. TeaVM по возможности сохраняет оригинальную структуру методов, выдавая читаемый и понятный JavaScript. Для разработки одностраничных web-приложений на Java, Kotlin или Scala предлагается web-фреймворк Flavour, похожий на Angular, но базирующийся на идиомах Java, а не JavaScript.

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

Также можно отметить фреймворк Substrate VM, позволяющий выполнить компиляцию Java-приложений в форму самодостаточных исполняемых файлов или разделяемых библиотек (ELF-64 или 64-bit Mach-O). В Substrate VM применяется полноценная AOT-компиляция (Ahead-of-Time) без симуляции через запуск байткода в виртуальной машине. Фреймворк распространяется под лицензией GPLv2 и развивается компанией Oracle в рамках проекта Graal по разработке нового JIT-компилятора и runtime для JVM.

  1. Главная ссылка к новости
  2. OpenNews: Для управления разработкой Google Web Toolkit создан независимый комитет
  3. OpenNews: Открыт код Duetto, системы для запуска в web-браузере проектов на языке C++
  4. OpenNews: Релиз Cheerp 1.3, компилятора C++ в JavaScript
  5. OpenNews: Google выпустил J2ObjC 1.0, транслятор из Java в Objective-C
  6. OpenNews: BicaVM - написанная на JavaScript виртуальная машина для запуска программ на языке Java
Обсуждение (83 +2) | Тип: Программы |
20.01.2018 Red Hat отменил обновление микрокода с устранением уязвимости Spectre (32 +20)
  Компания Red Hat отозвала обновление пакетов с микрокодом (microcode_ctl и linux-firmware), выпущенное 16 января для устранения второго варианта уязвимости Spectre (CVE-2017-5715). В качестве причины отмены обновления называются проблемы со стабильностью, которые были выявлены в результате дополнительного тестирования и жалоб клиентов. На некоторых системах обновление микрокода приводило к невозможности загрузки.

Для блокирования CVE-2017-5715 пользователям рекомендуется использовать обновление прошивок, предоставленных для конкретных систем производителями CPU и оборудования. Напомним, что уязвимость Meltdown (CVE-2017-5754) и второй вариант уязвимости Spectre (CVE-2017-5715) могут быть целиком закрыты на уровне операционной системы (патчи KPTI и retpoline). Второй вариант Spectre также устраним на уровне обновления микрокода. Для устранения первого варианта Spectre (CVE-2017-5753) необходима пересборка приложений и ядра модифицированным компилятором с поддержкой подстановки опкода LFENCE. Компания Intel проинформирована о возникновении проблем с новым микрокодом и пытается разобраться в их причинах.

  1. Главная ссылка к новости
  2. OpenNews: Эксплоиты и тесты производительности, связанные с уязвимостями Meltdown и Spectre
  3. OpenNews: Раскрыты подробности двух атак на процессоры Intel, AMD и ARM64
  4. OpenNews: Разработчики Linux и Windows работают над закрытием огромной уязвимости в процессорах
  5. OpenNews: Обновление микрокода Intel приводит к перезагрузкам систем с CPU Broadwell и Haswell
  6. OpenNews: Ошибка в обновлении ядра в Ubuntu 16.04 приводит к сбою загрузки системы
Обсуждение (32 +20) | Тип: К сведению |
20.01.2018 Проект OpenSSL переносит обсуждение разработки из списка рассылки на GitHub (26 +1)
  Проект OpenSSL объявил о закрытии списка рассылки openssl-dev и переносе обсуждений всех патчей и изменений на GitHub. Для дискуссий, связанных с управлением проектом, введён в строй новый список рассылки openssl-project. Изменения также коснулись и формирования внеплановых релизов с устранением уязвимостей, которые теперь будут выходить по вторникам с предварительным уведомлением за неделю.

Кроме того, введены новые правила, касающиеся включения в OpenSSL новых криптографических алгоритмов, форматов и протоколов. Небезопасные опции (например, SSLv2 и ключи небольшого размера) не будут включаться через директивы конфигурации и потребуют включения на стадии сборки исходных текстов. Новые алгоритмы будут доступны только через EVP API и будет предоставлена возможность отключения всех новых алгоритмов на стадии компиляции.

  1. Главная ссылка к новости
  2. OpenNews: Обновление OpenSSL 1.1.0g и 1.0.2m с устранением уязвимостей
  3. OpenNews: В Debian Unstable отключили поддержку TLS 1.0 и 1.1 в OpenSSL
  4. OpenNews: OpenSSL переходит на новую лицензию, совместимую с GPL
  5. OpenNews: Обновление OpenSSL 1.1.0e с устранением уязвимости
  6. OpenNews: Обновление OpenSSL 1.0.2k и 1.1.0d с устранением уязвимостей
Обсуждение (26 +1) | Тип: К сведению |
20.01.2018 Выпуск GNU Wget 1.19.3 (20 +16)
  Доступен релиз GNU Wget 1.19.3, программы для автоматизации загрузки контента с использованием протоколов HTTP и FTP. В новой версии добавлена поддержка кода ответа 308 (Permanent Redirect) и возможность сборки с OpenSSL 1.1 с отключением устаревшей функциональности. Также устранён крах, возникающий в случае обработки ответа без заголовка Content-Type.

Дополнение: оперативно выпущен wget 1.19.4 с исправлением регрессии по части сжатых страниц.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск GNU Wget 1.19.2 с устранением критических уязвимостей
  3. OpenNews: Выпуск GNU wget 1.19
  4. OpenNews: Выпуск GNU wget 1.18
  5. OpenNews: Выпуск GNU wget 1.17 с поддержкой FTPS и HSTS
  6. OpenNews: Выпуск GNU wget 1.16.1
Обсуждение (20 +16) | Тип: Программы |
19.01.2018 В рамках проекта NeoPG развивается форк GnuPG 2 (122 +26)
  Маркус Бринкман (Marcus Brinkmann), немецкий математик, известный своим участием в разработке GNU/Hurd, основал форк инструментария GnuPG (GNU Privacy Guard), предоставляющего совместимые со стандартом OpenPGP (RFC-4880) инструменты для шифрования данных, работы с электронными подписями, управления ключами и доступа к публичным хранилищам ключей. Новый проект получил название NeoPG и позиционируется в качестве современной замены GnuPG 2.

GnuPG критикуется как излишне раздутый проект: 490 тысяч строк кода на языке Си, около 400 опций, два парсера OpenPGP, свой HTTP-клиент и DNS-резолвер. Привязка к стандарту OpenPGP тянет за собой необходимость поддержки многих устаревших алгоритмов, потерявших актуальность в современных условиях (MD5, IDEA, DSA, 3DES, SHA-1, 64-разрядные ключи). Первичной задачей NeoPG называется проведение чистки кода и его адаптации для упрощения дальнейшей разработки, в том числе предоставление расширяемого стабильного API для разработчиков приложений.

Для достижения поставленной цели было решено удалить всю неактуальную функциональность, а для исключения некоторых видов ошибок и упрощения дальнейшей разработки перевести кодовую базу с языка Cи на C++11. Для упрощения интеграции с другими проектами весь новый код поставляется под разрешительной лицензией BSD вместо GPLv3. Предложен новый интерфейс командной строки, в котором произведено объединение входящих в GnuPG разрозненных утилит (gpg, gpgsm, gpgconf, gpgv, gpgtar и т.п.) в единый исполняемый файл neopg с оформлением субкоманд в стиле Git и поддержкой цветного вывода. В рамках команды "neopg gpg2" реализована прослойка для обеспечения совместимости с GnuPG 2.

За три месяца разработки NeoPG удалено 240 тысяч строк кода, добавлено около двух тысяч строк, прекращена поддержка 120 опций командной строки, осуществлён переход на систему сборки cmake. Вместо собственной реализации криптографических функций (Libgcrypt), задействована библиотека Botan, написанная на C++11 и поставляемая под лицензией BSD. Часть встроенных возможностей заменена на libcurl и SQLite. Вся базовая функциональность выделена в отдельную библиотеку libneopg, которую можно использовать в приложениях. Поверх libneopg реализована обвязка с CLI-интерфейсом.

В NeoPG также решено отказаться от запуска длительно работающих фоновых процессов gpg-agent, dirmngr (Directory Manager) и scdaemon (Smart Card Daemon). Вместо фоновых процессов обеспечен запуск одноразовых вспомогательных helper-процессов, которые завершают работу сразу после выполнения задания. В будущем планируется интегрировать функциональность данных helper-процессов в библиотеку libneopg и вообще избавиться от необходимости запуска дополнительных процессов.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск GnuPG 2.2.0
  3. OpenNews: В Libgcrypt/GnuPG выявлена уязвимость, позволяющая воссоздать RSA-ключи
  4. OpenNews: Критическая уязвимость в генераторе случайных чисел GnuPG и Libgcrypt
  5. OpenNews: Проект GnuPG представил новую свободную многопоточную библиотеку nPth
  6. OpenNews: Обновление GnuPG с устранением уязвимости, позволяющей восстановить закрытые RSA-ключи
Обсуждение (122 +26) | Тип: Программы | Интересно
19.01.2018 Выпуск распределенной системы управления исходными текстами Git 2.16.0 (60 +30)
  Подготовлен выпуск распределенной системы управления исходными текстами Git 2.16.0. Git является одной из самых популярных, надёжных и высокопроизводительных систем управления версиями, предоставляющей гибкие средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям задним числом используются неявное хеширование всей предыдущей истории в каждом коммите, также возможно удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов. По сравнению с прошлым выпуском в новую версию принято 509 изменений, подготовленных при участии 91 разработчика, из которых 26 впервые приняли своё участие в разработке.

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

  • Использование пустой строки в качестве охватывающей все варианты маски пути теперь считается ошибкой. Например, команда git add '' больше не будет работать. Указанная возможность была объявлена устаревшей ещё в 2016 году;
  • Скрипты с реализацией хуков отныне будут игнорироваться если для них не выставлен флаг исполняемого файла. По умолчанию при подобном игнорировании будет выводиться предупреждение, которое можно отключить через опцию advice.ignoredHook;
  • В "git pull" добавлена обработка опции "--[no-]signoff" и её передача в "git merge";
  • Значение опции "--push-option=строка" к "git push" теперь по умолчанию устанавливается в список строк, установленный через переменную push.pushOption;
  • В "gitweb" для проверки доступа к директории вместо Perl-оператора "-x" применена pragma "filetest 'access'";
  • Команда "git stash save" объявлена устаревшей, вместо неё следует использовать "git stash push";
  • Обработчик для взаимодействия с MediaWiki переработан для работы с пространствами имён mediawiki и корректной обработки слишком длинных имён страниц (теперь имена обрезаются без потери суффикса ".mw");
  • В команде "git for-each-ref" опция "--format=..." расширена возможностью отображения имени внешнего репозитория и его использования на удалённой стороне в 'upstream' и 'push' через параметр "%(push:remotename)";
  • Выполнение "git bisect run" без явного указания каких-либо команд теперь приводит к выводу ошибки, вместо обработки всех коммитов как успешно протестированных;
  • Представлено новое расширение fsmonitor для взаимодействия со средствами мониторинга состояния ФС, позволяющее ускорить выполнение "git status" и других операций, которым необходимо отслеживать какие из файлов были изменены;
  • В командах семейства "diff" обеспечено игнорирование различий в указании возврата каретки в конце строки;
  • Команда "git add --renormalize ." теперь позиционируется как новый и надёжный способ записи сведений о нормализации символов конца строки и других замен в данных репозитория при помощи функции "convert_to_git()";
  • В командах "git branch" и "git checkout -b" теперь блокируют попытки создания ветки с именем "HEAD";
  • В команде "git branch --list" по умолчанию реализован вывод с использованием постраничного просмотра (pager), когда содержимое не вмещается в терминал. По аналогии с "git tag --list" данное поведение можно контролировать при помощи настройки pager.branch;
  • В команды, подобные "git grep -W" и "git diff -W", добавлена эвристика для раскрытия строк, похожих на функцию (например, "diff.*.xfuncname") для включения в вывод блоков комментариев, идущих непосредственно перед вводимым элементом;
  • В "git config --expiry-date gc.reflogexpire" обеспечена обработка параметров времени в виде "2.weeks" по аналогии с обработкой "1k" в "--int" как 1024;
  • Имена тегов в "git log --decorate", используемых для аннотирования коммитов, теперь могут быть ограничены подмножеством доступных ref-ссылок, выбранных при помощи опций "--decorate-refs=шаблон" и "--decorate-refs-exclude=шаблон";
  • Устранена проблема, приводившая к крахам при выполнении "git grep", если осуществлена сборка с libpcre2;
  • В "git send-email" добавлена проверка наличия sendmail не только в /usr/lib и /usr/sbin, но и в других путях из списка $PATH;
  • В команду "git diff" добавлена опция "--anchored" с реализацией варианта алгоритма "--patience", позволяющего задать уникальную строку в качестве опорной точки;
  • Добавлена настройка rebase.abbreviateCommands, при которой "git rebase -i" генерирует список todo с указанием односимвольных аббревиатур имён команд;
  • В команде "git svn" обеспечена очистка символов возврата каретки в сообщениях коммитов по аналогии с поведением Subversion;
  • Добавлена поддержка URL https:// для http.proxy при использовании свежих версий libcurl;
  • Команда "git merge" теперь проверяет наличие настройки merge.verifySignatures и использует её значение, как если бы в командной строке была указана опция '--verify-signatures'.
  • Реализации "git bisect" и "git submodule" переписаны на Си;
  • Проведена оптимизация кода для поиска кратчайшего уникального префикса имён объектов.

  1. Главная ссылка к новости
  2. OpenNews: GitHub опубликовал статистику за 2017 год
  3. OpenNews: Анализ степени дублирования кода на GitHub
  4. OpenNews: Метод подстановки троянского кода, невидимого при просмотре в git diff
  5. OpenNews: Выпуск распределенной системы управления исходными текстами Git 2.14.0
  6. OpenNews: Microsoft переводит разработку Windows на Git
Обсуждение (60 +30) | Тип: Программы |
18.01.2018 Стабильный релиз Wine 3.0 (139 +48)
  После года разработки и 23 экспериментальных версий представлен стабильный релиз открытой реализации Win32 API - Wine 3.0, который вобрал в себя более 6000 изменений. Из ключевых достижений новой версии отмечается поддержка Direct3D 10 и 11, реализация обособленного потока обработки команд Direct3D, графический драйвер для платформы Android, улучшенная поддержка DirectWrite и Direct2D. Из возможностей, которые отложены до следующей значительной ветки, упоминаются поддержка Direct3D 12, Vulkan и реализация Direct3D через OpenGL ES на платформе Android.

В Wine подтверждена полноценная работа 4580 программ для Windows, еще 3907 программ прекрасно работают при дополнительных настройках и внешних DLL. У 3301 программ наблюдаются небольшие проблемы в работе, которые не мешают использованию основных функций приложений.

Ключевые новшества Wine 3.0:

  • Direct3D
    • Реализована значительная часть возможностей Direct3D 10 и 11, в том числе вычислительные и тесселяционные шейдеры, потоковый вывод, инструкции и модификаторы интерполяции для моделей шейдеров 4 и 5, непрямой (indirect) рендеринг, структурированные и побайтово адресуемые буферы, многослойная отрисовка на трёхмерных текстурах и массивах текстур, создание уровней mip-map и т.д.
    • Реализация обособленного потока обработки команд Direct3D, позволяющего выполнять отрисовку в асинхронном режиме с распараллеливанием на многоядерных системах. В настоящее время работа сосредоточена на обеспечении корректной отрисовки в многопоточном режиме, но в будущем ожидается проведение работы по увеличению производительности. В секцию реестра "HKCU\Software\Wine\Direct3D" добавлен новый ключ "csmt" (REG_DWORD), через который можно включить (0x1) или выключить (0x0, по умолчанию) поддержку многопоточной обработки команд Direct3D;
    • Улучшена поддержка применения базовых контекстов OpenGL в Direct3D, которые уже используются по умолчанию для обеспечения работы приложений Direct3D 10 и 11 на системах с графическими картами AMD и Intel, что позволяет при наличии OpenGL-драйверов Mesa обойтись без установки в реестре параметра"MaxVersionGL" для включения Direct3D 10 и 11;
    • Увеличено число графических карт, распознаваемых для WineD3D;
  • Графическая подсистема
    • В Direct2D реализована поддержка контуров геометрических объектов, кистей с линейными и радиальными градиентами, вычисления границ геометрических объектов, упрощения геометрических объектов;
    • Обеспечена совместимость Direct2D с GDI;
    • Список поддерживаемых расширений OpenGL обновлён до OpenGL 4.6;
    • Частично реализована библиотека GLU (OpenGL Utility Library). Системная библиотека GLU необходима только при использовании системы рендеринга Nurbs, во всех остальных случаях функции GLU теперь встроены в Wine;
    • В GdiPlus обеспечена обработка графических операций, включающих трансформации;
    • В GdiPlus добавлена поддержка воспроизведения большинства специфичных для GdiPlus типов записей metafile, помимо стандартных записей metafile;
    • В WindowsCodecs добавлена поддержка кодирования форматов изображений, включающих палитру;
  • Обеспечение работы Wine в окружении платформы Android
    • Появилась возможность сборки Wine в виде пакета в формате APK и установки как обычного приложения для Android;
    • Подготовлен полноценный графический драйвер (GDI) для Android. Из-за ограничений API Android возможна работа только в полноэкранном режиме;
    • Реализован полноценный звуковой драйвер для Android;
    • Обеспечена поддержка OpenGL, ограничивающаяся возможностями API OpenGL ES. Direct3D в окружении Android пока не поддерживается, так как не может быть полноценно реализован поверх OpenGL ES;
  • Ядро
    • Заявленная по умолчанию версия Windows поднята до Windows 7;
    • Реализована полная семантика именованных каналов, включая режим обмена сообщениями для именованных каналов. Обработка именованных каналов теперь целиком производится на стороне сервера Wine;
    • Поддержка исполняемых файлов в формате PIE (Position Independent Executables), как для исполняемого файла Wine, так как для запуска внешних исполняемых файлов;
    • Включено автоматическое создание устройств для параллельных и последовательных портов (могут быть переопределены через ключ HKLM\Software\Wine\Ports);
    • Реализован и включен по умолчанию безопасный режим поиска DLL (для отключения следует в разделе реестра HKLM\System\CurrentControlSet\Control\Session Manager установить переменную "SafeDllSearchMode" в 0);
    • Реализован безопасный режим поиска процессов, который отключен по умолчанию (включается через установку переменной HKLM\System\CurrentControlSet\Control\Session Manager\SafeProcessSearchMode в 1);
    • Увеличена производительность асинхронного ввода/вывода благодаря сокращению числа обращений к серверу;
    • На 64-разрядных платформах обеспечена возможность выделения областей виртуальной памяти произвольного размера;
  • Интерфейс пользователя
    • Выполнен редизайн курсоров мыши, которые также предложены в более высоком разрешении для экранов с высокой плотностью пикселей (HiDPI);
    • Для экранов с высокой плотностью пикселей адаптированы Shell Explorer, RichEdit и все основные диалоги;
    • Для переопределения DPI экрана предложена настройка "LogPixels", доступная в секции реестра "HKEY_CURRENT_USER\Control Panel\Desktop";
    • В режиме рабочего стола добавлена поддержка более высоких разрешений с различным коэффициентом соотношения сторон;
    • Реализована панель задач (Task Dialog);
    • В MSI добавлена поддержка внутреннего интерфейса (IUI, Internal User Interface);
    • Добавлен режим отрисовки тем оформления с применением двойной буферизации;
    • В библиотеку TWAIN добавлена поддержка диалога для выбора доступного сканера;
    • Добавлена возможность сохранения в OLE Data Cache платформонезависимых битовых карт и metafile;
  • Интеграция с рабочим столом
    • В desktop-файлах добавлена возможность определения поля StartupWMClass для обеспечения привязки к исполняемому файлу Windows;
    • Для определения изменений в буфере обмена X11-приложений задействована библиотека Xfixes вместо периодической проверки буфера;
    • В компонент RichEdit добавлена поддержка вставки в форме metafile;
    • Добавлена поддержка Progman DDE (компонент с DDE-сервером для Program Manager);
    • Активирован по умолчанию HID-сервис для определения устройств с поддержкой PnP;
    • Для macOS обеспечена поддержка четвёртой версии протокола вывода уведомлений;
  • Текст и шрифты
    • В API Uniscribe добавлена поддержка контекстной замены глифов;
    • Таблицы символов переведены на использование стандарта Unicode 10;
    • Обеспечена совместимость со шрифтовым движком FreeType 2.8.1;
  • DirectWrite
    • Обеспечена симуляция наклонных и жирных начертаний символов;
    • Улучшена обработка разрывов строк;
    • Улучшена отрисовка подчёркиваний;
    • Улучшена поддержка режима работы в оттенках серого;
    • Улучшена поддержка сглаживания и преобразования шрифтов;
    • Реализованы методы применения равномерного и пропорционального межстрочного интервала;
    • Кэш адаптирован для использования в многопоточных приложениях;
    • Реализована поддержка загрузки файлов шрифтов в оперативную память;
  • D3DX
    • Улучшена поддержка прешейдеров (preshader);
    • Добавлена возможность определения движков применения эффектов (ID3DXEffectStateManager) в приложениях D3DX 9;
    • Реализован пул эффектов для совместного использования параметров между разными эффектами D3DX 9;
  • Сетевые возможности
    • В WebServices добавлена поддержка приёма TCP- и UDP-соединений;
    • В Web Services добавлена поддержка протокола .NET Message Framing Protocol и формата .NET Binary Format, включая расширение для таблиц символов;
    • В Web Services включена поддержка приёма сообщений в асинхронном режиме;
    • Переработан код обработчика событий HTML для соответствия стандарту;
    • Добавлена поддержка нескольких стандартных HTML API;
    • В компонент WebBrowser добавлена поддержка файлов MHTML;
    • Улучшена поддержка встраивания HTML-документов в приложения .NET;
    • В WinHTTP налажен корректный разбор атрибутов Cookie;
  • Криптография
    • Добавлена встроенная реализация криптографических хэшей (вместо использования внешней библиотеки GnuTLS);
    • Добавлена поддержка симметричного алгоритма блочного шифрования AES;
    • В список известных сертификатов добавлен корневой сертификат Microsoft от 2011 года;
    • Дополнительные пакеты с Mono и Gecko теперь проверяются при помощи контрольных сумм SHA256;
  • Платформа ARM
    • На системах ARM по умолчанию выставлен ABI 'softfp' для совместимости с исполняемыми файлами Windows;
    • Добавлена поддержка предварительной загрузки (Preloader) на платформе ARM64;
    • Добавлена возможность использования режима отладки relay на системах ARM64;
  • Встроенные приложения
    • В RegEdit для улучшения совместимости с Windows переработаны функции импорта и экспорта реестра. По умолчанию экспорт осуществляется в формате Unicode. 64-разрядные представления в реестре теперь всегда снабжаются 64-разрядными префиксами;
    • В утилиту Reg.exe добавлены операции импорта и экспорта файлов с реестром;
    • В командном интерпретаторе добавлена команда MKLINK и обеспечена поддержка экранирования символов в командной строке;
    • В игре WineMine добавлен вывод диалога подтверждения операции перед сбросом лучших результатов;
  • Инструменты
    • В widl (компилятор IDL) обеспечена обработка возвратов из функций C++ в виде, совместимом с MSVC;
    • В компилятор ресурсов (wrc) добавлена возможность преобразования версий ресурсов через po-файлы;
    • В отладчик (winedbg) добавлена поддержка вывода состояния регистров для SSE и вычислений с плавающей запятой;
    • Все Perl-скрипты, разбирающие XML, переведены на использование модуля XML::LibXML;
    • Удалена устаревшая утилита wineinstall;
  • Разное
    • В XAudio реализована поддержка звуковых форматов с плавающей запятой с числом каналов более двух;
    • В C++ runtime добавлена поддержка Scheduler и аналогичных классов;
    • В ODBC добавлена поддержка установки драйвера SQL;
    • Добавлена поддержка каталога ProgramData;
    • В движок Mono перенесены исправления из основного проекта и добавлена поддержка второй версии API профилирования;
    • В отладочных трассировках обеспечено отображение идентификатора потока;
  • Новые зависимости
    • В число зависимостей включена библиотека krb5, используемая в Kerberos Authentication Package;
    • Для получения уведомления об изменении содержимого буфера обмена задействована библиотека Xfixes.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск проекта Wine Staging 2.0, дополняющего Wine 2.0
  3. OpenNews: Стабильный релиз Wine 2.0
  4. OpenNews: Стабильный релиз Wine 1.8
  5. OpenNews: Анонсирован релиз Wine 1.0.0
  6. OpenNews: Релиз Wine 1.6
Обсуждение (139 +48) | Тип: Программы | Интересно
18.01.2018 В Firefox 58 появится новый двухуровневый компилятор (144 +32)
  Разработчики Mozilla сообщили о включении в состав Firefox 58, релиз которого ожидается на следующей неделе, нового компилятора, который обеспечивает компиляцию промежуточного кода WebAssembly в 10-15 раз быстрее, чем используемый до этого оптимизирующий компилятор.

На типовой рабочей станции скорость компиляции кода WebAssembly достигает 30-60 Мб в секунду, а на мобильном устройстве 8 Мб в секунду, что быстрее, чем пропускная способность большинства сетей. Особенностью нового компилятора является возможность компиляции кода по мере его загрузки. В сочетании с высокой скоростью компиляции данная особенность позволяет получать готовый код почти сразу после окончания загрузки, так как большая часть кода успевает скомпилироваться во время загрузки кода.

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

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

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

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

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

Компиляция на второй стадии выполняется в отдельном потоке, параллельно с работой кода web-приложения. Для ускорения данной стадии в новом движке Firefox осуществляется распараллеливание на уровне компиляции отдельных функций, которое позволяет разнести компиляцию на несколько потоков и задействовать все простаивающие ядра CPU. Для ещё большего ускорения работы компилятора планируется добавить систему кэширования, которая при повторном выполнении wasm-файлов позволит сразу использовать уже ранее скомпилированный и сохранённый в кэше машинный код. В Firefox 58 функциональность будет ограничена поддержкой кэширования байткода для JavaScript (ускоряет загрузку Facebook на 12%, Twitter на 5.4%, сайтов Google на 4.9%), а кэширование итогового машинного кода будет реализовано в одном из дальнейших выпусков.

  1. Главная ссылка к новости
  2. OpenNews: Google прекращает поддержку Portable Native Client в пользу WebAssembly
  3. OpenNews: Для GCC представлен бэкенд c реализацией WebAssembly
  4. OpenNews: Технология WebAssembly признана готовой для включения в браузерах по умолчанию
  5. OpenNews: В Chrome тестируют новый подход к компиляции JavaScript
  6. OpenNews: Анонсирован WebAssembly, обеспечивающий запуск скомпилированного кода в браузерах
Обсуждение (144 +32) | Тип: К сведению |
18.01.2018 Google переводит рабочие станции инженеров с Goobuntu (Ubuntu) на gLinux (Debian) (269 +62)
  Компания Google переводит внутренние рабочие станции технического персонала на новый дистрибутив gLinux, основанный на Debian Testing и использующий модель непрерывной доставки обновлений (rolling). Ранее на протяжении многих лет в Google применялся дистрибутив Goobuntu, развиваемый на базе LTS-выпусков Ubuntu. Для перехода с Goobuntu на gLinux разработан специальный инструментарий, позволяющий провести прозрачную миграцию рабочих станций.

Напомним, что Goobuntu представлял собой сборку Ubuntu, в которую были добавлены инструменты, используемые разработчиками в Google, а также компоненты для интеграции с внутренним сетевым окружением. Все домашние директории пользователей монтировались с централизованного файлового сервера, что позволяло получить доступ к своему окружению независимо от используемого компьютера. Сборка Goobuntu формировалась в рамках участия Google в программе Ubuntu Advantage Program, подразумевающей получение коммерческой поддержки от компании Canonical. Переход на Debian приведёт к более тесному сотрудничеству с сообществом, а использование ветки Testing даёт повод ожидать от Google подключения к участию в процессах тестирования и контроля качества Debian.

  1. Главная ссылка к новости
  2. OpenNews: Окружения Google Compute Engine по умолчанию будут основаны на Debian GNU/Linux
  3. OpenNews: Google планирует осуществить слияние Chrome OS и Android
  4. OpenNews: Google представил WiFi-маршрутизатор OnHub, построенный на базе Gentoo Linux
  5. OpenNews: Google подтвердила, что ведет работу над собственным дистрибутивом Linux
  6. OpenNews: Интервью на тему использования открытых проектов в компании Google
Обсуждение (269 +62) | Тип: К сведению |
18.01.2018 В systemd 237 запланирована поддержка VPN WireGuard (160 –20)
  В следующем релизе systemd 237 запланирована интеграция с WireGuard, VPN-туннелем нового поколения. Ключевой характеристикой проекта является сочетание применения проверенных современных методов шифрования с предоставлением минималистичной реализации, лишённой усложнений, наблюдаемых в таких системах, как xfrm и OpenVPN. WireGuard поставляется в виде модуля ядра Linux, пока не принятого в основной состав, но нацеленного на плотную интеграцию с главными компонентами ядра.

На прошлой неделе в основную ветку systemd-networkd были включены изменения для поддержки WireGuard, находившиеся в стадии разработки с сентября 2016 года. С точки зрения systemd, изменения содержат новый сетевой интерфейс "wireguard", а также инструментарий для управления ключами шифрования. Что примечательно, изменения прошли через много этапов ревизии и итераций, в том числе из-за довольно скромной первоначальной серии патчей. Глубина интеграции systemd и WireGuard наращивалась по мере ревизии изменений в коде.

  1. Главная ссылка к новости
  2. OpenNews: Четвёртый тестовый выпуск ОС Subgraph
  3. OpenNews: В рамках проекта WireGuard подготовлена новая реализация VPN для Linux
  4. OpenNews: VPN-сервер SoftEther VPN открыт под лицензией GPLv2
  5. OpenNews: Релиз свободного безопасного цензуроустойчивого VPN-демона GoVPN 5.0
  6. OpenNews: Доступен релиз OpenVPN 2.4.0
Обсуждение (160 –20) | Автор: rmrf-software | Тип: К сведению |
17.01.2018 Вредоносное ПО организует майнинг криптовалют на серверах с незакрытыми уязвимостями (50 +16)
  Исследователи из компании Checkpoint выявили вредоносное ПО RubyMiner, которое поражает незащищённые серверы Linux и Windows, и запускает код для майнинга криптовалют. Для распространения RubyMiner атакует достаточно старые критические уязвимости в PHP, Ruby on Rails и ASP, устранённые в 2012, 2013 и 2005 годах. По предварительной оценке экcплуатация данных уязвимостей позволила поразить около 700 серверов, которые, как правило, давно оставлены без присмотра, что позволяет длительное время использовать их ресурсы для майнинга.

Для определения уязвимых серверов применяется сканирование сети при помощи утилиты p0f. При обнаружении очередного уязвимого сервера к нему применяется один из шести эксплоитов, после чего в случае атаки на Linux-сервер RubyMiner добавляет в cron задание для периодической загрузки с внешнего сервера скрипта для осуществления вредоносных действий. Примечательно, что для скрытия своего присутствия скрипт загружается в файл robots.txt. После активации скрипт, в свою очередь, загружает и устанавливает модифицированную версию штатного приложения XMRig для майнинга криптовалюты Monero.

Также можно отметить вредоносное ПО PyCryptoMiner, нацеленное на проникновение через эксплуатацию выявленной в прошлом году уязвимости в сервере приложений JBoss или через подбор типовых паролей к SSH. PyCryptoMiner написан на языке Python, использует сервис Pastebin.com для передачи управляющих команд и включает бинарные компоненты для майнинга криптовалюты Monero, основанные на xmrMiner. По данным исследователей, построенный при помощи PyCryptoMiner ботнет уже заработал 158 Monero, что соответствует примерно 45 тысячам долларов (неделю назад, в пик роста курса было 80 тысяч долларов).

Дополнение: Китайскими исследователями из компании Netlab 360 обнаружен вариант вредоносного ПО Satori, адаптированный для атак на системы майнинга криптовалют. Satori атакует некорректно настроенное ПО Claymore Miner (по умолчанию принимает запросы на сетевом порту 3333 без аутентификации по паролю), часто используемое в фермах майнинга, и в случае успешной атаки заменяет номера кошельков, на которых накапливаются доходы от майнинга. На одном из указываемых злоумышленниками кошельков уже накопилось более 1 Ethereum (более 1000 долларов). Судя по динамике пополнения кошелька атакующие обладают ресурсами для перебора примерно 2100 млн хэшей в секунду, что эквивалентно 85 компьютерам с графической картой Radeon Rx 480 или 1135 компьютерам с картой GeForce GTX 560M.

  1. Главная ссылка к новости
  2. OpenNews: Выявлено вымогательское вредоносное ПО, шифрующее файлы на серверах с Linux и FreeBSD
  3. OpenNews: В каталоге Python-пакетов PyPI выявлено 10 вредоносных библиотек
  4. OpenNews: Трём миллионам уязвимых JBoss-серверов угрожает атака вредоносного шифровальщика
  5. OpenNews: Более 150 Linux-cерверов хостинг-оператора Nayana оказались поражены вредоносным шифровальщиком
  6. OpenNews: Более 5900 интернет-магазинов поражены вредоносным ПО для перехвата номеров кредитных карт
Обсуждение (50 +16) | Тип: Проблемы безопасности |
Следующая страница (раньше) >>


  Закладки на сайте
  Проследить за страницей
Created 1996-2018 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
Hosting by Ihor