From 7718003a1846b9e78c2d3afefacccd0084e5201e Mon Sep 17 00:00:00 2001 From: Scott Ullrich Date: Fri, 24 Oct 2008 17:40:38 +0000 Subject: Add a automatically sync field (checkbox) --- packages/tinydns/tinydns.inc | 14 ++++++++++++++ packages/tinydns/tinydns.xml | 5 +++++ packages/tinydns/tinydns_domains.xml | 3 +++ packages/tinydns/tinydns_sync.xml | 8 +++++++- 4 files changed, 29 insertions(+), 1 deletion(-) (limited to 'packages') diff --git a/packages/tinydns/tinydns.inc b/packages/tinydns/tinydns.inc index 749fa92d..4f73eee7 100644 --- a/packages/tinydns/tinydns.inc +++ b/packages/tinydns/tinydns.inc @@ -429,6 +429,20 @@ function tinydns_create_zone_file() { conf_mount_ro(); } +function tinydns_sync_on_changes() { + global $g, $config; + $synconchanges = $config['installedpackages']['tinydns']['config'][0]['synconchanges']; + if(!$synconchanges) + return; + $sync_hosts = $config['installedpackages']['tinydnssync']['config']; + foreach($sync_hosts as $sh) { + $sync_to_ip = $sh['ipaddress']; + $password = $sh['password']; + if($password and $sync_to_ip) + tinydns_do_xmlrpc_sync($sync_to_ip, $password); + } +} + function tinydns_do_xmlrpc_sync($sync_to_ip, $password) { global $config, $g; diff --git a/packages/tinydns/tinydns.xml b/packages/tinydns/tinydns.xml index 25c43340..5538bfad 100644 --- a/packages/tinydns/tinydns.xml +++ b/packages/tinydns/tinydns.xml @@ -223,23 +223,28 @@ tinydns_custom_php_install_command(); tinydns_create_zone_file(); tinydns_setup_ping_items(); + tinydns_sync_on_changes(); tinydns_custom_php_changeip_command(); tinydns_custom_php_install_command(); tinydns_create_zone_file(); tinydns_setup_ping_items(); + tinydns_sync_on_changes(); tinydns_custom_php_changeip_command(); tinydns_custom_php_install_command(); tinydns_create_zone_file(); tinydns_setup_ping_items(); + tinydns_sync_on_changes(); tinydns_custom_php_install_command(); + tinydns_sync_on_changes(); tinydns_custom_php_deinstall_command(); + tinydns_sync_on_changes(); diff --git a/packages/tinydns/tinydns_domains.xml b/packages/tinydns/tinydns_domains.xml index d22defd3..11779c53 100644 --- a/packages/tinydns/tinydns_domains.xml +++ b/packages/tinydns/tinydns_domains.xml @@ -195,6 +195,7 @@ tinydns_create_zone_file(); tinydns_setup_ping_items(); + tinydns_sync_on_changes(); log_error("Begin tinydns add"); @@ -202,6 +203,7 @@ log_error("Zone file done."); tinydns_setup_ping_items(); log_error("Ping items done."); + tinydns_sync_on_changes(); log_error("Begin tinydns resync"); @@ -209,5 +211,6 @@ log_error("Zone file done."); tinydns_setup_ping_items(); log_error("Ping items done."); + tinydns_sync_on_changes(); diff --git a/packages/tinydns/tinydns_sync.xml b/packages/tinydns/tinydns_sync.xml index 39633907..68265cf3 100644 --- a/packages/tinydns/tinydns_sync.xml +++ b/packages/tinydns/tinydns_sync.xml @@ -78,6 +78,12 @@ installedpackages->package->tinydns + + Automatically sync on changes + synconchanges + pfSense will automatically sync changes to hosts defined in the Sync tab. + checkbox + IP Address ipaddress @@ -118,7 +124,7 @@ tinydns_do_xmlrpc_sync($_POST['ipaddress'], $_POST['password']); if($_POST['ipaddress2']) - tinydns_do_xmlrpc_sync($_POST['ipaddress2'], $_POST['password2']); + tinydns_do_xmlrpc_syncc_sync($_POST['ipaddress2'], $_POST['password2']); if($_POST['ipaddress3']) tinydns_do_xmlrpc_sync($_POST['ipaddress3'], $_POST['password3']); -- cgit v1.2.3