Bug 48923 - Оключение tls в qt6.6
Summary: Оключение tls в qt6.6
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: libqt6-network (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Sergey V Turchin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-12-25 16:49 MSK by proskurinov@basealt.ru
Modified: 2024-03-04 00:17 MSK (History)
4 users (show)

See Also:


Attachments
Тест для демонстрации ошибок (1.07 KB, text/x-c++src)
2023-12-25 16:49 MSK, proskurinov@basealt.ru
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description proskurinov@basealt.ru 2023-12-25 16:49:09 MSK
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
```
Comment 1 proskurinov@basealt.ru 2023-12-25 17:15:48 MSK
OpenSSL 3.1.4 24 Oct 2023 (Library: OpenSSL 3.1.4 24 Oct 2023)
Comment 2 Gleb F-Malinovskiy 2024-02-16 17:29:26 MSK
(In reply to proskurinov@basealt.ru from comment #0)
> Закомментирован флаг инициализации ( в Fedora включен из коробки,в Debian -
> деволтный конфиг.)
Получается, в Debian это тоже не работает?  В апстримном конфиге activate закомментирован, да и в целом в этом месте наш конфиг ничем не отличается от апстримного.
Comment 3 Gleb F-Malinovskiy 2024-02-16 18:30:38 MSK
Нет, в Debian работает, в том числе с нынешним конфигом из Сизифа.
Я считаю, что это значит, что проблема вовсе не в конфиге потому что разница точно не только в нём.