From 51fea877de7516efeef1445c00aaba6f80a00c1c Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Sun, 19 Mar 2017 17:38:04 +0100 Subject: [PATCH] plugins: repair #1483 --- src/etc/inc/plugins.inc.d/dyndns.inc | 4 ++-- src/etc/inc/plugins.inc.d/pf.inc | 4 ++-- src/etc/inc/plugins.inc.d/rfc2136.inc | 21 ++++++++++++++++----- src/etc/inc/system.inc | 4 +--- 4 files changed, 21 insertions(+), 12 deletions(-) diff --git a/src/etc/inc/plugins.inc.d/dyndns.inc b/src/etc/inc/plugins.inc.d/dyndns.inc index 47a8e5996..ebd824eef 100644 --- a/src/etc/inc/plugins.inc.d/dyndns.inc +++ b/src/etc/inc/plugins.inc.d/dyndns.inc @@ -43,9 +43,9 @@ function dyndns_configure() function dyndns_cron() { - $jobs = array('autocron' => array()); + $jobs = array(); - $jobs['autocron'][] = array('/usr/local/etc/rc.dyndns.update', '11', '1'); + $jobs[]['autocron'] = array('/usr/local/etc/rc.dyndns.update', '11', '1'); return $jobs; } diff --git a/src/etc/inc/plugins.inc.d/pf.inc b/src/etc/inc/plugins.inc.d/pf.inc index a2215311e..4dd7bb6e3 100644 --- a/src/etc/inc/plugins.inc.d/pf.inc +++ b/src/etc/inc/plugins.inc.d/pf.inc @@ -53,12 +53,12 @@ function pf_cron() { global $config; - $jobs = array('autocron' => array()); + $jobs = array(); if (isset($config['filter']['rule'])) { foreach ($config['filter']['rule'] as $rule) { if (!empty($rule['sched'])) { - $jobs['autocron'][] = array('/usr/local/etc/rc.filter_configure', '0,15,30,45'); + $jobs[]['autocron'] = array('/usr/local/etc/rc.filter_configure', '0,15,30,45'); break; } } diff --git a/src/etc/inc/plugins.inc.d/rfc2136.inc b/src/etc/inc/plugins.inc.d/rfc2136.inc index 08f54efe1..768972cd8 100644 --- a/src/etc/inc/plugins.inc.d/rfc2136.inc +++ b/src/etc/inc/plugins.inc.d/rfc2136.inc @@ -38,11 +38,21 @@ function rfc2136_configure() ); } +function rfc2136_enabled() +{ + global $config; + + /* XXX not entirely correct */ + return isset($config['dnsupdates']['dnsupdate']); +} + function rfc2136_cron() { - $jobs = array('autocron' => array()); + $jobs = array(); - $jobs['autocron'][] = array('/usr/local/etc/rc.rfc2136.update', '16', '1'); + if (rfc2136_enabled()) { + $jobs[]['autocron'] = array('/usr/local/etc/rc.rfc2136.update', '16', '1'); + } return $jobs; } @@ -51,7 +61,7 @@ function rfc2136_configure_do($verbose = false, $int = '', $updatehost = '', $fo { global $config; - if (!isset($config['dnsupdates']['dnsupdate'])) { + if (!rfc_2136_enabled()) { return; } @@ -74,12 +84,13 @@ function rfc2136_configure_do($verbose = false, $int = '', $updatehost = '', $fo $if = get_real_interface($dnsupdate['interface']); if (isset($dnsupdate['usepublicip'])) { - $wanip = get_dyndns_ip($dnsupdate['interface']); + $wanip = get_dyndns_ip($dnsupdate['interface'], 4); + $wanipv6 = get_dyndns_ip($dnsupdate['interface'], 6); } else { $wanip = get_interface_ip($dnsupdate['interface']); + $wanipv6 = get_interface_ipv6($dnsupdate['interface']); } - $wanipv6 = get_interface_ipv6($dnsupdate['interface']); $cacheFile = "/conf/dyndns_{$dnsupdate['interface']}_rfc2136_" . escapeshellarg($dnsupdate['host']) . "_{$dnsupdate['server']}.cache"; $currentTime = time(); diff --git a/src/etc/inc/system.inc b/src/etc/inc/system.inc index 13f4d9477..7359c8283 100644 --- a/src/etc/inc/system.inc +++ b/src/etc/inc/system.inc @@ -1589,9 +1589,7 @@ function system_cron_configure($verbose = false) * and conquer the code bits... :) */ if (!empty($cron_plugin['autocron'])) { - foreach ($cron_plugin['autocron'] as $cron_job) { - $autocron[] = call_user_func_array('generate_cron_job', $cron_job); - } + $autocron[] = call_user_func_array('generate_cron_job', $cron_plugin['autocron']); } }