Bug 48923

Summary: Оключение tls в qt6.6
Product: Sisyphus Reporter: proskurinov <proskurinov>
Component: openssl3Assignee: 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:
Description Flags
Тест для демонстрации ошибок
none
digikam none

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. ***