Bug 48923 - Оключение tls в qt6.6
Summary: Оключение tls в qt6.6
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: openssl3 (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Gleb F-Malinovskiy
QA Contact: qa-sisyphus
URL:
Keywords:
: 51318 52068 52115 (view as bug list)
Depends on:
Blocks: 46625 51318
  Show dependency tree
 
Reported: 2023-12-25 16:49 MSK by proskurinov@basealt.ru
Modified: 2024-11-20 15:27 MSK (History)
9 users (show)

See Also:


Attachments
Тест для демонстрации ошибок (1.07 KB, text/x-c++src)
2023-12-25 16:49 MSK, proskurinov@basealt.ru
no flags Details
digikam (75.77 KB, image/png)
2024-11-18 15:29 MSK, Alexander Makeenkov
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 работает, в том числе с нынешним конфигом из Сизифа.
Я считаю, что это значит, что проблема вовсе не в конфиге потому что разница точно не только в нём.
Comment 4 Sergey V Turchin 2024-11-14 11:37:38 MSK
$ 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.
Если конфиг поправить, то всё ок.
Comment 5 Sergey V Turchin 2024-11-18 10:01:27 MSK
*** Bug 52068 has been marked as a duplicate of this bug. ***
Comment 6 Sergey V Turchin 2024-11-18 10:23:53 MSK
(Ответ для Gleb F-Malinovskiy на комментарий #3)
> проблема вовсе не в конфиге потому что разница точно не только в нём.
По крайней мере, я ни у кого не видел никаких патчей на qtbase про ssl.
Comment 7 Alexander Makeenkov 2024-11-18 15:29:28 MSK
Created attachment 17202 [details]
digikam

При первом запуске digikam предлагается скачать необходимые файлы и возникает ошибка.
Помогает включение параметра `activate = 1` в конфиге openssl.
Comment 8 Sergey V Turchin 2024-11-18 16:03:21 MSK
*** Bug 51318 has been marked as a duplicate of this bug. ***
Comment 9 Sergey V Turchin 2024-11-20 15:27:24 MSK
*** Bug 52115 has been marked as a duplicate of this bug. ***