squid 2.5.7_5 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"); fclose($fout); } function sync_package_squid() { conf_mount_rw(); config_lock(); global $config; /* if ($_POST[0] == "") $_POST = $config['installedpackages']['package']['squid']['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/local/sbin/squid -k reconfigure"); conf_mount_ro(); config_unlock(); } sync_package_squid(); write_squid_static_config(); $fout = fopen("/usr/local/etc/rc.d/squid.sh","w"); fwrite($fout, "#!/bin/sh\n"); fwrite($fout, "# PACKAGE: Squid\n"); fwrite($fout, "# EXECUTABLE: squid\n\n"); fwrite($fout, "# Alert system that we need the / mount rw\n"); fwrite($fout, "touch /tmp/ro_root_mount\n\n"); fwrite($fout, "/usr/local/sbin/squid -D\n\n"); fwrite($fout, "touch /tmp/filter_dirty\n\n"); fclose($fout); chmod("/usr/local/etc/rc.d/squid.sh", 755); update_output_window("Configuring Squid... This may take a moment..."); mwexec("/usr/local/sbin/squid -z"); update_output_window("Starting Squid..."); mwexec_bg("/usr/local/etc/rc.d/squid.sh"); filter_configure(); rmdir_recursive("/usr/local/squid"); unlink_if_exists("/var/mail/squid"); unlink_if_exists("/usr/local/etc/rc.d/squid"); unlink_if_exists("/usr/local/etc/squid/squid.conf"); rmdir_recursive("/usr/local/etc/squid"); rmdir_recursive("/usr/local/libexec/squid"); filter_configure(); /usr/local/etc/rc.d/squid.sh squid