contrib/imagebuilder: Cleanups, seperate basic and network config of firewall and...
[project/luci.git] / contrib / package / meshwizard / files / usr / bin / meshwizard / helpers / setup_olsrd.sh
1 #!/bin/sh
2 # Sets up olsrd
3
4 . /etc/functions.sh
5 . $dir/functions.sh
6
7 # Rename interface defaults
8
9 handle_interfacedefaults() {
10 if [ -z "${1/cfg[0-9a-fA-F]*/}" ]; then
11 section_rename olsrd $1 InterfaceDefaults
12 fi
13 }
14 config_load olsrd
15 config_foreach handle_interfacedefaults InterfaceDefaults
16
17 # Setup new InterfaceDefaults
18 uci set olsrd.InterfaceDefaults=InterfaceDefaults
19 set_defaults "olsr_interfacedefaults_" olsrd.InterfaceDefaults
20 uci_commitverbose "Setup olsr interface defaults" olsrd
21
22 # Rename nameservice, dyngw and httpinfo plugins
23
24 handle_plugin() {
25 config_get library "$1" library
26 if [ -z "${1/cfg[0-9a-fA-F]*/}" ]; then
27 new="$(echo $library | cut -d '.' -f 1)"
28 section_rename olsrd $1 $new
29 fi
30 }
31 config_foreach handle_plugin LoadPlugin
32
33 # Setup nameservice plugin
34 if [ -n "$profile_suffix" ]; then
35 suffix=".$profile_suffix"
36 else
37 suffix=".olsr"
38 fi
39 uci batch << EOF
40 set olsrd.olsrd_nameservice=LoadPlugin
41 set olsrd.olsrd_nameservice.library="olsrd_nameservice.so.0.3"
42 set olsrd.olsrd_nameservice.latlon_file="/var/run/latlon.js"
43 set olsrd.olsrd_nameservice.hosts_file="/var/etc/hosts.olsr"
44 set olsrd.olsrd_nameservice.sighup_pid_file="/var/run/dnsmasq.pid"
45 set olsrd.olsrd_nameservice.suffix="$suffix"
46 EOF
47
48 uci_commitverbose "Setup olsr nameservice plugin" olsrd
49
50 # Setup dyngw_plain
51
52 # If Sharing of Internet is enabled then enable dyngw_plain plugin
53 sharenet=$(uci -q get meshwizard.general.sharenet)
54
55 if [ "$sharenet" == 1 ]; then
56 uci set olsrd.dyngw_plain=LoadPlugin
57 uci set olsrd.dyngw_plain.ignore=0
58 uci set olsrd.dyngw_plain.library="olsrd_dyn_gw_plain.so.0.4"
59
60 uci_commitverbose "Setup olsrd_dyngw_plain plugin" olsrd
61 fi