diff --git a/src/gateway/backends/tungstenite.rs b/src/gateway/backends/tungstenite.rs index fe537d3..a9f9f64 100644 --- a/src/gateway/backends/tungstenite.rs +++ b/src/gateway/backends/tungstenite.rs @@ -27,8 +27,16 @@ impl TungsteniteBackend { websocket_url: &str, ) -> Result<(TungsteniteSink, TungsteniteStream), crate::errors::GatewayError> { let mut roots = rustls::RootCertStore::empty(); - for cert in rustls_native_certs::load_native_certs().expect("could not load platform certs") - { + let certs = rustls_native_certs::load_native_certs(); + + if let Err(e) = certs { + log::error!("Failed to load platform native certs! {:?}", e); + return Err(GatewayError::CannotConnect { + error: format!("{:?}", e), + }); + } + + for cert in certs.unwrap() { roots.add(&rustls::Certificate(cert.0)).unwrap(); } let (websocket_stream, _) = match connect_async_tls_with_config( diff --git a/src/voice/gateway/backends/tungstenite.rs b/src/voice/gateway/backends/tungstenite.rs index 10e2748..add7b24 100644 --- a/src/voice/gateway/backends/tungstenite.rs +++ b/src/voice/gateway/backends/tungstenite.rs @@ -26,8 +26,16 @@ impl TungsteniteBackend { websocket_url: &str, ) -> Result<(TungsteniteSink, TungsteniteStream), crate::errors::VoiceGatewayError> { let mut roots = rustls::RootCertStore::empty(); - for cert in rustls_native_certs::load_native_certs().expect("could not load platform certs") - { + let certs = rustls_native_certs::load_native_certs(); + + if let Err(e) = certs { + log::error!("Failed to load platform native certs! {:?}", e); + return Err(GatewayError::CannotConnect { + error: format!("{:?}", e), + }); + } + + for cert in certs.unwrap() { roots.add(&rustls::Certificate(cert.0)).unwrap(); } let (websocket_stream, _) = match connect_async_tls_with_config(