diff options
Diffstat (limited to 'packages/avahi/avahi.inc')
-rw-r--r-- | packages/avahi/avahi.inc | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/packages/avahi/avahi.inc b/packages/avahi/avahi.inc new file mode 100644 index 00000000..33e25294 --- /dev/null +++ b/packages/avahi/avahi.inc @@ -0,0 +1,93 @@ +<?php + +function setup_avahi() { + global $g, $config; + + // 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']; + + // Is package disabled? + if(!$enable) { + if(file_exists("/usr/local/etc/rc.d/avahi.sh")) + unlink("/usr/local/etc/rc.d/avahi.sh"); + return; + } + + // No supplied domains? Use the defaults. + if(!$browsedomains) + $browsedomains = "local, 0pointer.de, zeroconf.org"; + + // Construct the avahi configuration + $config = <<<EOF + + # avahi.conf - This file was automatically generated by the pfSense pacakge + # manager. Do not edit this file, it will be overwritten automatically. + # See /usr/local/pkg/avahi.inc to make changes to this file! + + [server] + host-name={$hostname} + domain-name={$domain} + browse-domains={$browsedomains} + use-ipv4=yes + use-ipv6=no + enable-dbus=no + #check-response-ttl=no + #use-iff-running=no + #disallow-other-stacks=no + #allow-point-to-point=no + + [wide-area] + enable-wide-area=yes + + [publish] + #disable-publishing=no + #disable-user-service-publishing=no + #add-service-cookie=no + #publish-addresses=yes + #publish-hinfo=yes + #publish-workstation=yes + #publish-domain=yes + #publish-dns-servers=192.168.50.1, 192.168.50.2 + #publish-resolv-conf-dns-servers=yes + #publish-aaaa-on-ipv4=yes + #publish-a-on-ipv6=no + + [reflector] + enable-reflector=yes + #reflect-ipv=no + + [rlimits] + rlimit-core=0 + rlimit-data=4194304 + rlimit-fsize=0 + rlimit-nofile=300 + rlimit-stack=4194304 + rlimit-nproc=3 + #rlimit-as= + +EOF; + + // Make image RW + conf_mount_rw(); + /* Write out .conf file */ + $fd = fopen("/usr/local/etc/avahi.conf", "w"); + fwrite($fd, $config); + fclose($fd); + /* Write out rc.d startup file */ + $start = "/usr/local/sbin/avahi"; + $stop = "/usr/bin/killall avahi"; + write_rcfile(array( + "file" => "avahi.sh", + "start" => $start, + "stop" => $stop + ) + ); + // Make image RO + conf_mount_ro(); + +} + +?>
\ No newline at end of file |