From: Michael Tremer Date: Tue, 6 Dec 2022 10:00:36 +0000 (+0000) Subject: openvpn-authenticator: Break read loop when daemon goes away X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fheads%2Fbug-12963;p=people%2Fms%2Fipfire-2.x.git openvpn-authenticator: Break read loop when daemon goes away Fixes: #12963 Signed-off-by: Michael Tremer --- diff --git a/config/ovpn/openvpn-authenticator b/config/ovpn/openvpn-authenticator index c22e08f0a9..4341993e6d 100644 --- a/config/ovpn/openvpn-authenticator +++ b/config/ovpn/openvpn-authenticator @@ -68,6 +68,12 @@ class OpenVPNAuthenticator(object): while True: char = self.sock.recv(1) + + # Break if we could not read from the socket + if not char: + raise EOFError("Could not read from socket") + + # Append to buffer buf.append(char) # Reached end of line @@ -112,7 +118,7 @@ class OpenVPNAuthenticator(object): self._client_event(line) # Terminate the daemon when it loses its connection to the OpenVPN daemon - except ConnectionResetError as e: + except (ConnectionResetError, EOFError) as e: log.error("Connection to OpenVPN has been lost: %s" % e) log.info("OpenVPN Authenticator terminated")