bird: explicitly set C standard
[feed/routing.git] / hnetd / files / hnetd.init
1 #!/bin/sh /etc/rc.common
2
3 # XXX - is there something that should cause reload? or can we just
4 # use info from netifd and let it handle dynamic changes? let's hope
5 # so..
6
7 START=90
8 STOP=10
9 USE_PROCD=1
10
11 DNSMASQ_DIR=/tmp/dnsmasq.d
12 DNSMASQ_SCRIPT=/etc/init.d/dnsmasq
13 OHP_SCRIPT=/usr/sbin/hnetd-ohp-script
14 OHP_BINARY=/usr/sbin/ohybridproxy
15 PCP_SCRIPT=/usr/sbin/hnetd-pcp-script
16 PCP_BINARY=/usr/sbin/minimalist-pcproxy
17 MULTICAST_SCRIPT=/usr/sbin/hnet-multicast
18
19 start_service() {
20 . /lib/functions.sh
21 . /lib/functions/network.sh
22 config_load hnet
23
24 mkdir -p $DNSMASQ_DIR
25 procd_open_instance
26 procd_set_param command /usr/sbin/hnetd
27
28 # SD parts are here (make configurable?)
29 if [ -f $OHP_BINARY -a -f $DNSMASQ_SCRIPT ]
30 then
31 mkdir -p $DNSMASQ_DIR
32 procd_append_param command -d $DNSMASQ_SCRIPT
33 procd_append_param command -f $DNSMASQ_DIR/hnet.conf
34 procd_append_param command -o $OHP_SCRIPT
35 HOSTNAME=`cat /proc/sys/kernel/hostname`
36 if [ -n "$HOSTNAME" ]
37 then
38 procd_append_param command -n "$HOSTNAME"
39 fi
40 fi
41
42 # Enable multicast if present and installed
43 if [ -f "$MULTICAST_SCRIPT" ]
44 then
45 $MULTICAST_SCRIPT status && procd_append_param command -M "$MULTICAST_SCRIPT"
46 fi
47
48 # Enable PCP, if it's present
49 if [ -f $PCP_BINARY -a -f $PCP_SCRIPT ]
50 then
51 procd_append_param command -c $PCP_SCRIPT
52 fi
53
54 # State file
55 config_get val pa persistent_store
56 procd_append_param command -s ${val:-/tmp/hnetd.pa_state}
57
58 # Routing script
59 procd_append_param command -r /usr/sbin/hnetd-routing
60
61 [ -x /usr/sbin/hnetd-tunnel ] && \
62 procd_append_param command -t /usr/sbin/hnetd-tunnel
63
64 # Prefix assignment (pa)
65 config_get val pa ip4prefix
66 [ -n "$val" ] && procd_append_param command --ip4prefix $val
67
68 config_get val pa ulaprefix
69 [ -n "$val" ] && procd_append_param command --ulaprefix $val
70
71 config_get val pa ulamode
72 [ -n "$val" ] && procd_append_param command --ulamode $val
73
74 # Service discovery (sd)
75 config_get val sd router_name
76 [ -n "$val" ] && procd_append_param command -n $val
77
78 config_get val sd domain_name
79 [ -n "$val" ] && procd_append_param command -m $val
80
81 # Security (needs security-enabled build)
82 config_get val security password
83 [ -n "$val" ] && procd_append_param command --password $val
84
85 config_get val security certificate_file
86 [ -n "$val" ] && procd_append_param command --certificate $val
87
88 config_get val security private_key_file
89 [ -n "$val" ] && procd_append_param command --privatekey $val
90
91 config_get val security trust_store
92 [ -n "$val" ] && procd_append_param command --trust $val
93
94 config_get val security trust_certificate_file
95 [ -n "$val" ] && procd_append_param command --verify-path $val
96
97 # For more verbose logging, uncomment this:
98 #procd_append_param command --loglevel 7
99
100 procd_set_param respawn
101 procd_close_instance
102 }
103
104 service_triggers() {
105 procd_add_reload_trigger "hnet"
106 }