<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;"># squid-monitor.pl
# Monitor the squid server on this host

# Check the PID file to see if squid is running
sub get_squid_status
{
return { 'up' =&gt; -1 } if (!&amp;foreign_check($_[1]));
&amp;foreign_require($_[1], "squid-lib.pl");
return { 'up' =&gt; -1 } if (!&amp;foreign_check($_[1]));
local %sconfig = &amp;foreign_config($_[1]);
return { 'up' =&gt; -1 } if (!-r $sconfig{'squid_conf'});
local $conf = &amp;foreign_call($_[1], "get_config");
local $str = &amp;foreign_call($_[1], "find_config", "pid_filename", $conf);
local $file;
if ($str) {
	$file = $str-&gt;{'values'}-&gt;[0];
	}
else {
	$file = $sconfig{'pid_file'};
	}
if (open(PID, $file) &amp;&amp; &lt;PID&gt; =~ /(\d+)/ &amp;&amp; kill(0, $1)) {
	close(PID);
	local @st = stat($file);
	return { 'up' =&gt; 1,
		 'desc' =&gt; &amp;text('up_since', scalar(localtime($st[9]))) };
	}
else {
	return { 'up' =&gt; 0 };
	}
}

sub parse_squid_dialog
{
&amp;depends_check($_[0], "squid");
}

1;

</pre></body></html>