The OpenNET Project / Index page

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

21.03 Релиз CrossOver 18.5 для Linux и macOS (12 +3)
  Компания CodeWeavers выпустила релиз пакета Crossover 18.5, основанного на коде Wine и предназначенного для выполнения программ и игр, написанных для платформы Windows. CodeWeavers входит в число ключевых участников проекта Wine, спонсирует его разработку и возвращает в проект все новшества, реализованные для своих коммерческих продуктов. Исходные тексты открытых компонентов CrossOver 18.5 можно загрузить на данной странице.

В новой версии проведено обновление кодовой базы до Wine 4.0. Реализация звукового API XAudio2 переведена на наработки проекта FAudio. Использование FAudio позволяет добиться более высокого качества звука в играх и задействовать такие возможности как смешивание громкости и расширенные звуковые эффекты. В версии для Linux обеспечена поддержка OneNote 2016 и свежих выпусков Office 365. Решены проблемы с активацией и настройкой Office 2010, а также проблемы со звуком в некоторых играх.

  1. Главная ссылка к новости
  2. OpenNews: Релиз CrossOver 18.1 для Linux и macOS
  3. OpenNews: Релиз CrossOver 18.0 для Linux и macOS
  4. OpenNews: Проект Hangover для запуска Windows-приложений на системах ARM64 c Linux и Android
  5. OpenNews: Выпуск платформы Lutris 0.5 для упрощения доступа к играм из Linux
  6. OpenNews: Выпуск Proton 3.16-8, пакета для запуска Windows-игр в Linux
Обсуждение (12 +3) | Тип: Программы |


21.03 Выпуски libssh2 1.8.1 и Putty 0.71 с устранением уязвимостей (9 +3)
  Доступен новый выпуск SSH-клиента PuTTY 0.71, в котором устранены восемь уязвимостей. Некоторые проблемы выявлены участниками инициативы FOSSA (Free and Open Source Software Audit), выплачивающей вознаграждение за обнаружение уязвимостей в ключевых открытых проектах, применяемых в госучреждениях Евросоюза.
  • Первая уязвимость позволяет организатору MITM-атаки обойти проверку DSA и получить доступ сеансу пользователя (просматривать и вносить изменения в сеансы), в случае использования ключей в формате DSA ("ssh-dss"). Уязвимость возникла в процессе переработки криптографического стека, но к счастью присутствовала только в экспериментальной ветке Putty и была выявлена до публикации релиза.
  • Вторая уязвимость выявлена в реализации протокола обмена ключами RSA и может привести к целочисленному переполнению при первом обращении к серверу, к которому ранее не выполнялись подключения. Проблема потенциально выполнить код при подключении к серверу. Проблема проявляется на стадии до верификации, т.е. система может быть атакована через проведение MITM-атаки без непосредственной компрометации сервера. При этом атака возможна только для серверов, ключ хоста которых ещё не аутентифицирован;
  • Третья проблема проявляется после установки соединения и инициируется через создание сервером слишком большого числа перенаправлений портов. В случае успешной атаки возможно переполнение буфера и выполнение кода при подключении к вредоносному серверу.
  • Четвёртая уязвимость специфична для Windows и проявляется при размещении файла putty.chm атакующего в каталоге, в котором запускается PuTTY (при обработке подставного файла с помощью возможно выполнение кода через манипуляции с тегом OBJECT).
  • Серия уязвимостей позволяющих вызвать отказ в обслуживании (крах PuTTY или потребление значительных ресурсов памяти и CPU) или исказить вывод при запуске на сервере в рамках установленного сеанса приложений, выводящих определённые последовательности в терминал.

В новом выпуске PuTTY также предпринято несколько мер по повышению безопасности:

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

Из не связанных с безопасностью изменений можно отметить:

  • Добавлена поддержка запуска интерфейса PuTTY с использованием GTK поверх протокола Wayland;
  • Улучшена работа на экранах high-DPI;
  • Добавлены реализации AES, SHA-256 и SHA-1, использующие предоставляемые процессорами ARM и X86 инструкции для аппаратного ускорения криптографических операций.
  • Добавлена поддержка полноцветного вывода (True Color) в терминалах с использованием управляющих последовательностей SGR 2.
  • Приглашения аутентификации теперь могут содержать символы, не ограниченные колировкой US-ASCII.
  • Добавлена поддержка аутентификации в Kerberos через GSSAPI.
  • Улучшена работа с буфером обмена, в том числе появилась опция для и автоматического помещения текста в буфер обмена сразу после его выделения и возможность работы с несколькими буферами обмена.
  • Добавлены новые горячие клавиши Ctrl+Shift+PgUp и Ctrl+Shift+PgDn для перехода к верхней и нижней частям истории прокрутки.

Также состоялся новый выпуск библиотеки libssh2 1.8.1, предлагающей реализацию протокола SSH2 для интеграции функций SSH-клиента в произвольные приложения, в котором устранено 9 уязвимостей. Четыре проблемы позволяют организовать запись за пределы выделенного буфера и потенциально выполнить код злоумышленника в контексте клиентского приложения при обработке специально оформленных данных, поступающих при подключении к серверу, подконтрольному атакующему.

  1. Главная ссылка к новости
  2. OpenNews: Уязвимости в реализациях SCP из OpenSSH, PuTTY и WinSCP
  3. OpenNews: Новый выпуск SSH-клиента PuTTY 0.68
  4. OpenNews: Ещё одна уязвимость в OpenSSH, позволяющая определить наличие пользователей
  5. OpenNews: Критическая уязвимость в библиотеке Libssh
  6. OpenNews: Выявлен 21 вид вредоносных программ, подменяющих OpenSSH
Обсуждение (9 +3) | Тип: Программы |


21.03 Корректирующий выпуск LibreOffice 6.2.2 (3 +4)
  Организация The Document Foundation объявила о выходе LibreOffice 6.2.2, второго корректирующего выпуска из семейства LibreOffice 6.2 "fresh". Версия 6.2.2 ориентирована на энтузиастов, опытных пользователей и тех, кто предпочитает самые свежие версии программного обеспечения. Для консервативных пользователей и предприятий пока рекомендуется использовать выпуск LibreOffice 6.1.5 "still". Готовые установочные пакеты подготовлены для платформ Linux, macOS и Windows. Обновление включает исправление 55 ошибок (RC1, RC2).

  1. Главная ссылка к новости
  2. OpenNews: Обновление LibreOffice 6.2.1
  3. OpenNews: Выпуск офисного пакета LibreOffice 6.2
  4. OpenNews: Уязвимость в Libreoffice и Openoffice, позволяющая выполнить код при открытии документа
  5. OpenNews: Выпуск офисного пакета LibreOffice 6.1
Обсуждение (3 +4) | Тип: Программы |


21.03 Релиз браузера Falkon 3.1.0, развиваемого проектом KDE (88 +20)
  После почти года разработки состоялся релиз браузера Falkon 3.1.0, пришедшего на смену QupZilla после перехода проекта под крыло сообщества KDE и переноса разработки в инфраструктуру KDE. Ожидается, что разработка под эгидой KDE позволит привлечь к работе над браузером новых разработчиков и стимулировать развитие проекта. Код проекта распространяется под лицензией GPLv3.

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

  • Добавлена поддержка написания плагинов с использованием QML. Стабилизирована поддержка плагинов на языке Python;
  • Добавлен плагин MiddleClickLoader, вставляющий текст из буфера обмена при нажатии средней кнопки мыши;
  • Добавлен плагин для интеграции с KDE и обеспечения доступа к страницам из компонентов KDE Frameworks;
  • Добавлена начальная поддержка клиентских сертификатов (требуется QtWebEngine 5.12+);
  • Добавлена возможность регистрации собственных обработчиков протоколов (например, torrent://, sftp:// и т.п.)
  • Оформление панели поиска приведено к соответствию с оформлением приложений KDE;
  • Осуществлён переход на использование DBus вместо файлов блокировки и сокетов для взаимодействия с другими экземплярами приложения;
  • Cookie, помещённые в белый список, теперь не удаляются при вызове функции удаления всех Cookie;
  • В плагине VerticalTabs обеспечена возможность удаления групп свёрнутых вкладок кликом средней кнопкой мыши.
  • Устранены крахи в реализации AdBlock;
  • Улучшена совместимость с QtWebEngine 5.12 и обеспечена поддержка сборки с обособленными выпусками QtWebEngine.



Особенности Falkon:

  • Первостепенное внимание уделяется экономии потребления памяти, обеспечению высокого быстродействия и поддержанию отзывчивости интерфейса;
  • При построении интерфейса используется родной для каждого десктоп-окружения набор пиктограмм, виджетов и стилей, что позволяет обеспечить оформление, неотличимое от штатных программ для GNOME, KDE и Windows. В интерфейсе активно используются вкладки;
  • Интегрированная подсистема блокирования рекламы (AdBlock). Для блокирования можно использовать как внешние чёрные списки (EasyList от Adblock Plus), так и добавлять собственные правила блокирования рекламы. Поддержка быстрого блокирования Flash-роликов и наличие режима активации Flash-контента только после клика;
  • Панель быстрого запуска (Speed-dial), выводимая вместо пустых страниц и позволяющая организовать быстрый доступ к наиболее часто используемым сайтам;
  • Панель быстрого поиска, позволяющая мгновенно отправить запрос к определённым поисковым системам и сайтам;
  • Унифицированный интерфейс для работы с закладками, историей посещений и RSS-лентами, оформленный внутри одного окна;
  • Поддерживается возможность изменения оформления через подключение внешних визуальных тем. Гибкие возможности по настройке интерфейса;
  • Поддержка расширения функциональности через плагины;
  • Менеджер безопасных соединений (SSL Manager), позволяющий управлять локальными CA-сертификатами;
  • Режим приватной навигации, при котором данные об открытых страницах не оседают в кэше и истории посещений;
  • Управление закладками в стиле Chrome (через звёздочку в адресной строке). Реализация настроек также напоминает подход, принятый в Chrome;
  • Поддержка импорта закладок из браузеров Firefox и Chrome;
  • Интерфейс управления Cookie;
  • Поддержка написания дополнений для обработки содержимого web-страниц с использованием скриптов GreaseMonkey;
  • Поставка плагина PIM (Personal Information Manager) с реализацией системы управления персональной информацией, используемой для автоматизации заполнения персональных данных в web-формах (например, заполнение ФИО, email и т.п.);
  • Использование библиотеки Qt и модуля QtWebEngine, без привязки к библиотекам KDE и без добавления компонентов KDE в обязательные зависимости (интеграция с KDE реализована через плагин).

  1. Главная ссылка к новости
  2. OpenNews: Релиз браузера Falkon 3.0.0, развиваемого проектом KDE
  3. OpenNews: Браузер QupZilla переименован в Falkon
  4. OpenNews: Последний выпуск web-браузера QupZilla
  5. OpenNews: Стабильный выпуск web-браузера Otter 1.0 с интерфейсом в стиле Opera 12
  6. OpenNews: Релиз веб-браузера Midori 8
Обсуждение (88 +20) | Тип: Программы |


21.03 Доступен Wayland 1.17 (83 +12)
  Состоялся стабильный релиз протокола, механизма межпроцессного взаимодействия и библиотек Wayland 1.17. Ветка 1.17 обратно совместима на уровне API и ABI с выпусками 1.x, но дополнительно содержит порцию улучшений. Кроме устранения проблем и недоработок в Wayland 1.17 переработан код для вывода сведений о внутренних ошибках сервера, обновлён протокол wl_seat и обеспечено приоритетное использование wl_surface.damage_buffer.

Ожидавшийся сегодня выпуск композитного сервера Weston 6.0 отложен до конца недели из-за выявления в последний момент ошибки в сценариях сборки meson, исправления для которых требуют дополнительного тестирования. Напомним, что в Weston развиваются технологии, содействующие появлению полноценной поддержки протокола Wayland в Enlightenment, GNOME, KDE и других пользовательских окружениях. Разработка Weston нацелена на предоставление высококачественной кодовой базы и рабочих примеров для использования Wayland в десктоп-окружениях и встраиваемых решениях, таких как платформы для автомобильных информационно-развлекательных систем, смартфонов, телевизоров и прочих потребительских устройств.

Смена значительного номера версии Weston обусловлена изменениями ABI, нарушающими совместимость. В новой ветке Weston:

  • Добавлены сценарии сборки на базе системы meson (поддержка autotools сохранена, но требует указания флага "--enable-autotools" в configure).
  • Обеспечена поддержка стабильного протокола xdg-shell (интерфейс для создания и взаимодействия с поверхностями как с окнами).
  • В compositor-drm добавлена поддержка виртуального устройства вывода (настраивается в секции remote-output в weston.ini).
  • Добавлен плагин "remoting" для потоковой трансляции вывода на внешние хосты с использованием виртуального устройства вывода. Плагин запускается автоматически при наличии настроек виртуального вывода. Информация передаётся через отправку motion jpeg через RTP при помощи gstreamer. На удалённой стороне для просмотра достаточно любого RTP-клиента (на базе gstreamer также подготовлен скрипт remoting-client-receive.bash).
  • Добавлена реализация клиента simple-dmabuf-egl с поддержкой совместного использования нескольких видеокарт при помощи технологии DMABuff.
  • В libweston добавлен API для управления конфигурацией (weston_config), флаг для проверки прозрачности (is_opaque в weston_surface) и средства синхронизации на базе вызова sync_file (zwp_linux_explicit_synchronization_v1).
  • Добавлен API для отладки и специальный отладочный режим работы с выводом детальных логов (опция weston_debug).
  • Расширены возможности оболочки для автомобильных информационно-развлекательных систем (ivi-shell).
  • Добавлены дополнительные настройки ввода для libinput.
  • Улучшена поддержка буфера обмена в xwayland.
  • Обеспечена установка weston-screenshooter.
  • Добавлена настройка для включения отрисовки на базе библиотеки pixman.
  • В gl-renderer добавлена поддержка синхронизации GPU через fence sync fd.



Статус поддержки Wayland в приложениях, окружениях рабочего стола и дистрибутивах:

  • В Firefox 65 включена штатная поддержка работы в графических окружениях на основе протокола Wayland. Для использования Wayland теперь достаточно запустить Firefox с переменной окружения GDK_BACKEND, выставленной в значение "wayland";
  • В Fedora 30 решено поставлять по умолчанию сборку Firefox на базе Wayland;
  • В GTK+ 3.24 в бэкенд, обеспечивающий работу поверх дисплейного сервера Wayland, добавлена поддержка протоколов ввода gtk-text-input и text-input-unstable-v3, обеспечено масштабирование курсора, а также устранены многие проблемы;
  • Панель рабочего стола MATE 1.22 адаптирована для работы под управлением бэкенда на основе протокола Wayland;
  • В GNOME 3.32 для сеанса на базе Wayland реализована поддержка дробного масштабирования;
  • Компания BMW открыла систему распределённой отрисовки RAMSES, поддерживающую Wayland;
  • Доступен первый стабильный выпуск пользовательского окружения Sway 1.0, использующего Wayland;
  • Опубликован Cage, композитный сервер на базе Wayland для запуска отдельных приложений в режиме киоска;
  • В KDE 5.15 полностью реализованы протоколы XdgStable, XdgPopups и XdgDecoration. В окружениях на базе Wayland обеспечена поддержка виртуальных рабочих столов, в том числе добавлена возможность выборочного размещения окна на заданных виртуальных рабочих столах (при использовании X11 подобной возможности нет и окно можно поместить либо на один виртуальный рабочий стол, либо на все). Добавлена поддержка перемещения элементов в режиме drag&drop при помощи жеста на сенсорном экране или тачпаде;
  • В мультимедийном центре Kodi 18.0 представлена поддержка Wayland;
  • В бета-версии Red Hat Enterprise Linux 8 рабочий стол GNOME по умолчанию использует Wayland;
  • В дисплейном сервере Mir стабилизированы средства для запуска Wayland-приложений и использования Mir в качестве композитного сервера для Wayland;


  • Дистрибутив Lubuntu наметил переход на Wayland на 2020 год. Поддержку Wayland планируется реализовать через портирование оконного менеджера Openbox на использование дисплейного сервера Mir, применяемого в качестве композитного сервера для Wayland;
  • Развивается проект AsteroidOS, в рамках которого предложена открытая ОС для умных часов, использующая Qt5 и Wayland;
  • Обеспечена поддержка Wayland в панели Latte Dock;
  • В рамках подготовки будущего стабильного релиза GTK+ 4 ведётся работа по модернизации API в контексте поддержки Wayland. Реализована новая платформа методов ввода, базирующаяся на протоколе Wayland;
  • В openSUSE Leap 15 предложен опциональный сеанс KDE на базе Wayland. При выборе GNOME по умолчанию предлагается Wayland;
  • В SUSE Linux Enterprise 15 задействован рабочий стол GNOME 3.26, по умолчанию работающий поверх Wayland;
  • Подготовлен тестовый выпуск платформы Tizen 5.0, по умолчанию использующей Wayland.
  • Бэкенд Qt Wayland добавлен в состав базовых сборок Qt. Развиваемая проектом Qt платформа для автомобильных систем Qt Automotive Suite включает Qt Wayland Compositor, многопоточную систему отрисовки для встраиваемых устройств, использующую протокол Wayland;
  • Продолжается работа над выпуском пользовательского окружения LXQt 1.0.0, главной задачей при разработке которого является доведение до полной готовности возможности работы поверх Wayland;
  • Fedora 29 стал пятым выпуском, в котором по умолчанию предложен сеанс GNOME на базе Wayland;


  • В разрабатываемой компанией LG открытой платформе webOS Open Source Edition развивается новый композитный менеджер, основанный на протоколе Wayland;
  • Продолжатся работа по улучшению поддержки Wayland в Enlightenment;
  • В дисплейном сервере Mir развивается возможность работы клиентов Wayland, что позволяет организовать запуск Wayland-приложений в окружении Mir, используя Mir в качестве композитного сервера для Wayland;
  • Система вывода в механизме для запуска виртуальных машин с Linux в ChromeOS предоставляет встроенную поддержку Wayland-клиентов (virtio-wayland) с выполнением композитного сервера на стороне основного хоста и возможностью эффективного использования GPU из гостевых систем;
  • Для FreeBSD развиваются порты, необходимые для сборки KDE с поддержкой Wayland;
  • В ОС DragonFly BSD развивается порт с Wayland и Weston, имеется поддержка XWayland;
  • Использующие Wayland пользовательские окружения papyros-shell и Hawaii объединились в новый проект Liri. Liri базируется на Qt 5 (QML) и продвигает оформление в стиле Material Design;
  • Wayland задействован по умолчанию в мобильных платформах Plasma Mobile и Sailfish 2.
  • В панели Cairo-Dock предусмотрена возможность работы в окружении композитного сервера Weston.
  • Для тестирования работы GNOME, KDE и Enlightenment, Hawai и Orbital поверх Wayland выпускается специальный Live-дистрибутив Rebecca Black Linux.



Напомним, что Wayland представляет собой протокол взаимодействия композитного сервера и работающих с ним приложений. Клиенты самостоятельно выполняют отрисовку своих окон в отдельном буфере, передавая информацию об обновлениях композитному серверу, который комбинирует содержимое буферов отдельных приложений для формирования итогового вывода с учётом возможных нюансов, таких как перекрытие окон и прозрачность. Иными словами, композитный сервер не предоставляет API для отрисовки отдельных элементов, а оперирует только с уже сформированными окнами, что позволяет избавиться от двойной буферизации при использовании высокоуровневых библиотек, таких как GTK+ и Qt, берущих на себя работу по компоновке содержимого окон. В настоящее время поддержка прямой работы c Wayland уже реализована для библиотек GTK3+, Qt 5, SDL (начиная с выпуска 2.0.2), Clutter и EFL (Enlightenment Foundation Library). Начиная с Qt 5.4 в состав включён модуль QtWayland с реализацией компонентов для работы Qt-приложений в окружении композитного сервера Weston, развиваемого проектом Wayland.

Взаимодействие с аппаратным обеспечением в Wayland/Weston, например, проведение инициализации, переключение видеорежимов (drm modesetting) и управление памятью (GEM для i915 и TTM для radeon и nouveau) графических карт, может производиться напрямую через модуль, работающий на уровне ядра, что позволяет обойтись без привилегий суперпользователя. Композитный сервер Weston может работать не только с использованием DRM-модуля ядра Linux, но и поверх X11, другого композитного сервера Wayland, фреймбуфера и RDP. Кроме того, развиваются проекты по обеспечению работы поверх графического стека платформы Android.

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

Для обеспечения выполнения обычных X11-приложений в окружении на базе Wayland используется DDX-компонент XWayland (Device-Dependent X), похожий по организации работы на Xwin и Xquartz для платформ Win32 и OS X. Поддержку запуска X11-приложений планируется встроить непосредственно в композитный сервер Weston, который при попытке выполнения X11-приложения будет инициировать запуск X-сервера и связанных с ним компонентов XWayland. При таком подходе процесс запуска X11-приложений будет бесшовным и неотличимым для пользователя от запуска приложений, работающих напрямую с Wayland.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск пользовательского окружения Sway 1.0, использующего Wayland
  3. OpenNews: Представлен Cage, композитный сервер на базе Wayland для создания киосков
  4. OpenNews: В ночные сборки Firefox добавлена поддержка Wayland
  5. OpenNews: Выпуск wayland-protocols 1.17 с поддержкой буфера обмена по средней кнопке мыши
  6. OpenNews: Выпуск Wayland 1.16 и композитного сервера Weston 5.0
Обсуждение (83 +12) | Тип: Программы |


20.03 Релиз набора компиляторов LLVM 8.0 (20 +9)
  После шести месяцев разработки представлен релиз проекта LLVM 8.0 (Low Level Virtual Machine) - GCC-совместимого инструментария (компиляторы, оптимизаторы и генераторы кода), компилирующего программы в промежуточный биткод RISC-подобных виртуальных инструкций (низкоуровневая виртуальная машина с многоуровневой системой оптимизации). Сгенерированный псевдокод может быть преобразован при помощи JIT-компилятора в машинные инструкции непосредственно в момент выполнения программы.

Из новых возможностей LLVM 8.0 отмечается включение защиты от атак Spectre, поддержка распараллеленной компиляции в ORC JIT, стабилизация компиляции в WebAssembly, добавление в Clang опции для инициализации автоматически распределяемых переменных, улучшение предкомпиляции и поддержка флага /Zc:dllexportInlines в clang-cl, поддержка архитектуры RISC-V в компоновщике lld, расширение средств диагностики.

Улучшения в Clang 8.0:

  • Добавлена возможность инициализации автоматически распределяемых переменных (например, локальных переменных, определённых внутри конструкций). По умолчанию автоматические переменные остаются не инициализированными. Инициализация осуществляется при указании опции "-ftrivial-auto-var-init=pattern" и позволяет избавиться от некоторых форм неопределённого поведения, вызванных заполнением переменных случайными остаточными данными из стека и регистров. Для принудительного отключения инициализации, например, для больших массивов, предусмотрен атрибут "dont_initialize_me";
  • Добавлена поддержка файлов повторного сопоставления данных профилировния (profile-remapping), которые позволяют сопоставить символьные имена и данные профилирования для использования ранее сгенерированных профилей выполнения вместе с другой версией программы с изменёнными таблицами символов (например, после переименования класса);
  • Добавлены новые диагностические опции: "-Wextra-semi-stmt" для выявления лишних ";" и "-Wempty-init-stmt" для выявления пустых блоков инициализации в конструкциях if, switch и for;
  • Помимо ранее добавленной защиты Retpoline в состав включены изменения для блокирования утечек, вызванных спекулятивным выполнением инструкций в современных CPU, при генерации последовательностей инструкций, загружающих данные из памяти. Защита может быть выборочно включена или отключена для определённых функций через указание атрибутов speculative_load_hardening и no_speculative_load_hardening, а также при помощи опции "-mspeculative-load-hardening";
  • Добавлены опции "-fprofile-filter-files=[regexes]" и "-fprofile-exclude-files=[regexes]" для выборочной фильтрации или исключения определённых файлов с данными профилирования в формате gcov;
  • В clang-cl, альтернативном интерфейсе командной строки, обеспечивающем совместимость на уровне опций с компилятором cl.exe из состава Visual Studio, добавлена поддержка опций "/Yc" и "/Yu" для предварительной компиляции заголовочных файлов. Добавлена поддержка флага "/Zc:dllexportInlines", аналогичного флагу "-fvisibility-inlines-hidden", для неприменения атрибутов dllexport и dllimport к inline-функциям;
  • Обеспечена возможность использования инструментов Address Sanitizer и Undefined Behaviour Sanitizer с MinGW;
  • Расширены возможности, связанные с поддержкой OpenCL, OpenMP и CUDA. В том числе добавлены некоторые новые возможности OpenMP 5.0 и расширены средства диагностики;
  • Внесены улучшения в UBSan (Undefined Behavior Sanitizer), детектор неопределенного поведения, выявляющий во время выполнения программы ситуации, когда поведение программы становится неопределенным. Расширен спектр ситуаций, охватываемых в режиме "-fsanitize=implicit-conversion" (Implicit Conversion Sanitizer), например, добавлено выявление проблем с составными операторами присваивания и обеспечено определение неявных изменений знака целых чисел ("-fsanitize=implicit-integer-sign-change"). При проверке выравнивания теперь выполняется проверка атрибутов, подобных "assume_aligned";
  • Расширены возможности кеширующего сервера clangd (Clang Server), например, добавлена поддержка глобального для всех файлов проекта индекса, обеспечено добавление спецификаторов пространств имён при автодополнении кода, предложен индекс экспортируемых символов, добавлено расширение LSP;
  • В linter clang-tidy добавлена большая порция новых проверок.

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

  • Снят флаг экспериментальной разработки с целевой платформы WebAssembly, поддержка которой теперь включена по умолчанию и не требует указания опции LLVM_EXPERIMENTAL_TARGETS_TO_BUILD. В разряд стабильных также переведены формат объектных файлов и C ABI для платформы WebAssembly. Экспериментальной пока остаётся только поддержка многопоточности в WebAssembly;
  • В утилиту llvm-cov добавлена опция "-format=lcov" для экспорта coverage-статистики в формате lcov;
  • Добавлена опция "-x86-discriminate-memops", использующая отладочную информацию для точной идентификации инструкций x86 с обращающимися к памяти операндами для упреждающей загрузки в кэш (cache prefetching);
  • В libFuzzer добавлена поддержка платформы Windows (x86_64);
  • В JIT API для компиляции по запросу (ORC, On Request Compilation) добавлена поддержка параллельной компиляции. Старый однопоточный API объявлен устаревшим, переименован в LegacyIRCompileLayer и будет удалён в LLVM 9. На основе нового API реализован демонстрационный JIT LLJIT. Поддержка MCJIT и ExecutionEngine будет продолжена, но для новых проектов ORC отмечен как предпочтительный JIT API;
  • В отладчике LLDB обеспечена подсветка синтаксиса выводимого кода на языке Си. В команде "expression" обеспечено автодополнение ввода табуляцией;
  • В libc++ прекращена поддержка macOS 10.6 и удалены типы std::dynarray и std::bad_array_length, не вошедшие в стандарт C++;
  • В компоновщике LLD добавлена поддержка архитектуры RISC-V и начальная поддержка ISA MSP430. Добавлены новые флаги: "--call-graph-profile", "--no-call-graph-profile", "--warn-ifunc-textrel", "-z interpose", "-z global", "-z nodefaultlib". При компоновке ELF-файлов сегмент ".note" теперь помещается в первую страницу генерируемого файла для упрощения доступа к важной информации (например .note.gnu.build-id) в core-файлах, даже в случае их усечения по размеру. Добавлена начальная поддержка создания разделяемых библиотек для WebAssembly;
  • В бэкенд для архитектуры x86 добавлена поддержка CPU AMD bdver2 на базе микроархитектуры Piledriver. Для указания в опции "-march" добавлен новый идентификатор CPU "cascadelake", идентичный skylake-avx512 с включением дополнительного набора инструкций avx512vnni. Прекращена подстановка инструкции ADCX, которая мало чем отличается от инструкции ADC, но увеличивает размер кода;
  • Внесены многочисленные улучшения в бэкенды для архитектур AArch64, ARM, SystemZ, Hexagon, MIPS и PowerPC.

  1. Главная ссылка к новости
  2. OpenNews: Проект LLVM ввёл в строй официальное Git-зеркало в ходе миграции с SVN
  3. OpenNews: Релиз набора компиляторов LLVM 7.0
  4. OpenNews: В знак несогласия с новым кодексом поведения LLVM покинул один из ведущих разработчиков
  5. OpenNews: Релиз набора компиляторов LLVM 6.0
  6. OpenNews: Обеспечена возможность сборки ядер Linux 4.4 и 4.9 при помощи Clang
Обсуждение (20 +9) | Тип: Программы |


20.03 Выпуск Samba 4.10.0 (56 +11)
  Опубликован релиз Samba 4.10.0, продолживший развитие ветки Samba 4 с полноценной реализацией контроллера домена и сервиса Active Directory, совместимого с реализацией Windows 2000 и способного обслуживать все поддерживаемые Microsoft версии Windows-клиентов, в том числе Windows 10. Samba 4 является многофункциональным серверным продуктом, предоставляющим также реализацию файлового сервера, сервиса печати и сервера идентификации (winbind).

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

  • В KDC и Netlogon добавлена поддержка модели запуска процессов "pre-fork", позволяющей поддерживать пул заранее запущенных процессов-обработчиков. Значение по молчанию параметра 'prefork children' в smdb.conf увеличено с 1 до 4;
  • В реализации модели pre-fork обеспечен автоматический перезапуск сбойных процессов. Задержки между попытками повторного запуска определяются через параметры "prefork backoff increment" (по умолчанию 10 секунд) и "prefork maximum backoff" (по умолчанию 120 секунд) - при каждой новой попытке время перед повторным запуском увеличивается на "prefork backoff increment" пока не достигнет значения "prefork maximum backoff" (для значений по умолчанию раскладка задержек будет следующей: 0, 10, 20, ..., 120, 120, ...);
  • В стандартной модели запуска процессов, применяемой по умолчанию для ответвления новых процессов ldap и netlogon при поступлении новых запросов, реализована возможность ограничения максимального числа запущенных процессов (лимит регулируется параметром 'max smbd processes' в smb.conf, по умолчанию значение 0, т.е. без ограничений);
  • Обеспечена полноценная поддержка языка Python 3. Поддержка Python 2 пока сохранена, но по умолчанию при сборке теперь используется Python 3 (Python 3.4+). Для сборки с Python 2 требуется установка переменной окружения: "PYTHON=python2 ./configure; PYTHON=python2 make". Сборка samba-биндингов возможна одновременно для Python 3 и Python 2 через указания флага 'configure --extra-python=/usr/bin/python2'. В ветке Samba 4.11 планируется прекратить поддержку Python 2 для биндингов и поднять требования к версии до Python 3.6;
  • Добавлена команда 'samba-tool gpo backup', позволяющая экспортировать из домена набор объектов GPO (Group Policy Objects) в формате XML. Также добавлена команда 'samba-tool gpo restore' для импорта обобщённых данных GPO из XML;
  • В команду 'samba-tool domain backup' добавлена поддержка опции 'offline', позволяющей безопасно создавать резервные копии локальной БД контроллера домена напрямую с диска. Новый метод не требует запуска Samba, работает быстре и включает дополнительные детали о внутренней структуре хранилища;
  • Добавлена команда 'samba-tool group stats', выводящая сводные сведения о распределении пользователей между группами в домене. Существующая команда 'samba-tool group list --verbose' расширена данными о числе пользователей в каждой группе;
  • Для LDAP изменено поведение расширения Paged Results, позволяющего частями обрабатывать результаты запросов с разбиением данных на страницы. Обработка страничных запросов в Samba приведена в соответствие с поведением серверов Windows (раньше разные страницы в выборке отдаваться на основе неизменного статического слепка БД, а сейчас учитывают изменения в БД, полученные с момента прошлого страничного запроса);
  • В выводимых в JSON-лог сообщениях аутентификации добавлено отображение идентификатора события ("eventId", код успешного или не успешного входа) и типа входа ("logonType", интерактивный, сетевой и незащищённый сетевой). В сообщениях о смене пароля и изменении участия в группе также теперь отображается "eventId" (пароль изменён, пароль сброшен, добавлен/удалён член группы). Изменён формат JSON-записей (убран префикс "JSON message_type:");
  • В утилиту samba-tool добавлена поддержка протокола SMBv2 (ранее samba-tool не мог подключаться к внешнему контроллеру домена, на котором был отключен SMBv1);
  • Добавлен новый VFS-модуль glusterfs_fuse, позволяющий увеличить производительность при обращении через Samba к разделам с GlusterFS, примонтированным с применением механизма FUSE (Filesystem in Userspace). Для повышения производительности модуль напрямую извлекает информацию об именах файлов через запрос расширенных атрибутов в ФС. Для включения ускорения достаточно добавить glusterfs_fuse в параметр "vfs objects". Новый модуль не заменяет собой vfs_glusterfs, а лишь предлагает альтернативный механизм доступа к разделам Gluster;
  • Объявлены устаревшими и будут удалены в следующей ветке Python-биндинги к SMB client. Удаление повлияет на пользователей, использующих собственные утилиты с 'from samba import smb';
  • Из-за наличия потенциальных проблем с безопасностью возможность сборки MIT Kerberos для AD DC переведена в разряд экспериментальных опций и требует явного указания в configure флага "--with-experimental-mit-ad-dc";
  • Удалён скрипт samba_backup, вместо которого следует использовать команду 'samba-tool domain backup offline'.

  1. Главная ссылка к новости
  2. OpenNews: Обновление Samba 4.9.3, 4.8.7 и 4.7.12 с устранением 6 уязвимостей
  3. OpenNews: Выпуск Samba 4.9.0
  4. OpenNews: Обновление Samba 4.8.4, 4.7.9 и 4.6.16 с устранением уязвимостей
  5. OpenNews: Выпуск Samba 4.8.0
  6. OpenNews: Критическая уязвимость в Samba, позволяющая поменять пароль любого пользователя
Обсуждение (56 +11) | Тип: Программы |


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

Java SE 12 отнесён к категории выпусков с обычным сроком поддержки, обновления для которого будут выпускаться до следующего релиза. В качестве ветки с длительным сроком поддержки (LTS) следует использовать Java SE 11, обновления для которого будут выпускаться до 2026 года. Прошлая LTS-ветка Java 8 будет поддерживаться до декабря 2020 года. Следующий LTS-релиз намечен на сентябрь 2021 года. Напомним, что начиная с выпуска Java 10 проект перешёл на новый процесс разработки, подразумевающий более короткий цикл формирования новых релизов. Новая функциональность теперь развивается в одной постоянно обновляемой master-ветке, в которую включаются уже готовые изменения и от которой раз в шесть месяцев ответвляются ветки для стабилизации новых выпусков.

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

  • Добавлена экспериментальная поддержка сборщика мусора Shenandoah, работающего с минимальными приостановками (Low-Pause-Time Garbage Collector). Планировщик развивается компанией Red Hat и примечателен использованием алгоритма, сокращающего время остановок во время сборки мусора за счёт проведения чистки параллельно с выполнением Java-приложений. Размер вносимых сборщиком мусора задержек предсказуем и не зависит от размера кучи, т.е. для куч в 200 MB и 200 GB задержки будут идентичны (не выходят за пределы 50 мс и обычно укладываются в 10 мс);
  • В состав включён набор для проведения точечных тестов производительности (microbenchmark), позволяющий организовать непрерывное тестирование производительности различных компонентов кодовой базы и упрощающий добавление собственных тестов;
  • Обеспечена предварительная поддержка новой формы выражений "switch", не требующей использования оператора "break" и позволяющей объединять повторяющиеся метки. Например, вместо
    
       switch (day1) {
           case MONDAY:
           case FRIDAY:
           case SUNDAY:
               System.out.println(6);
               break;
       ...
       int numLetters;
       switch (day2) {
           case MONDAY:
           case FRIDAY:
           case SUNDAY:
               numLetters = 6;
               break;
       ...
    
    новые выражения позволяют указать
    
       switch (day1) {
           case MONDAY, FRIDAY, SUNDAY -> System.out.println(6);
       ...
       int numLetters = switch (day2) {
        case MONDAY, FRIDAY, SUNDAY -> 6;
       ...
    
  • Представлен API JVM Constants (java.lang.invoke.constant), позволяющий описать все типы загружаемых констант, используемых в файлах с Java-классами и в компонентах runtime;
  • Добавлена поддержка компактного форматирования чисел (NumberFormat.Style.SHORT). Например, вместо 1000 может быть выведено "1K", а вместо 1000000 - "1M";
  • Добавлен новый флаг "-XX:+ExtensiveErrorReport" для вывода более детальных сведений об ошибках в случае краха приложения;
  • В реализацию TLS добавлена поддержка потокового шифра ChaCha20 и алгоритма аутентификации сообщений (MAC) Poly1305;
  • Предложен один унифицированный порт для архитектуры AArch64 (ранее развивалось два порта aarch64 и arm64, теперь оставлен только порт aarch64);
  • По умолчанию на основе предлагаемого по умолчанию списка классов в процессе сборки JDK обеспечена генерация архивов CDS (Class-Data Sharing), обеспечивающих совместный доступ приложений к общим классам. При помощи CDS общие классы могут размещаться в отдельном совместно используемом архиве, что позволяет ускорить запуск приложений и снизить накладные расходы. Предоставление архивов CDS сокращает время запуска и позволяет избавить пользователей от выполнения "-Xshare:dump" для создания CDS;
  • В сборщик мусора G1 добавлена поддержка отменяемой чистки смешанных коллекций (Abortable Mixed Collections), позволяющая оборвать процесс необязательной стадии чистки, если превышено максимальное время приостановки на сборку мусора;
  • В сборщике мусора G1 реализована возможность возвращения операционной системе неиспользуемых областей памяти при неактивности приложения.
  • В сборщиках мусора G1 и Parallel появилась возможность выноса старых данных из кучи на альтернативные устройства памяти, такие как NV-DIMM;
  • В сборщик мусора ZGC (Z Garbage Collector) добавлена возможность выгрузки неиспользуемых классов (class unloading) для высвобождения занимаемых ими структур данных. Выгрузка производится в параллельном потоке и не влияет на выполнение Java-программ;
  • Для Linux реализован новый опциональный механизм запуска процессов POSIX_SPAWN (jdk.lang.Process.launchMechanism = POSIX_SPAWN), позволяющий обойти некоторые редко возникающие проблемы при ответвлении дочерних процессов. По умолчанию продолжает применяться механизм VFORK;
  • Отмечается, что библиотека Swing (client-libs/javax.swing) ограничена поддержкой только старых выпусков GTK, использование версии 3.20 и новее приводит к проблемам при отрисовке некоторых элементов интерфейса. При наличии в системе новых версий GTK в качестве обходного пути рекомендуется запускать приложения с опцией "-Djdk.gtk.version=2.2" для отката на GTK2+.

  1. Главная ссылка к новости
  2. OpenNews: Первый стабильный выпуск Corretto 8, LTS-дистрибутива Java 8 от Amazon
  3. OpenNews: Компания Oracle опубликовала Java SE 11
  4. OpenNews: Oracle планирует убрать из Java встроенную поддержку сериализации
  5. OpenNews: Система машинного обучения для синтеза типового кода на языке Java
  6. OpenNews: Компания Oracle опубликовала Java SE 10 и прекратила поддержку Java SE 9
Обсуждение (92 +14) | Тип: Программы |


20.03 Обновление Solaris 11.4 SRU 7 (35 +9)
  Опубликовано обновление операционной системы Solaris 11.4 SRU 7, в котором предложена серия очередных исправлений и улучшений для ветки Solaris 11.4. Для установки предложенных в обновлении исправлений достаточно выполнить команду 'pkg update'.

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

  • В состав включена сборочная система Ninja;
  • Продукт Oracle VM Server for SPARC обновлён до версии 3.6.1, в которой улучшены запуск LDoms Manager, синхронизация с Hypervisor и SP, работа подкоманд 'ldm' , перенос окружений на новые системы и надёжность live-миграции;
  • Обновлены версии программ GNU awk 4.2.1, FFTW 3.3.8, Nghttp2 1.35.0, tigervnc 1.9.0.
  • Устранена проблема с отображением даты последней установки и обновления в выводе команды "pkg info".
  • Налажена работа опции "-w" в утилите /usr/bin/grep'.
  • Исправлены ошибки в mdb и PTP.
  • Обновлены версии с устранением уязвимостей: dnsmasq 2.80, webkitgtk 2.22.5, NSS 4.38, libdwarf 20190104, GNU Tar 1.31, libarchive 3.3.3, readline 7.0, Firefox 60.5.1esr, curl 7.64.0, mercurial 4.7.1, Python 3.5.6, golang, openjpeg и openssh.

  1. Главная ссылка к новости
  2. OpenNews: Компания Oracle выпустила обновление Solaris 11.4 SRU 6
  3. OpenNews: Релиз Solaris 11.4
  4. OpenNews: Выпуск дистрибутива OpenIndiana 2018.10, продолжающего развитие OpenSolaris
  5. OpenNews: Обновление Java SE, MySQL, VirtualBox и Solaris с устранением уязвимостей
Обсуждение (35 +9) | Тип: Программы |


20.03 Релиз дистрибутива Tails 3.13 и браузера Tor Browser 8.0.7 (21 +7)
  Доступен релиз специализированного дистрибутива Tails 3.13 (The Amnesic Incognito Live System), основанного на пакетной базе Debian и предназначенного для обеспечения анонимного выхода в сеть. Анонимный выход в Tails обеспечивается системой Tor. Все соединения, кроме трафика через сеть Tor, по умолчанию блокируются пакетным фильтром. Для хранения пользовательских данных в режиме сохранения пользовательских данных между запусками применяется шифрование. Для загрузки подготовлен iso-образ, способный работать в Live-режиме, размером 1.2 Гб.

В новом выпуске обеспечено сохранение на постоянный носитель резервной копии настроек при каждом их изменении. Обновлены версии приложений: Tor Browser 8.0.7, Thunderbird 65.1.0, Tor 0.3.5.8, ядро Linux 4.19.28. Микрокод Intel обновлён до версии 3.20180807a.2, в котором предложены дополнительные исправления для новых вариантов уязвимостей Spectre, Meltdown и L1TF.

Одновременно, выпущена новая версия специализированного браузера Tor Browser 8.0.7, ориентированного на обеспечение анонимности, безопасности и приватности. В новом выпуске осуществлена синхронизация с выпуском Firefox 60.6.0 ESR, в котором устранено 13 критических уязвимостей (CVE-2019-9792, CVE-2019-9791, CVE-2019-9790, 10 объединены под CVE-2019-9788). Компоненты Tor обновлены до выпуска 0.3.5.8. Улучшена совместимость с дополнением NoScript, благодаря передаче в него сведений о запуске в контексте Tor Browser. Обновлён выпуск встроенного дополнения Torbutton 2.0.11.

  1. Главная ссылка к новости
  2. OpenNews: Релиз дистрибутива Tails 3.12 и браузера Tor Browser 8.0.5
  3. OpenNews: Релиз web-браузера GNU IceCat 60.3.0 с поддержкой Tor
  4. OpenNews: Выпуск новой стабильной ветки Tor 0.3.5
  5. OpenNews: Проект Tor представил OnionShare 2, приложение для защищённого обмена файлами
  6. OpenNews: Обновление Tor с устранением потенциальной уязвимости
Обсуждение (21 +7) | Тип: Программы |


19.03 Из-за изменения правил в Google Play оставлена урезанная версия KDE Connect (155 –20)
  Компания Google удалила из каталога Google Play развиваемое проектом KDE мобильное приложение KDE Connect, которое обеспечивает бесшовную интеграцию рабочего стола KDE со смартфоном. Установка данного приложения позволяет отобразить на рабочем столе поступающие SMS, выводить уведомления о звонках и предупреждения о пропущенном вызове, управлять воспроизведением музыки с телефона, синхронизировать буфер обмена.

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

Обоснование разработчиков KDE Connect не было принято, так как доступ к SMS является не первичной, а сопутствующей функцией. Разработчикам KDE пока не удалось связаться с ответственными за удаление приложений и пополнение белого списка в Google для прояснения ситуации. После удаления из Google Play оперативно повторно был размещён новый выпуск KDE Connect из которого была удалена функциональность, связанная с доступом к SMS с рабочего стола. Полноценная версия продолжает поставляться через каталог F-Droid, который теперь рекомендован для установки KDE Connect так как урезанная версия лишена одной из ключевых функций.

  1. Главная ссылка к новости
  2. OpenNews: В Google Play поменяются правила, касающиеся 64-разрядных сборок, а также доступа к SMS и спискам звонков
  3. OpenNews: В 22 приложениях, загруженных из Google Play более 2 млн раз, выявлен вредоносный код
  4. OpenNews: В 29 Android-приложениях для работы с камерой и фото выявлен вредоносный код
  5. OpenNews: Анализ запроса ненадлежащих полномочий в VPN-приложениях для Android
  6. OpenNews: Релиз KDE Connect 1.0
Обсуждение (155 –20) | Тип: Тема для размышления |


19.03 Релиз Firefox 66 (135 +45)
  Представлен релиз web-браузера Firefox 66, а также мобильной версии Firefox 66 для платформы Android. Кроме того, сформировано обновление ветки с длительным сроком поддержки 60.6.0. В ближайшее время на стадию бета-тестирования перейдёт ветка Firefox 67, релиз которой намечен на 15 мая.

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

  • Добавлена поддержка механизма "Scroll Anchoring", при котором позиция прокрутки привязывается к конкретному месту на странице и не меняется при отображении новых элементов в вышележащей области. Изменение позволит исключить ситуации, когда прокрутка сразу после открытия страницы приводит к постепенному смещению позиции и необходимости вновь и вновь прокручивать содержимое по мере загрузки изображений и внешних вставок (например, ранее возникали казусы, когда в момент клика на нужную ссылку завершалась загрузка расположенного выше рекламного баннера, контент смещался и клик попадал на баннер);
  • Включена блокировка автоматического воспроизведения мультимедийного контента со звуком (использование свойства autoplay без выставления флага mute или отсутствия звуковой дорожки). Воспроизведение звука теперь будет начинаться только при явном действии пользователя, например, при нажатии на кнопку или клике на видеоролике. Для включения режима блокировки в настройки добавлена специальная опция:

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

    Предложенный блокировщик позволит противостоять злоупотреблениям на некоторых сайтах, автоматически показывающих видеорекламу со звуком, которая создаёт неудобства и отвлекает пользователя при просмотре страниц. На этой неделе режим будет активирован по умолчанию для 25% пользователей, браузера, а на следующей неделе охват будет увеличен до 50%. Если не будет выявлено существенных проблем, ещё через неделю блокировщик будет активирован для всех пользователей;

  • В меню "V", появляющееся при открытии большого числа вкладок, добавлена кнопка "Search Tabs" для поиска открытых вкладок и упрощения навигации при наличии большого числа открытых страниц. Реализация кнопки базируется на уже давно существующей, но малоизвестной возможности, позволяющей выполнять поиск по заголовкам страниц во вкладках при помощи ключа "%" в адресной строке (например, после набора в адресной строке "% Free" будет показан список вкладок в заголовках которых присутствует слово "Free"). При нажатии кнопки "Search Tabs" осуществляется смена фокуса на адресную строку и ввод символа "%" с приглашением продолжить ввод;
  • Изменено оформление страницы новой вкладки в приватном режиме, в том числе добавлена строка поиска;
  • В сборках для Linux по умолчанию включено декорирование окон на стороне клиента (CSD, Client Side Decoration), при котором заголовок и рамки окна отрисовываются не оконным менеджером, а самим приложением. Применение CSD позволяет приблизить интерфейс Firefox к оформлению штатных приложений GNOME, а именно перенести панели вкладок в заголовок окна и реализовать скрытые рамки. Начиная с Firefox 60 данная возможность была реализована в виде опции. Отключить CSD можно через флажок в левом нижнем углу раздела кастомизации;


  • Изменено оформление и увеличена информативность страниц, выдаваемых при проблемах с сертификатами защищённого соединения. Реализован вывод отдельного предупреждения (MOZILLA_PKIX_ERROR_MITM_DETECTED) при выявлении подмены сертификатов и перехвата трафика HTTPS из-за активности антивирусов, вредоносного ПО или вмешательства провайдера в трафик;
  • С 4 до 8 увеличено число запускаемых браузером процессов-обработчиков, каждый из которых обслуживает несколько вкладок (браузер также запускает отдельные процессы для WebExtension и интерфейса). Увеличение до 8 числа процессов-обработчиков приведёт к повышению производительности и устойчивости к сбоям, но суммарное потребление памяти увеличится приблизительно на 6%. В дальнейшем планируется реализация режима строгой изоляции сайтов, в котором страницы разных сайтов всегда размещаются в памяти разных процессов, в каждом из которых применяется свой sandbox, а разделение будет осуществляться не по вкладкам, а по доменам, что позволит дополнительно изолировать содержимое внешних скриптов и iframe-блоков;
  • На странице открытия новой вкладки проводятся эксперименты c выводом дополнительного информационного контента, рекомендованного сервисом Pocket, а также с изменением раскладки размещения информации на странице. Например, у некоторых пользователей будет изменён размер блоков и число рекомендаций, предложены новые тематические секции (Здоровье, Наука, Технологии и Развлечения). Для отказа от участия в эксперименте следует в верхнем правом углу страницы новой вкладки отключить опцию "Content Discovery";
  • Проведена работа по повышению производительности и удобства работы с дополнениями. Для хранения настроек дополнений теперь используется БД IndexedDB, вместо разбора отдельных JSON-файлов, что позволяет заметно повысить скорость работы и снизить потребление памяти в дополнениях, активно читающих настройки (например, заметно возросла производительность Adblock Plus). Разработчикам дополнений для использование IndexedDB не требуется вносить изменения в свои продукты, штатный API storage.local() автоматически переведён на новый бэкенд;
  • Изменено оформление интерфейса для привязки горячих клавиш к функциям дополнений (вызывается через контекстное меню в about:addons);
  • В инструментах для web-разработчиков обеспечена возможность использования режима инспектирования при остановке отладчика;
  • Снижена интенсивность генерации событий таймеров setTimeout и setInterval в процессе загрузки страницы (по аналогии с фоновыми вкладками уменьшен предоставляемый бюджет времени, который расходуется на выполнение обработчика событий таймера), что позволило ускорить загрузку страниц при наличии работ, интенсивно нагружающих процессор;
  • Обеспечено корректное отображение HTML и тестовых файлов в кодировке UTF-8, открываемых с локального диска с использованием схемы URL "file:" (теперь не обязательно выставление в фале meta charset="utf-8" или изменение кодировки в меню);
  • Реализован модификатор "i" для сравнения атрибутов CSS с учётом регистра символов. Например, "a[href*="insensitive" i] {...}";
  • Добавлены отдельные CSS-свойства, упрощающие доступ к типовым частям составных CSS-свойств: padding-block, padding-inline, margin-block, margin-inline, inset, inset-block, inset-inline, border-block-color, border-block-style, border-block-width, border-inline-color, border-inline-style, border-inline-width, border-block, border-inline, border-start-start-radius, border-start-end-radius, border-end-start-radius и border-end-end-radius;
  • Добавлены новые медиа-запросы overflow-inline и overflow-block, позволяющие протестировать как устройство вывода обрабатывает (обрезает или допускает прокрутку) выходящий за пределы блока контент;
  • В CSS-функции calc() добавлена возможность манипуляции величинами в процентах при вычислении ширины ячеек и столбцов таблиц. Например, "width: calc(100%/7)";
  • Стандартизированы и избавлены от префикса "-moz-" ключевые слова min-content и max-content, которые можно применять для установки предпочтительного и минимального размера в свойствах width, height, flex-basis, min-width, max-width, min-height, max-height, min-block-size, min-inline-size, max-block-size, max-inline-size, block-size и inline-size;
  • Реализован метод HTMLSlotElement.assignedElements() для вывода последовательности элементов, прикреплённых к указанному слоту;
  • Реализован метод TextEncoder.encodeInto() для перекодирования USV-строки и помещения результата в объект unit8Array;
  • Добавлена поддержка свойств: InputEvent.inputType (тип изменения редактируемого контента - добавление, удаление, форматирование), Window.event и Event.returnValue;
  • Значение HTTP-заголовка "Accept" изменено по умолчанию на "*/*" (было - "text/html, application/xhtml+xml, application/xml; q=0.9, */*; q=0.8");
  • В Linux решена проблема с зависанием браузера при загрузке файлов;
  • В Windows 10 добавлена поддержка механизма Windows Hello для аутентификации на сайтах (при помощи API Web Authentication) без пароля с использованием отпечатка пальца, распознавания лица или USB-токена с поддержкой спецификации FIDO2;
  • На платформе macOS добавлена начальная поддержка сенсорных панелей (Touch Bar);
  • В версии для Android добавлена возможность открытия файлов с внешних носителей, например, с SD-карты.

Кроме новшеств и исправления ошибок в Firefox 66 устранена серия уязвимостей, из которых 26 (CVE-2019-9792, CVE-2019-9791, CVE-2019-9790, 13 объединены под CVE-2019-9789 и 10 под CVE-2019-9788) помечены как критические, т.е. могут привести к выполнению кода злоумышленника при открытии специально оформленных страниц.

  1. Главная ссылка к новости
  2. OpenNews: WebRender для видеокарт AMD/Intel и защита от MITM-атак в Firefox
  3. OpenNews: Релиз Firefox 65
  4. OpenNews: Определены методы отслеживания перемещений, подлежащие блокировке в Firefox
  5. OpenNews: Новый этап тестирования DNS поверх HTTPS в Firefox
Обсуждение (135 +45) | Тип: Программы |


19.03 Google открыл систему для создания sandbox-окружений для библиотек C/C++ (31 +17)
  Компания Google объявила от открытии проекта Sandboxed API, позволяющего автоматизировать процесс формирования sandbox-окружений для изолированного выполнения произвольных библиотек на языках C и C++. Изоляция кода библиотек позволяет защититься от потенциальных атак на предоставляемые библиотеками обработчики, создавая дополнительный барьер на случай наличия в их коде уязвимостей, которые можно эксплуатировать через манипуляции с поступающими в библиотеку внешними данными. Код открыт под лицензией Apache 2.0.

Изоляция осуществляется при помощи runtime Sandbox2, в котором применяются пространства имён, cgroups и seccomp-bpf. Вынесенный в sandbox код выполняется в отдельном процессе, для которого ограничивается доступ к системным вызовам и ресурсам, таким как файлы и сетевые соединения. Процессы получают доступ только к системным возможностям, которые непосредственно требуются для выполнения изолируемого кода.

Sandbox2 определяет компоненты для запуска процесса, применения к нему правил изоляции и сопровождения дальнейшего выполнения. Sandbox2 может использоваться отдельно от Sandboxed API для изоляции не только библиотек, но и произвольных процессов. Кроме повышения защиты, положительным моментом выноса кода в отдельные процессы является возможность отдельного регулирования лимитов на потребление библиотекой памяти и CPU, а также защита от сбоев - сбой в библиотеке не приводит к краху всего приложения.

Sandboxed API является надстройкой над Sandbox2, упрощающей портирование существующих библиотек для выполнения в изолированном режиме. Sandboxed API предоставляет промежуточный программный интерфейс, дающий возможность запустить код библиотеки в sandbox-окружении, а также организовать проброс в sandbox-окружение обращений к библиотечным вызовам и обеспечить доставку в основную программу результатов работы библиотеки. Обращение к изолированной библиотеке осуществляется через специализированный RPC, базирующийся на протоколе ProtoBuffs.

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

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

В настоящее время проект доступен только для Linux, но в будущем обещают добавить поддержку macOS и BSD-систем, а в отдалённой перспективе и Windows. Из планов также отмечается возможность изоляции библиотек на языках, отличных от C и C++, поддержка дополнительных runtime для изоляции (например, на базе аппаратной виртуализации) и возможность использования CMake и других сборочных систем (сейчас поддержка ограничена сборочной системой Bazel).

  1. Главная ссылка к новости
  2. OpenNews: Google открыл gVisor, гибрид системы виртуализации и контейнеров
  3. OpenNews: Оценка безопасности новой системы контейнерной изоляции Nabla
  4. OpenNews: Выпуск Kata Containers 1.0 с изоляцией на основе виртуализации
  5. OpenNews: Улучшение sandbox-изоляции в Firefox
  6. OpenNews: Для Firefox развивается режим строгой изоляции страниц
Обсуждение (31 +17) | Тип: Программы |


19.03 Cloudflare представил инструменты для выявления перехвата HTTPS (61 +6)
  Компания Cloudflare представила библиотеку mitmengine, применяемую для выявления фактов перехвата HTTPS-трафика, а также web-сервис Malcolm для наглядного анализа накопленных в Cloudflare данных. Код написан на языке Go и распространяется под лицензией BSD. Проведённый при помощи предложенного инструментария мониторинг трафика Cloudflare показал, что около 18% HTTPS-соединений перехватываются.

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

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

Для выявления перехвата HTTPS компанией Cloudflare предложен пакет mitmengine, который устанавливается на сервере и позволяет выявить факты перехвата HTTPS, а также определить какие именно системы использовались для перехвата. Суть метода определения перехвата в сопоставлении специфичных для браузеров особенностей обработки TLS с фактическим состоянием соединения. На основании заголовка User Agent движок определяет браузер, а затем оценивает соответствуют ли этому браузеру такие характеристики TLS-соединения, как параметры TLS по умолчанию, поддерживаемые расширения, заявленный набор шифров, порядок определения шифров, группы и форматы эллиптических кривых.

Используемая при проверке база сигнатур насчитывает около 500 типовых идентификаторов TLS-стека браузеров и систем перехвата. Данные могут собираться в пассивном режиме через анализ содержимого полей в сообщении ClientHello, которое передаётся в открытом виде до установки шифрованного канала связи. Для захвата трафика применяется TShark из состава сетевого анализатора Wireshark 3.

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

На основании статистики о трафике, проходящем через сеть доставки контента Cloudflare, которая обрабатывает примерно 10% всего интернет-трафика, запущен web-сервис, отображающий изменение динамики перехватов по дням. Например, месяц назад перехваты фиксировались для 13.27% соединений, 19 марта этот показатель составил 17.53%, а 13 марта достиг пика в 19.02%.

В проведённом в 2017 году аналогичном исследовании доля перехватов составляла 10.9%. Расхождение вызвано тем, что в новом анализе игнорируются запросы с неизвестным User Agent, в то время как в прошлом исследовании учитывались все запросы. Если включить в новую выборку данные о неизвестных User Agent доля перехвата снижается в среднем до 11.3%, т.е. за два года число перехватов выросло на 3.6% (0.4 в абсолютных значениях).

Наиболее популярным движком перехвата является система фильтрации Symantec Bluecoat, на которую приходится 94.53% всех опознанных перехваченных запросов. Далее следуют Akamai reverse proxy (4.57%), Forcepoint (0.54%) и Barracuda (0.32%). Перехваты антивирусов и систем родительского контроля в основной массе не вошли в выборку опознанных перехватчиков, так как для их точной идентификации собрано недостаточно сигнатур. В 52.35% случаях был перехвачен трафик настольных версий браузеров, а в 45.44% браузеров для мобильных устройств. В разрезе операционных систем статистика выглядит следующим образом: Android (35.22%), Windows 10 (22.23%), Windows 7 (13.13%), iOS (11.88%), другие ОС (17.54%).

  1. Главная ссылка к новости
  2. OpenNews: Сертификат удостоверяющего центра был использован для перехвата трафика произвольных доменов
  3. OpenNews: Анализ перехвата провайдерами транзитного DNS-трафика
  4. OpenNews: Выпуск mitmproxy 1.0, инструмента для анализа трафика HTTP/HTTPS
  5. OpenNews: Новый этап тестирования DNS поверх HTTPS в Firefox
  6. OpenNews: Исследование негативного влияния на безопасность локального перехвата HTTPS-трафика
Обсуждение (61 +6) | Тип: К сведению |


19.03 Релиз десктоп-окружения MATE 1.22, форка GNOME 2 (141 +29)
  После года разработки состоялся релиз десктоп-окружения MATE 1.22, в рамках которого продолжено развитие кодовой базы GNOME 2.32 с сохранением классической концепции формирования рабочего стола. Установочные пакеты с MATE 1.22 в ближайшее время будут подготовлены для Arch Linux, Debian, Ubuntu, Fedora, openSUSE, ALT и других дистрибутивов.

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

  • Проведена большая модернизация кода панели задач с целью её адаптации для работы под управлением бэкенда на основе протокола Wayland;
  • В оконном менеджере Marco (форк Metacity) добавлена поддержка третьей версии тем оформления metacity-themes. Приведён к более современному оформлению внешний вид переключателей окон и виртуальных рабочих столов;
  • Полностью переделан апплет для управления параметрами экрана. Добавлена возможность изменения настроек монитора прямо из панели;
  • Улучшено управление мышью в апплете с таймером;
  • Апплет "Wanda the Fish", показывающий вывод предопределённой команды, адаптирован для экранов с высокой плотностью пикселей (HiDPI);
  • В менеджере сеансов обеспечено корректное завершение всех пользовательских процессов systemd при завершении сеанса. Добавлена возможность автозапуска приложений при открытии нового сеанса не сразу, а через определённую пользователем задержку;
  • Многие компоненты портированы на Python 3, включая библиотеки python-caja и mate-menus, а также просмотрщик изображений Еye of MATE;
  • В файловом менеджере Caja обеспечена опциональная возможность вывода системных уведомлений о завершении длительно выполняемых операций с файлами;
  • В просмотрщике изображений Eye of MATE (форк Eye of GNOME) переработана боковая панель и улучшена обработка метаданных в изображениях;
  • В текстовом редакторе Pluma (ответвление от Gedit) добавлена поддержка переключения между вкладками при помощи клавиатуры и колеса прокрутки на мыши;
  • В калькуляторе улучшена поддержка буфера обмена и увеличена точность вычислений (до 15 знаков);
  • В программу работы с архивами Engrampa добавлена поддержка новых форматов сжатия, а также реализована функция временной приостановки операций архивирования;
  • Добавлены новые горячие клавиши и поддержка различных типов мультимедийных клавиш, включая поддержку управления Bluetooth, WiFi, тачпадов и комбинаций для экстренного закрытия сеанса;
  • Большинство компонентов переведено с dbus-glib на GDBus;
  • Проведена работа по устранению утечек памяти и предупреждений во время сборки;
  • Удалён устаревший код, привязанный к старым веткам GTK;
  • Осуществлён переход на систему непрерывной интеграции Travis CI для проверки качества сборки для основных дистрибутивов Linux.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск десктоп-окружения MATE 1.20, форка GNOME 2
  3. OpenNews: Выпуск Brisk Menu 0.5.0, альтернативного меню для рабочего стола MATE
  4. OpenNews: Выпуск десктоп-окружения MATE 1.18, форка GNOME 2
  5. OpenNews: Выпуск пользовательского окружения GNOME 3.32
  6. OpenNews: Выпуск десктоп-окружения Cinnamon 4.0
Обсуждение (141 +29) | Тип: Программы |


Следующая страница (раньше) >>


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