From 6b4480dc8486db7220928ca7f7341e8134e33d50 Mon Sep 17 00:00:00 2001 From: bcyrill Date: Sun, 6 Jan 2013 23:59:54 +0100 Subject: [PATCH] Add bogons update frequency selection --- conf.default/config.xml | 3 ++ usr/local/www/interfaces.php | 2 ++ usr/local/www/system_advanced_firewall.php | 35 ++++++++++++++++++++++ 3 files changed, 40 insertions(+) diff --git a/conf.default/config.xml b/conf.default/config.xml index df266f0630..fb5c7be790 100644 --- a/conf.default/config.xml +++ b/conf.default/config.xml @@ -194,6 +194,9 @@ hadp + + monthly + diff --git a/usr/local/www/interfaces.php b/usr/local/www/interfaces.php index 7d14829767..c4c127bbe1 100755 --- a/usr/local/www/interfaces.php +++ b/usr/local/www/interfaces.php @@ -2619,6 +2619,8 @@ $types6 = array("none" => gettext("None"), "staticv6" => gettext("Static IPv6"), "(but not RFC 1918) or not yet assigned by IANA."); ?>   +

+ Advanced Firewall/NAT settings.")?> diff --git a/usr/local/www/system_advanced_firewall.php b/usr/local/www/system_advanced_firewall.php index db0aaa4741..e65581ed5f 100644 --- a/usr/local/www/system_advanced_firewall.php +++ b/usr/local/www/system_advanced_firewall.php @@ -59,6 +59,7 @@ $pconfig['maximumtables'] = $config['system']['maximumtables']; $pconfig['maximumtableentries'] = $config['system']['maximumtableentries']; $pconfig['disablereplyto'] = isset($config['system']['disablereplyto']); $pconfig['disablenegate'] = isset($config['system']['disablenegate']); +$pconfig['bogonsinterval'] = $config['system']['bogons']['interval']; $pconfig['disablenatreflection'] = $config['system']['disablenatreflection']; $pconfig['enablebinatreflection'] = $config['system']['enablebinatreflection']; $pconfig['reflectiontimeout'] = $config['system']['reflectiontimeout']; @@ -170,6 +171,22 @@ if ($_POST) { $config['system']['tftpinterface'] = implode(",", $_POST['tftpinterface']); else unset($config['system']['tftpinterface']); + + if ($_POST['bogonsinterval'] != $config['system']['bogons']['interval']) { + switch ($_POST['bogonsinterval']) { + case 'daily': + install_cron_job("/usr/bin/nice -n20 /etc/rc.update_bogons.sh", true, "1", "3", "*", "*", "*"); + break; + case 'weekly': + install_cron_job("/usr/bin/nice -n20 /etc/rc.update_bogons.sh", true, "1", "3", "*", "*", "1"); + break; + case 'monthly': + // fall through + default: + install_cron_job("/usr/bin/nice -n20 /etc/rc.update_bogons.sh", true, "1", "3", "1", "*", "*"); + } + $config['system']['bogons']['interval'] = $_POST['bogonsinterval']; + } write_config(); @@ -392,6 +409,24 @@ function update_description(itemnum) {   + + + + + + + +
+ + + + +   + 1): ?>