diff --git a/squid/init_cache.cgi b/squid/init_cache.cgi index 7802de7c9..cb9971bbb 100755 --- a/squid/init_cache.cgi +++ b/squid/init_cache.cgi @@ -35,8 +35,15 @@ if (!$in{'nouser'}) { &flush_file_lines(); } -# If cache_dir is set but disabled, enable it +# If cache_dir is set but disabled, enable it by un-commenting (but only the +# valid directives) my @cachestruct = &find_config("cache_dir", $conf, 2); +if ($squid_version >= 2.3) { + @cachestruct = map { $_->{'values'}->[1] } @cachestruct; + } +else { + @cachestruct = map { $_->{'values'}->[0] } @cachestruct; + } if (@cachestruct) { &save_directive($conf, "cache_dir", \@cachestruct); &flush_file_lines(); diff --git a/squid/squid-lib.pl b/squid/squid-lib.pl index 370aebe3b..e23e91731 100755 --- a/squid/squid-lib.pl +++ b/squid/squid-lib.pl @@ -454,7 +454,12 @@ foreach my $d ("cache_access_log", "access_log", "cache_log", # add cache directories if (my @str = &find_config("cache_dir", $conf)) { foreach my $str (@str) { - push(@list, $str->{'values'}->[0]); + if ($squid_version >= 2.3) { + push(@list, $str->{'values'}->[1]); + } + else { + push(@list, $str->{'values'}->[0]); + } } } else {