<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE packagegui SYSTEM "../schema/packages.dtd">
<?xml-stylesheet type="text/xsl" href="../xsl/package.xsl"?>
<packagegui>
        <copyright>
        <![CDATA[
/* $Id$ */
/* ========================================================================== */
/*
    authng.xml
    part of pfSense (http://www.pfSense.com)
    Copyright (C) 2007 to whom it may belong
    All rights reserved.

    Based on m0n0wall (http://m0n0.ch/wall)
    Copyright (C) 2003-2006 Manuel Kasper <mk@neon1.net>.
    All rights reserved.
                                                                              */
/* ========================================================================== */
/*
    Redistribution and use in source and binary forms, with or without
    modification, are permitted provided that the following conditions are met:

     1. Redistributions of source code must retain the above copyright notice,
        this list of conditions and the following disclaimer.

     2. Redistributions in binary form must reproduce the above copyright
        notice, this list of conditions and the following disclaimer in the
        documentation and/or other materials provided with the distribution.

    THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
    INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
    AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
    AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    POSSIBILITY OF SUCH DAMAGE.
                                                                              */
/* ========================================================================== */
        ]]>
        </copyright>
    <description>Describe your package here</description>
    <requirements>Describe your package requirements here</requirements>
    <faq>Currently there are no FAQ items provided.</faq>
	<name>squidcache</name>
	<version>none</version>
	<title>Proxy server: Cache management</title>		
	<include_file>squid.inc</include_file>
	<tabs>
		<tab>
			<text>General settings</text>
			<url>/pkg_edit.php?xml=squid.xml&amp;id=0</url>
		</tab>
		<tab>
			<text>Upstream proxy</text>
			<url>/pkg_edit.php?xml=squid_upstream.xml&amp;id=0</url>
		</tab>
		<tab>
			<text>Cache management</text>
			<url>/pkg_edit.php?xml=squid_cache.xml&amp;id=0</url>
			<active/>
		</tab>
		<tab>
			<text>Access control</text>
			<url>/pkg_edit.php?xml=squid_nac.xml&amp;id=0</url>
		</tab>
		<tab>
			<text>Traffic management</text>
			<url>/pkg_edit.php?xml=squid_traffic.xml&amp;id=0</url>
		</tab>
		<tab>
			<text>Auth settings</text>
			<url>/pkg_edit.php?xml=squid_auth.xml&amp;id=0</url>
		</tab>
		<tab>
			<text>Local users</text>
			<url>/pkg.php?xml=squid_users.xml</url>
		</tab>
	</tabs>
	<fields>
		<field>
			<fielddescr>Hard disk cache size</fielddescr>
			<fieldname>harddisk_cache_size</fieldname>
			<description>This is the amount of disk space (in megabytes) to use for cached objects.</description>
			<type>input</type>
			<required/>
			<default_value>100</default_value>
		</field>
		<field>
			<fielddescr>Memory cache size</fielddescr>
			<fieldname>memory_cache_size</fieldname>
			<description>This is the amount of physical RAM (in megabytes) to be used for negative cache and in-transit objects.  This value should not exceed more than 50% of the installed RAM. The minimum value is 1MB.</description>
			<type>input</type>
			<required/>
			<default_value>8</default_value>
		</field>
		<field>
			<fielddescr>Minimum object size</fielddescr>
			<fieldname>minimum_object_size</fieldname>
			<description>Objects smaller than the size specified (in kilobytes) will not be saved on disk. The default value is 0, meaning there is no minimum.</description>
			<type>input</type>
			<required/>
			<default_value>0</default_value>
		</field>
		<field>
			<fielddescr>Maximum object size</fielddescr>
			<fieldname>maximum_object_size</fieldname>
			<description>Objects larger than the size specified (in kilobytes) will not be saved on disk. If you wish to increase speed more than you want to save bandwidth, this should be set to a low value.</description>
			<type>input</type>
			<required/>
			<default_value>4</default_value>
		</field>
		<field>
			<fielddescr>Level 1 subdirectories</fielddescr>
			<fieldname>level1_subdirs</fieldname>
			<description>Each level 1 (L1) directory contains 256 subdirectories, so a value of 256 L1 directories will use a total of 65536 directories for the hard disk cache.  This will significantly slow down the startup process of the proxy service, but can speed up the caching under certain conditions.</description>
			<type>select</type>
			<default_value>16</default_value>
			<options>
				<option><name>4</name><value>4</value></option>
				<option><name>8</name><value>8</value></option>
				<option><name>16</name><value>16</value></option>
				<option><name>32</name><value>32</value></option>
				<option><name>64</name><value>64</value></option>
				<option><name>128</name><value>128</value></option>
				<option><name>256</name><value>256</value></option>
			</options>
		</field>
		<field>
			<fielddescr>Memory replacement policy</fielddescr>
			<fieldname>memory_replacement</fieldname>
			<description>The memory replacement policy determines which objects are purged from memory when space is needed.  The default policy for memory replacement is GDSF.</description>
			<type>select</type>
			<default_value>heap GDSF</default_value>
			<options>
				<option><name>LRU</name><value>LRU</value></option>
				<option><name>Heap LRU</name><value>heap LRU</value></option>
				<option><name>Heap LFUDA</name><value>heap LFUDA</value></option>
				<option><name>Heap GDSF</name><value>heap GDSF</value></option>
			</options>
		</field>
		<field>
			<fielddescr>Cache replacement policy</fielddescr>
			<fieldname>cache_replacement</fieldname>
			<description>The cache replacement policy decides which objects will remain in cache and which objects are replaced to create space for the new objects.  The default policy for cache replacement is LFUDA.</description>
			<type>select</type>
			<default_value>heap LFUDA</default_value>
			<options>
				<option><name>LRU</name><value>lru</value></option>
				<option><name>Heap LRU</name><value>heap LRU</value></option>
				<option><name>Heap LFUDA</name><value>heap LFUDA</value></option>
				<option><name>Heap GDSF</name><value>heap GDSF</value></option>
			</options>
		</field>
		<field>
			<fielddescr>Do not cache</fielddescr>
			<fieldname>donotcache</fieldname>
			<description>The specified domains or IP addresses (separated by commas) will never be cached.</description>
			<type>textarea</type>
			<cols>50</cols>
			<rows>5</rows>
		</field>
		<field>
			<fielddescr>Enable offline mode</fielddescr>
			<fieldname>enable_offline</fieldname>
			<description>Enable this option and the proxy server will never try to validate cached objects. The offline mode also gives access to more cached information than the proposed feature would allow (stale cached versions, where the origin server should have been contacted).</description>
			<type>checkbox</type>
			<required/>
		</field>
	</fields>
	<custom_php_validation_command>
		squid_validate_cache($_POST, &amp;$input_errors);
	</custom_php_validation_command>
	<custom_php_resync_config_command>
		squid_resync();
	</custom_php_resync_config_command>
</packagegui>