contrib/freifunk-policyrouting: Fix deletion of rules; add fallback option to use...
authorManuel Munz <freifunk@somakoma.de>
Sun, 1 Jul 2012 00:01:38 +0000 (00:01 +0000)
committerManuel Munz <freifunk@somakoma.de>
Sun, 1 Jul 2012 00:01:38 +0000 (00:01 +0000)
26 files changed:
applications/luci-freifunk-policyrouting/luasrc/model/cbi/freifunk/policyrouting.lua
contrib/package/freifunk-policyrouting/files/etc/config/freifunk-policyrouting
contrib/package/freifunk-policyrouting/files/etc/hotplug.d/iface/30-policyrouting
po/ca/freifunk-policyrouting.po
po/cs/freifunk-policyrouting.po
po/de/freifunk-policyrouting.po
po/el/freifunk-policyrouting.po
po/en/freifunk-policyrouting.po
po/es/freifunk-policyrouting.po
po/fr/freifunk-policyrouting.po
po/he/freifunk-policyrouting.po
po/hu/freifunk-policyrouting.po
po/it/freifunk-policyrouting.po
po/ja/freifunk-policyrouting.po
po/ms/freifunk-policyrouting.po
po/no/freifunk-policyrouting.po
po/pl/freifunk-policyrouting.po
po/pt/freifunk-policyrouting.po
po/pt_BR/freifunk-policyrouting.po
po/ro/freifunk-policyrouting.po
po/ru/freifunk-policyrouting.po
po/templates/freifunk-policyrouting.pot
po/tr/freifunk-policyrouting.po
po/uk/freifunk-policyrouting.po
po/vi/freifunk-policyrouting.po
po/zh_CN/freifunk-policyrouting.po

index b3cac9a10a7b1079ae44cb8e71b398f57304f0eb..4361eb782d4b1765c6c93450ca670c1b63c9f642 100644 (file)
@@ -28,6 +28,10 @@ local strict = c:option(Flag, "strict", translate("Strict Filtering"), translate
        "select this option."))
 strict.rmempty = false
 
+local fallback = c:option(Flag, "fallback", translate("Fallback to mesh"),
+       translate("If your own gateway is not available then fallback to the mesh default gateway."))
+strict.rmempty = false
+
 local zones = c:option(MultiValue, "zones", translate("Firewall zones"), translate("All traffic from interfaces belonging to these zones will be sent via "..
        "a gateway in the mesh network."))
 uci:foreach("firewall", "zone", function(section)
index ba58625bc196bcdef502987f0815ae535ca8b287..3dd2998f9fe856d6fc3b1f3b2f964bbafb058a99 100644 (file)
@@ -2,5 +2,6 @@
 config 'settings' 'pr'
        option 'enable' '0'
        option 'strict' '1'
+        option 'fallback' '1'
        option 'zones' ''
 
index acce981130b82a96e4b6cdd7f696d4e62ccc7c23..dc5e69e594d3ef67cbc90f09225d3458798ebbf5 100644 (file)
@@ -1,10 +1,11 @@
 [ "$INTERFACE" != "wan" ] && exit 0
+[ -f /proc/net/ipv6_route ] && has_ipv6=1
 
 case $ACTION in
         ifup)
-               pr=`uci get freifunk-policyrouting.pr.enable`
+               pr="`uci get freifunk-policyrouting.pr.enable`"
+               fallback="`uci get freifunk-policyrouting.pr.fallback`"
                # check if ipv6 is enabled:
-               [ -f /proc/net/ipv6_route ] && has_ipv6=1
 
                if [ $pr = "1" ]; then
                        logger -t policyrouting "Starting policy routing on $INTERFACE"
@@ -58,24 +59,30 @@ case $ACTION in
                        ip route add $NETWORK/$NETMASK dev $device table default
                        ip route add default via $gw dev $device table default
 
-                       #if [ "$has_ipv6" = 1 ]; then
-                       #       local ip6gw=$(ip -6 r |grep default |cut -d " " -f 3)
-                       #       test -n "`ip -6 r s t default`" && ip -6 r d default t default
-                       #       test -n "`ip -6 r s |grep default`" && ip -6 route del default
-                       #       ip -6 r a $ip6gw via $ip6gw dev $dev table default
-                       #       ip -6 route add default via $ip6gw dev $device table default
-                       #fi
-
+                       if [ "$has_ipv6" = 1 ]; then
+                               local ip6gw=$(ip -6 r |grep default |cut -d " " -f 3)
+                               test -n "`ip -6 r s t default`" && ip -6 r d default t default
+                               if [ -n "`ip -6 r s |grep default`" ]; then
+                                       ip -6 route del default
+                                       ip -6 r a $ip6gw via $ip6gw dev $dev table default
+                                       ip -6 route add default via $ip6gw dev $device table default
+                               fi
+                       fi
 
                        ip rule del lookup main
                        ip rule add fwmark 1 lookup olsr-default
                        ip rule add lookup main
                        ip rule add lookup olsr
+                        # Fallback via mesh if no ipv4 gateway is found in default table
+                       [ "$fallback" = 1 ] && ip rule add lookup olsr-default prio 32800
+
                        if [ "$has_ipv6" = 1 ]; then
                                ip -6 rule del lookup main
-                               ip -6 rule add fwmark 1 lookup olsr-default prio 16385
-                               ip -6 rule add lookup main prio 16383
                                ip -6 rule add lookup olsr prio 16380
+                               ip -6 rule add lookup main prio 16390
+                               ip -6 rule add fwmark 1 lookup olsr-default prio 16400
+                               ip -6 rule add lookup default prio 16410
+                               [ "$fallback" = 1 ] && ip -6 rule add lookup olsr-default prio 16420
                        fi
                else
                        # Remove custom routing tables from olsrd
@@ -89,12 +96,16 @@ case $ACTION in
        ;;
 
        ifdown)
-       logger -t policyrouting "Deleting policy rules for $INTERFACE"
+       logger -t policyrouting "Deleting ipv4 policy rules for $INTERFACE"
        ip rule del fwmark 1 lookup olsr-default > /dev/null 2>&1
+       ip rule del lookup olsr-default > /dev/null 2>&1
        ip rule del lookup olsr > /dev/null 2>&1
        if [ "$has_ipv6" = 1 ]; then
+               logger -t policyrouting "Deleting ipv4 policy rules for $INTERFACE"
                ip -6 rule del fwmark 1 lookup olsr-default > /dev/null 2>&1
-               ip -6 rule del lookup olsr      > /dev/null 2>&1
+               ip -6 rule del lookup olsr-default > /dev/null 2>&1
+               ip -6 rule del lookup olsr > /dev/null 2>&1
+                ip -6 rule del lookup default  > /dev/null 2>&1
        fi
        ;;
 esac
index b739057fb07576b00329da183ca2a810d18e8006..3c9a17e0d4b13ce546920721320982d1319970b7 100644 (file)
@@ -6,6 +6,9 @@ msgstr ""
 msgid "Enable Policy Routing"
 msgstr ""
 
+msgid "Fallback to mesh"
+msgstr ""
+
 msgid "Firewall zones"
 msgstr ""
 
@@ -16,6 +19,11 @@ msgid ""
 "traffic then you should select this option."
 msgstr ""
 
+msgid ""
+"If your own gateway is not available then fallback to the mesh default "
+"gateway."
+msgstr ""
+
 msgid "Policy Routing"
 msgstr ""
 
index 542c104071f6f613897859cd5545be09f970c97f..d0fd884b3e0144b247d55c4ab7c1b908accbe892 100644 (file)
@@ -3,6 +3,7 @@ msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -15,6 +16,9 @@ msgstr ""
 msgid "Enable Policy Routing"
 msgstr ""
 
+msgid "Fallback to mesh"
+msgstr ""
+
 msgid "Firewall zones"
 msgstr "Zóny firewallu"
 
@@ -25,6 +29,11 @@ msgid ""
 "traffic then you should select this option."
 msgstr ""
 
+msgid ""
+"If your own gateway is not available then fallback to the mesh default "
+"gateway."
+msgstr ""
+
 msgid "Policy Routing"
 msgstr ""
 
index 44bb15162e45bd2dcbc3066e8c0bf0321c05a184..f62cb82a72dd1a427cab99b46882d16c8895193b 100644 (file)
@@ -5,10 +5,10 @@ msgstr ""
 "PO-Revision-Date: \n"
 "Last-Translator: Manuel Munz <freifunk@somakoma.de>\n"
 "Language-Team: \n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
 
 msgid ""
 "All traffic from interfaces belonging to these zones will be sent via a "
@@ -20,6 +20,9 @@ msgstr ""
 msgid "Enable Policy Routing"
 msgstr "Policy Routing aktivieren"
 
+msgid "Fallback to mesh"
+msgstr ""
+
 msgid "Firewall zones"
 msgstr "Firewallzonen"
 
@@ -34,6 +37,11 @@ msgstr ""
 "Routers geleitet. Wenn das nicht gewünscht ist und dieser Traffic dann "
 "stattdessen geblockt werden soll, dann aktiviere diese Option."
 
+msgid ""
+"If your own gateway is not available then fallback to the mesh default "
+"gateway."
+msgstr ""
+
 msgid "Policy Routing"
 msgstr "Policy Routing"
 
index b739057fb07576b00329da183ca2a810d18e8006..3c9a17e0d4b13ce546920721320982d1319970b7 100644 (file)
@@ -6,6 +6,9 @@ msgstr ""
 msgid "Enable Policy Routing"
 msgstr ""
 
+msgid "Fallback to mesh"
+msgstr ""
+
 msgid "Firewall zones"
 msgstr ""
 
@@ -16,6 +19,11 @@ msgid ""
 "traffic then you should select this option."
 msgstr ""
 
+msgid ""
+"If your own gateway is not available then fallback to the mesh default "
+"gateway."
+msgstr ""
+
 msgid "Policy Routing"
 msgstr ""
 
index b739057fb07576b00329da183ca2a810d18e8006..3c9a17e0d4b13ce546920721320982d1319970b7 100644 (file)
@@ -6,6 +6,9 @@ msgstr ""
 msgid "Enable Policy Routing"
 msgstr ""
 
+msgid "Fallback to mesh"
+msgstr ""
+
 msgid "Firewall zones"
 msgstr ""
 
@@ -16,6 +19,11 @@ msgid ""
 "traffic then you should select this option."
 msgstr ""
 
+msgid ""
+"If your own gateway is not available then fallback to the mesh default "
+"gateway."
+msgstr ""
+
 msgid "Policy Routing"
 msgstr ""
 
index b739057fb07576b00329da183ca2a810d18e8006..3c9a17e0d4b13ce546920721320982d1319970b7 100644 (file)
@@ -6,6 +6,9 @@ msgstr ""
 msgid "Enable Policy Routing"
 msgstr ""
 
+msgid "Fallback to mesh"
+msgstr ""
+
 msgid "Firewall zones"
 msgstr ""
 
@@ -16,6 +19,11 @@ msgid ""
 "traffic then you should select this option."
 msgstr ""
 
+msgid ""
+"If your own gateway is not available then fallback to the mesh default "
+"gateway."
+msgstr ""
+
 msgid "Policy Routing"
 msgstr ""
 
index b739057fb07576b00329da183ca2a810d18e8006..3c9a17e0d4b13ce546920721320982d1319970b7 100644 (file)
@@ -6,6 +6,9 @@ msgstr ""
 msgid "Enable Policy Routing"
 msgstr ""
 
+msgid "Fallback to mesh"
+msgstr ""
+
 msgid "Firewall zones"
 msgstr ""
 
@@ -16,6 +19,11 @@ msgid ""
 "traffic then you should select this option."
 msgstr ""
 
+msgid ""
+"If your own gateway is not available then fallback to the mesh default "
+"gateway."
+msgstr ""
+
 msgid "Policy Routing"
 msgstr ""
 
index 7dc4555e71f9d4cc11c16d81842d9956ceb95fc2..8d83098d6fccc40428101de6c29d2f47074f768c 100644 (file)
@@ -3,6 +3,7 @@ msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -16,6 +17,9 @@ msgstr ""
 msgid "Enable Policy Routing"
 msgstr ""
 
+msgid "Fallback to mesh"
+msgstr ""
+
 msgid "Firewall zones"
 msgstr ""
 
@@ -26,6 +30,11 @@ msgid ""
 "traffic then you should select this option."
 msgstr ""
 
+msgid ""
+"If your own gateway is not available then fallback to the mesh default "
+"gateway."
+msgstr ""
+
 msgid "Policy Routing"
 msgstr ""
 
index 7dc4555e71f9d4cc11c16d81842d9956ceb95fc2..8d83098d6fccc40428101de6c29d2f47074f768c 100644 (file)
@@ -3,6 +3,7 @@ msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -16,6 +17,9 @@ msgstr ""
 msgid "Enable Policy Routing"
 msgstr ""
 
+msgid "Fallback to mesh"
+msgstr ""
+
 msgid "Firewall zones"
 msgstr ""
 
@@ -26,6 +30,11 @@ msgid ""
 "traffic then you should select this option."
 msgstr ""
 
+msgid ""
+"If your own gateway is not available then fallback to the mesh default "
+"gateway."
+msgstr ""
+
 msgid "Policy Routing"
 msgstr ""
 
index b739057fb07576b00329da183ca2a810d18e8006..3c9a17e0d4b13ce546920721320982d1319970b7 100644 (file)
@@ -6,6 +6,9 @@ msgstr ""
 msgid "Enable Policy Routing"
 msgstr ""
 
+msgid "Fallback to mesh"
+msgstr ""
+
 msgid "Firewall zones"
 msgstr ""
 
@@ -16,6 +19,11 @@ msgid ""
 "traffic then you should select this option."
 msgstr ""
 
+msgid ""
+"If your own gateway is not available then fallback to the mesh default "
+"gateway."
+msgstr ""
+
 msgid "Policy Routing"
 msgstr ""
 
index b739057fb07576b00329da183ca2a810d18e8006..3c9a17e0d4b13ce546920721320982d1319970b7 100644 (file)
@@ -6,6 +6,9 @@ msgstr ""
 msgid "Enable Policy Routing"
 msgstr ""
 
+msgid "Fallback to mesh"
+msgstr ""
+
 msgid "Firewall zones"
 msgstr ""
 
@@ -16,6 +19,11 @@ msgid ""
 "traffic then you should select this option."
 msgstr ""
 
+msgid ""
+"If your own gateway is not available then fallback to the mesh default "
+"gateway."
+msgstr ""
+
 msgid "Policy Routing"
 msgstr ""
 
index b739057fb07576b00329da183ca2a810d18e8006..3c9a17e0d4b13ce546920721320982d1319970b7 100644 (file)
@@ -6,6 +6,9 @@ msgstr ""
 msgid "Enable Policy Routing"
 msgstr ""
 
+msgid "Fallback to mesh"
+msgstr ""
+
 msgid "Firewall zones"
 msgstr ""
 
@@ -16,6 +19,11 @@ msgid ""
 "traffic then you should select this option."
 msgstr ""
 
+msgid ""
+"If your own gateway is not available then fallback to the mesh default "
+"gateway."
+msgstr ""
+
 msgid "Policy Routing"
 msgstr ""
 
index b739057fb07576b00329da183ca2a810d18e8006..3c9a17e0d4b13ce546920721320982d1319970b7 100644 (file)
@@ -6,6 +6,9 @@ msgstr ""
 msgid "Enable Policy Routing"
 msgstr ""
 
+msgid "Fallback to mesh"
+msgstr ""
+
 msgid "Firewall zones"
 msgstr ""
 
@@ -16,6 +19,11 @@ msgid ""
 "traffic then you should select this option."
 msgstr ""
 
+msgid ""
+"If your own gateway is not available then fallback to the mesh default "
+"gateway."
+msgstr ""
+
 msgid "Policy Routing"
 msgstr ""
 
index b739057fb07576b00329da183ca2a810d18e8006..3c9a17e0d4b13ce546920721320982d1319970b7 100644 (file)
@@ -6,6 +6,9 @@ msgstr ""
 msgid "Enable Policy Routing"
 msgstr ""
 
+msgid "Fallback to mesh"
+msgstr ""
+
 msgid "Firewall zones"
 msgstr ""
 
@@ -16,6 +19,11 @@ msgid ""
 "traffic then you should select this option."
 msgstr ""
 
+msgid ""
+"If your own gateway is not available then fallback to the mesh default "
+"gateway."
+msgstr ""
+
 msgid "Policy Routing"
 msgstr ""
 
index b739057fb07576b00329da183ca2a810d18e8006..3c9a17e0d4b13ce546920721320982d1319970b7 100644 (file)
@@ -6,6 +6,9 @@ msgstr ""
 msgid "Enable Policy Routing"
 msgstr ""
 
+msgid "Fallback to mesh"
+msgstr ""
+
 msgid "Firewall zones"
 msgstr ""
 
@@ -16,6 +19,11 @@ msgid ""
 "traffic then you should select this option."
 msgstr ""
 
+msgid ""
+"If your own gateway is not available then fallback to the mesh default "
+"gateway."
+msgstr ""
+
 msgid "Policy Routing"
 msgstr ""
 
index acb5415149502fd81f24c22c4a4f204693f34d28..c401c3fc80af58c597e37ad1297693208b7e74bb 100644 (file)
@@ -6,10 +6,10 @@ msgstr ""
 "PO-Revision-Date: 2011-10-18 22:26+0200\n"
 "Last-Translator: Luiz Angelo <luizluca@gmail.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: pt_BR\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: pt_BR\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 "X-Generator: Pootle 2.0.4\n"
 
@@ -23,6 +23,9 @@ msgstr ""
 msgid "Enable Policy Routing"
 msgstr "Habilitar a Política de Roteamento"
 
+msgid "Fallback to mesh"
+msgstr ""
+
 msgid "Firewall zones"
 msgstr "Zonas do firewall"
 
@@ -37,6 +40,11 @@ msgstr ""
 "como solução de contorno. Se você não quer isto e, ao contrário, deseja "
 "bloquear este tráfego, então você deve selecionar esta opção."
 
+msgid ""
+"If your own gateway is not available then fallback to the mesh default "
+"gateway."
+msgstr ""
+
 msgid "Policy Routing"
 msgstr "Política de Roteamento"
 
index f0cfcdb06814cbb542447da61a6ce423b4040d27..f1432d670c2d464113654b02960b09c1d8c1e108 100644 (file)
@@ -3,6 +3,7 @@ msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -17,6 +18,9 @@ msgstr ""
 msgid "Enable Policy Routing"
 msgstr ""
 
+msgid "Fallback to mesh"
+msgstr ""
+
 msgid "Firewall zones"
 msgstr ""
 
@@ -27,6 +31,11 @@ msgid ""
 "traffic then you should select this option."
 msgstr ""
 
+msgid ""
+"If your own gateway is not available then fallback to the mesh default "
+"gateway."
+msgstr ""
+
 msgid "Policy Routing"
 msgstr ""
 
index 78c3711403f19139b40969062114ea57b820cd5e..528ab082f35bbd2d218497ad997952b2ebfd020d 100644 (file)
@@ -6,12 +6,12 @@ msgstr ""
 "PO-Revision-Date: 2011-07-25 12:52+0200\n"
 "Last-Translator: Kamal <kamal.aliev@epscom.ru>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ru\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: ru\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
-"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 "X-Generator: Pootle 2.0.4\n"
 
 msgid ""
@@ -24,6 +24,9 @@ msgstr ""
 msgid "Enable Policy Routing"
 msgstr "Разрешить политику маршрутизации"
 
+msgid "Fallback to mesh"
+msgstr ""
+
 msgid "Firewall zones"
 msgstr "Зоны межсетевого экрана"
 
@@ -38,6 +41,11 @@ msgstr ""
 "ячеистой сети. Если Вас это не устраивает, то выберите эту опцию и данный "
 "траффик будет заблокирован."
 
+msgid ""
+"If your own gateway is not available then fallback to the mesh default "
+"gateway."
+msgstr ""
+
 msgid "Policy Routing"
 msgstr "Политика маршрутизации"
 
index c9465d4cf88786d0d644fba10dd8313a167499ba..b4c35c177c33066fd154634881c7a72cd6a60c24 100644 (file)
@@ -9,6 +9,9 @@ msgstr ""
 msgid "Enable Policy Routing"
 msgstr ""
 
+msgid "Fallback to mesh"
+msgstr ""
+
 msgid "Firewall zones"
 msgstr ""
 
@@ -19,6 +22,11 @@ msgid ""
 "traffic then you should select this option."
 msgstr ""
 
+msgid ""
+"If your own gateway is not available then fallback to the mesh default "
+"gateway."
+msgstr ""
+
 msgid "Policy Routing"
 msgstr ""
 
index bb4af24c3524cada753b2cb99a1d45b4aacaaf78..af1616fa485792eff733efa96db608c52e26e814 100644 (file)
@@ -3,6 +3,7 @@ msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -16,6 +17,9 @@ msgstr ""
 msgid "Enable Policy Routing"
 msgstr ""
 
+msgid "Fallback to mesh"
+msgstr ""
+
 msgid "Firewall zones"
 msgstr ""
 
@@ -26,6 +30,11 @@ msgid ""
 "traffic then you should select this option."
 msgstr ""
 
+msgid ""
+"If your own gateway is not available then fallback to the mesh default "
+"gateway."
+msgstr ""
+
 msgid "Policy Routing"
 msgstr ""
 
index 9e416e04a478c9bc6c50c19c16c0932a78b088f4..a378cef4f22879bdee9567deb677abbfa39c744a 100644 (file)
@@ -3,11 +3,12 @@ msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
-"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
 msgid ""
 "All traffic from interfaces belonging to these zones will be sent via a "
@@ -17,6 +18,9 @@ msgstr ""
 msgid "Enable Policy Routing"
 msgstr ""
 
+msgid "Fallback to mesh"
+msgstr ""
+
 msgid "Firewall zones"
 msgstr ""
 
@@ -27,6 +31,11 @@ msgid ""
 "traffic then you should select this option."
 msgstr ""
 
+msgid ""
+"If your own gateway is not available then fallback to the mesh default "
+"gateway."
+msgstr ""
+
 msgid "Policy Routing"
 msgstr ""
 
index b739057fb07576b00329da183ca2a810d18e8006..3c9a17e0d4b13ce546920721320982d1319970b7 100644 (file)
@@ -6,6 +6,9 @@ msgstr ""
 msgid "Enable Policy Routing"
 msgstr ""
 
+msgid "Fallback to mesh"
+msgstr ""
+
 msgid "Firewall zones"
 msgstr ""
 
@@ -16,6 +19,11 @@ msgid ""
 "traffic then you should select this option."
 msgstr ""
 
+msgid ""
+"If your own gateway is not available then fallback to the mesh default "
+"gateway."
+msgstr ""
+
 msgid "Policy Routing"
 msgstr ""
 
index b739057fb07576b00329da183ca2a810d18e8006..3c9a17e0d4b13ce546920721320982d1319970b7 100644 (file)
@@ -6,6 +6,9 @@ msgstr ""
 msgid "Enable Policy Routing"
 msgstr ""
 
+msgid "Fallback to mesh"
+msgstr ""
+
 msgid "Firewall zones"
 msgstr ""
 
@@ -16,6 +19,11 @@ msgid ""
 "traffic then you should select this option."
 msgstr ""
 
+msgid ""
+"If your own gateway is not available then fallback to the mesh default "
+"gateway."
+msgstr ""
+
 msgid "Policy Routing"
 msgstr ""