aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config/squid3/34/swapstate_check.php18
1 files changed, 11 insertions, 7 deletions
diff --git a/config/squid3/34/swapstate_check.php b/config/squid3/34/swapstate_check.php
index 7a7ccd27..ea9600f3 100644
--- a/config/squid3/34/swapstate_check.php
+++ b/config/squid3/34/swapstate_check.php
@@ -2,7 +2,9 @@
<?php
/*
swapstate_check.php
+ part of pfSense (https://www.pfSense.org/)
Copyright (C) 2011 Jim Pingle
+ Copyright (C) 2015 ESF, LLC
All rights reserved.
Redistribution and use in source and binary forms, with or without
@@ -29,24 +31,26 @@
require_once('config.inc');
require_once('util.inc');
require_once('squid.inc');
+global $config;
- $settings = $config['installedpackages']['squidcache']['config'][0];
+$settings = $config['installedpackages']['squidcache']['config'][0];
// Only check the cache if Squid is actually caching.
// If there is no cache then quietly do nothing.
-if ($settings['harddisk_cache_system'] != "null"){
- $cachedir =($settings['harddisk_cache_location'] ? $settings['harddisk_cache_location'] : '/var/squid/cache');
+if (isset($settings['harddisk_cache_system']) && $settings['harddisk_cache_system'] != "null") {
+ $cachedir = ($settings['harddisk_cache_location'] ? $settings['harddisk_cache_location'] : '/var/squid/cache');
$swapstate = $cachedir . '/swap.state';
- if (!file_exists($swapstate))
+ if (!file_exists($swapstate)) {
return;
+ }
$disktotal = disk_total_space(dirname($cachedir));
$diskfree = disk_free_space(dirname($cachedir));
$diskusedpct = round((($disktotal - $diskfree) / $disktotal) * 100);
$swapstate_size = filesize($swapstate);
$swapstate_pct = round(($swapstate_size / $disktotal) * 100);
// If the swap.state file is taking up more than 75% disk space,
- // or the drive is 90% full and swap.state is larger than 1GB,
- // kill it and initiate a rotate to write a fresh copy.
- if (($swapstate_pct > 75) || (($diskusedpct > 90) && ($swapstate_size > 1024*1024*1024)) || $argv[1]=="clean") {
+ // or the drive is 90% full and swap.state is larger than 1GB,
+ // kill it and initiate a rotate to write a fresh copy.
+ if (($swapstate_pct > 75) || (($diskusedpct > 90) && ($swapstate_size > 1024*1024*1024)) || $argv[1] == "clean") {
squid_dash_z('clean');
log_error(gettext(sprintf("Squid cache and/or swap.state exceeded size limits. Removing and rotating. File was %d bytes, %d%% of total disk space.", $swapstate_size, $swapstate_pct)));
}