diff --git a/fhem/FHEM/HttpUtils.pm b/fhem/FHEM/HttpUtils.pm index 2a5d69f0a..09c4946a2 100644 --- a/fhem/FHEM/HttpUtils.pm +++ b/fhem/FHEM/HttpUtils.pm @@ -257,8 +257,6 @@ HttpUtils_Connect($) return $hash->{callback}($hash, "$host: ".strerror($errno), "") if($errno); - return $hash->{callback}($hash,undef,undef) if($hash->{noConn2}); - my $err = HttpUtils_Connect2($hash); $hash->{callback}($hash, $err, "") if($err); return $err; @@ -331,6 +329,11 @@ HttpUtils_Connect2($) return "$hash->{displayurl}: Can't connect(2) to $hash->{addr}: $err"; } + if($hash->{noConn2}) { + $hash->{callback}($hash); + return undef; + } + my $data; if(defined($hash->{data})) { if( ref($hash->{data}) eq 'HASH' ) { diff --git a/fhem/FHEM/TcpServerUtils.pm b/fhem/FHEM/TcpServerUtils.pm index c2438bce6..de065ed91 100644 --- a/fhem/FHEM/TcpServerUtils.pm +++ b/fhem/FHEM/TcpServerUtils.pm @@ -5,6 +5,7 @@ package main; use strict; use warnings; use IO::Socket; +use vars qw($SSL_ERROR); sub TcpServer_Open($$$) @@ -102,7 +103,8 @@ TcpServer_Accept($$) if( !$ret && $err != EWOULDBLOCK && $err ne "Socket is not connected") { - + $err = "" if(!$err); + $err .= " ".($SSL_ERROR ? $SSL_ERROR : IO::Socket::SSL::errstr()); Log3 $name, 1, "$type SSL/HTTPS error: $err"; close($clientinfo[0]); return undef;