Summary: | Оключение tls в qt6.6 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | proskurinov <proskurinov> | ||||||
Component: | openssl3 | Assignee: | Gleb F-Malinovskiy <glebfm> | ||||||
Status: | NEW --- | QA Contact: | qa-sisyphus | ||||||
Severity: | normal | ||||||||
Priority: | P5 | CC: | amakeenk, george, glebfm, katze_942, mail, nenderus, placeholder, rider, zerg | ||||||
Version: | unstable | ||||||||
Hardware: | x86_64 | ||||||||
OS: | Linux | ||||||||
See Also: | https://bugzilla.altlinux.org/show_bug.cgi?id=49598 | ||||||||
Bug Depends on: | |||||||||
Bug Blocks: | 46625, 51318 | ||||||||
Attachments: |
|
OpenSSL 3.1.4 24 Oct 2023 (Library: OpenSSL 3.1.4 24 Oct 2023) (In reply to proskurinov@basealt.ru from comment #0) > Закомментирован флаг инициализации ( в Fedora включен из коробки,в Debian - > деволтный конфиг.) Получается, в Debian это тоже не работает? В апстримном конфиге activate закомментирован, да и в целом в этом месте наш конфиг ничем не отличается от апстримного. Нет, в Debian работает, в том числе с нынешним конфигом из Сизифа. Я считаю, что это значит, что проблема вовсе не в конфиге потому что разница точно не только в нём. $ audiotube ssl.SSLError: [SSL] malloc failure (_ssl.c:3026) At: /usr/lib64/python3.12/ssl.py(438): __new__ /usr/lib/python3/site-packages/urllib3/util/ssl_.py(292): create_urllib3_context /usr/lib/python3/site-packages/requests/adapters.py(84): <module> <frozen importlib._bootstrap>(488): _call_with_frames_removed P.S. Если конфиг поправить, то всё ок. *** Bug 52068 has been marked as a duplicate of this bug. *** (Ответ для Gleb F-Malinovskiy на комментарий #3) > проблема вовсе не в конфиге потому что разница точно не только в нём. По крайней мере, я ни у кого не видел никаких патчей на qtbase про ssl. Created attachment 17202 [details]
digikam
При первом запуске digikam предлагается скачать необходимые файлы и возникает ошибка.
Помогает включение параметра `activate = 1` в конфиге openssl.
*** Bug 51318 has been marked as a duplicate of this bug. *** |
Created attachment 15277 [details] Тест для демонстрации ошибок приложения на Qt 6.6 отключают поддержку tls, соответсвенно пропадает сеть. -------------------------- Причина: ``` /etc/openssl/openssl.cnf [provider_sect] default = default_sect [default_sect] #activate = 1 ``` Закомментирован флаг инициализации ( в Fedora включен из коробки,в Debian - деволтный конфиг.) -------------------------- Последствия: Если приложение на qt6.6 обратится к crypto - например QCryptographicHash или выполнит plain - http запрос ДО инициализации SSL, инициализация ssl завершится неудачно, что приведет к: ``` Random number generator not seeded, disabling SSL support ``` Приложение остается без интернета. -------------------------- Подробности: 1. В случае обращения к Crypto hash - cначала вызывается OSSL_PROVIDER_load с цепочкой вызовов до OPENSSL_init_crypto 2. Для tls сначала вызывается OPENSSL_init_ssl + сопутсвующие соответственно, если вызовы пройдут в порядке 1->2 то tls работать не будет, в обратном порядке будет работать. Приводит к ошибкам в различных приложениях. -------------------------- Тесты: Простой тест - во вложении. Команда для компиляции: ``` /usr/lib64/qt6/libexec/moc qt_test.cpp > qt_test.moc && g++-13 -I /usr/include/qt6/QtCore/ -I /usr/include/qt6 -I /usr/include/qt6/QtNetwork/ qt_test.cpp -l Qt6Core -l Qt6Network ```