diff options
Diffstat (limited to 'applications')
35 files changed, 766 insertions, 435 deletions
diff --git a/applications/luci-app-firewall/luasrc/model/cbi/firewall/zones.lua b/applications/luci-app-firewall/luasrc/model/cbi/firewall/zones.lua index 500e5078f4..2c5083a019 100644 --- a/applications/luci-app-firewall/luasrc/model/cbi/firewall/zones.lua +++ b/applications/luci-app-firewall/luasrc/model/cbi/firewall/zones.lua @@ -3,6 +3,7 @@ local ds = require "luci.dispatcher" local fw = require "luci.model.firewall" +local fs = require "nixio.fs" local m, s, o, p, i, v @@ -32,6 +33,28 @@ for i, v in ipairs(p) do v:value("ACCEPT", translate("accept")) end +-- Netfilter flow offload support + +local offload = fs.access("/sys/module/xt_FLOWOFFLOAD/refcnt") + +if offload then + s:option(DummyValue, "offload_advice", + translate("Routing/NAT Offloading"), + translate("Experimental feature. Not fully compatible with QoS/SQM.")) + + o = s:option(Flag, "flow_offloading", + translate("Software flow offloading"), + translate("Software based offloading for routing/NAT")) + o.optional = true + + o = s:option(Flag, "flow_offloading_hw", + translate("Hardware flow offloading"), + translate("Requires hardware NAT support. Implemented at least for mt7621")) + o.optional = true + o:depends( "flow_offloading", 1) +end + +-- Firewall zones s = m:section(TypedSection, "zone", translate("Zones")) s.template = "cbi/tblsection" diff --git a/applications/luci-app-firewall/po/ca/firewall.po b/applications/luci-app-firewall/po/ca/firewall.po index ff43427eed..2ccffca9a7 100644 --- a/applications/luci-app-firewall/po/ca/firewall.po +++ b/applications/luci-app-firewall/po/ca/firewall.po @@ -130,6 +130,9 @@ msgstr "Habilita protecció contra la inundació SYN" msgid "Enable logging on this zone" msgstr "Habilita el registre d'aquesta zona" +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "" + msgid "External IP address" msgstr "Adreça IP extern" @@ -181,6 +184,9 @@ msgstr "Des de %s en %s amb orígens %s i %s" msgid "General Settings" msgstr "Ajusts generals" +msgid "Hardware flow offloading" +msgstr "" + msgid "IP" msgstr "" @@ -337,6 +343,9 @@ msgstr "" msgid "Refuse input" msgstr "" +msgid "Requires hardware NAT support. Implemented at least for mt7621" +msgstr "" + msgid "Restart Firewall" msgstr "" @@ -365,6 +374,9 @@ msgstr "Reescriu a l'origen %s" msgid "Rewrite to source %s, %s" msgstr "Reescriu als orígens %s, %s" +msgid "Routing/NAT Offloading" +msgstr "" + msgid "Rule is disabled" msgstr "" @@ -380,6 +392,12 @@ msgstr "Port SNAT" msgid "Saturday" msgstr "" +msgid "Software based offloading for routing/NAT" +msgstr "" + +msgid "Software flow offloading" +msgstr "" + msgid "Source IP address" msgstr "Adreça IP d'origen" diff --git a/applications/luci-app-firewall/po/cs/firewall.po b/applications/luci-app-firewall/po/cs/firewall.po index caa7e19988..4cbf356d0b 100644 --- a/applications/luci-app-firewall/po/cs/firewall.po +++ b/applications/luci-app-firewall/po/cs/firewall.po @@ -125,6 +125,9 @@ msgstr "Povolit ochranu proti SYN-flood" msgid "Enable logging on this zone" msgstr "Povolit logování v této oblasti" +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "" + msgid "External IP address" msgstr "Vnější IP adresa" @@ -176,6 +179,9 @@ msgstr "Z %s v %s se zdrojovou %s a %s" msgid "General Settings" msgstr "Obecné nastavení" +msgid "Hardware flow offloading" +msgstr "" + msgid "IP" msgstr "" @@ -334,6 +340,9 @@ msgstr "" msgid "Refuse input" msgstr "" +msgid "Requires hardware NAT support. Implemented at least for mt7621" +msgstr "" + msgid "Restart Firewall" msgstr "" @@ -362,6 +371,9 @@ msgstr "Přepsat na zdrojovou %s" msgid "Rewrite to source %s, %s" msgstr "Přepsat na zdrojovou %s, %s" +msgid "Routing/NAT Offloading" +msgstr "" + msgid "Rule is disabled" msgstr "" @@ -377,6 +389,12 @@ msgstr "Port SNATu" msgid "Saturday" msgstr "" +msgid "Software based offloading for routing/NAT" +msgstr "" + +msgid "Software flow offloading" +msgstr "" + msgid "Source IP address" msgstr "Zdrojová IP adresa" diff --git a/applications/luci-app-firewall/po/de/firewall.po b/applications/luci-app-firewall/po/de/firewall.po index fcf8bec679..0ee6007dd6 100644 --- a/applications/luci-app-firewall/po/de/firewall.po +++ b/applications/luci-app-firewall/po/de/firewall.po @@ -128,6 +128,9 @@ msgstr "Schutz vor SYN-flood-Attacken" msgid "Enable logging on this zone" msgstr "Protokollierung innerhalb der Zone aktivieren" +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "" + msgid "External IP address" msgstr "Externe IP-Adresse" @@ -179,6 +182,9 @@ msgstr "Von %s in %s mit Quell-%s und %s" msgid "General Settings" msgstr "Allgemein" +msgid "Hardware flow offloading" +msgstr "" + msgid "IP" msgstr "" @@ -334,6 +340,9 @@ msgstr "" msgid "Refuse input" msgstr "" +msgid "Requires hardware NAT support. Implemented at least for mt7621" +msgstr "" + msgid "Restart Firewall" msgstr "" @@ -362,6 +371,9 @@ msgstr "Schreibe um auf Quell-%s" msgid "Rewrite to source %s, %s" msgstr "Schreibe um auf Quell-%s, %s" +msgid "Routing/NAT Offloading" +msgstr "" + msgid "Rule is disabled" msgstr "" @@ -377,6 +389,12 @@ msgstr "SNAT-Port" msgid "Saturday" msgstr "" +msgid "Software based offloading for routing/NAT" +msgstr "" + +msgid "Software flow offloading" +msgstr "" + msgid "Source IP address" msgstr "Quell-IP-Adresse" diff --git a/applications/luci-app-firewall/po/el/firewall.po b/applications/luci-app-firewall/po/el/firewall.po index 598927557b..9ddd4c9db1 100644 --- a/applications/luci-app-firewall/po/el/firewall.po +++ b/applications/luci-app-firewall/po/el/firewall.po @@ -126,6 +126,9 @@ msgstr "Προστασία SYN-flood" msgid "Enable logging on this zone" msgstr "" +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "" + msgid "External IP address" msgstr "Εξωτερική διεύθυνση IP" @@ -177,6 +180,9 @@ msgstr "" msgid "General Settings" msgstr "Γενικές Ρυθμίσεις" +msgid "Hardware flow offloading" +msgstr "" + msgid "IP" msgstr "" @@ -327,6 +333,9 @@ msgstr "" msgid "Refuse input" msgstr "" +msgid "Requires hardware NAT support. Implemented at least for mt7621" +msgstr "" + msgid "Restart Firewall" msgstr "" @@ -353,6 +362,9 @@ msgstr "" msgid "Rewrite to source %s, %s" msgstr "" +msgid "Routing/NAT Offloading" +msgstr "" + msgid "Rule is disabled" msgstr "" @@ -368,6 +380,12 @@ msgstr "" msgid "Saturday" msgstr "" +msgid "Software based offloading for routing/NAT" +msgstr "" + +msgid "Software flow offloading" +msgstr "" + #, fuzzy msgid "Source IP address" msgstr "Διεύθυνση MAC πηγής" diff --git a/applications/luci-app-firewall/po/en/firewall.po b/applications/luci-app-firewall/po/en/firewall.po index df1ed4a088..f0fe0b3782 100644 --- a/applications/luci-app-firewall/po/en/firewall.po +++ b/applications/luci-app-firewall/po/en/firewall.po @@ -122,6 +122,9 @@ msgstr "Enable SYN-flood protection" msgid "Enable logging on this zone" msgstr "" +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "" + msgid "External IP address" msgstr "" @@ -177,6 +180,9 @@ msgstr "" msgid "General Settings" msgstr "" +msgid "Hardware flow offloading" +msgstr "" + msgid "IP" msgstr "" @@ -327,6 +333,9 @@ msgstr "" msgid "Refuse input" msgstr "" +msgid "Requires hardware NAT support. Implemented at least for mt7621" +msgstr "" + msgid "Restart Firewall" msgstr "" @@ -353,6 +362,9 @@ msgstr "" msgid "Rewrite to source %s, %s" msgstr "" +msgid "Routing/NAT Offloading" +msgstr "" + msgid "Rule is disabled" msgstr "" @@ -368,6 +380,12 @@ msgstr "" msgid "Saturday" msgstr "" +msgid "Software based offloading for routing/NAT" +msgstr "" + +msgid "Software flow offloading" +msgstr "" + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Generated from applications/luci-fw/luasrc/model/cbi/luci_fw/rrule.lua # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # diff --git a/applications/luci-app-firewall/po/es/firewall.po b/applications/luci-app-firewall/po/es/firewall.po index bae8b693da..000853e9bd 100644 --- a/applications/luci-app-firewall/po/es/firewall.po +++ b/applications/luci-app-firewall/po/es/firewall.po @@ -129,6 +129,9 @@ msgstr "Activar protección a inundación-SYN" msgid "Enable logging on this zone" msgstr "Activar registro en esta zona" +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "" + msgid "External IP address" msgstr "Dirección IP externa" @@ -180,6 +183,9 @@ msgstr "Desde %s en %s con origen %s y %s" msgid "General Settings" msgstr "Configuración general" +msgid "Hardware flow offloading" +msgstr "" + msgid "IP" msgstr "" @@ -336,6 +342,9 @@ msgstr "" msgid "Refuse input" msgstr "" +msgid "Requires hardware NAT support. Implemented at least for mt7621" +msgstr "" + msgid "Restart Firewall" msgstr "" @@ -364,6 +373,9 @@ msgstr "Reescribir a origen %s" msgid "Rewrite to source %s, %s" msgstr "Reescribir a origen %s, %s" +msgid "Routing/NAT Offloading" +msgstr "" + msgid "Rule is disabled" msgstr "" @@ -379,6 +391,12 @@ msgstr "Puerto SNAT" msgid "Saturday" msgstr "" +msgid "Software based offloading for routing/NAT" +msgstr "" + +msgid "Software flow offloading" +msgstr "" + msgid "Source IP address" msgstr "Dirección IP origen" diff --git a/applications/luci-app-firewall/po/fr/firewall.po b/applications/luci-app-firewall/po/fr/firewall.po index 281999b550..74c28b8836 100644 --- a/applications/luci-app-firewall/po/fr/firewall.po +++ b/applications/luci-app-firewall/po/fr/firewall.po @@ -124,6 +124,9 @@ msgstr "Activer la protection contre le SYN-flood" msgid "Enable logging on this zone" msgstr "Activer les traces (logs) sur cette zone" +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "" + msgid "External IP address" msgstr "Adresse IP externe" @@ -179,6 +182,9 @@ msgstr "" msgid "General Settings" msgstr "Paramètres généraux" +msgid "Hardware flow offloading" +msgstr "" + msgid "IP" msgstr "" @@ -332,6 +338,9 @@ msgstr "" msgid "Refuse input" msgstr "" +msgid "Requires hardware NAT support. Implemented at least for mt7621" +msgstr "" + msgid "Restart Firewall" msgstr "" @@ -362,6 +371,9 @@ msgstr "" msgid "Rewrite to source %s, %s" msgstr "" +msgid "Routing/NAT Offloading" +msgstr "" + msgid "Rule is disabled" msgstr "" @@ -377,6 +389,12 @@ msgstr "Port SNAT" msgid "Saturday" msgstr "" +msgid "Software based offloading for routing/NAT" +msgstr "" + +msgid "Software flow offloading" +msgstr "" + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # applications/luci-fw/luasrc/model/cbi/luci_fw/rrule.lua # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # diff --git a/applications/luci-app-firewall/po/he/firewall.po b/applications/luci-app-firewall/po/he/firewall.po index 06952d4901..0416661c26 100644 --- a/applications/luci-app-firewall/po/he/firewall.po +++ b/applications/luci-app-firewall/po/he/firewall.po @@ -119,6 +119,9 @@ msgstr "" msgid "Enable logging on this zone" msgstr "" +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "" + msgid "External IP address" msgstr "" @@ -170,6 +173,9 @@ msgstr "" msgid "General Settings" msgstr "" +msgid "Hardware flow offloading" +msgstr "" + msgid "IP" msgstr "" @@ -317,6 +323,9 @@ msgstr "" msgid "Refuse input" msgstr "" +msgid "Requires hardware NAT support. Implemented at least for mt7621" +msgstr "" + msgid "Restart Firewall" msgstr "" @@ -343,6 +352,9 @@ msgstr "" msgid "Rewrite to source %s, %s" msgstr "" +msgid "Routing/NAT Offloading" +msgstr "" + msgid "Rule is disabled" msgstr "" @@ -358,6 +370,12 @@ msgstr "" msgid "Saturday" msgstr "" +msgid "Software based offloading for routing/NAT" +msgstr "" + +msgid "Software flow offloading" +msgstr "" + msgid "Source IP address" msgstr "" diff --git a/applications/luci-app-firewall/po/hu/firewall.po b/applications/luci-app-firewall/po/hu/firewall.po index 29aa324187..33a305ce8e 100644 --- a/applications/luci-app-firewall/po/hu/firewall.po +++ b/applications/luci-app-firewall/po/hu/firewall.po @@ -126,6 +126,9 @@ msgstr "SYN-flood védelem engedélyezése" msgid "Enable logging on this zone" msgstr "Naplózás engeélyezése ezen a zónán" +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "" + msgid "External IP address" msgstr "Külső IP cím" @@ -177,6 +180,9 @@ msgstr "%s felől %s-ben %s és %s forrással" msgid "General Settings" msgstr "Általános beállítások" +msgid "Hardware flow offloading" +msgstr "" + msgid "IP" msgstr "" @@ -338,6 +344,9 @@ msgstr "" msgid "Refuse input" msgstr "" +msgid "Requires hardware NAT support. Implemented at least for mt7621" +msgstr "" + msgid "Restart Firewall" msgstr "" @@ -366,6 +375,9 @@ msgstr "Átírás %s forrásra" msgid "Rewrite to source %s, %s" msgstr "Átírás %s, %s forrásra" +msgid "Routing/NAT Offloading" +msgstr "" + msgid "Rule is disabled" msgstr "" @@ -381,6 +393,12 @@ msgstr "SNAT port" msgid "Saturday" msgstr "" +msgid "Software based offloading for routing/NAT" +msgstr "" + +msgid "Software flow offloading" +msgstr "" + msgid "Source IP address" msgstr "Forrás IP cím" diff --git a/applications/luci-app-firewall/po/it/firewall.po b/applications/luci-app-firewall/po/it/firewall.po index 43b90a9e9b..4808d12475 100644 --- a/applications/luci-app-firewall/po/it/firewall.po +++ b/applications/luci-app-firewall/po/it/firewall.po @@ -128,6 +128,9 @@ msgstr "Attiva protezione SYN-flood" msgid "Enable logging on this zone" msgstr "Attiva registro su questa zona" +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "" + msgid "External IP address" msgstr "Indirizzo IP Esterno" @@ -179,6 +182,9 @@ msgstr "Da %s a %s con sorgente %s e %s" msgid "General Settings" msgstr "Opzioni Generali" +msgid "Hardware flow offloading" +msgstr "" + msgid "IP" msgstr "" @@ -334,6 +340,9 @@ msgstr "" msgid "Refuse input" msgstr "" +msgid "Requires hardware NAT support. Implemented at least for mt7621" +msgstr "" + msgid "Restart Firewall" msgstr "Riavvia Firewall" @@ -362,6 +371,9 @@ msgstr "Riscrivi alla sorgente %s" msgid "Rewrite to source %s, %s" msgstr "Riscrivi alla sorgente %s, %s" +msgid "Routing/NAT Offloading" +msgstr "" + msgid "Rule is disabled" msgstr "" @@ -377,6 +389,12 @@ msgstr "Porta SNAT" msgid "Saturday" msgstr "Sabato" +msgid "Software based offloading for routing/NAT" +msgstr "" + +msgid "Software flow offloading" +msgstr "" + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Generated from applications/luci-fw/luasrc/model/cbi/luci_fw/rrule.lua # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # diff --git a/applications/luci-app-firewall/po/ja/firewall.po b/applications/luci-app-firewall/po/ja/firewall.po index 2d252797ff..27109904ba 100644 --- a/applications/luci-app-firewall/po/ja/firewall.po +++ b/applications/luci-app-firewall/po/ja/firewall.po @@ -3,14 +3,14 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-03-30 17:00+0200\n" -"PO-Revision-Date: 2018-01-15 14:56+0900\n" +"PO-Revision-Date: 2018-05-27 21:24+0900\n" "Last-Translator: INAGAKI Hiroshi <musashino.open@gmail.com>\n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Poedit 2.0.5\n" +"X-Generator: Poedit 2.0.7\n" "Language-Team: \n" msgid "%s in %s" @@ -129,6 +129,9 @@ msgstr "SYN-Floodプロテクションを有効にする" msgid "Enable logging on this zone" msgstr "このゾーンのログ記録を有効にする" +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "実験的な機能です。 QoS/SQM との完全な互換性はありません。" + msgid "External IP address" msgstr "外部IPアドレス" @@ -180,6 +183,9 @@ msgstr "送信元 %s (%s) , 送信元 %s, 送信元 %s" msgid "General Settings" msgstr "一般設定" +msgid "Hardware flow offloading" +msgstr "ハードウェア フローオフロード" + msgid "IP" msgstr "IP" @@ -343,6 +349,10 @@ msgstr "転送を拒否" msgid "Refuse input" msgstr "入力を拒否" +msgid "Requires hardware NAT support. Implemented at least for mt7621" +msgstr "" +"ハードウェア NAT サポートが必要です。 mt7621 のみにおいて実装されています。" + msgid "Restart Firewall" msgstr "ファイアウォールの再起動" @@ -372,6 +382,9 @@ msgstr "送信元 %s にリライト" msgid "Rewrite to source %s, %s" msgstr "送信元 %s, %s にリライト" +msgid "Routing/NAT Offloading" +msgstr "ルーティング/NAT オフロード" + msgid "Rule is disabled" msgstr "ルールは無効です" @@ -387,6 +400,12 @@ msgstr "SNAT ポート" msgid "Saturday" msgstr "土曜日" +msgid "Software based offloading for routing/NAT" +msgstr "ルーティング/NAT のための、ソフトウェアベースのオフロードです。" + +msgid "Software flow offloading" +msgstr "ソフトウェア フローオフロード" + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Generated from applications/luci-fw/luasrc/model/cbi/luci_fw/rrule.lua # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # diff --git a/applications/luci-app-firewall/po/ko/firewall.po b/applications/luci-app-firewall/po/ko/firewall.po index bfe94d04a8..dd4f96197a 100644 --- a/applications/luci-app-firewall/po/ko/firewall.po +++ b/applications/luci-app-firewall/po/ko/firewall.po @@ -127,6 +127,9 @@ msgstr "SYN-flood protection 활성화" msgid "Enable logging on this zone" msgstr "zone 의 logging 활성화" +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "" + msgid "External IP address" msgstr "외부 IP 주소" @@ -178,6 +181,9 @@ msgstr "" msgid "General Settings" msgstr "" +msgid "Hardware flow offloading" +msgstr "" + msgid "IP" msgstr "" @@ -327,6 +333,9 @@ msgstr "" msgid "Refuse input" msgstr "" +msgid "Requires hardware NAT support. Implemented at least for mt7621" +msgstr "" + msgid "Restart Firewall" msgstr "" @@ -353,6 +362,9 @@ msgstr "" msgid "Rewrite to source %s, %s" msgstr "" +msgid "Routing/NAT Offloading" +msgstr "" + msgid "Rule is disabled" msgstr "" @@ -368,6 +380,12 @@ msgstr "" msgid "Saturday" msgstr "토요일" +msgid "Software based offloading for routing/NAT" +msgstr "" + +msgid "Software flow offloading" +msgstr "" + msgid "Source IP address" msgstr "Source IP 주소" diff --git a/applications/luci-app-firewall/po/ms/firewall.po b/applications/luci-app-firewall/po/ms/firewall.po index c6ab19791e..58aea1fd0b 100644 --- a/applications/luci-app-firewall/po/ms/firewall.po +++ b/applications/luci-app-firewall/po/ms/firewall.po @@ -118,6 +118,9 @@ msgstr "" msgid "Enable logging on this zone" msgstr "" +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "" + msgid "External IP address" msgstr "" @@ -169,6 +172,9 @@ msgstr "" msgid "General Settings" msgstr "" +msgid "Hardware flow offloading" +msgstr "" + msgid "IP" msgstr "" @@ -316,6 +322,9 @@ msgstr "" msgid "Refuse input" msgstr "" +msgid "Requires hardware NAT support. Implemented at least for mt7621" +msgstr "" + msgid "Restart Firewall" msgstr "" @@ -342,6 +351,9 @@ msgstr "" msgid "Rewrite to source %s, %s" msgstr "" +msgid "Routing/NAT Offloading" +msgstr "" + msgid "Rule is disabled" msgstr "" @@ -357,6 +369,12 @@ msgstr "" msgid "Saturday" msgstr "" +msgid "Software based offloading for routing/NAT" +msgstr "" + +msgid "Software flow offloading" +msgstr "" + msgid "Source IP address" msgstr "" diff --git a/applications/luci-app-firewall/po/no/firewall.po b/applications/luci-app-firewall/po/no/firewall.po index e9ecb2b63c..2a13b6b3cd 100644 --- a/applications/luci-app-firewall/po/no/firewall.po +++ b/applications/luci-app-firewall/po/no/firewall.po @@ -122,6 +122,9 @@ msgstr "Aktiver SYN-flood beskyttelse" msgid "Enable logging on this zone" msgstr "Aktiver logging av denne sonen" +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "" + msgid "External IP address" msgstr "Ekstern IP adressse" @@ -174,6 +177,9 @@ msgstr "Fra %s i %s med kilde %s og %s" msgid "General Settings" msgstr "Generelle Innstillinger" +msgid "Hardware flow offloading" +msgstr "" + msgid "IP" msgstr "" @@ -333,6 +339,9 @@ msgstr "" msgid "Refuse input" msgstr "" +msgid "Requires hardware NAT support. Implemented at least for mt7621" +msgstr "" + msgid "Restart Firewall" msgstr "" @@ -361,6 +370,9 @@ msgstr "Omskriv til kilde %s" msgid "Rewrite to source %s, %s" msgstr "Omskriv til kilde %s, %s" +msgid "Routing/NAT Offloading" +msgstr "" + msgid "Rule is disabled" msgstr "" @@ -376,6 +388,12 @@ msgstr "SNAT port" msgid "Saturday" msgstr "" +msgid "Software based offloading for routing/NAT" +msgstr "" + +msgid "Software flow offloading" +msgstr "" + msgid "Source IP address" msgstr "Kilde IP adresse" diff --git a/applications/luci-app-firewall/po/pl/firewall.po b/applications/luci-app-firewall/po/pl/firewall.po index fe48060237..a08a1e5606 100644 --- a/applications/luci-app-firewall/po/pl/firewall.po +++ b/applications/luci-app-firewall/po/pl/firewall.po @@ -129,6 +129,9 @@ msgstr "Włącz ochronę przed atakiem SYN-flood" msgid "Enable logging on this zone" msgstr "Włącz logowanie na tej strefy" +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "" + msgid "External IP address" msgstr "Zewnętrzne adresy IP" @@ -183,6 +186,9 @@ msgstr "Z %s w %s ze źródłem %s i %s" msgid "General Settings" msgstr "Ustawienia ogólne" +msgid "Hardware flow offloading" +msgstr "" + msgid "IP" msgstr "" @@ -342,6 +348,9 @@ msgstr "" msgid "Refuse input" msgstr "" +msgid "Requires hardware NAT support. Implemented at least for mt7621" +msgstr "" + msgid "Restart Firewall" msgstr "" @@ -374,6 +383,9 @@ msgstr "Przepisz do źródła %s" msgid "Rewrite to source %s, %s" msgstr "Przepisz do źródła %s, %s" +msgid "Routing/NAT Offloading" +msgstr "" + msgid "Rule is disabled" msgstr "" @@ -389,6 +401,12 @@ msgstr "Port SNAT" msgid "Saturday" msgstr "" +msgid "Software based offloading for routing/NAT" +msgstr "" + +msgid "Software flow offloading" +msgstr "" + msgid "Source IP address" msgstr "Źródłowy adres IP" diff --git a/applications/luci-app-firewall/po/pt-br/firewall.po b/applications/luci-app-firewall/po/pt-br/firewall.po index b49adccdda..7da028bee4 100644 --- a/applications/luci-app-firewall/po/pt-br/firewall.po +++ b/applications/luci-app-firewall/po/pt-br/firewall.po @@ -127,6 +127,9 @@ msgstr "Habilite proteção contra SYN-flood" msgid "Enable logging on this zone" msgstr "Habilite o registro nesta zona" +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "" + msgid "External IP address" msgstr "Endereço IP externo" @@ -178,6 +181,9 @@ msgstr "Vindo de %s em %s com origem %s e %s" msgid "General Settings" msgstr "Configurações Gerais" +msgid "Hardware flow offloading" +msgstr "" + msgid "IP" msgstr "" @@ -337,6 +343,9 @@ msgstr "" msgid "Refuse input" msgstr "" +msgid "Requires hardware NAT support. Implemented at least for mt7621" +msgstr "" + msgid "Restart Firewall" msgstr "Reiniciar o Firewall" @@ -365,6 +374,9 @@ msgstr "Reescrever para a origem %s" msgid "Rewrite to source %s, %s" msgstr "Reescrever para a origem %s, %s" +msgid "Routing/NAT Offloading" +msgstr "" + msgid "Rule is disabled" msgstr "" @@ -380,6 +392,12 @@ msgstr "Porta da SNAT" msgid "Saturday" msgstr "Sábado" +msgid "Software based offloading for routing/NAT" +msgstr "" + +msgid "Software flow offloading" +msgstr "" + msgid "Source IP address" msgstr "Endereço IP de origem" diff --git a/applications/luci-app-firewall/po/pt/firewall.po b/applications/luci-app-firewall/po/pt/firewall.po index 29a7c7c2c7..543489e1ad 100644 --- a/applications/luci-app-firewall/po/pt/firewall.po +++ b/applications/luci-app-firewall/po/pt/firewall.po @@ -128,6 +128,9 @@ msgstr "Ativar a Proteção SYN-flood" msgid "Enable logging on this zone" msgstr "Ativar registo nesta zona" +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "" + msgid "External IP address" msgstr "Endereço IP externo" @@ -179,6 +182,9 @@ msgstr "De %s em %s com origem %s e %s" msgid "General Settings" msgstr "Definições Gerais" +msgid "Hardware flow offloading" +msgstr "" + msgid "IP" msgstr "" @@ -339,6 +345,9 @@ msgstr "" msgid "Refuse input" msgstr "" +msgid "Requires hardware NAT support. Implemented at least for mt7621" +msgstr "" + msgid "Restart Firewall" msgstr "" @@ -365,6 +374,9 @@ msgstr "Re-escrever para a origem %s" msgid "Rewrite to source %s, %s" msgstr "Re-escrever para a origem %s, %s" +msgid "Routing/NAT Offloading" +msgstr "" + msgid "Rule is disabled" msgstr "" @@ -380,6 +392,12 @@ msgstr "Porta SNAT" msgid "Saturday" msgstr "" +msgid "Software based offloading for routing/NAT" +msgstr "" + +msgid "Software flow offloading" +msgstr "" + msgid "Source IP address" msgstr "Endereço IP de origem" diff --git a/applications/luci-app-firewall/po/ro/firewall.po b/applications/luci-app-firewall/po/ro/firewall.po index cc4d7a62af..937efe722b 100644 --- a/applications/luci-app-firewall/po/ro/firewall.po +++ b/applications/luci-app-firewall/po/ro/firewall.po @@ -123,6 +123,9 @@ msgstr "Activează protecţia SYN-flood" msgid "Enable logging on this zone" msgstr "Activeaza log in aceasta zona" +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "" + msgid "External IP address" msgstr "Adresă IP externă" @@ -174,6 +177,9 @@ msgstr "" msgid "General Settings" msgstr "Setari generale" +msgid "Hardware flow offloading" +msgstr "" + msgid "IP" msgstr "" @@ -321,6 +327,9 @@ msgstr "" msgid "Refuse input" msgstr "" +msgid "Requires hardware NAT support. Implemented at least for mt7621" +msgstr "" + msgid "Restart Firewall" msgstr "" @@ -347,6 +356,9 @@ msgstr "" msgid "Rewrite to source %s, %s" msgstr "" +msgid "Routing/NAT Offloading" +msgstr "" + msgid "Rule is disabled" msgstr "" @@ -362,6 +374,12 @@ msgstr "" msgid "Saturday" msgstr "" +msgid "Software based offloading for routing/NAT" +msgstr "" + +msgid "Software flow offloading" +msgstr "" + msgid "Source IP address" msgstr "Sursă adresă IP" diff --git a/applications/luci-app-firewall/po/ru/firewall.po b/applications/luci-app-firewall/po/ru/firewall.po index b8611af780..528756d7e3 100644 --- a/applications/luci-app-firewall/po/ru/firewall.po +++ b/applications/luci-app-firewall/po/ru/firewall.po @@ -130,6 +130,9 @@ msgstr "Включить защиту<br />от SYN-flood атак" msgid "Enable logging on this zone" msgstr "Включить журналирование в этой зоне" +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "" + msgid "External IP address" msgstr "Внешний IP-адрес" @@ -181,6 +184,9 @@ msgstr "Из %s в %s с источниками %s и %s" msgid "General Settings" msgstr "Основные настройки" +msgid "Hardware flow offloading" +msgstr "" + msgid "IP" msgstr "IP-адрес" @@ -346,6 +352,9 @@ msgstr "Сбрасывать перенаправление" msgid "Refuse input" msgstr "Сбрасывать входящий трафик" +msgid "Requires hardware NAT support. Implemented at least for mt7621" +msgstr "" + msgid "Restart Firewall" msgstr "Перезапустить межсетевой экран" @@ -374,6 +383,9 @@ msgstr "Перенаправлять к источнику %s" msgid "Rewrite to source %s, %s" msgstr "Перенаправлять к источнику %s, %s" +msgid "Routing/NAT Offloading" +msgstr "" + msgid "Rule is disabled" msgstr "Правило отключено" @@ -389,6 +401,12 @@ msgstr "Порт SNAT" msgid "Saturday" msgstr "Суббота" +msgid "Software based offloading for routing/NAT" +msgstr "" + +msgid "Software flow offloading" +msgstr "" + msgid "Source IP address" msgstr "IP-адрес источника" diff --git a/applications/luci-app-firewall/po/sk/firewall.po b/applications/luci-app-firewall/po/sk/firewall.po index a185625a02..a382bde7db 100644 --- a/applications/luci-app-firewall/po/sk/firewall.po +++ b/applications/luci-app-firewall/po/sk/firewall.po @@ -119,6 +119,9 @@ msgstr "" msgid "Enable logging on this zone" msgstr "" +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "" + msgid "External IP address" msgstr "" @@ -170,6 +173,9 @@ msgstr "" msgid "General Settings" msgstr "" +msgid "Hardware flow offloading" +msgstr "" + msgid "IP" msgstr "" @@ -317,6 +323,9 @@ msgstr "" msgid "Refuse input" msgstr "" +msgid "Requires hardware NAT support. Implemented at least for mt7621" +msgstr "" + msgid "Restart Firewall" msgstr "" @@ -343,6 +352,9 @@ msgstr "" msgid "Rewrite to source %s, %s" msgstr "" +msgid "Routing/NAT Offloading" +msgstr "" + msgid "Rule is disabled" msgstr "" @@ -358,6 +370,12 @@ msgstr "" msgid "Saturday" msgstr "" +msgid "Software based offloading for routing/NAT" +msgstr "" + +msgid "Software flow offloading" +msgstr "" + msgid "Source IP address" msgstr "" diff --git a/applications/luci-app-firewall/po/sv/firewall.po b/applications/luci-app-firewall/po/sv/firewall.po index c98eafa09a..d5f6a2d8a5 100644 --- a/applications/luci-app-firewall/po/sv/firewall.po +++ b/applications/luci-app-firewall/po/sv/firewall.po @@ -120,6 +120,9 @@ msgstr "" msgid "Enable logging on this zone" msgstr "Aktivera loggning i den här zonen" +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "" + msgid "External IP address" msgstr "Extern IP-adress" @@ -171,6 +174,9 @@ msgstr "Från %s i %s med källa %s och %s" msgid "General Settings" msgstr "Generella inställningar" +msgid "Hardware flow offloading" +msgstr "" + msgid "IP" msgstr "" @@ -323,6 +329,9 @@ msgstr "" msgid "Refuse input" msgstr "" +msgid "Requires hardware NAT support. Implemented at least for mt7621" +msgstr "" + msgid "Restart Firewall" msgstr "Starta om brandvägg" @@ -349,6 +358,9 @@ msgstr "Skriv om igen till källan %s" msgid "Rewrite to source %s, %s" msgstr "" +msgid "Routing/NAT Offloading" +msgstr "" + msgid "Rule is disabled" msgstr "" @@ -364,6 +376,12 @@ msgstr "SNAT-port" msgid "Saturday" msgstr "Lördag" +msgid "Software based offloading for routing/NAT" +msgstr "" + +msgid "Software flow offloading" +msgstr "" + msgid "Source IP address" msgstr "IP-adress för källa" diff --git a/applications/luci-app-firewall/po/templates/firewall.pot b/applications/luci-app-firewall/po/templates/firewall.pot index 62c4a2e84a..6ff4c3ca0f 100644 --- a/applications/luci-app-firewall/po/templates/firewall.pot +++ b/applications/luci-app-firewall/po/templates/firewall.pot @@ -112,6 +112,9 @@ msgstr "" msgid "Enable logging on this zone" msgstr "" +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "" + msgid "External IP address" msgstr "" @@ -163,6 +166,9 @@ msgstr "" msgid "General Settings" msgstr "" +msgid "Hardware flow offloading" +msgstr "" + msgid "IP" msgstr "" @@ -310,6 +316,9 @@ msgstr "" msgid "Refuse input" msgstr "" +msgid "Requires hardware NAT support. Implemented at least for mt7621" +msgstr "" + msgid "Restart Firewall" msgstr "" @@ -336,6 +345,9 @@ msgstr "" msgid "Rewrite to source %s, %s" msgstr "" +msgid "Routing/NAT Offloading" +msgstr "" + msgid "Rule is disabled" msgstr "" @@ -351,6 +363,12 @@ msgstr "" msgid "Saturday" msgstr "" +msgid "Software based offloading for routing/NAT" +msgstr "" + +msgid "Software flow offloading" +msgstr "" + msgid "Source IP address" msgstr "" diff --git a/applications/luci-app-firewall/po/tr/firewall.po b/applications/luci-app-firewall/po/tr/firewall.po index f23d10aafc..1dd1e6f9cf 100644 --- a/applications/luci-app-firewall/po/tr/firewall.po +++ b/applications/luci-app-firewall/po/tr/firewall.po @@ -119,6 +119,9 @@ msgstr "" msgid "Enable logging on this zone" msgstr "" +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "" + msgid "External IP address" msgstr "" @@ -170,6 +173,9 @@ msgstr "" msgid "General Settings" msgstr "" +msgid "Hardware flow offloading" +msgstr "" + msgid "IP" msgstr "" @@ -317,6 +323,9 @@ msgstr "" msgid "Refuse input" msgstr "" +msgid "Requires hardware NAT support. Implemented at least for mt7621" +msgstr "" + msgid "Restart Firewall" msgstr "" @@ -343,6 +352,9 @@ msgstr "" msgid "Rewrite to source %s, %s" msgstr "" +msgid "Routing/NAT Offloading" +msgstr "" + msgid "Rule is disabled" msgstr "" @@ -358,6 +370,12 @@ msgstr "" msgid "Saturday" msgstr "" +msgid "Software based offloading for routing/NAT" +msgstr "" + +msgid "Software flow offloading" +msgstr "" + msgid "Source IP address" msgstr "" diff --git a/applications/luci-app-firewall/po/uk/firewall.po b/applications/luci-app-firewall/po/uk/firewall.po index de72ec6e0a..86ff65edf1 100644 --- a/applications/luci-app-firewall/po/uk/firewall.po +++ b/applications/luci-app-firewall/po/uk/firewall.po @@ -127,6 +127,9 @@ msgstr "Увімкнути захист від SYN-flood" msgid "Enable logging on this zone" msgstr "Увімкнути реєстрування у цій зоні" +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "" + msgid "External IP address" msgstr "Зовнішня IP-адреса" @@ -178,6 +181,9 @@ msgstr "%s у %s з вихідним %s та %s" msgid "General Settings" msgstr "Загальні настройки" +msgid "Hardware flow offloading" +msgstr "" + msgid "IP" msgstr "" @@ -337,6 +343,9 @@ msgstr "" msgid "Refuse input" msgstr "" +msgid "Requires hardware NAT support. Implemented at least for mt7621" +msgstr "" + msgid "Restart Firewall" msgstr "" @@ -365,6 +374,9 @@ msgstr "перезапис на вихідний %s" msgid "Rewrite to source %s, %s" msgstr "перезапис на вихідний %s, %s" +msgid "Routing/NAT Offloading" +msgstr "" + msgid "Rule is disabled" msgstr "" @@ -380,6 +392,12 @@ msgstr "Порт SNAT" msgid "Saturday" msgstr "" +msgid "Software based offloading for routing/NAT" +msgstr "" + +msgid "Software flow offloading" +msgstr "" + msgid "Source IP address" msgstr "IP-адреса джерела" diff --git a/applications/luci-app-firewall/po/vi/firewall.po b/applications/luci-app-firewall/po/vi/firewall.po index 24452ff1c0..bd33afcd09 100644 --- a/applications/luci-app-firewall/po/vi/firewall.po +++ b/applications/luci-app-firewall/po/vi/firewall.po @@ -126,6 +126,9 @@ msgstr "SYN-flood bảo vệ " msgid "Enable logging on this zone" msgstr "" +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "" + msgid "External IP address" msgstr "" @@ -177,6 +180,9 @@ msgstr "" msgid "General Settings" msgstr "" +msgid "Hardware flow offloading" +msgstr "" + msgid "IP" msgstr "" @@ -327,6 +333,9 @@ msgstr "" msgid "Refuse input" msgstr "" +msgid "Requires hardware NAT support. Implemented at least for mt7621" +msgstr "" + msgid "Restart Firewall" msgstr "" @@ -353,6 +362,9 @@ msgstr "" msgid "Rewrite to source %s, %s" msgstr "" +msgid "Routing/NAT Offloading" +msgstr "" + msgid "Rule is disabled" msgstr "" @@ -368,6 +380,12 @@ msgstr "" msgid "Saturday" msgstr "" +msgid "Software based offloading for routing/NAT" +msgstr "" + +msgid "Software flow offloading" +msgstr "" + #, fuzzy msgid "Source IP address" msgstr "Đỉa chỉ MAC nguồn" diff --git a/applications/luci-app-firewall/po/zh-cn/firewall.po b/applications/luci-app-firewall/po/zh-cn/firewall.po index 9e9c64d670..8816f70f47 100644 --- a/applications/luci-app-firewall/po/zh-cn/firewall.po +++ b/applications/luci-app-firewall/po/zh-cn/firewall.po @@ -124,6 +124,9 @@ msgstr "启用 SYN-flood 防御" msgid "Enable logging on this zone" msgstr "启用此区域的日志记录" +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "" + msgid "External IP address" msgstr "外部 IP 地址" @@ -175,6 +178,9 @@ msgstr "来自 %s 位于 %s 源端口 %s 源 MAC %s" msgid "General Settings" msgstr "基本设置" +msgid "Hardware flow offloading" +msgstr "" + msgid "IP" msgstr "IP" @@ -323,6 +329,9 @@ msgstr "拒绝转发" msgid "Refuse input" msgstr "拒绝入站" +msgid "Requires hardware NAT support. Implemented at least for mt7621" +msgstr "" + msgid "Restart Firewall" msgstr "重启防火墙" @@ -349,6 +358,9 @@ msgstr "源地址改写成 %s" msgid "Rewrite to source %s, %s" msgstr "源地址改写成 %s, %s" +msgid "Routing/NAT Offloading" +msgstr "" + msgid "Rule is disabled" msgstr "规则已禁用" @@ -364,6 +376,12 @@ msgstr "SNAT 端口" msgid "Saturday" msgstr "星期六" +msgid "Software based offloading for routing/NAT" +msgstr "" + +msgid "Software flow offloading" +msgstr "" + msgid "Source IP address" msgstr "源 IP 地址" diff --git a/applications/luci-app-firewall/po/zh-tw/firewall.po b/applications/luci-app-firewall/po/zh-tw/firewall.po index afc9c4e33c..1fbe970ddb 100644 --- a/applications/luci-app-firewall/po/zh-tw/firewall.po +++ b/applications/luci-app-firewall/po/zh-tw/firewall.po @@ -124,6 +124,9 @@ msgstr "啟用 SYN-flood 防禦" msgid "Enable logging on this zone" msgstr "啟用此區域的日誌記錄" +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "" + msgid "External IP address" msgstr "外部 IP 位址" @@ -175,6 +178,9 @@ msgstr "來自 %s 位於 %s 源埠 %s 源 MAC %s" msgid "General Settings" msgstr "基本設定" +msgid "Hardware flow offloading" +msgstr "" + msgid "IP" msgstr "" @@ -322,6 +328,9 @@ msgstr "" msgid "Refuse input" msgstr "" +msgid "Requires hardware NAT support. Implemented at least for mt7621" +msgstr "" + msgid "Restart Firewall" msgstr "重啟防火牆" @@ -348,6 +357,9 @@ msgstr "源位址改寫成 %s" msgid "Rewrite to source %s, %s" msgstr "源位址改寫成 %s, %s" +msgid "Routing/NAT Offloading" +msgstr "" + msgid "Rule is disabled" msgstr "" @@ -363,6 +375,12 @@ msgstr "SNAT 埠" msgid "Saturday" msgstr "星期六" +msgid "Software based offloading for routing/NAT" +msgstr "" + +msgid "Software flow offloading" +msgstr "" + msgid "Source IP address" msgstr "源 IP 位址" diff --git a/applications/luci-app-lxc/Makefile b/applications/luci-app-lxc/Makefile index 85cae5c405..379cccbfc9 100644 --- a/applications/luci-app-lxc/Makefile +++ b/applications/luci-app-lxc/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk LUCI_TITLE:=LXC management Web UI -LUCI_DEPENDS:=+luci-mod-admin-full +lxc +lxc-attach +lxc-console +lxc-create +liblxc +rpcd-mod-lxc +getopt +LUCI_DEPENDS:=+luci-mod-admin-full +lxc +lxc-attach +lxc-console +lxc-create +liblxc +rpcd-mod-lxc +getopt +!LXC_BUSYBOX_OPTIONS:tar LUCI_PKGARCH:=all PKG_MAINTAINER:=Petar Koretic <petar.koretic@sartura.hr> diff --git a/applications/luci-app-lxc/luasrc/controller/lxc.lua b/applications/luci-app-lxc/luasrc/controller/lxc.lua index cc490f0b81..f14606ee81 100644 --- a/applications/luci-app-lxc/luasrc/controller/lxc.lua +++ b/applications/luci-app-lxc/luasrc/controller/lxc.lua @@ -14,74 +14,43 @@ Author: Petar Koretic <petar.koretic@sartura.hr> ]]-- -local uci = require "luci.model.uci" -local util = require "luci.util" -local nixio = require "nixio" - module("luci.controller.lxc", package.seeall) -function fork_exec(command) - local pid = nixio.fork() - if pid > 0 then - return - elseif pid == 0 then - -- change to root dir - nixio.chdir("/") - - -- patch stdin, out, err to /dev/null - local null = nixio.open("/dev/null", "w+") - if null then - nixio.dup(null, nixio.stderr) - nixio.dup(null, nixio.stdout) - nixio.dup(null, nixio.stdin) - if null:fileno() > 2 then - null:close() - end - end +local uci = require "luci.model.uci".cursor() +local util = require "luci.util" +local fs = require "nixio" - -- replace with target command - nixio.exec("/bin/sh", "-c", command) +function index() + if not nixio.fs.access("/etc/config/lxc") then + return end -end -function index() page = node("admin", "services", "lxc") page.target = cbi("lxc") page.title = _("LXC Containers") page.order = 70 - page = entry({"admin", "services", "lxc_create"}, call("lxc_create"), nil) - page.leaf = true - - page = entry({"admin", "services", "lxc_action"}, call("lxc_action"), nil) - page.leaf = true - - page = entry({"admin", "services", "lxc_get_downloadable"}, call("lxc_get_downloadable"), nil) - page.leaf = true - - page = entry({"admin", "services", "lxc_configuration_get"}, call("lxc_configuration_get"), nil) - page.leaf = true - - page = entry({"admin", "services", "lxc_configuration_set"}, call("lxc_configuration_set"), nil) - page.leaf = true - + entry({"admin", "services", "lxc_create"}, call("lxc_create"), nil).leaf = true + entry({"admin", "services", "lxc_action"}, call("lxc_action"), nil).leaf = true + entry({"admin", "services", "lxc_get_downloadable"}, call("lxc_get_downloadable"), nil).leaf = true + entry({"admin", "services", "lxc_configuration_get"}, call("lxc_configuration_get"), nil).leaf = true + entry({"admin", "services", "lxc_configuration_set"}, call("lxc_configuration_set"), nil).leaf = true end function lxc_get_downloadable() local target = lxc_get_arch_target() local templates = {} + local ssl_status = lxc_get_ssl_status() - local f = io.popen('sh /usr/share/lxc/templates/lxc-download --list --no-validate --server %s' - % util.shellquote(uci.cursor():get("lxc", "lxc", "url")), 'r') - + local f = io.popen('sh /usr/share/lxc/templates/lxc-download --list %s --server %s 2>/dev/null' + %{ ssl_status, util.shellquote(uci:get("lxc", "lxc", "url")) }, 'r') local line for line in f:lines() do local dist, version, dist_target = line:match("^(%S+)%s+(%S+)%s+(%S+)%s+default%s+%S+$") - if dist and version and dist_target == target then + if dist and version and dist_target and dist_target == target then templates[#templates+1] = "%s:%s" %{ dist, version } end end - f:close() luci.http.prepare_content("application/json") @@ -91,23 +60,26 @@ end function lxc_create(lxc_name, lxc_template) luci.http.prepare_content("text/plain") - if not pcall(dofile, "/etc/openwrt_release") then - return luci.http.write("1") + local check = lxc_get_config_path() + if not check then + return end - local lxc_dist, lxc_release = lxc_template:match("^(.+):(.+)$") + local ssl_status = lxc_get_ssl_status() + local src_err + local lxc_dist, lxc_release = lxc_template:match("^(.+):(.+)$") luci.http.write(util.ubus("lxc", "create", { name = lxc_name, template = "download", args = { - "--server", uci.cursor():get("lxc", "lxc", "url"), - "--no-validate", + "--server", uci:get("lxc", "lxc", "url"), "--dist", lxc_dist, "--release", lxc_release, - "--arch", lxc_get_arch_target() + "--arch", lxc_get_arch_target(), + ssl_status } - })) + }), src_err) end function lxc_action(lxc_action, lxc_name) @@ -121,11 +93,28 @@ function lxc_get_config_path() local f = io.open("/etc/lxc/lxc.conf", "r") local content = f:read("*all") f:close() + local ret = content:match('^%s*lxc.lxcpath%s*=%s*([^%s]*)') if ret then - return ret .. "/" + if nixio.fs.access(ret) then + local min_space = tonumber(uci:get("lxc", "lxc", "min_space")) or 100000 + local free_space = tonumber(util.exec("df " ..ret.. " | awk '{if(NR==2)print $4}'")) + if free_space and free_space >= min_space then + local min_temp = tonumber(uci:get("lxc", "lxc", "min_temp")) or 100000 + local free_temp = tonumber(util.exec("df /tmp | awk '{if(NR==2)print $4}'")) + if free_temp and free_temp >= min_temp then + return ret .. "/" + else + util.perror("lxc error: not enough temporary space (< " ..min_temp.. " KB)") + end + else + util.perror("lxc error: not enough space (< " ..min_space.. " KB)") + end + else + util.perror("lxc error: directory not found") + end else - return "/srv/lxc/" + util.perror("lxc error: config path is empty") end end @@ -143,14 +132,15 @@ function lxc_configuration_set(lxc_name) luci.http.prepare_content("text/plain") local lxc_configuration = luci.http.formvalue("lxc_configuration") - if lxc_configuration == nil then - return luci.http.write("1") + util.perror("lxc error: config formvalue is empty") + return end local f, err = io.open(lxc_get_config_path() .. lxc_name .. "/config","w+") if not f then - return luci.http.write("2") + util.perror("lxc error: config file not found") + return end f:write(lxc_configuration) @@ -160,7 +150,7 @@ function lxc_configuration_set(lxc_name) end function lxc_get_arch_target() - local target = nixio.uname().machine + local target = fs.uname().machine local target_map = { armv5 = "armel", armv6 = "armel", @@ -168,13 +158,21 @@ function lxc_get_arch_target() armv8 = "arm64", x86_64 = "amd64" } - local k, v for k, v in pairs(target_map) do - if target:find(k) then + if target:find("^" ..k.. "$") then return v end end - return target end + +function lxc_get_ssl_status() + local ssl_enabled = uci:get("lxc", "lxc", "ssl_enabled") + local ssl_status = "--no-validate" + + if ssl_enabled and ssl_enabled == "1" then + ssl_status = "" + end + return ssl_status +end diff --git a/applications/luci-app-lxc/luasrc/model/cbi/lxc.lua b/applications/luci-app-lxc/luasrc/model/cbi/lxc.lua index ac0fdff332..8a8fc2be0d 100644 --- a/applications/luci-app-lxc/luasrc/model/cbi/lxc.lua +++ b/applications/luci-app-lxc/luasrc/model/cbi/lxc.lua @@ -14,18 +14,35 @@ Author: Petar Koretic <petar.koretic@sartura.hr> ]]-- -local fs = require "nixio.fs" - -m = Map("lxc", translate("LXC Containers")) - -if fs.access("/etc/config/lxc") then - m:section(SimpleSection).template = "lxc" - - s = m:section(TypedSection, "lxc", translate("Options")) - s.anonymous = true - s.addremove = false - - s:option(Value, "url", translate("Containers URL")) -end +m = Map("lxc", translate("LXC Containers"), + translate("<b>Please note:</b> For LXC Containers you need a custom OpenWrt image.<br />") + .. translate("The image should include at least support for 'kernel cgroups', 'kernel namespaces' and 'miscellaneous LXC related options'.")) +m:section(SimpleSection).template = "lxc" + +s = m:section(TypedSection, "lxc", translate("Options")) +s.anonymous = true + +o1 = s:option(Value, "url", translate("Containers URL")) +o1:value("images.linuxcontainers.org") +o1:value("repo.turris.cz/lxc", "repo.turris.cz/lxc (SSL req.)") +o1.default = "images.linuxcontainers.org" +o1.rmempty = false + +o2 = s:option(Flag, "ssl_enabled", translate("Enable SSL"), + translate("Enable optional SSL encryption support. This requires additional packages like 'wget', 'ca-certificates', 'gnupg' and 'gnupg-utils'.")) +o2.default = o2.disabled +o2.rmempty = false + +o3 = s:option(Value, "min_space", translate("Free Space Threshold"), + translate("Minimum required free space for LXC Container creation in KB")) +o3.default = "100000" +o3.datatype = "min(50000)" +o3.rmempty = false + +o4 = s:option(Value, "min_temp", translate("Free Temp Threshold"), + translate("Minimum required free temp space for LXC Container creation in KB")) +o4.default = "100000" +o4.datatype = "min(50000)" +o4.rmempty = false return m diff --git a/applications/luci-app-lxc/luasrc/view/lxc.htm b/applications/luci-app-lxc/luasrc/view/lxc.htm index edfff8e063..e02c3a7888 100644 --- a/applications/luci-app-lxc/luasrc/view/lxc.htm +++ b/applications/luci-app-lxc/luasrc/view/lxc.htm @@ -14,6 +14,32 @@ Author: Petar Koretic <petar.koretic@sartura.hr> -%> +<% +local fs = require "nixio" +local target = fs.uname().machine +%> + +<style type="text/css"> +table.cbi-section-table th, +table.cbi-section-table td, +.cbi-section-table-cell, +.cbi-input-select, +.cbi-input-text +{ + text-align:left; + vertical-align:top; + padding-left:2px; + margin-right:auto; + margin-left:0px; +} + +.cbi-input-select, +.cbi-input-text +{ + width:15em; +} +</style> + <fieldset class="cbi-section"> <legend><%:Available Containers%></legend> <div class="cbi-section-node"> @@ -43,7 +69,7 @@ Author: Petar Koretic <petar.koretic@sartura.hr> </tr> <tr id="tr_holder"> <td> - <input type="text" id="tx_name" placeholder="<%:Enter new name%>" value='' /> + <input class="cbi-input-text" type="text" id="tx_name" placeholder="<%:Enter new name%>" value='' /> </td> <td> <select id="s_template" class="cbi-input-select cbi-button"> @@ -65,23 +91,25 @@ Author: Petar Koretic <petar.koretic@sartura.hr> <hr/> <script type="text/javascript" src="<%=resource%>/cbi.js"></script> -<script type="text/javascript">//<![CDATA[ - - window.img = { "red" : "<%=resource%>/cbi/red.gif", "green" : "<%=resource%>/cbi/green.gif", "purple" : "<%=resource%>/cbi/purple.gif" } - window.states = { "STOPPED" : "red", "RUNNING" : "green", "FROZEN" : "purple"} +<script type="text/javascript"> +//<![CDATA[ + window.img = { "red" : "<%=resource%>/cbi/red.gif", "green" : "<%=resource%>/cbi/green.gif", "purple" : "<%=resource%>/cbi/purple.gif" } + window.states = { "STOPPED" : "red", "RUNNING" : "green", "FROZEN" : "purple" } - var t_lxc_list = document.getElementById('t_lxc_list'); - var loader_html = '<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" width="16" height="16" style="vertical-align:middle" /> '; + var t_lxc_list = document.getElementById('t_lxc_list'); + var loader_html = '<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" width="16" height="16" style="vertical-align:middle" />'; var timeout_msg = 0 var output_list = document.getElementById("lxc-list-output") - var output_add = document.getElementById("lxc-add-output") - var loader_add = document.getElementById("lxc-add-loader") + var output_add = document.getElementById("lxc-add-output") + var loader_add = document.getElementById("lxc-add-loader") + + info_message(output_add, "Template download in progress, please be patient!", 10000) function lxc_create(tr) { - var lxc_name = tr.querySelector("#tx_name").value.trim() + var lxc_name = tr.querySelector("#tx_name").value.replace(/[\s!@#$%^&*()+=\[\]{};':"\\|,<>\/?]/g,'') var lxc_template = tr.querySelector("#s_template").value - var bt_create = tr.querySelector("#bt_create") + var bt_create = tr.querySelector("#bt_create") if (t_lxc_list.querySelector("[data-id='" + lxc_name + "']") != null) return info_message(output_add, "Container with that name already exists!", 4000) @@ -92,7 +120,13 @@ Author: Petar Koretic <petar.koretic@sartura.hr> if (!lxc_name || !lxc_name.length) { bt_create.disabled = false - return info_message(output_add, "Name cannot be empty!", 4000) + return info_message(output_add, "The 'Name' field must not be empty!", 4000) + } + + if (!lxc_template) + { + bt_create.disabled = false + return info_message(output_add, "The 'Template' field must not be empty!", 4000) } loading(loader_add) @@ -101,6 +135,7 @@ Author: Petar Koretic <petar.koretic@sartura.hr> function(x) { bt_create.disabled = false + loading(loader_add, 0) if (!x) @@ -116,16 +151,16 @@ Author: Petar Koretic <petar.koretic@sartura.hr> var actions = '' actions += '<input type="button" onclick="action_handler(this)" data-action="start" value="<%:Start%>" class="cbi-button cbi-button-apply" />' - actions+= '<input type="button" onclick="action_handler(this)" data-action="stop" value="<%:Stop%>" class="cbi-button cbi-button-reset" />' - actions+= '<input type="button" onclick="action_handler(this)" data-action="destroy" value="<%:Delete%>" class="cbi-button cbi-button-remove" />' - actions+= ' <select class="cbi-input-select cbi-button" onchange="action_more_handler(this)">\ - <option selected disabled>more</option>\ + actions += ' <input type="button" onclick="action_handler(this)" data-action="stop" value="<%:Stop%>" class="cbi-button cbi-button-reset" />' + actions += ' <input type="button" onclick="action_handler(this)" data-action="destroy" value="<%:Delete%>" class="cbi-button cbi-button-remove" />' + actions += ' <select class="cbi-input-select cbi-button" onchange="action_more_handler(this)">\ + <option selected="selected" disabled="disabled">more</option>\ <option>configure</option>\ <option>freeze</option>\ <option>unfreeze</option>\ <option>reboot</option>\ </select>' - actions+= '<span data-loader style="display:inline-block; width:16px; height:16px; margin:0 5px"></span>' + actions += '<span data-loader="" style="display:inline-block; width:16px; height:16px; margin:0 5px"></span>' var row = t_lxc_list.insertRow(-1) var cell = row.insertCell(-1) @@ -144,12 +179,11 @@ Author: Petar Koretic <petar.koretic@sartura.hr> function action_handler(self) { - var action = self.getAttribute("data-action"); - - var bt_action = self - var lxc_name = self.parentNode.parentNode.children[0].getAttribute('data-id') + var action = self.getAttribute("data-action"); + var bt_action = self + var lxc_name = self.parentNode.parentNode.children[0].getAttribute('data-id') var status_img = self.parentNode.parentNode.querySelector('img') - var loader = self.parentNode.querySelector('[data-loader]') + var loader = self.parentNode.querySelector('[data-loader]') bt_action.disabled = true @@ -181,18 +215,24 @@ Author: Petar Koretic <petar.koretic@sartura.hr> loading(loader, 0) bt_action.disabled = false - //FIXME: uncomment after fixing 'lxc-start' if (!x /*|| ec */) return info_message(output_list,"Action failed!") - //FIXME: uncomment after fixing 'lxc-start' - //set_status(status_img, "green") + set_status(status_img, "green") }); } else if (action == "destroy") { - if (!confirm("This will completely remove LXC container from the disk. Are you sure? (container will be stopped if running)")) + var tr = self.parentNode.parentNode + var img = tr.querySelector('img') + if (img.getAttribute('src') != window.img["red"]) + { + bt_action.disabled = false + return info_message(output_list,"Container is still running!") + } + + if (!confirm("This will completely remove a stopped LXC container from disk. Are you sure?")) return loading(loader) @@ -253,13 +293,12 @@ Author: Petar Koretic <petar.koretic@sartura.hr> function action_more_handler(self) { var lxc_name = self.parentNode.parentNode.querySelector('[data-id]').getAttribute('data-id') - var loader = self.parentNode.parentNode.querySelector('[data-loader]') - - var option = self.options[self.selectedIndex].text + var loader = self.parentNode.parentNode.querySelector('[data-loader]') + var option = self.options[self.selectedIndex].text self.value = "more" - switch (option) + switch(option) { case "configure": var tr = document.createElement('tr') @@ -352,10 +391,22 @@ Author: Petar Koretic <petar.koretic@sartura.hr> var row = t_lxc_list.insertRow(-1); row.id = 'empty' var cell = row.insertCell(0); - cell.colSpan = 4; + cell.colSpan = 3; cell.innerHTML = '<em><br />There are no containers available yet.</em>'; } + function set_empty_template() + { + var row_count = t_lxc_create.rows.length; + while(--row_count) t_lxc_create.deleteRow(row_count); + + var row = t_lxc_create.insertRow(-1); + row.id = 'tr_holder' + var cell = row.insertCell(0); + cell.colSpan = 3; + cell.innerHTML = '<em><br />There are no templates for your architecture (<%=target%>) available, please select another containers URL.</em>'; + } + function lxc_list_update() { XHR.poll(4, '<%=luci.dispatcher.build_url("admin", "services")%>/lxc_action/list', null, @@ -363,8 +414,11 @@ Author: Petar Koretic <petar.koretic@sartura.hr> { if (!x) return; + if (!data) + return set_empty(t_lxc_list) + var lxc_count = Object.keys(data).length - if (!data || !lxc_count) + if (!lxc_count) return set_empty(t_lxc_list) if (document.getElementById('empty') !== null) @@ -443,8 +497,11 @@ Author: Petar Koretic <petar.koretic@sartura.hr> { if (!x) return; - var lxc_count = Object.keys(data).length - if (!data || !lxc_count) return; + if (!data) return set_empty_template(); + + var lxc_count = Object.keys(data).length; + if (!lxc_count) return set_empty_template(); + var select = document.getElementById("s_template"); for(var key in data) { @@ -454,5 +511,5 @@ Author: Petar Koretic <petar.koretic@sartura.hr> select.add(option, -1); } }) - -//]]></script> +//]]> +</script> diff --git a/applications/luci-app-mwan3/po/ja/mwan3.po b/applications/luci-app-mwan3/po/ja/mwan3.po index cfbf5ac464..a5826926dd 100644 --- a/applications/luci-app-mwan3/po/ja/mwan3.po +++ b/applications/luci-app-mwan3/po/ja/mwan3.po @@ -7,7 +7,7 @@ msgstr "" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.3\n" +"X-Generator: Poedit 2.0.7\n" "Last-Translator: INAGAKI Hiroshi <musashino.open@gmail.com>\n" "Plural-Forms: nplurals=1; plural=0;\n" "Language: ja\n" @@ -44,7 +44,7 @@ msgid "Check IP rules" msgstr "IP ルールのチェック" msgid "Check link quality" -msgstr "" +msgstr "リンク品質のチェック" msgid "Check routing table" msgstr "ルーティング テーブルのチェック" @@ -59,7 +59,7 @@ msgid "Destination port" msgstr "宛先ポート" msgid "Detail" -msgstr "" +msgstr "詳細" msgid "Diagnostics" msgstr "診断機能" @@ -80,7 +80,7 @@ msgid "Enter value in hex, starting with <code>0x</code>" msgstr "<code>0x</code> で始まる16進数の値を入力してください。" msgid "Execute" -msgstr "" +msgstr "実行" msgid "Expect interface state on up event" msgstr "Up イベント時に予想されるインターフェースの状態です。" @@ -92,10 +92,12 @@ msgid "Firewall mask" msgstr "ファイアウォール マスク" msgid "Flush conntrack table" -msgstr "" +msgstr "conntrack テーブルのクリア" msgid "Flush global firewall conntrack table on interface events" msgstr "" +"インターフェース イベント時にグローバル ファイアウォール conntrack テーブルを" +"クリアします。" msgid "Globals" msgstr "全般" @@ -107,7 +109,7 @@ msgid "Hotplug ifup" msgstr "ホットプラグ ifup" msgid "INFO: MWAN not running" -msgstr "" +msgstr "情報: MWAN は実行されていません" msgid "IPset" msgstr "IPset" @@ -160,28 +162,28 @@ msgid "Local source interface" msgstr "" msgid "MWAN - Globals" -msgstr "" +msgstr "MWAN - グローバル" msgid "MWAN - Interfaces" -msgstr "" +msgstr "MWAN - インターフェース" msgid "MWAN - Members" -msgstr "" +msgstr "MWAN - メンバー" msgid "MWAN - Notification" -msgstr "" +msgstr "MWAN - 通知" msgid "MWAN - Policies" -msgstr "" +msgstr "MWAN - ポリシー" msgid "MWAN - Rules" -msgstr "" +msgstr "MWAN - ルール" msgid "MWAN Interface Configuration - %s" msgstr "MWAN インターフェース設定 - %s" msgid "MWAN Interfaces" -msgstr "" +msgstr "MWAN インターフェース" msgid "MWAN Member Configuration - %s" msgstr "MWAN メンバー設定 - %s" @@ -193,13 +195,13 @@ msgid "MWAN Rule Configuration - %s" msgstr "MWAN ルール設定 - %s" msgid "MWAN Status - Detail" -msgstr "" +msgstr "MWAN ステータス - 詳細" msgid "MWAN Status - Diagnostics" -msgstr "" +msgstr "MWAN ステータス - 診断" msgid "MWAN Status - Troubleshooting" -msgstr "" +msgstr "MWAN ステータス - トラブルシューティング" msgid "" "MWAN supports up to 252 physical and/or logical interfaces<br />MWAN " @@ -218,10 +220,10 @@ msgstr "" "シー、ルールと同じ名前を使用することはできません。" msgid "Max packet latency [ms]" -msgstr "" +msgstr "最大パケットレイテンシ [ms]" msgid "Max packet loss [%]" -msgstr "" +msgstr "最大パケットロス [%]" msgid "" "May be entered as a single or multiple port(s) (eg \"22\" or \"80,443\") or " @@ -256,10 +258,10 @@ msgid "Metric" msgstr "メトリック" msgid "Min packet latency [ms]" -msgstr "" +msgstr "最小パケットレイテンシ [ms]" msgid "Min packet loss [%]" -msgstr "" +msgstr "最小パケットロス [%]" msgid "" "Name of IPset rule. Requires IPset rule in /etc/dnsmasq.conf (eg \"ipset=/" @@ -275,7 +277,7 @@ msgid "No MWAN interfaces found" msgstr "MWAN インターフェースが見つかりません" msgid "Notification" -msgstr "" +msgstr "通知" msgid "Offline" msgstr "オフライン" @@ -357,6 +359,16 @@ msgid "" "z, 0-9, _ and no spaces<br />Rules may not share the same name as configured " "interfaces, members or policies" msgstr "" +"ルールは、どのトラフィックが特定の MWAN ポリシーを使用するかを指定します<br /" +">ルールは IP アドレスやポート、プロトコルに基づいています<br />ルールは上から" +"下へマッチングが行われます<br />合致したルールより下のルールは無視されます" +"<br />いずれのルールにもマッチしないトラフィックは、メインのルーティングテー" +"ブルを使用してルーティングされます<br />既知(デフォルト以外)のネットワーク" +"へのトラフィックは、メインのルーティングテーブルによって制御されます<br />ト" +"ラフィックがルールに合致しても、全 WAN インターフェースが down の場合は " +"blackhole 状態となります<br />名前は A-Z, a-z, 0-9, _ を含むことができます" +"が、スペースは使用できません<br />ルールは、設定済みのインターフェースやメン" +"バー、ポリシーと同じ名前を使用することはできません。" msgid "Seconds. Acceptable values: 1-1000000. Defaults to 600 if not set" msgstr "秒。利用可能な値: 1-1000000。空欄の場合のデフォルト値は600です。" @@ -377,7 +389,7 @@ msgid "Supports CIDR notation (eg \"192.168.100.0/24\") without quotes" msgstr "CIDR 表記のサポート(例: \"192.168.100.0/24\")" msgid "Task" -msgstr "" +msgstr "タスク" msgid "There are currently %d of %d supported interfaces configured" msgstr "現在、%d 個中 %d 個のサポートされたインターフェースが設定済みです。" @@ -412,6 +424,21 @@ msgid "" "Physical device name which interface went up or down (e.g. \"eth0\" or " "\"wwan0\")<br /><br />" msgstr "" +"このセクションでは、 \"/etc/mwan3.user\" の内容を変更することができます。" +"<br />このファイルも sysupgrade の際に保持されます。<br /><br />注意: <br />" +"このファイルはシェルスクリプトとして解釈されます。<br />最初の行は "#!/" +"bin/sh" である必要があります(クォーテーション不要)。<br /># で始まる行" +"はコメントであり、実行されません。<br />mwan3 のカスタム動作をここに入力して" +"ください。<br />これらは、mwan3 で有効なインターフェースの<br /> netifd " +"hotplug インターフェース イベント毎に実行されます。<br /><br />このスクリプト" +"に受け渡される主に3つの環境変数が利用できます。<br /><br />$ACTION<br />* " +"\"ifup\" は netifd と mwan3track により呼び出されます<br />* \"ifdown\" は " +"netifd と mwan3track により呼び出されます<br />* \"connected\" はトラッキング" +"が成功した際に mwan3track にのみにより呼び出されます<br />* \"disconnected\" " +"は トラッキングが失敗した際に mwan3track のみにより呼び出されます<br />" +"$INTERFACE up または down したインターフェース名(例: \"wan\" や \"wwan\")" +"<br />$DEVICE up または down したインターフェースの物理デバイス名(例: " +"\"eth0\" や \"wwan0\")<br /><br />" msgid "Tracking hostname or IP address" msgstr "追跡ホスト名または IP アドレス" @@ -441,36 +468,42 @@ msgstr "" "インターフェースの IP アドレスが使用されます。" msgid "View the content of /etc/protocols for protocol description" -msgstr "" +msgstr "プロトコルの説明については、 /etc/protocols の内容を確認してください" msgid "WARNING: %d interfaces are configured exceeding the maximum of %d!" msgstr "" "警告: %d 個のインターフェースが、最大個数の %d 個 を超えて設定されています!" msgid "WARNING: Interface %s are not found in /etc/config/network" -msgstr "" +msgstr "警告: インターフェース %s が /etc/config/network に見つかりません" msgid "WARNING: Interface %s has a duplicate metric %s configured" -msgstr "" +msgstr "警告: インターフェース %s に重複するメトリック %s が設定されています" msgid "" "WARNING: Interface %s has a higher reliability requirement than tracking " "hosts (%d)" msgstr "" +"警告: インターフェース %s は追跡ホスト数 (%d) よりも高い追跡信頼性の値が設定" +"されています" msgid "WARNING: Interface %s has no default route in the main routing table" msgstr "" +"警告: インターフェース %s はメインのルーティング テーブル内でデフォルトルート" +"がありません" msgid "WARNING: Policy %s has exceeding the maximum name of 15 characters" -msgstr "" +msgstr "警告: ポリシー %s の名前は15文字の最大文字数を超えています" msgid "" "WARNING: Rule %s have a port configured with no or improper protocol " "specified!" msgstr "" +"警告: ルール %s はプロトコル指定が不適切、または無いポートが設定されていま" +"す!" msgid "Waiting for command to complete..." -msgstr "" +msgstr "コマンドを実行中です..." msgid "Weight" msgstr "ウエイト" @@ -504,289 +537,3 @@ msgstr "never" msgid "unreachable (reject)" msgstr "unreachable (reject)" - -#~ msgid "Online (tracking active)" -#~ msgstr "オンライン(追跡実行中)" - -#~ msgid "MWAN Interface Live Status" -#~ msgstr "MWAN インターフェース Live ステータス" - -#~ msgid "Online (tracking off)" -#~ msgstr "オンライン(追跡オフ)" - -#~ msgid "" -#~ "This section allows you to modify the content of \"/etc/mwan3.user\".<br /" -#~ ">The file is also preserved during sysupgrade.<br /><br />Notes:<br /" -#~ ">This file is interpreted as a shell script.<br />The first line of the " -#~ "script must be "#!/bin/sh" without quotes.<br />Lines beginning " -#~ "with # are comments and are not executed.<br />Put your custom mwan3 " -#~ "action here, they will<br />be executed with each netifd hotplug " -#~ "interface event<br />on interfaces for which mwan3 is enabled.<br /><br /" -#~ ">There are three main environment variables that are passed to this " -#~ "script.<br /><br />$ACTION Either \"ifup\" or \"ifdown\"<br />$INTERFACE " -#~ "Name of the interface which went up or down (e.g. \"wan\" or \"wwan" -#~ "\")<br />$DEVICE Physical device name which interface went up or down (e." -#~ "g. \"eth0\" or \"wwan0\")<br /><br />" -#~ msgstr "" -#~ "このセクションでは、 \"/etc/mwan3.user\" の内容を変更することができます。" -#~ "<br />このファイルは、 sysupgrade 時に保持されます。<br /><br />注意: " -#~ "<br />このファイルは、シェルスクリプトとして解釈されます。<br />スクリプト" -#~ "の1行目は、"#!bin/sh" である必要があります(クォーテーション不" -#~ "要)。<br /># で始まる行はコメントであり、実行されません。<br />mwan3 のカ" -#~ "スタム動作をここに入力してください。これらは、 mwan3 が有効なインター" -#~ "フェースの<br />netifd ホットプラグ インターフェース イベント毎に実行され" -#~ "ます。<br /><br />主に3つの環境変数が利用可能です。<br /><br />$ACTION - " -#~ "\"ifup\" および \"ifdown\"<br />$INTERFACE - Up または Down が行われたイン" -#~ "ターフェース名(例: \"wan\" や \"wwan\")<br />$DEVICE - Up または Down が" -#~ "行われた物理デバイス名(例: \"eth0\" や \"wwan0\")<br /><br />" - -#~ msgid "Currently Configured Interfaces" -#~ msgstr "設定済みインターフェース" - -#~ msgid "Currently Configured Members" -#~ msgstr "設定済みメンバー" - -#~ msgid "Currently Configured Policies" -#~ msgstr "設定済みポリシー" - -#~ msgid "Detailed Status" -#~ msgstr "詳細ステータス" - -#~ msgid "Diagnostic Results" -#~ msgstr "診断結果" - -#~ msgid "Error collecting troubleshooting information" -#~ msgstr "トラブルシューティング情報の収集エラー" - -#~ msgid "Errors" -#~ msgstr "エラー" - -#~ msgid "Globals mwan3 options" -#~ msgstr "MWAN3 全般オプション" - -#~ msgid "Interface Status" -#~ msgstr "インターフェース ステータス" - -#~ msgid "Last 50 MWAN systemlog entries. Newest entries sorted at the top :" -#~ msgstr "直近の MWAN システムログ(50行)です。一番上が最新の行です:" - -#~ msgid "MWAN Detailed Status" -#~ msgstr "MWAN 詳細ステータス" - -#~ msgid "MWAN Interface Configuration" -#~ msgstr "MWAN インターフェース設定" - -#~ msgid "MWAN Interface Diagnostics" -#~ msgstr "MWAN インターフェース診断" - -#~ msgid "MWAN Interface Systemlog" -#~ msgstr "MWAN インターフェース システムログ" - -#~ msgid "MWAN Member Configuration" -#~ msgstr "MWAN メンバー設定" - -#~ msgid "MWAN Policy Configuration" -#~ msgstr "MWAN ポリシー設定" - -#~ msgid "MWAN Rule Configuration" -#~ msgstr "MWAN ルール設定" - -#~ msgid "MWAN Service Control" -#~ msgstr "MWAN サービス コントロール" - -#~ msgid "No MWAN systemlog history found" -#~ msgstr "MWAN システムログの履歴が見つかりません" - -#~ msgid "No detailed status information available" -#~ msgstr "詳細ステータス情報は利用できません" - -#~ msgid "No diagnostic results returned" -#~ msgstr "診断結果がありません" - -#~ msgid "No protocol specified" -#~ msgstr "プロトコルが設定されていません" - -#~ msgid "Restart MWAN" -#~ msgstr "MWAN の再起動" - -#~ msgid "" -#~ "Rules specify which traffic will use a particular MWAN policy based on IP " -#~ "address, port or protocol<br />Rules are matched from top to bottom. " -#~ "Rules below a matching rule are ignored. Traffic not matching any rule is " -#~ "routed using the main routing table<br />Traffic destined for known " -#~ "(other than default) networks is handled by the main routing table. " -#~ "Traffic matching a rule, but all WAN interfaces for that policy are down " -#~ "will be blackholed<br />Names may contain characters A-Z, a-z, 0-9, _ and " -#~ "no spaces<br />Rules may not share the same name as configured " -#~ "interfaces, members or policies" -#~ msgstr "" -#~ "ルールは IP アドレスやポート、プロトコルを基に、トラフィックがどの MWAN ポ" -#~ "リシーを使用するかを設定します。<br />ルールは上から下へマッチングが行わ" -#~ "れ、合致したルールより下のルールは無視されます。全てのルールに合致しないト" -#~ "ラフィックは、メインのルーティング テーブルを使用してルートが決定されま" -#~ "す。<br />既知(デフォルト以外)のネットワークへのトラフィックは、メインの" -#~ "ルーティング テーブルによって制御されます。ルールに合致したトラフィックで" -#~ "も、当該ポリシーの全 WAN インターフェースが Down 状態の場合は blackhole 状" -#~ "態となります。<br />名前は A-Z, a-z, 0-9, _ を含むことができますが、スペー" -#~ "スは使用できません。<br />ルールは、設定済みのインターフェースやメンバー、" -#~ "ポリシーと同じ名前を使用することはできません。" - -#~ msgid "Start MWAN" -#~ msgstr "MWAN の起動" - -#~ msgid "Stop MWAN" -#~ msgstr "MWAN の停止" - -#~ msgid "Tracking IP" -#~ msgstr "追跡 IP" - -#~ msgid "Traffic Rules" -#~ msgstr "トラフィック ルール" - -#~ msgid "Troubleshooting Data" -#~ msgstr "トラブルシューティング データ" - -#~ msgid "View the contents of /etc/protocols for protocol descriptions" -#~ msgstr "" -#~ "プロトコルの説明については、 /etc/protocols の内容を確認してください。" - -#~ msgid "" -#~ "WARNING: Some interfaces are configured incorrectly or not at all in /etc/" -#~ "config/network!" -#~ msgstr "" -#~ "警告: 設定を誤っているか、もしくは完全に設定されていないインターフェースが" -#~ "あります!" - -#~ msgid "" -#~ "WARNING: Some interfaces have a higher reliability requirement than there " -#~ "are tracking IP addresses!" -#~ msgstr "" -#~ "警告: 追跡 IP アドレスの個数より大きい追跡信頼性の値が設定されたインター" -#~ "フェースがあります!" - -#~ msgid "" -#~ "WARNING: Some interfaces have duplicate metrics configured in /etc/config/" -#~ "network!" -#~ msgstr "" -#~ "警告: /etc/config/network で、重複するメトリックを設定されているインター" -#~ "フェースがあります!" - -#~ msgid "" -#~ "WARNING: Some interfaces have no default route in the main routing table!" -#~ msgstr "" -#~ "警告: メインのルーティング テーブルで、デフォルト ルートを設定されていない" -#~ "インターフェースがあります!" - -#~ msgid "" -#~ "WARNING: Some interfaces have no metric configured in /etc/config/network!" -#~ msgstr "" -#~ "警告: /etc/config/network で、メトリックを設定されていないインターフェース" -#~ "があります!" - -#~ msgid "" -#~ "WARNING: Some policies have names exceeding the maximum of 15 characters!" -#~ msgstr "" -#~ "警告: 最大文字数の 15 文字を超える名前が設定されているポリシーがあります!" - -#~ msgid "" -#~ "WARNING: Some rules have a port configured with no or improper protocol " -#~ "specified! Please configure a specific protocol!" -#~ msgstr "" -#~ "警告: 不適切なプロトコルが指定されている、または何も指定されていないポート" -#~ "を設定されたルールがあります!プロトコルを指定し直してください!" - -#~ msgid "" -#~ "WARNING: This and other interfaces have duplicate metrics configured in /" -#~ "etc/config/network!" -#~ msgstr "" -#~ "警告: これと他のインターフェースで重複するメトリックが /etc/config/" -#~ "network に設定されています!" - -#~ msgid "" -#~ "WARNING: This interface has a higher reliability requirement than there " -#~ "are tracking IP addresses!" -#~ msgstr "" -#~ "警告: このインターフェースは、追跡 IP アドレスの個数より大きい追跡信頼性の" -#~ "値を設定されています!" - -#~ msgid "" -#~ "WARNING: This interface has no default route in the main routing table!" -#~ msgstr "" -#~ "警告: このインターフェースは、メインのルーティング テーブルにデフォルト " -#~ "ルートが設定されていません!" - -#~ msgid "" -#~ "WARNING: This interface has no metric configured in /etc/config/network!" -#~ msgstr "" -#~ "警告: このインターフェースは、 /etc/config/network でメトリックが設定され" -#~ "ていません!" - -#~ msgid "" -#~ "WARNING: This interface is configured incorrectly or not at all in /etc/" -#~ "config/network!" -#~ msgstr "" -#~ "警告: このインターフェースは /etc/config/network で設定が誤っているか、も" -#~ "しくは完全に設定されていません!" - -#~ msgid "" -#~ "WARNING: This policy's name is %d characters exceeding the maximum of 15!" -#~ msgstr "" -#~ "警告: このポリシーの名前は、最大文字数 15 文字を超える %d 文字が設定されて" -#~ "います!" - -#~ msgid "" -#~ "WARNING: This rule is incorrectly configured with no or improper protocol " -#~ "specified! Please configure a specific protocol!" -#~ msgstr "" -#~ "警告: このルールは不適切なプロトコルが指定されているか、または何も指定され" -#~ "ていません!プロトコルを指定し直してください!" - -#~ msgid "Waiting for MWAN to %s..." -#~ msgstr "MWAN の %s を待っています..." - -#~ msgid "Waiting for diagnostic results..." -#~ msgstr "診断結果を待っています..." - -#~ msgid "restart" -#~ msgstr "再起動" - -#~ msgid "start" -#~ msgstr "起動" - -#~ msgid "stop" -#~ msgstr "停止" - -#~ msgid "Advanced" -#~ msgstr "詳細設定" - -#~ msgid "Configuration" -#~ msgstr "設定" - -#~ msgid "Hotplug Script" -#~ msgstr "ホットプラグ スクリプト" - -#~ msgid "MWAN Config" -#~ msgstr "MWAN 設定" - -#~ msgid "Network Config" -#~ msgstr "ネットワーク設定" - -#~ msgid "Overview" -#~ msgstr "概要" - -#~ msgid "This section allows you to modify the contents of /etc/config/mwan3" -#~ msgstr "" -#~ "このセクションでは、 /etc/config/mwan3 の内容を変更することができます。" - -#~ msgid "" -#~ "This section allows you to modify the contents of /etc/config/network" -#~ msgstr "" -#~ "このセクションでは、 /etc/config/network の内容を変更することができます。" - -#~ msgid "" -#~ "This section allows you to modify the contents of /etc/config/wireless" -#~ msgstr "" -#~ "このセクションでは、 /etc/config/wireless の内容を変更することができます。" - -#~ msgid "Wireless Config" -#~ msgstr "無線設定" diff --git a/applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua b/applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua index d2b5d32c05..a6b0e1dd90 100644 --- a/applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua +++ b/applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua @@ -56,7 +56,7 @@ function s.create(self, name) luci.cbi.CREATE_PREFIX .. self.config .. "." .. self.sectiontype .. ".text" ) - if string.len(name)>3 and not name:match("[^a-zA-Z0-9_]") then + if #name > 3 and not name:match("[^a-zA-Z0-9_]") then uci:section( "openvpn", "openvpn", name, uci:get_all( "openvpn_recipes", recipe ) @@ -67,9 +67,11 @@ function s.create(self, name) uci:save("openvpn") luci.http.redirect( self.extedit:format(name) ) - else + elseif #name > 0 then self.invalid_cts = true end + + return 0 end @@ -103,10 +105,7 @@ function updown.cfgvalue(self, section) end function updown.write(self, section, value) if self.option == "stop" then - local pid = s.getPID(section) - if pid ~= nil then - sys.process.signal(pid,15) - end + luci.sys.call("/etc/init.d/openvpn stop %s" % section) else luci.sys.call("/etc/init.d/openvpn start %s" % section) end @@ -126,5 +125,8 @@ function proto.cfgvalue(self, section) return val or "udp" end +function m.on_after_commit(self,map) + require("luci.sys").call('/etc/init.d/openvpn reload') +end return m diff --git a/applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm b/applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm index f76b52e9cc..75e52aeb27 100644 --- a/applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm +++ b/applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm @@ -46,8 +46,8 @@ This is free software, licensed under the Apache License, Version 2.0 <td style="<%=style%>"><%=bssid%></td> <td style="<%=style%>"><%=encryption%></td> <td class="cbi-value-field" style="width:80px"> - <input class="cbi-button cbi-button-up" type="button" value="" onclick="location.href='<%=luci.dispatcher.build_url('admin/services/travelmate/wifiorder')%>?cfg=<%=section%>&dir=up'" alt="<%:Move up%>" title="<%:Move up%>"/> - <input class="cbi-button cbi-button-down" type="button" value="" onclick="location.href='<%=luci.dispatcher.build_url('admin/services/travelmate/wifiorder')%>?cfg=<%=section%>&dir=down'" alt="<%:Move down%>" title="<%:Move down%>"/> + <input class="cbi-button cbi-button-up" type="button" value="" onclick="location.href='<%=luci.dispatcher.build_url('admin/services/travelmate/wifiorder')%>?cfg=<%=section%>&dir=up'" alt="<%:Move up%>" title="<%:Move up%>"/> + <input class="cbi-button cbi-button-down" type="button" value="" onclick="location.href='<%=luci.dispatcher.build_url('admin/services/travelmate/wifiorder')%>?cfg=<%=section%>&dir=down'" alt="<%:Move down%>" title="<%:Move down%>"/> </td> <td class="cbi-value-field" style="width:150px"> <input type="button" class="cbi-button cbi-button-edit" onclick="location.href='<%=luci.dispatcher.build_url('admin/services/travelmate/wifiedit')%>?cfg=<%=section%>'" title="<%:Edit this Uplink%>" value="<%:Edit%>"/> |