OpenWrt – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | #!/bin/sh /etc/rc.common |
2 | # Copyright (c) 2014 OpenWrt.org |
||
3 | |||
4 | START=80 |
||
5 | |||
6 | USE_PROCD=1 |
||
7 | PROG=/usr/sbin/umdns |
||
8 | IFACES="" |
||
9 | |||
10 | load_ifaces() { |
||
11 | local network="$(uci get umdns.@umdns[-1].network)" |
||
12 | for n in $network; do |
||
13 | local device |
||
14 | json_load "$(ifstatus $n)" |
||
15 | json_get_var device l3_device |
||
16 | echo -n "$device " |
||
17 | done |
||
18 | } |
||
19 | |||
20 | reload_service() { |
||
21 | json_init |
||
22 | json_add_array interfaces |
||
23 | for i in $(load_ifaces); do |
||
24 | json_add_string "" "$i" |
||
25 | done |
||
26 | json_close_array |
||
27 | |||
28 | ubus call umdns set_config "$(json_dump)" |
||
29 | } |
||
30 | |||
31 | start_service() { |
||
32 | local network="$(uci get umdns.@umdns[-1].network)" |
||
33 | |||
34 | procd_open_instance |
||
35 | procd_set_param command "$PROG" |
||
36 | procd_set_param seccomp /etc/seccomp/umdns.json |
||
37 | procd_set_param respawn |
||
38 | procd_open_trigger |
||
39 | procd_add_config_trigger "config.change" "umdns" /etc/init.d/umdns reload |
||
40 | for n in $network; do |
||
41 | procd_add_interface_trigger "interface.*" $n /etc/init.d/umdns reload |
||
42 | done |
||
43 | procd_add_raw_trigger "instance.update" 5000 "/bin/ubus" "call" "umdns" "reload" |
||
44 | procd_close_trigger |
||
45 | [ "$(uci get umdns.@umdns[-1].jail)" = 1 ] && procd_add_jail umdns ubus log |
||
46 | procd_close_instance |
||
47 | } |
||
48 | |||
49 | service_started() { |
||
50 | ubus -t 10 wait_for umdns |
||
51 | [ $? = 0 ] && reload_service |
||
52 | } |