/dev/null 2>&1\n"; if (!$avahi_config['disable_dbus']) { $start .= "if [ ! -d /var/run/dbus ]; then\n"; $start .= " /bin/mkdir /var/run/dbus\n"; $start .= " /usr/sbin/chown messagebus:messagebus /var/run/dbus\n"; $start .= "fi\n"; if (file_exists(AVAHI_BASE . "/etc/rc.d/dbus")) { $start .= AVAHI_BASE . "/etc/rc.d/dbus onestop\n"; $start .= "/bin/rm /var/run/dbus/dbus.pid >/dev/null 2>&1\n"; $start .= AVAHI_BASE . "/etc/rc.d/dbus onestart\n"; $start .= "sleep 5\n"; } } $start .= AVAHI_BASE . "/sbin/avahi-daemon -D\n"; $start .= "/etc/rc.conf_mount_ro\n"; $stop = "/usr/bin/killall avahi-daemon >/dev/null 2>&1\n"; if (!$avahi_config['disable_dbus']) { if (file_exists(AVAHI_BASE . "/etc/rc.d/dbus")) { $stop .= AVAHI_BASE . "/etc/rc.d/dbus onestop\n"; $stop .= "/bin/rm /var/run/dbus/dbus.pid >/dev/null 2>&1\n"; } } write_rcfile(array( "file" => "avahi-daemon.sh", "start" => $start, "stop" => $stop ) ); } function avahi_sync() { global $config; conf_mount_rw(); if (is_service_running("avahi")) { stop_service("avahi"); } avahi_write_config(); // Is package enabled? if ($config['installedpackages']['avahi']['config'][0]['enable']) { avahi_write_rcfile(); start_service("avahi"); } else { unlink_if_exists("/usr/local/etc/rc.d/avahi-daemon.sh"); } conf_mount_ro(); } function avahi_upgrade_config() { global $config, $avahi_config; $avahi_config =& $config['installedpackages']['avahi']['config'][0]; if (!is_array($avahi_config)) { $avahi_config = array(); } $changes = 0; // Convert previous disable values to enable ones // If broken settings were configured due to lack of validation, just set to defaults if (isset($avahi_config['disable_ipv4']) && isset($avahi_config['disable_ipv6']) && $avahi_config['disable_ipv4'] == "on" && $avahi_config['disable_ipv6'] == "on") { $avahi_config['enable_ipv4'] = "on"; $avahi_config['enable_ipv6'] = "on"; unset($avahi_config['disable_ipv4']); unset($avahi_config['disable_ipv6']); $changes++; } elseif (isset($avahi_config['disable_ipv4']) && $avahi_config['disable_ipv4'] != "on") { $avahi_config['enable_ipv4'] = "on"; unset($avahi_config['disable_ipv4']); $changes++; } elseif (isset($avahi_config['disable_ipv6']) && $avahi_config['disable_ipv6'] != "on") { $avahi_config['enable_ipv6'] = "on"; unset($avahi_config['disable_ipv6']); $changes++; } if ($changes > 0 ) { write_config("[avahi] Upgraded old package configuration."); } } function avahi_validate_input($post, &$input_errors) { if (($post['enable_ipv4'] != "on" ) && ($post['enable_ipv6'] != "on" )) { $input_errors[] = gettext("You cannot disable both IPv4 and IPv6!"); } if (($post['enable_ipv4'] != "on" ) && ($post['publish_aaaa_on_ipv4'] == "on" )) { $input_errors[] = gettext("'Publish AAAA records on IPv4' makes no sense with IPv4 disabled."); } if (($post['enable_ipv6'] != "on" ) && ($post['publish_a_on_ipv6'] == "on" )) { $input_errors[] = gettext("'Publish A records on IPv6' makes no sense with IPv6 disabled."); } } ?>