From 79f219ba76775a39e2b68252e2e389ce4c90fbe6 Mon Sep 17 00:00:00 2001 From: yggverse Date: Sat, 30 Nov 2024 16:45:02 +0200 Subject: [PATCH] disable TlsClientConnection close to prevent rehandshake failure on user certificate change in runtime --- src/client/connection.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/client/connection.rs b/src/client/connection.rs index 22bf4d6..b923a4c 100644 --- a/src/client/connection.rs +++ b/src/client/connection.rs @@ -53,15 +53,16 @@ impl Connection { /// Close owned [SocketConnection](https://docs.gtk.org/gio/class.SocketConnection.html) /// and [TlsClientConnection](https://docs.gtk.org/gio/iface.TlsClientConnection.html) if active pub fn close(&self) -> Result<(), Error> { + /* Do not close `TlsClientConnection` as wanted for re-handshake + on user certificate change in runtime! @TODO if let Some(ref tls_client_connection) = self.tls_client_connection { if !tls_client_connection.is_closed() { if let Err(e) = tls_client_connection.close(self.cancellable.as_ref()) { return Err(Error::TlsClientConnection(e)); } } - } + } */ if !self.socket_connection.is_closed() { - // @TODO duplicated condition? if let Err(e) = self.socket_connection.close(self.cancellable.as_ref()) { return Err(Error::SocketConnection(e)); }