The OpenNET Project / Index page

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

02.03 Опубликованы Linux From Scratch 10.1 и Beyond Linux From Scratch 10.1 (60 +22)
  Представлены новые выпуски руководств Linux From Scratch 10.1 (LFS) и Beyond Linux From Scratch 10.1 (BLFS), а также редакций LFS и BLFS с системным менеджером systemd. В Linux From Scratch приведены инструкции по созданию с нуля базовой Linux-системы, используя лишь исходные тексты необходимого программного обеспечения. Beyond Linux From Scratch дополняет инструкции LFS информацией о сборке и настройке около 1000 программных пакетов, охватывающих различные области применения, от СУБД и серверных систем, до графических оболочек и медиапроигрывателей.

В Linux From Scratch 10.1 осуществлён переход на Glibc 2.33, ядро Linux 5.10.17, SysVinit 2.98 и Systemd 247. Обновлены 40 пакетов, включая Binutils 2.36.1, Autoconf 2.71, Bash 5.1, Eudev 3.2.10, Grep 3.6, Inetutils 2.0, IPRoute2 5.10.0, Meson 0.57.1, Perl 5.32.1, Python 3.9.2, Tar 1.34, Tcl 8.6.11, Util-Linux 2.36.2, Vim 8.2.2433, Zstd 1.4.8. Исправлены ошибки в загрузочных скриптах, выполнены редакторские работы в пояснительных материалах по всей книге.

В Beyond Linux From Scratch 10.1 обновлено около 850 программ, среди которых GNOME 3.38, KDE Plasma 5.21, KDE Applications 20.12.2, LibreOffice 7.1, Fmpeg 4.3.2, GIMP 2.10.22, Inkscape 1.0.2, Thunderbird 78.8.0, Firefox 78.8.0, SeaMonkey 2.53.6 и т.п.

Кроме LFS и BLFS в рамках проекта ранее выпускалось несколько дополнительных книг:

Обсуждение (60 +22) | Тип: Программы |


02.03 Доступно второе издание книги "Программирование: введение в профессию" (207 +45)
  Андрей Столяров опубликовал в свободном доступе второе издание книги "Программирование: введение в профессию". Книга также доступна в бумажном варианте, напечатанном издательством МАКС Пресс. Издание включает три тома:
  • "Азы программирования" (теоретическое введение, история программирования, язык Pascal, язык ассемблера).
  • "Системы и сети" (язык Си, операционные системы, ядро ОС, создание сетевых приложений и параллельное программирование).
  • "Парадигмы" (языки C++, LISP, Scheme, Prolog, Tcl, создание графических интерфейсов на FLTK и Tcl/Tk).

  1. Главная ссылка к новости
  2. OpenNews: Опубликован четвёртый том общедоступной книги "Программирование: введение в профессию"
  3. OpenNews: Опубликован третий том общедоступной книги "Программирование: введение в профессию"
  4. OpenNews: Общедоступная книга по машинному обучению
  5. OpenNews: Перевод книги про Ричарда Столлмана
  6. OpenNews: Опубликована свободная книга про Wayland
Обсуждение (207 +45) | Тип: Обобщение | яз. русский


02.03 Опасные уязвимости в системе управления конфигурацией SaltStack (33 +9)
  В новых выпусках системы централизованного управления конфигурацией SaltStack 3002.5, 3001.6 и 3000.8 устранена уязвимость (CVE-2020-28243) позволяющая непривилегированному локальному пользователю хоста повысить свои привилегии в системе. Проблема вызвана ошибкой в обработчике salt-minion, применяемом для приёма команд с центрального сервера. Уязвимость была выявлена в ноябре, но исправлена только сейчас.

При выполнении операции "restartcheck" имеется возможность осуществить подстановку произвольных команд через манипуляции с именем процесса. В частности, запрос наличия пакета осуществлялся через запуск пакетного менеджера с передачей аргумента, полученного на основе имени процесса. Пакетный менеджер запускается через вызов функции popen в режиме запуска shell, но без экранирования спецсимволов. Изменив имя процесса и используя символы подобные ";" и "|" можно организовать выполнение своего кода.

Кроме отмеченной проблемы в SaltStack 3002.5 устранено ещё 9 уязвимостей:

  • CVE-2021-25281 - из-за отсутствия должной проверки полномочий удалённый атакующий может через обращение к SaltAPI запустить любой wheel-модуль на стороне управляющего master-сервера и скомпрометировать всю инфраструктуру.
  • CVE-2021-3197 - проблема в SSH-модуле к minion, позволяющая выполнить произвольные shell-команды через подстановку аргумента с настройкой "ProxyCommand" или передачу ssh_options через API.
  • CVE-2021-25282 - неавторизированный доступ к wheel_async позволяет через обращение к SaltAPI переписать файл за пределами базового каталога и выполнить произвольный код в системе.
  • CVE-2021-25283 - выход за пределы базового каталога в обработчике wheel.pillar_roots.write в SaltAPI позволяет добавить произвольный шаблон к jinja renderer.
  • CVE-2021-25284 - задаваемые через webutils пароли оседали в открытом виде в логе /var/log/salt/minion .
  • CVE-2021-3148 - возможность подстановки команд через SaltAPI вызов salt.utils.thin.gen_thin().
  • CVE-2020-35662 - отсутствие проверки SSL-сертификата в конфигурации по умолчанию.
  • CVE-2021-3144 - возможность использования токенов аутентификации eauth после истечения времени их действия.
  • CVE-2020-28972 - в коде не проверялся SSL/TLS-сертификат сервера, что позволяло совершить MITM-атаки.

  1. Главная ссылка к новости
  2. OpenNews: Взлом серверов компании Cisco, обслуживающих инфраструктуру VIRL-PE
  3. OpenNews: Взлом инфраструктуры LineageOS через уязвимость в SaltStack
  4. OpenNews: Форум проекта openSUSE подвергся взлому (дополнено)
  5. OpenNews: Выпуск системы управления конфигурацией Ansible 2.2
  6. OpenNews: Выпуск ZeroNet 0.7, платформы для создания децентрализованных сайтов
Обсуждение (33 +9) | Тип: Проблемы безопасности |


02.03 Опубликован разбор инцидента с потерей контроля над доменом perl.com (29 +10)
  Брайан Фой (brian d foy), основатель организации Perl Mongers, опубликовал подробный разбор инцидента, в результате которого домен perl.com был захвачен посторонними лицами. Захват домена не затронул серверную инфраструктуру проекта и был совершён на уровне смены владельца и замены параметров DNS-серверов у регистратора. Утверждается, что компьютеры ответственных за домен также не были скомпрометированы и атакующие пользовались методами социальной инженерии для введения регистратора Network Solutions в заблуждение и смены данных о владельце, используя фальшивые документы для подтверждения прав на владение доменом.

Среди факторов, способствовавших атаке, также упоминаются отключение двухфакторной аутентификации в интерфейсе регистратора и использование контактного email, указывающего на тот же домен. Захват домена был совершён ещё в сентябре 2020 года, в декабре домен был переведён китайскому регистратору BizCN, а в январе для запутывания следов был передан немецкому регистратору Key-Systems GmbH.

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

Из связанных с языком Perl событий также можно отметить отказ архива модулей CPAN от использования зеркал в пользу применения сети доставки контента, снимающей нагрузку с основного сервера. В июне планируется полностью очистить список зеркал, в котором останется только одна запись - www.cpan.org. Возможность ручной настройки клиента CPAN для работы через явно указанное зеркало сохранится.

  1. Главная ссылка к новости
  2. OpenNews: Сообщество вернуло контроль над доменом perl.com
  3. OpenNews: Посторонние получили контроль над доменом Perl.com
  4. OpenNews: Perl переходит на новую модель управления
  5. OpenNews: В Perl-пакете Module-AutoLoad выявлен вредоносный код
  6. OpenNews: Анализ рисков при воплощении в жизнь инициативы Perl 7
Обсуждение (29 +10) | Тип: Проблемы безопасности |


02.03 Мэйнтейнеры Fedora и Gentoo отказались от сопровождения пакетов с Telegram Desktop (438 +104)
  Сопровождающий пакеты с Telegram Desktop для Fedora и RPM Fusion сообщил об удалении пакетов из репозиториев. За день до этого о прекращении поддержки Telegram Desktop также объявил сопровождающий пакеты с Gentoo. В обоих случаях заявлено о готовности вернуть пакеты в репозитории в случае если для них найдётся новый мэйнтейнер, готовый взять сопровождение в свои руки.

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

Ситуацию усугубляет то, что проблемы, мешающие сборке пакетов, регулярно всплывают в новых релизах, а на все попытки устранить недоработки в upstream сводятся к заявлениям, что разработчики поддерживают только статическое связывание tg_owt и все проблемы при создании собственных сборок следует решать самостоятельно. Например, недавно была прекращена поддержка сборки с версиями Qt меньше 5.15 и все обращения с предложениями как-то решить возникшую проблему просто игнорировались.

Также отмечается общая запутанность организации сборки Telegram Desktop, усложняющая сопровождение. Проект разбит на четыре разных репозитория (приложение, библиотека для webrtc, сценарии для системы сборки cmake и библиотека для обработки звука), но только в одном репозитории формируются релизы, а остальные три просто обновляются по мере разработки без фиксации состояния. Дополнительно сборку затрудняют конфликты с зависимостями, возникающие при попытке обеспечить поддержку Wayland и x11, PulseAudio и ALSA, OpenSSL и LibreSSL.

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

  1. Главная ссылка к новости
  2. OpenNews: GPL-код из Telegram взят мессенджером Mail.ru без соблюдения GPL
  3. OpenNews: Релиз Telegram Desktop 2.2
  4. OpenNews: Выпуск десктоп-клиента Telegram 2.0
  5. OpenNews: Комиссия по ценным бумагам США приостановила размещение криптовалюты Telegram
  6. OpenNews: Роскомнадзор снял ограничения на доступ к мессенджеру Telegram
Обсуждение (438 +104) | Тип: Тема для размышления |


02.03 Выпуск aTox 0.6.0, приватного и безопасного мессенджера для Android (269 +23)
  Состоялся выпуск aTox 0.6.0 - новой версии свободного мобильного мессенджера, использующего протокол Tox (c-toxcore). Tox предлагает децентрализованную P2P-модель распространения сообщений, использующую криптографические методы для идентификации пользователя и защиты транзитного трафика от перехвата. Приложение написано на языке программирования Kotlin. Исходный код и готовые сборки приложения распространяются под лицензией GNU GPLv3.

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

  • Удобство: простые и понятные настройки.
  • Сквозное шифрование: единственные люди, которые могут увидеть ваши переписки, это вы и ваши собеседники.
  • Распределённость: отсутствие центральных серверов которые могут быть выключены или с которых ваши данные могут быть переданы кому-либо постороннему.
  • Легковесность: нет телеметрии, рекламы, или других форм наблюдения за вами, а установщик текущей версии приложения весит всего 14 мегабайт.
1

История изменений aTox 0.6.0:

  • Добавлено:
    • Набранные, но не отправленные сообщения теперь сохраняются как черновики.
    • Поддержка использования прокси.
    • Настройка для установки автоматического статуса "Отошёл" после заданного времени.
    • Теперь возможно использовать пользовательский список начальных узлов.
    • Добавлены улучшенные уведомления с более хорошей иконкой приложения, аватарки контактов для уведомлений с входящими сообщениями, и возможность отвечать на входящие сообщения прямо из шторки уведомлений.
    • Настройка для автоматического принятия файлов от собеседников.
    • Красивые стандартные аватары, генерирующиеся если контакт не установил свой аватар.
  • Исправлено:
    • Очистка истории сообщений в чате не удаляла из памяти недоступные из-за этого загруженные файлы.
    • Длинные сообщения с многобайтными символами не разделялись правильно, вызывая вылеты приложения.
    • Даты получения старых сообщений произвольно обновлялись на новые.
  • Другое:
    • Добавлен перевод на бразильский вариант португальского языка.
    • Добавлен перевод на русский язык.
    • Добавлен перевод на немецкий язык.

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

Загрузить пакеты с aTox можно с GitHub и F-Droid (версия 0.6.0 будет добавлена в ближайшее время, а вместе с ней будет убрано и неприятное предупреждение о "несвободных сетевых сервисах").

  1. Главная ссылка к новости
  2. OpenNews: Выпуск Protox 1.6, Tox-клиента для мобильных платформ
  3. OpenNews: Подготовлен неофициальный PPA-репозиторий клиента uTox, свободной замены Skype
  4. OpenNews: Проект Tox развивает свободную альтернативу Skype
  5. OpenNews: Выпуск децентрализованного коммуникационного клиента Jami
  6. OpenNews: Выпуск P2P-платформы GNUnet 0.14
Обсуждение (269 +23) | Автор: 1Mxtrn1 | Тип: Программы |


01.03 Выпуск командной оболочки fish 3.2 (63 +13)
  Опубликован релиз интерактивной командной оболочки fish 3.2.0 (friendly interactive shell), развивающейся как более дружественная пользователю альтернатива bash и zsh. Fish поддерживает такие возможности как подсветка синтаксиса с автоматическим выявлением ошибок ввода, предложение возможных вариантов ввода на основе истории прошлых операций, автодополнение ввода опций и команд с использованием их описания в man-руководствах, комфортная работа из коробки без необходимости дополнительной настройки, упрощённый язык написания сценариев, поддержка буфера обмена X11, удобные средства поиска в истории выполненных операций. Код проекта распространяется под лицензией GPLv2. Готовые пакеты сформированы для Ubuntu, Debian, Fedora, openSUSE и RHEL.

Среди добавленных новшеств:

  • Добавлена поддержка отката изменений (Undo и Redo) при редактировании командной строки. Undo вызывается через комбинацию Сtrl+Z, а Redo через Alt+/.
  • Встроенные команды теперь выполняют обработку по мере поступления данных, например, операция замены строки начинает вывод сразу, без ожидания поступления всех входных данных. В том числе встроенные команды теперь можно использовать в цепочке команд, передающих данные через неименованные каналы, например "dmesg -w | string match '*usb*'".
  • Если путь в приглашении командной строки не вмещается в ширину строки терминала, он теперь частично обрезается, а не заменяется на ">".
  • Улучшена работа автодополения ввода нажатием Tab (для неоднозначных дополнений сразу выводится список замен без необходимости второй раз нажимать Tab).
  • Добавлена новая вспомогательная функция "fish_add_path" для добавления пути к переменной окружения $PATH, автоматически отсеивающая дубликаты.
  • Обеспечена более наглядная диагностика ошибок при выполнении команды test.
  • В конструкции "$x[$start..$end]" теперь разрешено пропускать значения $start или $end, которые по умолчанию определяются как 1 и -1. Например, echo $var[..] эквивалентно $var[1..-1] и приведёт к выводу от первого до последнего элемента.
  • Значительно повышена производительность многих функций. Расширены возможности функций обработки строк.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск командной оболочки fish 3.0
  3. OpenNews: Xonsh - командная оболочка, сочетающая Python с лучшими возможностями Bash, zsh и fish
  4. OpenNews: Релиз командной оболочки zsh 5.1
  5. OpenNews: Релиз командного интерпретатора Bash 5.0
  6. OpenNews: Релиз командного интерпретатора Bash 5.1
Обсуждение (63 +13) | Тип: Программы |


01.03 Уязвимость в wpa_supplicant, не исключающая удалённое выполнение кода (75 +21)
  В пакете wpa_supplicant, используемом для организации подключения к беспроводной сети во многих дистрибутивах GNU/Linux, NetBSD и Android, выявлена уязвимость (CVE-2021-27803), которая потенциально может быть использована для выполнения кода злоумышленника при обработке специально оформленных управляющих кадров Wi-Fi Direct (Wi-Fi P2P). Для проведения атаки злоумышленник должен находиться в пределах досягаемости беспроводной сети, чтобы отправить жертве специально оформленный набор кадров.

Проблема вызвана ошибкой в обработчике Wi-Fi P2P, из-за которой обработка некорректно оформленного кадра PDR (Provision Discovery Request) может привести к состоянию, при котором запись о старом P2P-пире будет удалена и информация будет записана в уже освобождённый блок памяти (use-after-free). Проблеме подвержены выпуски wpa_supplicant с 1.0 по 2.9, собранные с опцией CONFIG_P2P.

Уязвимость будет устранена в выпуске wpa_supplicant 2.10. В дистрибутивах обновление с исправлением опубликовано для Fedora Linux. Статус публикации обновлений другими дистрибутивами можно проследить на страницах: Debian, Ubuntu, RHEL, SUSE, Arch Linux. В качестве обходного пути блокирования уязвимости достаточно отключить поддержку P2P, указав в настройках "p2p_disabled=1" или выполнив в CLI-интерфейсе команду "P2P_SET disabled 1".

  1. Главная ссылка к новости
  2. OpenNews: Выпуск hostapd и wpa_supplicant 2.7
  3. OpenNews: Критическая уязвимость в wpa_supplicant, компоненте для подключения к беспроводным сетям
  4. OpenNews: Новые уязвимости в технологии защиты беспроводных сетей WPA3 и в EAP-pwd
  5. OpenNews: Беспроводная технология ZigBee оказалась незащищенной от простейших атак
  6. OpenNews: Новая техника атаки на беспроводные сети с WPA2
Обсуждение (75 +21) | Тип: Проблемы безопасности |


01.03 Федеральный Суд США обязал предоставить исходные тексты ПО для анализа ДНК (117 +63)
  Федеральный Суд США вынес решение о необходимости предоставления стороне защиты исходных текстов программного обеспечения TrueAllele, использовавшегося для анализа ДНК подозреваемого в совершении тяжкого преступления. Суд согласился с позицией адвокатов, которые утверждали, что применяемое при сборе доказательств программное обеспечение может содержать ошибки, способные исказить результаты и привести к осуждению невиновного. Поэтому адвокаты настаивали на предоставлении им доступа к коду программы, применявшейся для анализа ДНК, для проведения независимого аудита.

Изначально сторона обвинения и компания-производитель Cybergenetics отказывались предоставить код под предлогом сохранения коммерческой тайны, но суд решил, что право обвиняемого оспорить предоставленные доказательства и опасность возникновения ложных выводов о совершении преступления из-за ошибок в сложном ПО перекрывает коммерческие интересы, и постановил предоставить исходные тексты стороне защиты. Код предоставлен на условиях неразглашения, но в прошлом уже был подобный инцидент - после того как защита сумела найти несколько изъянов в ПО, суд одобрил публикацию кода для проведения публичного аудита.

  1. Главная ссылка к новости
  2. OpenNews: Энтузиаст создал в GitHub открытый проект c данными о своей ДНК
  3. OpenNews: Debian GNU/Linux будет использован для расшифровки генома человека.
  4. OpenNews: Апелляционный суд США постановил, что код нельзя рассматривать как физическую собственность
  5. OpenNews: Судебный иск против Adblock Plus, манипулирующий изменением кода на сайтах
  6. OpenNews: Атаковавшие SolarWinds смогли получить доступ к коду Microsoft (дополняется)
Обсуждение (117 +63) | Тип: К сведению |


01.03 Linux Mint намерен решить проблему с игнорированием установки обновлений (311 +23)
  Разработчики дистрибутива Linux Mint намерены в следующем выпуске переработать менеджер установки обновлений для форсирования поддержания дистрибутива в актуальном состоянии. Проведённое исследование показало, что лишь около 30% пользователей устанавливают обновления своевременно, спустя менее недели с момента их публикации.

В Linux Mint не собирается телеметрия, поэтому для оценки актуальности компонентов дистрибутива использовался косвенный метод на основе анализа используемых версий Firefox. Разработчики Linux Mint совместно с компанией Yahoo проанализировали какая версия браузера применяется пользователями Linux Mint. После выпуска пакета с обновлением Firefox 85.0 на основе значения заголовка User Agent, передаваемого при обращении к сервисами Yahoo, была вычислена динамика перехода пользователей Linux Mint на новую версию Firеfox. Результат оказался неутешительным и за неделю на новую версию перешло только 30% пользователей, а остальные продолжали выходить в сеть с устаревших выпусков.

Более того, оказалось, что часть пользователей вообще не устанавливает обновления и продолжает использовать Firefox 77, предложенный в выпуске Linux Mint 20. Также выявлено, что 5% пользователей (по другой статистике 30%) продолжают использовать ветку Linux Mint 17.x, поддержка которой прекращена в апреле 2019 года, т.е. обновления на данных системах не устанавливались уже два года. Показатель 5% получен на основе оценки запросов со стартовой страницы браузера, а 30% на основе обращений пакетного менеджера APT к репозиториям.

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

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

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

  1. Главная ссылка к новости
  2. OpenNews: В Linux Mint отмечены проблемы с распространением обновлений с устранением уязвимостей
  3. OpenNews: Linux Mint будет блокировать скрытую от пользователя установку snapd
  4. OpenNews: Релиз дистрибутива Linux Mint 20
  5. OpenNews: Linux Mint начал формирование классического пакета с Chromium
  6. OpenNews: Релиз дистрибутива Linux Mint 20.1
Обсуждение (311 +23) | Тип: Тема для размышления |


28.02 Обновление компилятора языка программирования Vala 0.50.4 (58 +10)
  Вышла новая версия компилятора для языка программирования Vala 0.50.4. Также была обновлена ветка с долгосрочной поддержкой (LTS) Vala 0.48.14 (упаковывается для Ubuntu 18.04) и экспериментальная ветка Vala 0.51.3.

Язык Vala является объектно-ориентированным языком программирования, предоставляет синтаксис, подобный языкам C# или Java. В качестве объектной модели используется Gobject (Glib Object System). Управление памятью осуществляется по владению (owned/unowned ссылки) либо с помощью ARC(подстановка деструкторов и декрементов счетчиков ссылок объектов на этапе компиляции).

В языке имеется поддержка интроспекции, лямбда-функций, интерфейсов, делегатов и замыканий, сигналов и слотов, исключений, свойств, ненулевых типов, выведения типов для локальных переменных. В комплекте поставляется большое количество биндингов к библиотекам на языке C (vala-girs, vala-extra-vapis). Программы на языке Vala транслируются в представление на языке C, а затем компилируются штатным компилятором для языка C. Имеется возможность запуска программ в режиме сценария.

Список изменений:

  • Добавлена дополнительная поддержка ключевого слова params для конструкторов
    
       class Foo{
           public Foo(params string[] args){
               foreach (var arg in args) print(arg);
           }
    }    
    
  • codegen:
    • Улучшена поддержка конструкторов SimpleType struct (например используется чтобы забиндить typedef uint32_t people_inside; из C)
      
         [SimpleType]
         [CCode (cname = "people_inside")]
         public struct PeopleInside : uint32 {}
      
    • Улучшена обработка атрибута "NoWrapper".
    • Для классов разрешен CCode.type_cname и get_ccode_type_name().
    • Всегда использован G_TYPE_INSTANCE_GET_CLASS/INTERFACE для внешних символов.
    • Использован g_boxed_free в free-wrapper для размещения GLib.Value в куче.
    • Исправлена утечка памяти во время неявного анбоксинга GLib.Value (универсальный контейнер любого value типа).
    • Исправлена утечка памяти во время перемещения в стек структуры, размещённой в куче.
    • Обеспечено наследование деструктора родительской структуры
    • Налажено правильное получение symbol_reference вложенных cast-выражений.
    • Удалены все вложенные вхождения CCodeCastExpression.
    • Прекращён некорректный вызов обработчика сигналов по умолчанию.
    • Подключен "string.h" для strcmp() (POSIX профайл, режим при котором Vala генерирует код используя только стандартную С библиотеку).
  • Vala:
    • Улучшено обнаружение дубликатов исходных файлов пакетов.
    • Поля/свойства GtkChild должны быть объявлены как unowned.
    • Запрещено переназначения поля/свойства GtkChild.
    • Применено более строгое условие для лямбды при делегировании назначения.
    • Запрещено применение одноразовых структур SimpleType.
    • В GLib.Value unboxing обеспечен возврат unowned-зничения.
    • Запрещено приведение GLib.Value к типу nullable struct/simple.
    • Добавлена проверка аргументов типа в базовых типах/предусловий класса/интерфейса.
    • Запрещён захват параметров/переменных va_list.
    • Дженерики, содержащие указатель на структуру, должны быть приведены к нужному типу при доступе для избежания С UB.
    • Реализован вывод типов для "in" внутри enum.
    • Улучшена проверка контекста при присвоениях в поле writeable.
    • Подключён "stdlib.h" для Enum.to_string() (POSIX).
    • Установлен правильный source_reference для неявных переменных "this" и "result"
    • Обеспечен вывод сообщения об ошибке для недопустимого внутреннего операнда унарных выражений.
  • Сodewriter: Прекращено добавление завершающего ";" после тела WithStatement.
  • Girparser:
    • Обеспечена обработка анонимного делегата, не подкрепленного виртуальным методом или сигналом.
    • Применены метаданные "delegate_target" для методов и параметров
    • Применены метаданные "destroy_notify_cname" для полей
    • Применены метаданные "type_get_function" для классов и интерфейсов
    • Установлен CCode.type_cname для классов, если он не соответствует значению по умолчанию.
  • girwriter: Обеспечена запись элементов параметров экземпляра.
  • girwriter: Реализован вывод обработчика сигналов по умолчанию.
  • libvaladoc/html: Убрана сортировка полей структур чтобы оставить их оригинальный порядок при генерации html документации valadoc.org
  • libvaladoc: Обеспечено правильное получение значений для Api.Class.is_compact
  • libvaladoc: Добавлен врапер для "agedge" библиотеки graphviz
  • Биндинги:
    • Мелкие исправления при генерации привязок: cairo, gobject-2.0, pango, goocanvas-2.0, curses, alsa, bzlib, sqlite3, libgvc, posix, gstreamer-1.0, gdk-3.0, gdk-x11-3.0, gtk+-3.0, gtk4, fuse, libxml-2.0
    • gdk-pixbuf-2.0: Исправление Pixbuf.save_to_streamv_async()
    • gio-2.0: Исправление привязки PollableOutputStream.write*_nonblocking()
    • gio-2.0,gtk+-3.0,gtk4: Отброшены явные аттрибуты c-типа параметров va_list
    • gio-2.0: Выбран отсутствующий invoker для некоторых методов AppInfo/File.*()
    • glib-2.0: Добавлен GLib.[S]List.is_empty() convenience methods for non-null
    • glib-2.0: Биндинг функции assert_cmp* [#395]
    • glib-2.0: Улучшен тип поля OptionEntry.flags
    • glib-2.0: PtrArray теперь подкласс GenericArray
    • gstreamer-1.0: CCode.type_id мини-объекта(MiniObject) выставляется как G_TYPE_BOXED [#1133]
    • gtk+-2.0,javascriptcoregtk-4.0: Откорректировано использование атрибута CCode.type_cname
    • gtk+-3.0,gtk4: Исправлены некоторые возвращаемые делегатом значения и параметры
    • gtk4: Обновлён до версии 4.0.2.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск экспериментальной версии транслятора языка программирования Vala 0.51.1
  3. OpenNews: Выпуск компилятора для языка программирования Vala 0.50.0
  4. OpenNews: Выпуск компилятора для языка программирования Vala 0.49.1
Обсуждение (58 +10) | Автор: gavr | Тип: Программы |


28.02 Корректирующий релиз OpenVPN 2.5.1 (93 +18)
  Подготовлен корректирующий релиз OpenVPN 2.5.1, пакета для создания виртуальных частных сетей, позволяющего организовать шифрованное соединение между двумя клиентскими машинами или обеспечить работу централизованного VPN-сервера для одновременной работы нескольких клиентов. Код OpenVPN распространяется под лицензией GPLv2, готовые бинарные пакеты формируются для Debian, Ubuntu, CentOS, RHEL и Windows.

Нововведения:

  • В список состояний соединения добавлено новое состояние AUTH_PENDING, которое позволяет в интерфейсе отображать более корректное состояние соединения;
  • Оформлена предварительная версия документации на "Management Interface "echo" protocol", канал передачи команд в GUI;
  • Удалена поддержка inetd;
  • Добавлена поддержка EKM (Exported Keying Material,RFC 5705) для получения векторов encryption/hmac/iv (data channel keys). Прежний механизм остался неизменным.

Основные исправления:

  • Устранена утечка памяти в режиме сервера в модуле tls-crypt-v2 (около 600 байт на каждого подключающегося клиента);
  • Устранена утечка памяти в функции net_iface_mtu_set() (Linux);
  • Устранена потенциальная ошибка порчи кучи и аварийного завершения дочернего процесса клиента при использовании опции registerdns (Windows);
  • Wintun не поддерживает DHCP. Теперь DHCP renew запускается только для TAP-Windows6 (Windows).

  1. Главная ссылка к новости
  2. OpenNews: Доступен OpenVPN 2.5.0
  3. OpenNews: Уязвимость в OpenVPN, которая может привести к выполнению кода на сервере
  4. OpenNews: Выпуск SoftEther VPN Developer Edition 5.01.9671
  5. OpenNews: Во FreeBSD добавлена поддержка VPN WireGuard
Обсуждение (93 +18) | Автор: Тыгра | Тип: Программы |


28.02 Void Linux возвращается с LibreSSL на OpenSSL (72 +19)
  Разработчики дистрибутива Void Linux утвердили рассматривавшееся с апреля прошлого года предложение по возвращению к использованию библиотеки OpenSSL. Замена LibreSSL на OpenSSL намечена на 5 марта. Предполагается, что изменение не повлияет на системы большинства пользователей, но существенно упростит сопровождение дистрибутива и позволит решить многие проблемы, например, даст возможность собирать OpenVPN со штатной TLS-библиотекой (сейчас из-за проблем с LibreSSL пакет собирается с Mbed TLS). Ценой возвращения на OpenSSL станет прекращение поддержки некоторых пакетов, которые завязаны на старый API OpenSSL, поддержка которого прекращена в новых ветках OpenSSL, но сохранялась в LibreSSL.

Ранее c LibreSSL на OpenSSL уже вернулись проекты Gentoo, Alpine и HardenedBSD. Основным мотивом возвращения OpenSSL стало нарастание несовместимости между LibreSSL и OpenSSL, которая приводила к необходимости поставки дополнительных патчей, усложняла сопровождение и затрудняла обновление версий. Например, разработчики Qt отказываются поддерживать LibreSSL, и перекладывают работу по решению проблем с совместимостью на разработчиков дистрибутивов, что требует большой дополнительной работы по портированию Qt6 при использовании LibreSSL.

Кроме того, темп разработки OpenSSL в последние годы усилился, проведена основательная работа по повышению безопасности кодовой базы и добавлению специфичных для аппаратных платформ оптимизаций, предоставлена полноценная реализация TLS 1.3. Использование OpenSSL также позволит расширить поддержку алгоритмов шифрования в некоторых пакетах. Например, в Python при сборке с LibreSSL включался лишь ограниченный набор шифров.

  1. Главная ссылка к новости
  2. OpenNews: Gentoo прекращает поддержку LibreSSL в пользу OpenSSL и LibreTLS
  3. OpenNews: Проект HardenedBSD возвращается с LibreSSL на OpenSSL
  4. OpenNews: В LibreSSL выявлены две специфичные уязвимости, не затрагивающие OpenSSL
  5. OpenNews: Основатель Void Linux убрал ограничение на использование своих разработок
  6. OpenNews: Доступны новые установочные сборки Void Linux
Обсуждение (72 +19) | Тип: К сведению |


28.02 Доступен редактор бинарных данных GNU Poke 1.0 (44 +35)
  После трёх лет разработки представлен первый выпуск GNU Poke, интерактивного редактора бинарных данных. В отличие от редакторов дампов, позволяющих редактировать информацию на уровне битов и байтов, Poke предоставляет полноценный язык описания и разбора структур данных, дающий возможность автоматически кодировать и декодировать данные в разных форматах.

После определения структуры бинарных данных, например, на основе сопоставления со списком поддерживаемых форматов, пользователь может выполнять операции поиска, инспектирования и модификации на более высоком уровне, манипулируя такими абстрактными структурами как таблицы символов формата ELF, MP3-теги, выражения DWARF и записи в таблице дисковых разделов. Предоставляется библиотека готовых описаний для различных форматов.

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

  1. Главная ссылка к новости
  2. OpenNews: Выпуск языка описания бинарных форматов Kaitai Struct 0.9
  3. OpenNews: АНБ опубликовало Ghidra, инструментарий для обратного инжиниринга
  4. OpenNews: Инициатива по форсированию разработки фреймворка для обратного инжиниринга radare2
  5. OpenNews: HAL - IDE для реверс-инжиниринга цифровых электронных схем
  6. OpenNews: Выпуск Hobbits 0.21, визуализатора для реверс-инжиниринга бинарных файлов
Обсуждение (44 +35) | Тип: Программы |


28.02 В ядро Linux 5.12 принята подсистема KFence для выявления ошибок при работе с памятью (185 +41)
  В состав находящегося в разработке ядра Linux 5.12 включена реализация механизма KFence (Kernel Electric Fence), который проверяет работу с памятью, отлавливая выход за границы буферов, обращения к памяти после освобождения и другие ошибки подобного класса.

Подобная функциональность уже присутствовала в ядре в виде опции сборки KASAN (kernel address sanitizer, использует Address Sanitizer в современных gcc и clang) - однако позиционировалась в основном для отладочного применения. Подсистема KFence отличается от KASAN высокой скоростью работы, что позволяет использовать эту возможность даже на ядрах в рабочих системах.

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

Минимальные накладные расходы, не зависящие от нагрузки, достигаются в KFence благодаря подстановке страниц защиты (guard pages) в кучу через фиксированные интервалы. После истечения времени очередного интервала защиты KFence через штатную систему распределения памяти (SLAB или SLUB allocator) добавляет очередную страницу защиты из пула объектов KFence, и начинает новый отчёт счётчика времени. Каждый объект KFence размещается в отдельной странице памяти, а страницы памяти по левой и правой границе образуют страницы защиты (guard pages), размер которых выбирается случайно.

Таким образом, страницы с объектами отделяются друг от друга страницами защиты, которые настраиваются на генерацию "page fault" при любом обращении. Для выявления операций записи за границу буфера внутри страниц с объектами дополнительно используются "красные зоны" на основе шаблонов, которые занимают память, не используемую объектами, остающуюся при выравнивании размера страниц памяти.


---+-----------+-----------+-----------+-----------+-----------+---
   | xxxxxxxxx | O :       | xxxxxxxxx |       : O | xxxxxxxxx |
   | xxxxxxxxx | B :       | xxxxxxxxx |       : B | xxxxxxxxx |
   | x GUARD x | J : RED-  | x GUARD x | RED-  : J | x GUARD x |
   | xxxxxxxxx | E :  ZONE | xxxxxxxxx |  ZONE : E | xxxxxxxxx |
   | xxxxxxxxx | C :       | xxxxxxxxx |       : C | xxxxxxxxx |
   | xxxxxxxxx | T :       | xxxxxxxxx |       : T | xxxxxxxxx |
---+-----------+-----------+-----------+-----------+-----------+---

В случае попытки обращения к области вне границ буфера операция затрагивает страницу защиты, что приводит к генерации "page fault", который перехватывает KFence и выводит в лог данные о выявленной проблеме. По умолчанию KFence не блокирует ошибку и лишь выводит предупреждение в лог, но предусмотрена настройка "panic_on_warn", позволяющая в случае выявления ошибки переводить ядро в состояние краха (panic).

  1. Главная ссылка к новости
  2. OpenNews: Выпуск модуля LKRG 0.8 для защиты от эксплуатации уязвимостей в ядре Linux
  3. OpenNews: Проблемы с безопасностью в патчах, предложенных сотрудником Huawei для защиты ядра Linux
  4. OpenNews: Экспериментальная поддержка пересборки ядра Linux в Clang с механизмом защиты CFI
  5. OpenNews: Проект grsecurity опубликовал реализацию механизма защиты RAP для ядра Linux
  6. OpenNews: Проект по продвижению в ядро Linux новых технологий активной защиты
Обсуждение (185 +41) | Автор: Аноним | Тип: К сведению |


<< Предыдущая страница (позже)
Следующая страница (раньше) >>



Спонсоры:
Inferno Solutions
Ideco
Hosting by Hoster.ru
Хостинг:

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