The Linux spec now copies a symlinked certifi cacert.pem to a regular file and bundles those bytes. create_ssl_context tries certifi.where() and then common distro CA paths, and passes the first path that is a real file. On OpenSUSE the Linux binary and the rpm both quit during startup with FileNotFoundError from ssl.create_default_context, while the proxy modules are still being imported. create_ssl_context always passed certifi.where() as the cafile.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/Flowseal/tg-ws-proxy/pull/1386
**Author:** [@mvanhorn](https://github.com/mvanhorn)
**Created:** 10/3/2026
**Status:** ❌ Closed
**Base:** `main` ← **Head:** `fix/1377-opensuse-ca-bundle`
---
### 📝 Commits (1)
- [`07a9ab4`](https://github.com/Flowseal/tg-ws-proxy/commit/07a9ab46468400163efa6f5f3bcc7f690eecd0be) fix: start on OpenSUSE when the CA bundle path is missing
### 📊 Changes
**3 files changed** (+93 additions, -1 deletions)
<details>
<summary>View changed files</summary>
📝 `packaging/linux.spec` (+14 -0)
📝 `proxy/utils.py` (+20 -1)
➕ `tests/test_ssl_context.py` (+59 -0)
</details>
### 📄 Description
The Linux spec now copies a symlinked certifi cacert.pem to a regular file and bundles those bytes. create_ssl_context tries certifi.where() and then common distro CA paths, and passes the first path that is a real file. On OpenSUSE the Linux binary and the rpm both quit during startup with FileNotFoundError from ssl.create_default_context, while the proxy modules are still being imported. create_ssl_context always passed certifi.where() as the cafile.
Tests for this live in `tests/test_ssl_context.py`.
Fixes #1377
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
mirror-bot
changed title from [PR #1386] fix: start on OpenSUSE when the CA bundle path is missing to [PR #1386] [CLOSED] fix: start on OpenSUSE when the CA bundle path is missing2026-10-05 00:00:22 +03:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/Flowseal/tg-ws-proxy/pull/1386
Author: @mvanhorn
Created: 10/3/2026
Status: ❌ Closed
Base:
main← Head:fix/1377-opensuse-ca-bundle📝 Commits (1)
07a9ab4fix: start on OpenSUSE when the CA bundle path is missing📊 Changes
3 files changed (+93 additions, -1 deletions)
View changed files
📝
packaging/linux.spec(+14 -0)📝
proxy/utils.py(+20 -1)➕
tests/test_ssl_context.py(+59 -0)📄 Description
The Linux spec now copies a symlinked certifi cacert.pem to a regular file and bundles those bytes. create_ssl_context tries certifi.where() and then common distro CA paths, and passes the first path that is a real file. On OpenSUSE the Linux binary and the rpm both quit during startup with FileNotFoundError from ssl.create_default_context, while the proxy modules are still being imported. create_ssl_context always passed certifi.where() as the cafile.
Tests for this live in
tests/test_ssl_context.py.Fixes #1377
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
[PR #1386] fix: start on OpenSUSE when the CA bundle path is missingto [PR #1386] [CLOSED] fix: start on OpenSUSE when the CA bundle path is missing