--- projects/cms/source/host/ihost-perl/ihost.pl 2002/03/21 17:57:13 1.47 +++ projects/cms/source/host/ihost-perl/ihost.pl 2002/05/11 17:20:07 1.48 @@ -8,7 +8,7 @@ # a typical Unix/Linux box. # # $Author: tdb $ -# $Id: ihost.pl,v 1.47 2002/03/21 17:57:13 tdb Exp $ +# $Id: ihost.pl,v 1.48 2002/05/11 17:20:07 tdb Exp $ #------------------------------------------------------------ $| = 1; @@ -142,63 +142,63 @@ sub tcp_configure() { print $sock "LASTMODIFIED\n"; $response = <$sock>; - if (!$response) { - print "The i-scream server did not return anything for the LASTMODIFIED command.\n"; + if (!$response || $response eq "ERROR\n") { + print "The i-scream server did not provide the LASTMODIFIED value.\n"; close($sock); wait_then_retry(); next; } - chop $response; + chomp $response; $last_modified = $response; print "Config last modified: ". (scalar localtime $last_modified/1000) . "\n"; print $sock "FILELIST\n"; $response = <$sock>; - if (!$response) { + if (!$response || $response eq "ERROR\n") { print "The i-scream server did not provide a configuration file list.\n"; close($sock); wait_then_retry(); next; } - chop $response; + chomp $response; $file_list = $response; print "File list obtained: $file_list\n"; print $sock "FQDN\n"; $response = <$sock>; - if (!$response) { + if (!$response || $response eq "ERROR\n") { print "The i-scream server did not tell us our FQDN.\n"; close($sock); wait_then_retry(); next; } - chop $response; + chomp $response; $fqdn = $response; print "FQDN returned: $fqdn\n"; print $sock "UDPUpdateTime\n"; $response = <$sock>; - if (!$response) { + if (!$response || $response eq "ERROR\n") { print "The i-scream server did not give us a UDPUpdateTime.\n"; close($sock); wait_then_retry(); next; } - chop $response; + chomp $response; $udp_update_time = $response; print $sock "TCPUpdateTime\n"; $response = <$sock>; - if (!$response) { + if (!$response || $response eq "ERROR\n") { print "The i-scream server did not give us a TCPUpdateTime.\n"; close($sock); wait_then_retry(); next; } - chop $response; + chomp $response; $tcp_update_time = $response; print "UDP packet period: $udp_update_time seconds.\nTCP heartbeat period: $tcp_update_time seconds.\n"; @@ -222,14 +222,14 @@ sub tcp_configure() { wait_then_retry(); next; } - chop $response; - $response =~ /^(.*);(.*);(.*)/; + chomp $response; if ($response eq "ERROR") { print "There are no active configured filters for your host.\n"; close($sock); wait_then_retry(); next; } + $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";