aboutsummaryrefslogtreecommitdiffstats
path: root/config/squid
diff options
context:
space:
mode:
authorjim-p <jimp@pfsense.org>2010-06-22 10:10:41 -0400
committerjim-p <jimp@pfsense.org>2010-06-22 10:10:41 -0400
commitd54efb70285569fef8883458af9bd74958dc8da0 (patch)
treeda0a2289d86e491accba7870b2c1e97fc126e516 /config/squid
parente8d8dc9cbe62c7f67bdc7c365399adc5832d0757 (diff)
downloadpfsense-packages-d54efb70285569fef8883458af9bd74958dc8da0.tar.gz
pfsense-packages-d54efb70285569fef8883458af9bd74958dc8da0.tar.bz2
pfsense-packages-d54efb70285569fef8883458af9bd74958dc8da0.zip
Bring the choice for nullfs to squid on 1.2.3, default to nullfs on NanoBSD to prevent caching and overflowing /tmp or /var. Re-enable squid on embedded, and bump the version.
Diffstat (limited to 'config/squid')
-rw-r--r--config/squid/squid.inc21
-rw-r--r--config/squid/squid_cache.xml6
2 files changed, 23 insertions, 4 deletions
diff --git a/config/squid/squid.inc b/config/squid/squid.inc
index 1f264a64..4f3bd034 100644
--- a/config/squid/squid.inc
+++ b/config/squid/squid.inc
@@ -676,13 +676,12 @@ EOD;
function squid_resync_cache() {
- global $config;
+ global $config, $g;
$settings = $config['installedpackages']['squidcache']['config'][0];
$cachedir =($settings['harddisk_cache_location'] ? $settings['harddisk_cache_location'] : '/var/squid/cache');
$disk_cache_size = ($settings['harddisk_cache_size'] ? $settings['harddisk_cache_size'] : 100);
- $disk_cache_system = ($settings['harddisk_cache_system'] ? $settings['harddisk_cache_system'] : 'aufs');
$level1 = ($settings['level1_subdirs'] ? $settings['level1_subdirs'] : 16);
$memory_cache_size = ($settings['memory_cache_size'] ? $settings['memory_cache_size'] : 8);
$max_objsize = ($settings['maximum_object_size'] ? $settings['maximum_object_size'] : 10);
@@ -691,12 +690,28 @@ function squid_resync_cache() {
$memory_policy = ($settings['memory_replacement_policy'] ? $settings['memory_replacement_policy'] : 'heap GDSF');
$offline_mode = ($settings['enable_offline'] == 'on' ? 'on' : 'off');
+ if (!isset($settings['harddisk_cache_system'])) {
+ if ($g['platform'] == "nanobsd") {
+ $disk_cache_system = 'null';
+ } else {
+ $disk_cache_system = 'aufs';
+ }
+ } else {
+ $disk_cache_system = $settings['harddisk_cache_system'];
+ }
+
+ if ($disk_cache_system == "null") {
+ $disk_cache_opts = "{$disk_cache_system} /tmp";
+ } else {
+ $disk_cache_opts = "{$disk_cache_system} {$cachedir} {$disk_cache_size} {$level1} 256";
+ }
+
$conf = <<<EOD
cache_mem $memory_cache_size MB
maximum_object_size_in_memory 32 KB
memory_replacement_policy $memory_policy
cache_replacement_policy $cache_policy
-cache_dir $disk_cache_system $cachedir $disk_cache_size $level1 256
+cache_dir $disk_cache_opts
minimum_object_size $min_objsize KB
maximum_object_size $max_objsize KB
offline_mode $offline_mode
diff --git a/config/squid/squid_cache.xml b/config/squid/squid_cache.xml
index 52735bbe..dcb7e788 100644
--- a/config/squid/squid_cache.xml
+++ b/config/squid/squid_cache.xml
@@ -92,13 +92,14 @@
<field>
<fielddescr>Hard disk cache system</fielddescr>
<fieldname>harddisk_cache_system</fieldname>
- <description>This specifies the kind of storage system to use. &lt;p&gt; &lt;b&gt; ufs &lt;/b&gt; is the old well-known Squid storage format that has always been there. &lt;p&gt; &lt;b&gt; aufs &lt;/b&gt; uses POSIX-threads to avoid blocking the main Squid process on disk-I/O. (Formerly known as async-io.) &lt;p&gt; &lt;b&gt; diskd &lt;/b&gt; uses a separate process to avoid blocking the main Squid process on disk-I/O.</description>
+ <description>This specifies the kind of storage system to use. &lt;p&gt; &lt;b&gt; ufs &lt;/b&gt; is the old well-known Squid storage format that has always been there. &lt;p&gt; &lt;b&gt; aufs &lt;/b&gt; uses POSIX-threads to avoid blocking the main Squid process on disk-I/O. (Formerly known as async-io.) &lt;p&gt; &lt;b&gt; diskd &lt;/b&gt; uses a separate process to avoid blocking the main Squid process on disk-I/O. &lt;p&gt; &lt;b&gt; null &lt;/b&gt; Does not use any storage.</description>
<type>select</type>
<default_value>aufs</default_value>
<options>
<option><name>ufs</name><value>ufs</value></option>
<option><name>aufs</name><value>aufs</value></option>
<option><name>diskd</name><value>diskd</value></option>
+ <option><name>null</name><value>null</value></option>
</options>
</field>
<field>
@@ -208,6 +209,9 @@
</field>
</fields>
<custom_php_command_before_form>
+ if (($g['platform'] == "nanobsd") && (!isset($config['installedpackages']['squidcache']['config'][0]['harddisk_cache_system']))) {
+ $config['installedpackages']['squidcache']['config'][0]['harddisk_cache_system'] = "null";
+ }
if($_POST['harddisk_cache_size'] != $config['installedpackages']['squidcache']['config'][0]['harddisk_cache_size']) {
$needs_dash_z = true;
}