Comments at the end of lines are now preserved when Webmin changes directives in squid.conf.
---- Changes since 1.420 ----
Fixed the Calamaris page for newer versions.
+---- Changes since 1.510 ----
+Improved support for COSS format (single file) Squid caches.
$dv[0] eq 'diskd' ? 'selected' : '';
printf "<option value=aufs %s>$text{'ec_ua'}\n",
$dv[0] eq 'aufs' ? 'selected' : '';
+ printf "<option value=coss %s>$text{'ec_coss'}\n",
+ $dv[0] eq 'coss' ? 'selected' : '';
print "</select></td>\n";
print "<td><input name=cache_size_$i size=8 ",
"value=\"$dv[2]\"></td>\n";
ec_u=UFS
ec_ua=Async UFS
ec_diskd=DISKD
+ec_coss=COSS
ec_1dirs1=First level directories
ec_2dirs2=Second level directories
ec_aos=Average object size
$type = $in{"cache_type_$i"};
$opts = $in{"cache_opts_$i"};
next if (!$dir && !$lv1 && !$lv2 && !$size);
- &check_error(\&check_dir, $dir);
+ if ($type ne "coss") {
+ &check_error(\&check_dir, $dir);
+ }
&check_error(\&check_dirsize, $size);
&check_error(\&check_dircount, $lv1);
&check_error(\&check_dircount, $lv2);
# caches list
sub check_cache
{
-local (@cachestruct, @caches, $c);
+local (@cachestruct, @caches, $c, $coss);
if (@cachestruct = &find_config("cache_dir", $_[0])) {
if ($squid_version >= 2.3) {
@caches = map { $_->{'values'}->[1] } @cachestruct;
else {
@caches = map { $_->{'values'}->[0] } @cachestruct;
}
+ ($coss) = grep { $_->{'values'}->[0] eq "coss" } @cachestruct;
}
else {
@caches = ( $config{'cache_dir'} );
}
@{$_[1]} = @caches;
-foreach $c (@caches) {
- return 0 if (!-d $c || !-d "$c/00");
+if ($coss) {
+ # Allow COSS files too
+ foreach $c (@caches) {
+ return 0 if (!-f $c && (!-d $c || !-d "$c/00"));
+ }
+ }
+else {
+ # Check for dirs only
+ foreach $c (@caches) {
+ return 0 if (!-d $c || !-d "$c/00");
+ }
}
return 1;
}