From 88a067d281874ff8cc56d176f5c10341ffae6a79 Mon Sep 17 00:00:00 2001 From: Reinerlein Date: Tue, 11 Apr 2017 17:42:12 +0000 Subject: [PATCH] SONOS: Added errorhandling to UPnP Lib git-svn-id: https://svn.fhem.de/fhem/trunk@13970 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/lib/UPnP/ControlPoint.pm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fhem/FHEM/lib/UPnP/ControlPoint.pm b/fhem/FHEM/lib/UPnP/ControlPoint.pm index 37c7abd71..a9ec67d4a 100644 --- a/fhem/FHEM/lib/UPnP/ControlPoint.pm +++ b/fhem/FHEM/lib/UPnP/ControlPoint.pm @@ -306,7 +306,7 @@ sub _createDevice { {ControlPoint => $self}); } else { carp('400-URL-Absolute-Error! Location: "'.$location.'", Content: "'.$response->content.'"') if ($response->code == 400); - carp("Loading device description failed with error: " . $response->code . " " . $response->message) if ($response->code != 200); + carp("Loading device description failed with error: " . $response->code . " " . $response->message . ' (Location: ' . $location . ')') if ($response->code != 200); } #pop(@LWP::Protocol::http::EXTRA_SOCK_OPTS); @LWP::Protocol::http::EXTRA_SOCK_OPTS = @SOCK_OPTS_Backup; @@ -431,7 +431,10 @@ sub _receiveSSDPEvent { my $buf = ''; my $peer = recv($socket, $buf, 2048, 0); + return if (!defined($peer)); + my @peerdata = unpack_sockaddr_in($peer); + return if (!defined($peerdata)); return if (scalar(%USEDONLYIP) && (!$USEDONLYIP{inet_ntoa($peerdata[1])})); return if ($IGNOREIP{inet_ntoa($peerdata[1])});