contrib/meshwizard: Enable policyrouting when internet sharing is not enabled
authorManuel Munz <freifunk@somakoma.de>
Sat, 29 Oct 2011 21:19:05 +0000 (21:19 +0000)
committerManuel Munz <freifunk@somakoma.de>
Sat, 29 Oct 2011 21:19:05 +0000 (21:19 +0000)
contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/read_defaults.sh
contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/setup_olsrd.sh
contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/setup_policyrouting.sh [new file with mode: 0755]
contrib/package/meshwizard/files/usr/bin/meshwizard/wizard.sh

index f58af24219fb6e9144801672c4b4bf0ec0c99ed8..69fd48b92f187fddbacb216c12477430f99e5a27 100755 (executable)
@@ -20,6 +20,6 @@ for v in system wifi_device wifi_iface interface alias dhcp olsr_interface olsr_
 done
 
 # read values from meshwizard
-for v in system luci_main contact community wan lan; do
+for v in system luci_main contact community wan lan general; do
         get_var meshwizard.$v
 done
index b4de9ce1944d388caf2a48796567616a866535d8..f06156a5f3864d2714eb889cfe8881b6f14aa840 100755 (executable)
@@ -50,9 +50,8 @@ uci_commitverbose "Setup olsr nameservice plugin" olsrd
 # Setup dyngw_plain
 
 # If Sharing of Internet is enabled then enable dyngw_plain plugin
-sharenet=$(uci -q get meshwizard.general.sharenet)
 
-if [ "$sharenet" == 1 ]; then
+if [ "$general_sharenet" == 1 ]; then
        uci set olsrd.dyngw_plain=LoadPlugin
        uci set olsrd.dyngw_plain.ignore=0
        uci set olsrd.dyngw_plain.library="olsrd_dyn_gw_plain.so.0.4"
diff --git a/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/setup_policyrouting.sh b/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/setup_policyrouting.sh
new file mode 100755 (executable)
index 0000000..f898bd6
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+. $dir/functions.sh
+
+uci batch << EOF
+       set freifunk-policyrouting.pr.enable=1
+       set freifunk-policyrouting.pr.strict=1
+       set freifunk-policyrouting.pr.zones="freifunk"
+EOF
+
+uci_commitverbose "Setup policyrouting" freifunk-policyrouting
index 7d389a20f6c14dd1036e4799b2e824d45dfc5de6..73eddc4dfa2809137417286a8800e1ac97491ac0 100755 (executable)
@@ -67,6 +67,13 @@ if [ "$lan_proto" == "static" ] && [ -n "$lan_ip4addr" ] && [ -n "$lan_netmask"
        $dir/helpers/setup_lan_static.sh
 fi
 
+# Setup policyrouting if internet sharing is disabled and wan is not used for olsrd
+# Always disable it first to make sure its disabled when the user decied to share his internet
+uci set freifunk-policyrouting.pr.enable=0
+if [ ! "$sharenet" == 1 ] && [ ! "$(uci -q get meshwizard.netconfig.wan_proto)" == "olsr" ]; then
+       $dir/helpers/setup_policyrouting.sh
+fi
+
 # Configure found networks
 for net in $networks; do
        # radioX devices need to be renamed