aboutsummaryrefslogtreecommitdiffstats
path: root/packages/squid.xml
diff options
context:
space:
mode:
authorColin Smith <colin@pfsense.org>2005-03-19 22:41:41 +0000
committerColin Smith <colin@pfsense.org>2005-03-19 22:41:41 +0000
commit006061c74ab2cae1b034ff3f213b41deb19b769e (patch)
tree2b498cca78b6fb2bb4c0373265b43cc96f7a0ec6 /packages/squid.xml
parent123283d4afa06b3719afa4adac3ed312bf5e3d4e (diff)
downloadpfsense-packages-006061c74ab2cae1b034ff3f213b41deb19b769e.tar.gz
pfsense-packages-006061c74ab2cae1b034ff3f213b41deb19b769e.tar.bz2
pfsense-packages-006061c74ab2cae1b034ff3f213b41deb19b769e.zip
Rewrite squid package.
Diffstat (limited to 'packages/squid.xml')
-rw-r--r--packages/squid.xml122
1 files changed, 79 insertions, 43 deletions
diff --git a/packages/squid.xml b/packages/squid.xml
index 03ea45a6..e63df9e4 100644
--- a/packages/squid.xml
+++ b/packages/squid.xml
@@ -1,56 +1,92 @@
<?xml version="1.0" encoding="utf-8" ?>
<packagegui>
- <name>squid</name>
- <!-- Menu is where this packages menu will appear -->
- <!-- configpath gets expanded out automatically and config items will be stored in that location -->
- <configpath>['installedpackages']['squid']['config']</configpath>
+ <name>squidsettings</name>
+ <version>2.5.7_5</version>
+ <title>Squid: Settings</title>
+ <menu>
+ <name>Squid</name>
+ <tooltiptext>Change Squid settings.</tooltiptext>
+ <section>Services</section>
+ <configfile>squid.xml</configfile>
+ <url>/pkg_edit.php?xml=squid.xml&amp;id=0</url>
+ </menu>
+ <configpath>installedpackages->package->$packagename->configuration->settings</configpath>
+ <adddeleteeditpagefields>
+ <columnitem>
+ <fielddescr>Cache size</fielddescr>
+ <fieldname>cache_size</fieldname>
+ </columnitem>
+ </adddeleteeditpagefields>
+ <fields>
+ <field>
+ <fielddescr>Cache size</fielddescr>
+ <fieldname>cache_size</fieldname>
+ <description>Enter cache size limit in MB.</description>
+ <type>input</type>
+ </field>
+ </fields>
+ <custom_add_php_command>
+ function sync_package_squid() {
+ conf_mount_rw();
+ config_lock();
+ global $config;
+ if ($_POST[0] == "") $_POST = $config['installedpackages']['package']['squidsettings']['config'];
+ write_squid_static_config();
+ $fout = fopen("/usr/local/etc/squid/squid.conf", "a");
+ if ($_POST['cache_size'] != "") fwrite($fout, "cache_mem " . $_POST['cache_size'] . " MB\n");
+ fclose($fout);
+ mwexec("/usr/bin/killall -HUP squid");
+ conf_mount_ro();
+ config_unlock();
+ }
+ sync_package_squid();
+ </custom_add_php_command>
<custom_php_install_command>
- echo "&lt;pre&gt;";
- $lancfg = $config['interfaces']['lan'];
- $lanif = $lancfg['if'];
- $lanip = $lancfg['ipaddr'];
- $lansa = gen_subnet($lancfg['ipaddr'], $lancfg['subnet']);
- $lansn = $lancfg['subnet'];
- $netmask = "";
- $fout = fopen("/usr/local/etc/squid/squid.conf","w");
- fwrite($fout, "#\n");
- fwrite($fout, "# This file was automatically generated by the pfSense package manager\n");
- fwrite($fout, "#\n");
- fwrite($fout, "http_port 3128\n");
- fwrite($fout, "icp_port 0\n");
- fwrite($fout, "acl localnet src " . $lansa . "/" . $lansn . "\n");
- fwrite($fout, "acl all src " . $lansa . "/" . $lansn . "\n");
- fwrite($fout, "acl localhost src 127.0.0.1/255.255.255.255\n");
- fwrite($fout, "acl Safe_ports port 80 443 210 119 70 21 1025-65535\n");
- fwrite($fout, "acl CONNECT method CONNECT\n");
- fwrite($fout, "http_access allow localnet\n");
- fwrite($fout, "http_access allow localhost\n");
- fwrite($fout, "http_access deny !Safe_ports\n");
- fwrite($fout, "http_access deny CONNECT\n");
- fwrite($fout, "http_access deny all\n");
- fwrite($fout, "visible_hostname pfSense\n");
- fwrite($fout, "httpd_accel_host virtual\n");
- fwrite($fout, "httpd_accel_port 80\n");
- fwrite($fout, "httpd_accel_with_proxy on\n");
- fwrite($fout, "httpd_accel_uses_host_header on\n");
- fwrite($fout, "cache_effective_user squid\n");
- fwrite($fout, "cache_effective_group squid\n");
- fclose($fout);
+ function write_squid_static_config() {
+ global $config;
+ $lancfg = $config['interfaces']['lan'];
+ $lanif = $lancfg['if'];
+ $lanip = $lancfg['ipaddr'];
+ $lansa = gen_subnet($lancfg['ipaddr'], $lancfg['subnet']);
+ $lansn = $lancfg['subnet'];
+ $fout = fopen("/usr/local/etc/squid/squid.conf","w");
+ fwrite($fout, "#\n");
+ fwrite($fout, "# This file was automatically generated by the pfSense package manager\n");
+ fwrite($fout, "#\n");
+ fwrite($fout, "http_port 3128\n");
+ fwrite($fout, "icp_port 0\n");
+ fwrite($fout, "acl localnet src " . $lansa . "/" . $lansn . "\n");
+ fwrite($fout, "acl all src " . $lansa . "/" . $lansn . "\n");
+ fwrite($fout, "acl localhost src 127.0.0.1/255.255.255.255\n");
+ fwrite($fout, "acl Safe_ports port 80 443 210 119 70 21 1025-65535\n");
+ fwrite($fout, "acl CONNECT method CONNECT\n");
+ fwrite($fout, "http_access allow localnet\n");
+ fwrite($fout, "http_access allow localhost\n");
+ fwrite($fout, "http_access deny !Safe_ports\n");
+ fwrite($fout, "http_access deny CONNECT\n");
+ fwrite($fout, "http_access deny all\n");
+ fwrite($fout, "visible_hostname pfSense\n");
+ fwrite($fout, "httpd_accel_host virtual\n");
+ fwrite($fout, "httpd_accel_port 80\n");
+ fwrite($fout, "httpd_accel_with_proxy on\n");
+ fwrite($fout, "httpd_accel_uses_host_header on\n");
+ fwrite($fout, "cache_effective_user squid\n");
+ fwrite($fout, "cache_effective_group squid\n");
+ fwrite($fout, "cache_mem $cache MB\n");
+ fclose($fout);
+ }
+ write_squid_static_config();
$fout = fopen("/usr/local/etc/rc.d/squid.sh","w");
fwrite($fout, "#!/bin/sh\n");
fwrite($fout, "/usr/local/sbin/squid\n\n");
fclose($fout);
- system("chmod a+x /usr/local/etc/rc.d/squid.sh");
- system("/usr/local/sbin/squid -z");
- system("/usr/local/sbin/squid");
+ mwexec("chmod a+x /usr/local/etc/rc.d/squid.sh");
+ mwexec("/usr/local/sbin/squid -z");
+ mwexec("/usr/local/sbin/squid");
filter_configure();
</custom_php_install_command>
- <custom_php_pre_deinstall_command>
- exec("mv /var/db/pkg/squid* /tmp/");
- exec("mv /tmp/squid* /var/db/pkg/");
- </custom_php_pre_deinstall_command>
<custom_php_deinstall_command>
- exec("/bin/rm -rf /usr/local/squid");
+ mwexec("/bin/rm -rf /usr/local/squid");
filter_configure();
</custom_php_deinstall_command>
<start_command>/usr/local/sbin/squid</start_command>