= 2.2 && !file_exists('/usr/local/etc/gnome.subr')) { @symlink(AVAHI_LOCALBASE . '/etc/gnome.subr', '/usr/local/etc/gnome.subr'); } // Add needed users and groups exec("/usr/sbin/pw useradd avahi -u 558"); exec("/usr/sbin/pw groupadd avahi -g 558"); // Make image RO conf_mount_ro(); } function avahi_write_config() { global $g, $config; // Make image RW conf_mount_rw(); // Pull some various values out of config.xml $hostname = $config['system']['hostname']; $domain = $config['system']['domain']; $enable = $config['installedpackages']['avahi']['config'][0]['enable']; $browsedomains = $config['installedpackages']['avahi']['config'][0]['browsedomains']; $denyif = $config['installedpackages']['avahi']['config'][0]['denyinterfaces']; $useipv4 = ($config['installedpackages']['avahi']['config'][0]['disable_ipv4']) ? "no" : "yes"; $useipv6 = ($config['installedpackages']['avahi']['config'][0]['disable_ipv6']) ? "no" : "yes"; // No supplied domains? Use the defaults. if(!$browsedomains) $browsedomains = "local, 0pointer.de, zeroconf.org"; // Never pass along WAN. Bad. $denyinterfaces = $config['interfaces']['wan']['if']; // Process interfaces defined by user to deny. if($denyif) { $if = explode(",", $denyif); foreach($if as $i) { $ifreal = convert_friendly_interface_to_real_interface_name($i); if($ifreal) $denyinterfaces .= ", " . $ifreal; } } // Construct the avahi configuration $avahiconfig = << "avahi-daemon.sh", "start" => $start, "stop" => $stop ) ); // Make image RO conf_mount_ro(); } function avahi_sync() { global $g, $config; avahi_stop(); avahi_write_config(); // Is package enabled? if (($config['installedpackages']['avahi']['config'][0]['enable']) && file_exists("/usr/local/etc/rc.d/avahi-daemon.sh")) { avahi_start(); } } ?>