--- projects/cms/source/host/ihost-perl/ihost.pl 2001/03/01 10:49:27 1.22 +++ projects/cms/source/host/ihost-perl/ihost.pl 2001/03/06 08:38:42 1.24 @@ -10,7 +10,7 @@ # - pjm2@ukc.ac.uk # # $Author: pjm2 $ -# $Id: ihost.pl,v 1.22 2001/03/01 10:49:27 pjm2 Exp $ +# $Id: ihost.pl,v 1.24 2001/03/06 08:38:42 pjm2 Exp $ #------------------------------------------------------------ $| = 1; @@ -151,9 +151,17 @@ sub tcp_configure() { print $sock "FILTER\n"; $response = <$sock>; + unless (defined($response)) { + print "Failed: Could not get a filter address from the filter manager.\n"; + exit(1); + } chop $response; $response =~ /(.*);(.*);(.*)/; ($filter_addr, $udp_port, $tcp_port) = ($1, $2, $3); + unless (defined($filter_addr) && defined($udp_port) && defined($tcp_port)) { + print "Failed: Filter address response from server did not make sense: $response\n"; + exit(1); + } print "Got filter data ($filter_addr, $udp_port, $tcp_port)\n"; @@ -304,7 +312,8 @@ sub send_tcp_heartbeat() { print $sock "HEARTBEAT\n"; $response = <$sock>; - chop $response or return; + return if (!defined $response); + chop $response; if (!$response eq "OK") { close($sock); print "Server gave wrong response to HEARTBEAT: $response\n"; @@ -313,7 +322,8 @@ sub send_tcp_heartbeat() { print $sock "CONFIG\n"; $response = <$sock>; - chop $response or return; + return if (!defined $response); + chop $response; if (!$response eq "OK") { close($sock); print "Server gave wrong response to CONFIG: $response\n"; @@ -322,7 +332,8 @@ sub send_tcp_heartbeat() { print $sock "$file_list\n"; $response = <$sock>; - chop $response or return; + return if (!defined $response); + chop $response; if (!$response eq "OK") { close($sock); print "Server gave wrong response to file list: $response\n"; @@ -331,7 +342,8 @@ sub send_tcp_heartbeat() { print $sock "$last_modified\n"; $response = <$sock>; - chop $response or return; + return if (!defined $response); + chop $response; if ($response eq "ERROR") { close($sock); &tcp_configure(); @@ -344,7 +356,8 @@ sub send_tcp_heartbeat() { } print $sock "ENDHEARTBEAT\n"; - $response = <$sock> or return; + $response = <$sock>; + return if (!defined $response); chop $response; if (!$response eq "OK") { close($sock);