From 8936224134dc1d5cd59b960ae4f329dada46d830 Mon Sep 17 00:00:00 2001 From: rudolfkoenig Date: Wed, 27 Dec 2017 14:41:21 +0000 Subject: [PATCH] TcpServerUtils.pm: do not crash on perl 5.24+ if certs is missing (Forum #81512) git-svn-id: https://svn.fhem.de/fhem/trunk@15707 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/TcpServerUtils.pm | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/fhem/FHEM/TcpServerUtils.pm b/fhem/FHEM/TcpServerUtils.pm index 89f5a9f5c..86ff38d2c 100644 --- a/fhem/FHEM/TcpServerUtils.pm +++ b/fhem/FHEM/TcpServerUtils.pm @@ -111,14 +111,17 @@ TcpServer_Accept($$) # Certs directory must be in the modpath, i.e. at the same level as the # FHEM directory my $mp = AttrVal("global", "modpath", "."); - my $ret = IO::Socket::SSL->start_SSL($clientinfo[0], { - SSL_server => 1, - SSL_key_file => "$mp/certs/server-key.pem", - SSL_cert_file => "$mp/certs/server-cert.pem", - SSL_version => $sslVersion, - SSL_cipher_list => 'HIGH:!RC4:!eNULL:!aNULL', - Timeout => 4, - }); + my $ret; + eval { + $ret = IO::Socket::SSL->start_SSL($clientinfo[0], { + SSL_server => 1, + SSL_key_file => "$mp/certs/server-key.pem", + SSL_cert_file => "$mp/certs/server-cert.pem", + SSL_version => $sslVersion, + SSL_cipher_list => 'HIGH:!RC4:!eNULL:!aNULL', + Timeout => 4, + }); + }; my $err = $!; if( !$ret && $err != EWOULDBLOCK