From 9ef793166596542a282d00b8c2a45acd1e53a7e0 Mon Sep 17 00:00:00 2001 From: Benoit GUERIN Date: Wed, 29 Aug 2012 08:24:59 +0200 Subject: Adding option to disable IP monitoring --- config/tinydns/tinydns.inc | 28 +++++++++++++++++++++------- config/tinydns/tinydns.xml | 14 ++++++++++---- 2 files changed, 31 insertions(+), 11 deletions(-) diff --git a/config/tinydns/tinydns.inc b/config/tinydns/tinydns.inc index 7c8f15d7..70e149e1 100644 --- a/config/tinydns/tinydns.inc +++ b/config/tinydns/tinydns.inc @@ -53,12 +53,13 @@ function tinydns_custom_php_install_command() { log_error("Could not open /usr/local/etc/rc.d/svscan.sh for writing."); return; } - + // Ensure svscan.sh has a+rx exec("chmod a+rx /usr/local/etc/rc.d/svscan.sh"); - + $ipaddress = $config['installedpackages']['tinydns']['config'][0]['ipaddress']; + $enableipmonitoring = $config['installedpackages']['tinydns']['config'][0]['enableipmonitoring']; if($config['installedpackages']['tinydns']['config'][0]['refreshinterval']) $refreshinterval = $config['installedpackages']['tinydns']['config'][0]['refreshinterval']; @@ -91,7 +92,14 @@ svscan_start () { /usr/bin/env \ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \ /usr/sbin/daemon -f /bin/sh -c "\$command \$svscan_servicedir 2>&1 | /usr/local/bin/multilog t \$logdir" > /dev/null +EOD; +if ($enableipmonitoring) { + $svscan .= << + tinydns_create_zone_file();\n"; + if ($enableipmonitoring) { + $start .= "tinydns_setup_ping_items();\n"; + } + $start .= "?> ENDPHP\n"; $stop = ""; @@ -617,7 +627,9 @@ function tinydns_sync_on_changes() { tinydns_do_xmlrpc_sync($sync_to_ip, $password); } tinydns_create_zone_file(); - tinydns_setup_ping_items(); + if ($config['installedpackages']['tinydns']['config'][0]['enableipmonitoring']) { + tinydns_setup_ping_items(); + } log_error("[tinydns] tinydns_xmlrpc_sync.php is ending."); } @@ -685,7 +697,9 @@ function tinydns_do_xmlrpc_sync($sync_to_ip, $password) { $execcmd = "require_once('/usr/local/pkg/tinydns.inc');\n"; $execcmd .= "tinydns_custom_php_changeip_command();\n"; $execcmd .= "tinydns_create_zone_file();\n"; - $execcmd .= "tinydns_setup_ping_items();\n"; + if ($config['installedpackages']['tinydns']['config'][0]['enableipmonitoring']) { + $execcmd .= "tinydns_setup_ping_items();\n"; + } /* assemble xmlrpc payload */ $params = array( diff --git a/config/tinydns/tinydns.xml b/config/tinydns/tinydns.xml index b90a2cb3..546980f1 100644 --- a/config/tinydns/tinydns.xml +++ b/config/tinydns/tinydns.xml @@ -194,7 +194,7 @@ regdhcpstatic Register static DHCP leases with TinyDNS server using the Fully Qualified Domain Name specified in System: General. checkbox - + Register DHCP leases with server regdhcp @@ -203,8 +203,14 @@ listtopic - Monitoring IP refresh interval - temp + IP Monitoring + temp + + + Enable IP monitoring + enableipmonitoring + Wheather or not to monitor IP address + checkbox Refresh Interval @@ -215,7 +221,7 @@ listtopic Sync TinyDNS settings via XMLRPC - temp + temp XMLRPC Sync -- cgit v1.2.3