samba36: Enable umdnsd support
[openwrt/openwrt.git] / package / network / services / samba36 / files / samba.init
index 376ae89988ea01589eea42be5aa7de444121b89e..1c5bb3b3c43eacc6ee3a181a16b63c906365b81b 100755 (executable)
@@ -5,22 +5,17 @@ START=60
 USE_PROCD=1
 
 smb_header() {
-       local interface
-       config_get interface $1 interface "loopback lan"
+       config_get samba_iface $1 interface "loopback lan"
 
        # resolve interfaces
        local interfaces=$(
                . /lib/functions/network.sh
 
                local net
-               for net in $interface; do
+               for net in $samba_iface; do
                        local device
-                       network_get_device device "$net" && {
-                               local subnet
-                               network_get_subnet  subnet "$net" && echo -n "$subnet "
-                               network_get_subnet6 subnet "$net" && echo -n "$subnet "
-                       }
-
+                       network_is_up $net || continue
+                       network_get_device device "$net"
                        echo -n "${device:-$net} "
                done
        )
@@ -93,26 +88,28 @@ init_config() {
        config_foreach smb_add_share sambashare
 }
 
-reload_service() {
-       init_config
-
-       killall -HUP smbd
-}
-
 service_triggers() {
        procd_add_reload_trigger samba
+
+       local i
+       for i in $samba_iface; do
+               procd_add_reload_interface_trigger $i
+       done
 }
 
 start_service() {
        init_config
 
        procd_open_instance
+       procd_add_mdns "smb" "tcp" "445"
        procd_set_param command /usr/sbin/smbd -F
        procd_set_param respawn
+       procd_set_param file /var/etc/smb.conf
        procd_close_instance
 
        procd_open_instance
        procd_set_param command /usr/sbin/nmbd -F
        procd_set_param respawn
+       procd_set_param file /var/etc/smb.conf
        procd_close_instance
 }