diff options
Diffstat (limited to 'config/ipblocklist')
-rw-r--r-- | config/ipblocklist/8/countryblock_IPBlocklist.widget.tmp | 116 | ||||
-rwxr-xr-x | config/ipblocklist/8/ipblocklist.inc | 18 | ||||
-rwxr-xr-x | config/ipblocklist/8/ipblocklist.tmp | 5 | ||||
-rwxr-xr-x | config/ipblocklist/8/ipblocklist.xml | 7 |
4 files changed, 139 insertions, 7 deletions
diff --git a/config/ipblocklist/8/countryblock_IPBlocklist.widget.tmp b/config/ipblocklist/8/countryblock_IPBlocklist.widget.tmp new file mode 100644 index 00000000..a62fcede --- /dev/null +++ b/config/ipblocklist/8/countryblock_IPBlocklist.widget.tmp @@ -0,0 +1,116 @@ +<?php +/* + Copyright 2011 Thomas Schaefer - Tomschaefer.org + Part of pfSense widgets (www.pfsense.com) + + 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. +*/ + +$nocsrf = true; + +@require_once("guiconfig.inc"); +@require_once("pfsense-utils.inc"); +@require_once("functions.inc"); + +$ipblocklist_file = "/usr/local/www/packages/ipblocklist/ipblocklist.php"; +$countryblock_file = "/usr/local/www/packages/countryblock/countryblock.php"; + +echo "<table style=\"padding-top:0px; padding-bottom:0px; padding-left:0px; padding-right:0px\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\""; +echo" <tr>"; +if (file_exists($ipblocklist_file)) { + echo " <td class=\"listhdrr\">IP-Blocklist"; + ob_start(); + $results = exec("/sbin/pfctl -s rules | grep -c ipblocklist"); + ob_end_clean(); + if ($results > '2') echo "<img src ='/themes/{$g['theme']}/images/icons/icon_interface_up.gif'>"; + else + echo "<img src ='/themes/{$g['theme']}/images/icons/icon_interface_down.gif'>"; + echo "</td>"; +} +if (file_exists($countryblock_file)) { + echo " <td class=\"listhdrr\">Countryblock"; + ob_start(); + $results = exec("/sbin/pfctl -s rules | grep -c countryblock"); + ob_end_clean(); + if ($results > '0') echo "<img src ='/themes/{$g['theme']}/images/icons/icon_interface_up.gif'>"; + else + echo "<img src ='/themes/{$g['theme']}/images/icons/icon_interface_down.gif'>"; + echo "</td>"; +} +echo" </tr>"; +echo" <tr>"; +if (file_exists($ipblocklist_file)) { + echo " <td class=\"listlr\">"; + ob_start(); + $resultsIP = exec("/sbin/pfctl -T show -t ipblocklist |grep -v -c Z"); + ob_end_clean(); + echo $resultsIP; + echo " Networks"; + echo "</td>"; +} +if (file_exists($countryblock_file)) { + echo " <td class=\"listr\">"; + ob_start(); + $resultsCB = exec("pfctl -T show -t countryblock |grep -v -c Z"); + ob_end_clean(); + echo $resultsCB; + echo " Networks"; + echo "</td>"; +} +echo" </tr>"; +echo" <tr>"; +if (file_exists($ipblocklist_file)) { + ob_start(); + $resultsIP = exec("tail -r /usr/local/www/packages/ipblocklist/errorOUT.txt"); + ob_end_clean(); + if ($resultsIP == "") { + echo " <td></td>"; + } else { + echo " <td class=\"listlr\">"; + echo "<br/><span style='color:red'>"; + echo $resultsIP; + echo "</span>"; + echo "</td>"; + } +} +if (file_exists($countryblock_file)) { + ob_start(); + $resultsCB = exec("tail -r /usr/local/www/packages/countryblock/errorOUT.txt"); + ob_end_clean(); + if ($resultsCB == "") { + echo " <td></td>"; + } else { + echo " <td class=\"listlr\">"; + echo "<br/><span style='color:red'>"; + echo $resultsCB; + echo "</span>"; + echo "</td>"; + } +} +echo" </tr>"; +//echo" <tr>"; +//if (file_exists($ipblocklist_file)) echo " <td> </td>"; +//if (file_exists($countryblock_file)) echo " <td> </td>"; +//echo" </tr>"; +echo"</table>"; + +?> diff --git a/config/ipblocklist/8/ipblocklist.inc b/config/ipblocklist/8/ipblocklist.inc index 003f28bf..545cb4ab 100755 --- a/config/ipblocklist/8/ipblocklist.inc +++ b/config/ipblocklist/8/ipblocklist.inc @@ -55,12 +55,16 @@ function php_install_command_ip() //install PERL - exec("pkg_add -r perl"); - exec("pkg_add -r p5-Net-CIDR"); - exec("pkg_add -r compat7x-i386.tbz"); - exec("pkg_add -r compat6x-i386.tbz"); + exec("pkg_add -r ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/All/perl-5.12.4_2.tbz"); + exec("pkg_add -r ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/All/p5-Net-CIDR-0.14.tbz"); + //exec("pkg_add -r compat7x-i386.tbz"); + //exec("pkg_add -r compat6x-i386.tbz"); + exec("rehash"); //rename PHP files from .tmp to .php + exec("cp /tmp/countryblock_IPBlocklist.widget.tmp /usr/local/www/widgets/widgets/countryblock_IPBlocklist.widget.php"); + unlink_if_exists("/tmp/countryblock_IPBlocklist.widget.tmp"); + exec("cp /tmp/lists.txt /usr/local/www/packages/ipblocklist/lists.txt"); exec("cp /tmp/class.phpmailer.tmp /usr/local/www/packages/ipblocklist/class.phpmailer.php"); unlink_if_exists("/tmp/class.phpmailer.tmp "); @@ -109,6 +113,9 @@ function php_install_command_ip() exec("/usr/bin/touch /usr/local/www/packages/ipblocklist/OUTBOUND"); + //Attempt to pull from a backup + exec("/bin/mkdir /usr/local/www/packages/ipblocklist_bkup"); + exec("cp /usr/local/www/packages/ipblocklist_bkup/lists.txt /usr/local/www/packages/ipblocklist/lists.txt"); conf_mount_ro(); config_unlock(); @@ -121,11 +128,12 @@ function deinstall_command_ip() $handle = popen("/usr/local/etc/rc.d/ipblocklist.sh stop", "r"); unlink_if_exists("/usr/local/pkg/ipblocklist.xml"); unlink_if_exists("/usr/local/pkg/ipblocklist.inc"); + unlink_if_exists("/usr/local/pkg/pf/IP-Blocklist.sh"); exec("rm -R /usr/local/www/packages/ipblocklist/ipblocklists"); exec("rm -R /usr/local/www/packages/ipblocklist"); exec("rm /usr/local/etc/rc.d/IP-Blocklist.sh"); exec("pfctl -t ipblocklist -T kill"); - exec("ipfw -f flush"); + //exec("ipfw -f flush"); conf_mount_ro(); } diff --git a/config/ipblocklist/8/ipblocklist.tmp b/config/ipblocklist/8/ipblocklist.tmp index ffbfdc57..9291a468 100755 --- a/config/ipblocklist/8/ipblocklist.tmp +++ b/config/ipblocklist/8/ipblocklist.tmp @@ -56,13 +56,16 @@ if (count($_POST)>0) { //Now clear ipfw, and process each list to ipfw commands exec("/bin/sh convert-execute.sh"); + + //Attempt to create a backup of user lists + mwexec("cp /usr/local/www/packages/ipblocklist/lists.txt /usr/local/www/packages/ipblocklist_bkup/lists.txt"); } else { //echo "disabled"; $config['installedpackages']['ipblocklist_settings']['config'][0]['enable'] = 0; //Clear Lists - mwexec("ipfw -f flush"); + //mwexec("ipfw -f flush"); mwexec("pfctl -t ipblocklist -T kill"); mwexec("rm -R /usr/local/www/packages/ipblocklist/lists"); mwexec("sed -i -e '/ipblocklist/d' /tmp/rules.debug"); diff --git a/config/ipblocklist/8/ipblocklist.xml b/config/ipblocklist/8/ipblocklist.xml index ca488d01..00ac22b8 100755 --- a/config/ipblocklist/8/ipblocklist.xml +++ b/config/ipblocklist/8/ipblocklist.xml @@ -41,7 +41,7 @@ <requirements>perl</requirements> <faq>http://forum.pfsense.org/index.php/topic,24769.0.html</faq> <name>IP Blocklist Settings</name> - <version>0.3.4</version> + <version>0.3.5</version> <title>Settings</title> <include_file>/usr/local/pkg/ipblocklist.inc</include_file> <menu> @@ -154,6 +154,11 @@ <chmod>0755</chmod> <item>http://www.pfsense.org/packages/config/ipblocklist/8/lists.txt</item> </additional_files_needed> + <additional_files_needed> + <prefix>/tmp/</prefix> + <chmod>0644</chmod> + <item>http://www.pfsense.org/packages/config/ipblocklist/8/countryblock_IPBlocklist.widget.tmp</item> + </additional_files_needed> <fields> <field> <fielddescr>Variable One</fielddescr> |