Closed mikhailnov closed 4 years ago
Принято, да, как-то подзабыли, что без КриптоПро тоже надо чисто работать. Исправим.
Отлично, спасибо! А в чем был смысл перехода на новую схему линковки, можно в кратце, если не секрет?
Не секрет.
Chromium постоянно движется в сторону закручивания гаек от уязвимостей, вирусам больно, но сторонним библиотекам и приложениям от этого тоже жить с каждой версией всё сложнее.
Вот например классная история с антивирусом: https://www.cryptopro.ru/forum2/default.aspx?g=posts&m=107684#post107684
Итого, начиная с 77 версии на Windows была запрещена любая загрузка библиотек не из системного каталога ОС, что просто нивелировало наш подход с динамической загрузкой.
Было решено перебраться в общий с Chromium-ом бинарник, здесь хоть как-то можно жить.
На остальных системах вектор тот же, например на MacOS уже начали экспериментальное тестирование ограничений системных вызовов предопределённым заранее набором: https://chromium.googlesource.com/chromium/src.git/+/f46f318737e0c51ef280dd89106d37ce253c1ade%5E%21/#F10
С новым патчем, когда его переделали на статическую линковку, в strace -f стало видно очень много попыток найти библиотеки:
При этом Криптопро не установлен.
со старым патчем было вот так:
А если gostssl.so присутствует в системе, но Криптопро нет, то вот так было:
Это все самосборный Хромиум (https://abf.io/import/chromium-browser-stable), а не готовые бинарники отсюда. Я его собирал еще со старым патчем до рефакторинга и исходил из того, что если у пользователя нет криптопро, то ничего страшного, не помешает. С новым патчем в принципе все так же, но смущает множество попыток найти библиотеки. Код не смотрел, не вникал, почему так происходит.