Files
webmin/squid/save_icp.cgi
2007-04-12 20:24:50 +00:00

39 lines
1.0 KiB
Perl
Executable File

#!/usr/local/bin/perl
# save_icp.cgi
# Save cache options
require './squid-lib.pl';
$access{'othercaches'} || &error($text{'eicp_ecannot'});
&ReadParse();
&lock_file($config{'squid_conf'});
$conf = &get_config();
$whatfailed = $text{'sicp_ftsco'};
if ($squid_version < 2) {
&save_list("local_domain", undef, $conf);
&save_address("local_ip", $conf);
&save_list("inside_firewall", undef, $conf);
&save_address("firewall_ip", $conf);
}
&save_list("hierarchy_stoplist", undef, $conf);
if ($squid_version < 2) {
&save_choice("single_parent_bypass", "off", $conf);
&save_choice("source_ping", "off", $conf);
&save_opt("neighbor_timeout", \&check_timeout, $conf);
}
else {
&save_opt("icp_query_timeout", \&check_timeout, $conf);
&save_opt("mcast_icp_query_timeout", \&check_timeout, $conf);
&save_opt("dead_peer_timeout", \&check_timeout, $conf);
}
&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log("icp", undef, undef, \%in);
&redirect("");
sub check_timeout
{
return $_[0] =~ /^\d+$/ ? undef : &text('sicp_emsg1',$_[0]);
}