ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/host/ihost-perl/ihost.pl
(Generate patch)

Comparing projects/cms/source/host/ihost-perl/ihost.pl (file contents):
Revision 1.29 by pjm2, Wed Mar 14 18:49:00 2001 UTC vs.
Revision 1.32 by pjm2, Fri Mar 16 18:25:59 2001 UTC

# Line 45 | Line 45 | $filter_manager_addr = $ARGV[0];
45   $filter_manager_port = $ARGV[1];
46  
47   $seq_no = 1;
48 < $retry_wait = 600;
48 > $retry_wait = 6;
49  
50   # write our PID to a file
51   $pidfile = "/var/tmp/ihost.pid";
# Line 102 | Line 102 | sub wait_then_retry() {
102   #-----------------------------------------------------------------------
103   sub tcp_configure() {
104      
105 <    while (1 == 1) {
105 >    while (1) {
106          my($sock) = new IO::Socket::INET(
107                                           PeerAddr => $filter_manager_addr,
108                                           PeerPort => $filter_manager_port,
# Line 111 | Line 111 | sub tcp_configure() {
111          if (!defined $sock) {
112              print "IHOST ERROR: Could not connect to $filter_manager_addr:$filter_manager_port.\n";
113              print "Please check that there is an i-scream server at this address.\n";
114            close($sock);
114              wait_then_retry();
115              next;
116          }
# Line 121 | Line 120 | sub tcp_configure() {
120      
121          print $sock "STARTCONFIG\n";
122          $response = <$sock>;
123 <        if (!chop $response eq "OK") {
124 <            print "The i-scream server rejected the STARTCONFIG command.  Terminated.";
123 >        if ($response && !($response eq "OK\n")) {
124 >            print "The i-scream server rejected the STARTCONFIG command.\n";
125              close($sock);
126              wait_then_retry();
127              next;
# Line 132 | Line 131 | sub tcp_configure() {
131      
132          print $sock "LASTMODIFIED\n";
133          $response = <$sock>;
134 +        if (!$response) {
135 +            print "The i-scream server did not return anything for the LASTMODIFIED command.\n";
136 +            close($sock);
137 +            wait_then_retry();
138 +            next;
139 +        }
140          chop $response;
141          $last_modified = $response;
142      
# Line 139 | Line 144 | sub tcp_configure() {
144  
145          print $sock "FILELIST\n";
146          $response = <$sock>;
147 +        if (!$response) {
148 +            print "The i-scream server did not provide a configuration file list.\n";
149 +            close($sock);
150 +            wait_then_retry();
151 +            next;
152 +        }
153          chop $response;
154          $file_list = $response;
155  
# Line 146 | Line 157 | sub tcp_configure() {
157  
158          print $sock "FQDN\n";
159          $response = <$sock>;
160 +        if (!$response) {
161 +            print "The i-scream server did not tell us our FQDN.\n";
162 +            close($sock);
163 +            wait_then_retry();
164 +            next;
165 +        }
166          chop $response;
167          $fqdn = $response;
168  
# Line 153 | Line 170 | sub tcp_configure() {
170  
171          print $sock "UDPUpdateTime\n";
172          $response = <$sock>;
173 +        if (!$response) {
174 +            print "The i-scream server did not give us a UDPUpdateTime.\n";
175 +            close($sock);
176 +            wait_then_retry();
177 +            next;
178 +        }
179          chop $response;
180          $udp_update_time = $response;
181  
182          print $sock "TCPUpdateTime\n";
183          $response = <$sock>;
184 +        if (!$response) {
185 +            print "The i-scream server did not give us a TCPUpdateTime.\n";
186 +            close($sock);
187 +            wait_then_retry();
188 +            next;
189 +        }
190          chop $response;
191          $tcp_update_time = $response;
192      
# Line 165 | Line 194 | sub tcp_configure() {
194  
195          print $sock "ENDCONFIG\n";
196          $response = <$sock>;
197 <        chomp $response;
169 <        if (!$response eq "OK") {
197 >        if ($response && !($response eq "OK\n")) {
198              print "ENDCONFIG command to server failed.  Terminated.\n";
199              close($sock);
200              wait_then_retry();
# Line 177 | Line 205 | sub tcp_configure() {
205      
206          print $sock "FILTER\n";
207          $response = <$sock>;
208 <        unless (defined($response)) {
208 >        if (!$response) {
209              print "Failed: Could not get a filter address from the filter manager.\n";
210              close($sock);
211              wait_then_retry();
212              next;
213          }
214          chop $response;
215 <        $response =~ /(.*);(.*);(.*)/;
215 >        $response =~ /^(.*);(.*);(.*)/;
216          if ($response eq "ERROR") {
217              print "There are no active configured filters for your host.\n";
218              close($sock);
# Line 203 | Line 231 | sub tcp_configure() {
231  
232          print $sock "END\n";
233          $response = <$sock>;
234 <        chop $response;
207 <        if ($response eq "OK") {
234 >        if ($response && ($response eq "OK\n")) {
235              print "Host successfully configured via TCP.\n"
236          }
237          else {
238 <            print "The server failed the host configuration on the END command.";
238 >            print "The server failed the host configuration on the END command.\n";
239              close($sock);
240              wait_then_retry();
241              next;
# Line 352 | Line 379 | sub send_tcp_heartbeat() {
379  
380      print $sock "HEARTBEAT\n";
381      $response = <$sock>;
382 <    return if (!defined $response);
356 <    chop $response;
357 <    if (!$response eq "OK") {
382 >    if (!$response eq "OK\n") {
383          close($sock);
384          print "Server gave wrong response to HEARTBEAT: $response\n";
385          &tcp_configure();
# Line 363 | Line 388 | sub send_tcp_heartbeat() {
388      
389      print $sock "CONFIG\n";
390      $response = <$sock>;
391 <    return if (!defined $response);
367 <    chop $response;
368 <    if (!$response eq "OK") {
391 >    if (!$response eq "OK\n") {
392          close($sock);
393          print "Server gave wrong response to CONFIG: $response\n";
394          &tcp_configure();
# Line 374 | Line 397 | sub send_tcp_heartbeat() {
397  
398      print $sock "$file_list\n";
399      $response = <$sock>;
400 <    return if (!defined $response);
378 <    chop $response;
379 <    if (!$response eq "OK") {
400 >    if (!$response eq "OK\n") {
401          close($sock);
402          print "Server gave wrong response to file list: $response\n";
403          &tcp_configure();
# Line 385 | Line 406 | sub send_tcp_heartbeat() {
406      
407      print $sock "$last_modified\n";
408      $response = <$sock>;
409 <    return if (!defined $response);
389 <    chop $response;
390 <    if ($response eq "ERROR") {
409 >    if ($response eq "ERROR\n") {
410          close($sock);
411          print "Server configuration changed.  Reconfiguring with filter manager.\n";
412          &tcp_configure();
413          return;
414      }
415 <    if (!$response eq "OK") {
415 >    if (!$response eq "OK\n") {
416          close($sock);
417          print "Server gave wrong response to HEARTBEAT: $response\n";
418          &tcp_configure();
# Line 402 | Line 421 | sub send_tcp_heartbeat() {
421      
422      print $sock "ENDHEARTBEAT\n";
423      $response = <$sock>;
424 <    return if (!defined $response);
406 <    chop $response;
407 <    if (!$response eq "OK") {
424 >    if (!$response eq "OK\n") {
425          close($sock);
426          print "Server gave wrong response to ENDHEARTBEAT: $response\n";
427          &tcp_configure();

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines