nixpkgs/pkgs/applications/networking/syncplay/trusted_certificates.patch
nyanotech aefce34bc5
syncplay: fix tls support in client
Adds "pem", which is a new dependency added in the last release from upstream.

Nixos patches certifi to return the system ca bundle, which includes openssl-format "trusted certificate"s, which pyopenssl seems to choke on when syncplay tries to load them. Therefore, we add a patch that skips those "trusted certificates".
2023-06-17 10:57:59 -07:00

12 lines
638 B
Diff

diff --git a/syncplay/client.py b/syncplay/client.py
index b7cb245..be72d94 100755
--- a/syncplay/client.py
+++ b/syncplay/client.py
@@ -848,6 +848,7 @@ class SyncplayClient(object):
self._endpoint = HostnameEndpoint(reactor, host, port)
try:
certs = pem.parse_file(SSL_CERT_FILE)
+ certs = [cert for cert in certs if type(cert) is pem.Certificate]
trustRoot = trustRootFromCertificates([Certificate.loadPEM(str(cert)) for cert in certs])
self.protocolFactory.options = optionsForClientTLS(hostname=host, trustRoot=trustRoot)
self._clientSupportsTLS = True