if (legend && output)
{
- var prefix = location.protocol + '//' + location.hostname +
- (location.port ? ':' + location.port : '') +
- location.pathname.split(';')[0] + 'command/';
+ var prefix = location.protocol + '//' + location.host + '<%=url('command')%>/';
var suffix = (args ? '/' + args : '');
var link = prefix + id + suffix;
out.exclude = value
inp.exclude = value
end
-
- m.redirect = ds.build_url("admin/network/firewall/zones", value)
- m.title = "%s - %s" %{
- translate("Firewall - Zone Settings"),
- translatef("Zone %q", value or "?")
- }
end
p = {
LUCI_TITLE:=LuCI Support for OpenVPN
LUCI_DEPENDS:=
+PKG_LICENSE:=Apache-2.0
+
include ../../luci.mk
# call BuildPackage - OpenWrt buildroot signature
.. translatef("For further information "
.. "<a href=\"%s\" target=\"_blank\">"
.. "see online documentation</a>", "https://github.com/openwrt/packages/blob/master/net/travelmate/files/README.md"))
+m:chain("network")
+m:chain("firewall")
+m.apply_on_parse = true
-function m.on_after_commit(self)
+function m.on_apply(self)
luci.sys.call("env -i /etc/init.d/travelmate restart >/dev/null 2>&1")
luci.http.redirect(luci.dispatcher.build_url("admin", "services", "travelmate"))
end
if uplink == "" then
ds = m:section(NamedSection, "global", "travelmate", translate("Interface Wizard"))
-
- o = ds:option(Value, "", translate("Uplink interface"))
+ o = ds:option(Value, "trm_iface", translate("Create Uplink interface"),
+ translate("Create a new wireless wan uplink interface, configure it to use dhcp and ")
+ .. translate("add it to the wan zone of the firewall.<br />")
+ .. translate("This step has only to be done once."))
o.datatype = "and(uciname,rangelength(3,15))"
o.default = trmiface
o.rmempty = false
- btn = ds:option(Button, "trm_iface", translate("Create Uplink Interface"),
- translate("Create a new wireless wan uplink interface, configure it to use dhcp and ")
- .. translate("add it to the wan zone of the firewall. This step has only to be done once."))
- btn.inputtitle = translate("Add Interface")
- btn.inputstyle = "apply"
- btn.disabled = false
-
- function btn.write(self, section)
- local iface = o:formvalue(section)
- if iface then
- uci:set("travelmate", section, "trm_iface", iface)
- uci:save("travelmate")
- uci:commit("travelmate")
- local net = nw:add_network(iface, { proto = "dhcp" })
+ function o.validate(self, value)
+ if value then
+ local net = nw:add_network(value, { proto = "dhcp" })
if net then
- nw:save("network")
- nw:commit("network")
local zone = fw:get_zone_by_network("wan")
if zone then
- zone:add_network(iface)
- fw:save("firewall")
- fw:commit("firewall")
+ zone:add_network(value)
end
end
- luci.sys.call("env -i /bin/ubus call network reload >/dev/null 2>&1")
end
- luci.http.redirect(luci.dispatcher.build_url("admin", "services", "travelmate"))
+ return value
end
return m
end
<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%>"/>
"https://www.unbound.net/",
"https://github.com/openwrt/packages/blob/master/net/unbound/files/README.md"))
-ena = s1:taboption("basic", Flag, "enabled", translate("Enable Unbound:"),
- translate("Enable the initialization scripts for Unbound"))
-ena.rmempty = false
-
-mcf = s1:taboption("basic", Flag, "manual_conf", translate("Manual Conf:"),
- translate("Skip UCI and use /etc/unbound/unbound.conf"))
-mcf.rmempty = false
-
-lci = s1:taboption("basic", Flag, "extended_luci", translate("Extended Tabs:"),
- translate("See detailed tabs for statistics, debug, and manual configuration"))
-lci.rmempty = false
-
-
-function ena.cfgvalue(self, section)
- return luci.sys.init.enabled("unbound") and self.enabled or self.disabled
-end
-
-
-function ena.write(self, section, value)
- if value == "1" then
- luci.sys.init.enable("unbound")
- luci.sys.call("/etc/init.d/unbound start >/dev/null")
- else
- luci.sys.call("/etc/init.d/unbound stop >/dev/null")
- luci.sys.init.disable("unbound")
- end
-
- return Flag.write(self, section, value)
-end
-
if valman ~= "1" then
-- Not in manual configuration mode; show UCI
s1:tab("advanced", translate("Advanced"),
translatef("<h3>Unbound Advanced Settings</h3>\n"
- .. "Link DHCP-DNS, Manipulate DNS, or protect your local domain in "
+ .. "Domain manipulation, lookup protection, and workarounds for "
.. "<a href=\"%s\" target=\"_blank\">Unbound </a>"
.. " DNS resolver.", "https://www.unbound.net/"))
+ s1:tab("DHCP", translate("DHCP"),
+ translatef("<h3>Unbound DHCP Settings</h3>\n"
+ .. "Link your DHCP server to "
+ .. "<a href=\"%s\" target=\"_blank\">Unbound </a>"
+ .. " DNS resolver.", "https://www.unbound.net/ "))
s1:tab("resource", translate("Resource"),
translatef("<h3>Unbound Resource Settings</h3>\n"
.. "Memory and protocol setttings for "
.. "<a href=\"%s\" target=\"_blank\">Unbound </a>"
.. " DNS resolver.", "https://www.unbound.net/"))
+end
+s1:tab("trigger", translate("Trigger"),
+ translatef("<h3>Unbound Event Trigger Settings</h3>\n"
+ .. "Start, reload, and save RFC5011 DNSKEY records for "
+ .. "<a href=\"%s\" target=\"_blank\">Unbound </a>"
+ .. " DNS resolver.", "https://www.unbound.net/"))
+
+
+--Basic Tab, unconditional pieces
+ena = s1:taboption("basic", Flag, "enabled", translate("Enable Unbound:"),
+ translate("Enable the initialization scripts for Unbound"))
+ena.rmempty = false
+
+mcf = s1:taboption("basic", Flag, "manual_conf", translate("Manual Conf:"),
+ translate("Skip UCI and use /etc/unbound/unbound.conf"))
+mcf.rmempty = false
+
+lci = s1:taboption("basic", Flag, "extended_luci", translate("Extended Tabs:"),
+ translate("See detailed tabs for statistics, debug, and manual configuration"))
+lci.rmempty = false
+
+
+if valman ~= "1" then
+ -- Not in manual configuration mode; show UCI
--Basic Tab
lsv = s1:taboption("basic", Flag, "localservice", translate("Local Service:"),
translate("Accept queries only from local subnets"))
nvd.rmempty = false
nvd:depends({ validator = true })
- din = s1:taboption("basic", DynamicList, "domain_insecure",
- translate("Domain Insecure:"),
- translate("List domains to bypass checks of DNSSEC"))
- din:depends({ validator = true })
-
d64 = s1:taboption("basic", Flag, "dns64", translate("Enable DNS64:"),
translate("Enable the DNS64 module"))
d64.rmempty = false
prt.rmempty = false
--Avanced Tab
- dlk = s1:taboption("advanced", ListValue, "dhcp_link", translate("DHCP Link:"),
+ din = s1:taboption("advanced", DynamicList, "domain_insecure",
+ translate("Domain Insecure:"),
+ translate("List domains to bypass checks of DNSSEC"))
+ din:depends({ validator = true })
+
+ dfw = s1:taboption("advanced", DynamicList, "domain_forward",
+ translate("Domain Forward:"),
+ translate("List domains to simply forward to stub resolvers in /tmp/resolve.auto"))
+
+ rlh = s1:taboption("advanced", Flag, "rebind_localhost", translate("Filter Localhost Rebind:"),
+ translate("Protect against upstream response of 127.0.0.0/8"))
+ rlh.rmempty = false
+
+ rpv = s1:taboption("advanced", ListValue, "rebind_protection", translate("Filter Private Rebind:"),
+ translate("Protect against upstream responses within local subnets"))
+ rpv:value("0", translate("No Filter"))
+ rpv:value("1", translate("Filter RFC1918/4193"))
+ rpv:value("2", translate("Filter Entire Subnet"))
+ rpv.rmempty = false
+
+ rpn = s1:taboption("advanced", Value, "rebind_interface", translate("Rebind Network Filter:"),
+ translate("Network subnets to filter from upstream responses"))
+ rpn.template = "cbi/network_netlist"
+ rpn.widget = "checkbox"
+ rpn.rmempty = true
+ rpn.cast = "string"
+ rpn.nocreate = true
+ rpn:depends({ rebind_protection = 2 })
+ rpn:depends({ rebind_protection = 3 })
+
+ --DHCP Tab
+ dlk = s1:taboption("DHCP", ListValue, "dhcp_link", translate("DHCP Link:"),
translate("Link to supported programs to load DHCP into DNS"))
dlk:value("none", translate("No Link"))
dlk:value("dnsmasq", "dnsmasq")
dlk:value("odhcpd", "odhcpd")
dlk.rmempty = false
- dp6 = s1:taboption("advanced", Flag, "dhcp4_slaac6", translate("DHCPv4 to SLAAC:"),
+ dp6 = s1:taboption("DHCP", Flag, "dhcp4_slaac6", translate("DHCPv4 to SLAAC:"),
translate("Use DHCPv4 MAC to discover IP6 hosts SLAAC (EUI64)"))
dp6.rmempty = false
dp6:depends({ dhcp_link = "odhcpd" })
- dom = s1:taboption("advanced", Value, "domain", translate("Local Domain:"),
+ dom = s1:taboption("DHCP", Value, "domain", translate("Local Domain:"),
translate("Domain suffix for this router and DHCP clients"))
dom.placeholder = "lan"
dom:depends({ dhcp_link = "none" })
dom:depends({ dhcp_link = "odhcpd" })
- dty = s1:taboption("advanced", ListValue, "domain_type", translate("Local Domain Type:"),
+ dty = s1:taboption("DHCP", ListValue, "domain_type", translate("Local Domain Type:"),
translate("How to treat queries of this local domain"))
dty:value("deny", translate("Ignored"))
dty:value("refuse", translate("Refused"))
dty:depends({ dhcp_link = "none" })
dty:depends({ dhcp_link = "odhcpd" })
- lfq = s1:taboption("advanced", ListValue, "add_local_fqdn", translate("LAN DNS:"),
+ lfq = s1:taboption("DHCP", ListValue, "add_local_fqdn", translate("LAN DNS:"),
translate("How to enter the LAN or local network router in DNS"))
lfq:value("0", translate("No Entry"))
lfq:value("1", translate("Hostname, Primary Address"))
lfq:depends({ dhcp_link = "none" })
lfq:depends({ dhcp_link = "odhcpd" })
- wfq = s1:taboption("advanced", ListValue, "add_wan_fqdn", translate("WAN DNS:"),
+ wfq = s1:taboption("DHCP", ListValue, "add_wan_fqdn", translate("WAN DNS:"),
translate("Override the WAN side router entry in DNS"))
wfq:value("0", translate("Use Upstream"))
wfq:value("1", translate("Hostname, Primary Address"))
wfq:depends({ dhcp_link = "none" })
wfq:depends({ dhcp_link = "odhcpd" })
- exa = s1:taboption("advanced", ListValue, "add_extra_dns", translate("Extra DNS:"),
+ exa = s1:taboption("DHCP", ListValue, "add_extra_dns", translate("Extra DNS:"),
translate("Use extra DNS entries found in /etc/config/dhcp"))
exa:value("0", translate("Ignore"))
exa:value("1", translate("Include Network/Hostnames"))
exa:depends({ dhcp_link = "none" })
exa:depends({ dhcp_link = "odhcpd" })
- dfw = s1:taboption("advanced", DynamicList, "domain_forward",
- translate("Domain Forward:"),
- translate("List domains to simply forward to stub resolvers in /tmp/resolve.auto"))
-
- rlh = s1:taboption("advanced", Flag, "rebind_localhost", translate("Filter Localhost Rebind:"),
- translate("Protect against upstream response of 127.0.0.0/8"))
- rlh.rmempty = false
-
- rpv = s1:taboption("advanced", ListValue, "rebind_protection", translate("Filter Private Rebind:"),
- translate("Protect against upstream responses within local subnets"))
- rpv:value("0", translate("No Filter"))
- rpv:value("1", translate("Filter RFC1918/4193"))
- rpv:value("2", translate("Filter Entire Subnet"))
- rpv.rmempty = false
-
- rpn = s1:taboption("advanced", Value, "rebind_interface", translate("Rebind Network Filter:"),
- translate("Network subnets to filter from upstream responses"))
- rpn.template = "cbi/network_netlist"
- rpn.widget = "checkbox"
- rpn.cast = "string"
- rpn:depends({ rebind_protection = 2 })
- rpn:depends({ rebind_protection = 3 })
-
--TODO: dnsmasq needs to not reference resolve-file and get off port 53.
--Resource Tuning Tab
rsc:value("tiny", translate("Tiny"))
rsc.rmempty = false
- ag2 = s1:taboption("resource", Value, "root_age", translate("Root DSKEY Age:"),
- translate("Limit days between RFC 5011 copies to reduce flash writes"))
- ag2.datatype = "and(uinteger,min(1),max(99))"
- ag2:value("3", "3")
- ag2:value("9", "9 ("..translate("default")..")")
- ag2:value("12", "12")
- ag2:value("24", "24")
- ag2:value("99", "99 ("..translate("never")..")")
-
eds = s1:taboption("resource", Value, "edns_size", translate("EDNS Size:"),
translate("Limit extended DNS packet size"))
eds.datatype = "and(uinteger,min(512),max(4096))"
stt = s1:taboption("resource", Flag, "extended_stats", translate("Extended Statistics:"),
translate("Extended statistics are printed from unbound-control"))
stt.rmempty = false
+end
- tgr = s1:taboption("resource", Value, "trigger_interface", translate("Trigger Networks:"),
+
+--Trigger Tab, always unconditional
+ag2 = s1:taboption("trigger", Value, "root_age", translate("Root DSKEY Age:"),
+ translate("Limit days between RFC5011 copies to reduce flash writes"))
+ag2.datatype = "and(uinteger,min(1),max(99))"
+ag2:value("3", "3")
+ag2:value("9", "9 ("..translate("default")..")")
+ag2:value("12", "12")
+ag2:value("24", "24")
+ag2:value("99", "99 ("..translate("never")..")")
+
+tgr = s1:taboption("trigger", Value, "trigger_interface", translate("Trigger Networks:"),
translate("Networks that may trigger Unbound to reload (avoid wan6)"))
- tgr.template = "cbi/network_netlist"
- tgr.widget = "checkbox"
- tgr.cast = "string"
-
-else
- s1:tab("rfc5011", translate("RFC5011"),
- translatef("<h3>Unbound RFC5011 Settings</h3>\n"
- .. "RFC5011 copy scripts protect flash ROM even with UCI disabled."))
-
- ag2 = s1:taboption("rfc5011", Value, "root_age", translate("Root DSKEY Age:"),
- translate("Limit days to copy /var/->/etc/ to reduce flash writes"))
- ag2.datatype = "and(uinteger,min(1),max(99))"
- ag2:value("3", "3")
- ag2:value("9", "9 ("..translate("default")..")")
- ag2:value("12", "12")
- ag2:value("24", "24")
- ag2:value("99", "99 ("..translate("never")..")")
+tgr.template = "cbi/network_netlist"
+tgr.widget = "checkbox"
+tgr.rmempty = true
+tgr.cast = "string"
+tgr.nocreate = true
+
+
+function ena.cfgvalue(self, section)
+ return luci.sys.init.enabled("unbound") and self.enabled or self.disabled
+end
+
+
+function ena.write(self, section, value)
+ if value == "1" then
+ luci.sys.init.enable("unbound")
+ luci.sys.call("/etc/init.d/unbound start >/dev/null")
+ else
+ luci.sys.call("/etc/init.d/unbound stop >/dev/null")
+ luci.sys.init.disable("unbound")
+ end
+
+ return Flag.write(self, section, value)
end
-function m1.on_after_commit(self)
+function m1.on_apply(self)
function ena.validate(self, value)
if value ~= "0" then
luci.sys.call("/etc/init.d/unbound restart >/dev/null 2>&1")
s:taboption("general", Flag, "secure_mode", translate("Enable secure mode"),
translate("Allow adding forwards only to requesting ip addresses")).default = "1"
+s:taboption("general", Flag, "igdv1", translate("Enable IGDv1 mode"),
+ translate("Advertise as IGDv1 device instead of IGDv2")).default = "0"
+
s:taboption("general", Flag, "log_output", translate("Enable additional logging"),
translate("Puts extra debugging information into the system log"))
msgid "Advanced Settings"
msgstr "Ajusts avançats"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr "Permet que s'afegeixin redireccions només a les adreces IP peticionant"
msgid "Downlink"
msgstr "Enllaç de baixada"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "Habilita la funcionalitat NAT-PMP"
msgid "Advanced Settings"
msgstr "Pokročilé nastavení"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr "Povolit přesměrování pouze na dotazující ip adresy"
msgid "Downlink"
msgstr "Downlink"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "Povolit funkčnost NAT-PMP"
msgid "Advanced Settings"
msgstr "Erweiterte Einstellungen"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr "Nur Weiterleitungen zurück zum anfordernden Client zulassen"
msgid "Downlink"
msgstr "Downlink"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "NAT-PMP Funktionalität aktivieren"
msgid "Advanced Settings"
msgstr ""
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
msgid "Downlink"
msgstr ""
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr ""
msgid "Advanced Settings"
msgstr ""
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
msgid "Downlink"
msgstr "Downlink"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr ""
msgid "Advanced Settings"
msgstr "Configuración avanzada"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr "Permitir añadir redirecciones sólo a IPs que lo soliciten"
msgid "Downlink"
msgstr "Enlace para bajada"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "Activar la funcionalidad NAT-PMP"
msgid "Advanced Settings"
msgstr "Paramètres avancés"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
"Permet d'ajouter des redirections seulement vers les adresses IP qui font "
msgid "Downlink"
msgstr "Lien descendant"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "Activer la fonctionnalité NAT-PMP"
msgid "Advanced Settings"
msgstr ""
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
msgid "Downlink"
msgstr ""
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr ""
msgid "Advanced Settings"
msgstr "Haladó beállítások"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
"Kizárólag a kérést küldő IP címre történő továbbítás hozzáadásának "
msgid "Downlink"
msgstr "Letöltés"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "NAT-PMP funkció engedélyezése"
msgid "Advanced Settings"
msgstr "Opzioni Avanzate"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr "Permetti l'aggiunta della mappatura solo agli indirizzi IP richiedenti"
msgid "Downlink"
msgstr "Downlink"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "Abilita il protocollo NAT-PMP"
msgid "Advanced Settings"
msgstr "詳細設定"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr "要求元IPアドレスへの転送のみ、追加を許可します。"
msgid "Downlink"
msgstr "ダウンリンク"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "NAT-PMP機能を有効にする"
msgid "Advanced Settings"
msgstr ""
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
msgid "Downlink"
msgstr ""
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr ""
msgid "Advanced Settings"
msgstr "Avanserte Innstillinger"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr "Tillat videkobling kun til IP adresser som ber om det"
msgid "Downlink"
msgstr "Nedlinje"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "Aktiver NAT-PMP funksjonalitet"
msgid "Advanced Settings"
msgstr "Ustawienia zaawansowane"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr "Zezwól na dodawanie przekierowań tylko do odpytujących adresów IP"
msgid "Downlink"
msgstr "Downlink"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "Włącz funkcjonalność NAT-PMP"
msgid "Advanced Settings"
msgstr "Configurações Avançadas"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
"Permite adicionar encaminhamento apenas para o endereço IP requisitante"
msgid "Downlink"
msgstr "Velocidade de recebimento do enlace (downlink)"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "Habilite a função NAT-PMP"
msgid "Advanced Settings"
msgstr ""
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
msgid "Downlink"
msgstr "Link para download"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr ""
msgid "Advanced Settings"
msgstr "Setari avansate"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr "Permite adaugarea forward-urilor doar catre adresele ip solicitante"
msgid "Downlink"
msgstr "Downlink"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "Activeaza functionalitatea NAT-PMP"
msgid "Advanced Settings"
msgstr "Дополнительные настройки"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr "Разрешить перенаправление только для запрашивающих IP-адресов."
msgid "Downlink"
msgstr "Внутреннее соединение"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "Включить NAT-PMP"
msgid "Advanced Settings"
msgstr ""
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
msgid "Downlink"
msgstr ""
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr ""
msgid "Advanced Settings"
msgstr "Avancerade inställningar"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
msgid "Downlink"
msgstr "Nerlänk"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "Aktivera NAT-PMP-funktionalitet"
msgid "Advanced Settings"
msgstr ""
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
msgid "Downlink"
msgstr ""
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr ""
msgid "Advanced Settings"
msgstr ""
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
msgid "Downlink"
msgstr ""
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr ""
msgid "Advanced Settings"
msgstr "Додаткові параметри"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
"Дозволити додавання переспрямування тільки для IP-адрес, що надсилають запити"
msgid "Downlink"
msgstr "Низхідний канал"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "Увімкнути функцію NAT-PMP"
msgid "Advanced Settings"
msgstr ""
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
msgid "Downlink"
msgstr "Downlink"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr ""
msgid "Advanced Settings"
msgstr "高级设置"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr "允许只向请求的 IP 地址添加转发"
msgid "Downlink"
msgstr "下行速率"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "启用 NAT-PMP 功能"
msgid "Advanced Settings"
msgstr "進階設定"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr "只允許請求的IP位址新增從導機制"
msgid "Downlink"
msgstr "下載"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "啓用蘋果NAT-PMP傳輸埠對應通訊協定功能"
else
url += '?' + code;
+ xhr.open('GET', url, true);
+
if (!isNaN(timeout))
xhr.timeout = timeout;
- xhr.open('GET', url, true);
-
xhr.onreadystatechange = function()
{
if (xhr.readyState == 4) {
callback(xhr);
}
+ xhr.open('POST', url, true);
+
if (!isNaN(timeout))
xhr.timeout = timeout;
- xhr.open('POST', url, true);
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xhr.send(code);
}
<%- if pageaction then -%>
<div class="cbi-page-actions">
- <% if redirect then %>
+ <% if redirect and not flow.hidebackbtn then %>
<div style="float:left">
<input class="cbi-button cbi-button-link" type="button" value="<%:Back to Overview%>" onclick="location.href='<%=pcdata(redirect)%>'" />
</div>
msgid "Enable"
msgstr "Habilita"
+msgid ""
+"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
+"snooping"
+msgstr ""
+
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "Habilita l'<abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgid "Enabled"
msgstr "Habilitat"
+msgid "Enables IGMP snooping on this bridge"
+msgstr ""
+
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
-"em> indentifies the host, the <em>IPv4-Address</em> specifies the fixed "
+"em> identifies the host, the <em>IPv4-Address</em> specifies the fixed "
"address to use, and the <em>Hostname</em> is assigned as a symbolic name to "
"the requesting host. The optional <em>Lease time</em> can be used to set non-"
"standard host-specific lease time, e.g. 12h, 3d or infinite."
msgid "Enable"
msgstr "Povolit"
+msgid ""
+"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
+"snooping"
+msgstr ""
+
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "Povolit <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgid "Enabled"
msgstr "Povoleno"
+msgid "Enables IGMP snooping on this bridge"
+msgstr ""
+
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
-"em> indentifies the host, the <em>IPv4-Address</em> specifies the fixed "
+"em> identifies the host, the <em>IPv4-Address</em> specifies the fixed "
"address to use, and the <em>Hostname</em> is assigned as a symbolic name to "
"the requesting host. The optional <em>Lease time</em> can be used to set non-"
"standard host-specific lease time, e.g. 12h, 3d or infinite."
msgid "Enable"
msgstr "Aktivieren"
+msgid ""
+"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
+"snooping"
+msgstr ""
+
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "<abbr title=\"Spanning Tree Protocol\">STP</abbr> aktivieren"
msgid "Enabled"
msgstr "Aktiviert"
+msgid "Enables IGMP snooping on this bridge"
+msgstr ""
+
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
"This is the content of /etc/rc.local. Insert your own commands here (in "
"front of 'exit 0') to execute them at the end of the boot process."
msgstr ""
-"Dies ist der Inhalt von /etc.rc.local. Hier kann man eigene Befehle einfügen "
+"Dies ist der Inhalt von /etc/rc.local. Hier kann man eigene Befehle einfügen "
"(vor 'exit 0'), die dann am Ende des Bootvorgangs ausgeführt werden."
msgid ""
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
-"em> indentifies the host, the <em>IPv4-Address</em> specifies the fixed "
+"em> identifies the host, the <em>IPv4-Address</em> specifies the fixed "
"address to use, and the <em>Hostname</em> is assigned as a symbolic name to "
"the requesting host. The optional <em>Lease time</em> can be used to set non-"
"standard host-specific lease time, e.g. 12h, 3d or infinite."
msgid "Enable"
msgstr "Ενεργοποίηση"
+msgid ""
+"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
+"snooping"
+msgstr ""
+
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "Ενεργοποίηση <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgid "Enabled"
msgstr "Ενεργοποιημένο"
+msgid "Enables IGMP snooping on this bridge"
+msgstr ""
+
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
-"em> indentifies the host, the <em>IPv4-Address</em> specifies the fixed "
+"em> identifies the host, the <em>IPv4-Address</em> specifies the fixed "
"address to use, and the <em>Hostname</em> is assigned as a symbolic name to "
"the requesting host. The optional <em>Lease time</em> can be used to set non-"
"standard host-specific lease time, e.g. 12h, 3d or infinite."
msgid "Enable"
msgstr ""
+msgid ""
+"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
+"snooping"
+msgstr ""
+
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgid "Enabled"
msgstr "Enabled"
+msgid "Enables IGMP snooping on this bridge"
+msgstr ""
+
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
-"em> indentifies the host, the <em>IPv4-Address</em> specifies the fixed "
+"em> identifies the host, the <em>IPv4-Address</em> specifies the fixed "
"address to use, and the <em>Hostname</em> is assigned as a symbolic name to "
"the requesting host. The optional <em>Lease time</em> can be used to set non-"
"standard host-specific lease time, e.g. 12h, 3d or infinite."
msgid "Enable"
msgstr "Activar"
+msgid ""
+"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
+"snooping"
+msgstr ""
+
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "Activar <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgid "Enabled"
msgstr "Activado"
+msgid "Enables IGMP snooping on this bridge"
+msgstr ""
+
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
-"em> indentifies the host, the <em>IPv4-Address</em> specifies the fixed "
+"em> identifies the host, the <em>IPv4-Address</em> specifies the fixed "
"address to use, and the <em>Hostname</em> is assigned as a symbolic name to "
"the requesting host. The optional <em>Lease time</em> can be used to set non-"
"standard host-specific lease time, e.g. 12h, 3d or infinite."
msgid "Enable"
msgstr "Activer"
+msgid ""
+"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
+"snooping"
+msgstr ""
+
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "Activer le protocole <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgid "Enabled"
msgstr "Activé"
+msgid "Enables IGMP snooping on this bridge"
+msgstr ""
+
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
-"em> indentifies the host, the <em>IPv4-Address</em> specifies the fixed "
+"em> identifies the host, the <em>IPv4-Address</em> specifies the fixed "
"address to use, and the <em>Hostname</em> is assigned as a symbolic name to "
"the requesting host. The optional <em>Lease time</em> can be used to set non-"
"standard host-specific lease time, e.g. 12h, 3d or infinite."
msgid "Enable"
msgstr "אפשר"
+msgid ""
+"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
+"snooping"
+msgstr ""
+
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "אפשר <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgid "Enabled"
msgstr "אפשר"
+msgid "Enables IGMP snooping on this bridge"
+msgstr ""
+
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
-"em> indentifies the host, the <em>IPv4-Address</em> specifies the fixed "
+"em> identifies the host, the <em>IPv4-Address</em> specifies the fixed "
"address to use, and the <em>Hostname</em> is assigned as a symbolic name to "
"the requesting host. The optional <em>Lease time</em> can be used to set non-"
"standard host-specific lease time, e.g. 12h, 3d or infinite."
msgid "Enable"
msgstr "Engedélyezés"
+msgid ""
+"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
+"snooping"
+msgstr ""
+
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "<abbr title=\"Spanning Tree Protocol\">STP</abbr> engedélyezése"
msgid "Enabled"
msgstr "Engedélyezve"
+msgid "Enables IGMP snooping on this bridge"
+msgstr ""
+
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
-"em> indentifies the host, the <em>IPv4-Address</em> specifies the fixed "
+"em> identifies the host, the <em>IPv4-Address</em> specifies the fixed "
"address to use, and the <em>Hostname</em> is assigned as a symbolic name to "
"the requesting host. The optional <em>Lease time</em> can be used to set non-"
"standard host-specific lease time, e.g. 12h, 3d or infinite."
msgid "Enable"
msgstr "Abilita"
+msgid ""
+"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
+"snooping"
+msgstr ""
+
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "Abilita <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgid "Enabled"
msgstr "Abilitato"
+msgid "Enables IGMP snooping on this bridge"
+msgstr ""
+
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
-"em> indentifies the host, the <em>IPv4-Address</em> specifies the fixed "
+"em> identifies the host, the <em>IPv4-Address</em> specifies the fixed "
"address to use, and the <em>Hostname</em> is assigned as a symbolic name to "
"the requesting host. The optional <em>Lease time</em> can be used to set non-"
"standard host-specific lease time, e.g. 12h, 3d or infinite."
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-06-10 03:40+0200\n"
-"PO-Revision-Date: 2018-04-26 00:23+0900\n"
+"PO-Revision-Date: 2018-05-03 00:23+0900\n"
"Last-Translator: INAGAKI Hiroshi <musashino.open@gmail.com>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
msgstr "ドメイン ホワイトリスト"
msgid "Don't Fragment"
-msgstr ""
+msgstr "非フラグメント化"
msgid ""
"Don't forward <abbr title=\"Domain Name System\">DNS</abbr>-Requests without "
msgid "Enable"
msgstr "有効"
+msgid ""
+"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
+"snooping"
+msgstr ""
+"<abbr title=\"Internet Group Management Protocol\">IGMP</abbr> スヌーピングの"
+"有効化"
+
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "<abbr title=\"Spanning Tree Protocol\">STP</abbr>を有効にする"
msgstr "送信パケットのミラーリングを有効化"
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
-msgstr ""
+msgstr "カプセル化されたパケットの DF (Don't Fragment) フラグを有効にします。"
msgid "Enable this mount"
msgstr "マウント設定を有効にする"
msgid "Enabled"
msgstr "有効"
+msgid "Enables IGMP snooping on this bridge"
+msgstr "ブリッジの IGMP スヌーピングを有効にします"
+
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
msgid "Install iputils-traceroute6 for IPv6 traceroute"
msgstr ""
+"IPv6 の traceroute を使用するには、 iputils-traceroute6 をインストールしま"
+"す。"
msgid "Install package %q"
msgstr "%q パッケージをインストールします"
msgid "Number of cached DNS entries (max is 10000, 0 is no caching)"
msgstr ""
+"キャッシュされる DNS エントリーの数です。(最大 10000 件。 0の場合はキャッ"
+"シュしません)"
msgid "OK"
msgstr "OK"
msgstr "パケット"
msgid "Part of zone %q"
-msgstr "ゾーン %qの一部"
+msgstr "ゾーン %q の一部"
msgid "Password"
msgstr "パスワード"
msgstr "サイズ (.ipk)"
msgid "Size of DNS query cache"
-msgstr ""
+msgstr "DNS クエリ キャッシュのサイズ"
msgid "Skip"
msgstr "スキップ"
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
-"em> indentifies the host, the <em>IPv4-Address</em> specifies the fixed "
+"em> identifies the host, the <em>IPv4-Address</em> specifies the fixed "
"address to use, and the <em>Hostname</em> is assigned as a symbolic name to "
"the requesting host. The optional <em>Lease time</em> can be used to set non-"
"standard host-specific lease time, e.g. 12h, 3d or infinite."
msgid "Enable"
msgstr "활성화"
+msgid ""
+"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
+"snooping"
+msgstr ""
+
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "<abbr title=\"Spanning Tree Protocol\">STP</abbr> 활성화"
msgid "Enabled"
msgstr "활성화됨"
+msgid "Enables IGMP snooping on this bridge"
+msgstr ""
+
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
-"em> indentifies the host, the <em>IPv4-Address</em> specifies the fixed "
+"em> identifies the host, the <em>IPv4-Address</em> specifies the fixed "
"address to use, and the <em>Hostname</em> is assigned as a symbolic name to "
"the requesting host. The optional <em>Lease time</em> can be used to set non-"
"standard host-specific lease time, e.g. 12h, 3d or infinite."
msgid "Enable"
msgstr ""
+msgid ""
+"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
+"snooping"
+msgstr ""
+
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "Mengaktifkan <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgid "Enabled"
msgstr ""
+msgid "Enables IGMP snooping on this bridge"
+msgstr ""
+
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
-"em> indentifies the host, the <em>IPv4-Address</em> specifies the fixed "
+"em> identifies the host, the <em>IPv4-Address</em> specifies the fixed "
"address to use, and the <em>Hostname</em> is assigned as a symbolic name to "
"the requesting host. The optional <em>Lease time</em> can be used to set non-"
"standard host-specific lease time, e.g. 12h, 3d or infinite."
msgid "Enable"
msgstr "Aktiver"
+msgid ""
+"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
+"snooping"
+msgstr ""
+
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "Aktiver <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgid "Enabled"
msgstr "Aktivert"
+msgid "Enables IGMP snooping on this bridge"
+msgstr ""
+
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
-"em> indentifies the host, the <em>IPv4-Address</em> specifies the fixed "
+"em> identifies the host, the <em>IPv4-Address</em> specifies the fixed "
"address to use, and the <em>Hostname</em> is assigned as a symbolic name to "
"the requesting host. The optional <em>Lease time</em> can be used to set non-"
"standard host-specific lease time, e.g. 12h, 3d or infinite."
msgid "Enable"
msgstr "Włącz"
+msgid ""
+"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
+"snooping"
+msgstr ""
+
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "Włącz <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgid "Enabled"
msgstr "Włączony"
+msgid "Enables IGMP snooping on this bridge"
+msgstr ""
+
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
-"em> indentifies the host, the <em>IPv4-Address</em> specifies the fixed "
+"em> identifies the host, the <em>IPv4-Address</em> specifies the fixed "
"address to use, and the <em>Hostname</em> is assigned as a symbolic name to "
"the requesting host. The optional <em>Lease time</em> can be used to set non-"
"standard host-specific lease time, e.g. 12h, 3d or infinite."
msgid "Enable"
msgstr "Ativar"
+msgid ""
+"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
+"snooping"
+msgstr ""
+
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "Ativar <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgid "Enabled"
msgstr "Ativado"
+msgid "Enables IGMP snooping on this bridge"
+msgstr ""
+
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
-"em> indentifies the host, the <em>IPv4-Address</em> specifies the fixed "
+"em> identifies the host, the <em>IPv4-Address</em> specifies the fixed "
"address to use, and the <em>Hostname</em> is assigned as a symbolic name to "
"the requesting host. The optional <em>Lease time</em> can be used to set non-"
"standard host-specific lease time, e.g. 12h, 3d or infinite."
msgid "Enable"
msgstr "Ativar"
+msgid ""
+"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
+"snooping"
+msgstr ""
+
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "Ativar <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgid "Enabled"
msgstr "Ativado"
+msgid "Enables IGMP snooping on this bridge"
+msgstr ""
+
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
-"em> indentifies the host, the <em>IPv4-Address</em> specifies the fixed "
+"em> identifies the host, the <em>IPv4-Address</em> specifies the fixed "
"address to use, and the <em>Hostname</em> is assigned as a symbolic name to "
"the requesting host. The optional <em>Lease time</em> can be used to set non-"
"standard host-specific lease time, e.g. 12h, 3d or infinite."
msgid "Enable"
msgstr "Activeaza"
+msgid ""
+"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
+"snooping"
+msgstr ""
+
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "Activeaza <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgid "Enabled"
msgstr "Activat"
+msgid "Enables IGMP snooping on this bridge"
+msgstr ""
+
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
-"em> indentifies the host, the <em>IPv4-Address</em> specifies the fixed "
+"em> identifies the host, the <em>IPv4-Address</em> specifies the fixed "
"address to use, and the <em>Hostname</em> is assigned as a symbolic name to "
"the requesting host. The optional <em>Lease time</em> can be used to set non-"
"standard host-specific lease time, e.g. 12h, 3d or infinite."
msgid "Enable"
msgstr "Включить"
+msgid ""
+"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
+"snooping"
+msgstr ""
+
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "Включить <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgid "Enabled"
msgstr "Включено"
+msgid "Enables IGMP snooping on this bridge"
+msgstr ""
+
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
-"em> indentifies the host, the <em>IPv4-Address</em> specifies the fixed "
+"em> identifies the host, the <em>IPv4-Address</em> specifies the fixed "
"address to use, and the <em>Hostname</em> is assigned as a symbolic name to "
"the requesting host. The optional <em>Lease time</em> can be used to set non-"
"standard host-specific lease time, e.g. 12h, 3d or infinite."
msgid "Enable"
msgstr ""
+msgid ""
+"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
+"snooping"
+msgstr ""
+
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr ""
msgid "Enabled"
msgstr ""
+msgid "Enables IGMP snooping on this bridge"
+msgstr ""
+
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
-"em> indentifies the host, the <em>IPv4-Address</em> specifies the fixed "
+"em> identifies the host, the <em>IPv4-Address</em> specifies the fixed "
"address to use, and the <em>Hostname</em> is assigned as a symbolic name to "
"the requesting host. The optional <em>Lease time</em> can be used to set non-"
"standard host-specific lease time, e.g. 12h, 3d or infinite."
msgid "Enable"
msgstr "Aktivera"
+msgid ""
+"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
+"snooping"
+msgstr ""
+
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "Aktivera <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgid "Enabled"
msgstr "Aktiverad"
+msgid "Enables IGMP snooping on this bridge"
+msgstr ""
+
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
-"em> indentifies the host, the <em>IPv4-Address</em> specifies the fixed "
+"em> identifies the host, the <em>IPv4-Address</em> specifies the fixed "
"address to use, and the <em>Hostname</em> is assigned as a symbolic name to "
"the requesting host. The optional <em>Lease time</em> can be used to set non-"
"standard host-specific lease time, e.g. 12h, 3d or infinite."
msgid "Enable"
msgstr ""
+msgid ""
+"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
+"snooping"
+msgstr ""
+
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr ""
msgid "Enabled"
msgstr ""
+msgid "Enables IGMP snooping on this bridge"
+msgstr ""
+
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
-"em> indentifies the host, the <em>IPv4-Address</em> specifies the fixed "
+"em> identifies the host, the <em>IPv4-Address</em> specifies the fixed "
"address to use, and the <em>Hostname</em> is assigned as a symbolic name to "
"the requesting host. The optional <em>Lease time</em> can be used to set non-"
"standard host-specific lease time, e.g. 12h, 3d or infinite."
msgid "Enable"
msgstr ""
+msgid ""
+"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
+"snooping"
+msgstr ""
+
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr ""
msgid "Enabled"
msgstr ""
+msgid "Enables IGMP snooping on this bridge"
+msgstr ""
+
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
-"em> indentifies the host, the <em>IPv4-Address</em> specifies the fixed "
+"em> identifies the host, the <em>IPv4-Address</em> specifies the fixed "
"address to use, and the <em>Hostname</em> is assigned as a symbolic name to "
"the requesting host. The optional <em>Lease time</em> can be used to set non-"
"standard host-specific lease time, e.g. 12h, 3d or infinite."
msgid "Enable"
msgstr "Увімкнути"
+msgid ""
+"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
+"snooping"
+msgstr ""
+
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "Увімкнути <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgid "Enabled"
msgstr "Увімкнено"
+msgid "Enables IGMP snooping on this bridge"
+msgstr ""
+
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
-"em> indentifies the host, the <em>IPv4-Address</em> specifies the fixed "
+"em> identifies the host, the <em>IPv4-Address</em> specifies the fixed "
"address to use, and the <em>Hostname</em> is assigned as a symbolic name to "
"the requesting host. The optional <em>Lease time</em> can be used to set non-"
"standard host-specific lease time, e.g. 12h, 3d or infinite."
msgid "Enable"
msgstr ""
+msgid ""
+"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
+"snooping"
+msgstr ""
+
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "Kích hoạt <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgid "Enabled"
msgstr ""
+msgid "Enables IGMP snooping on this bridge"
+msgstr ""
+
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
-"em> indentifies the host, the <em>IPv4-Address</em> specifies the fixed "
+"em> identifies the host, the <em>IPv4-Address</em> specifies the fixed "
"address to use, and the <em>Hostname</em> is assigned as a symbolic name to "
"the requesting host. The optional <em>Lease time</em> can be used to set non-"
"standard host-specific lease time, e.g. 12h, 3d or infinite."
msgid "Enable"
msgstr "启用"
+msgid ""
+"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
+"snooping"
+msgstr ""
+
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "开启 <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgid "Enabled"
msgstr "启用"
+msgid "Enables IGMP snooping on this bridge"
+msgstr ""
+
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
-"em> indentifies the host, the <em>IPv4-Address</em> specifies the fixed "
+"em> identifies the host, the <em>IPv4-Address</em> specifies the fixed "
"address to use, and the <em>Hostname</em> is assigned as a symbolic name to "
"the requesting host. The optional <em>Lease time</em> can be used to set non-"
"standard host-specific lease time, e.g. 12h, 3d or infinite."
msgid "Enable"
msgstr "啟用"
+msgid ""
+"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
+"snooping"
+msgstr ""
+
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "啟用 <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgid "Enabled"
msgstr "啟用"
+msgid "Enables IGMP snooping on this bridge"
+msgstr ""
+
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
-"em> indentifies the host, the <em>IPv4-Address</em> specifies the fixed "
+"em> identifies the host, the <em>IPv4-Address</em> specifies the fixed "
"address to use, and the <em>Hostname</em> is assigned as a symbolic name to "
"the requesting host. The optional <em>Lease time</em> can be used to set non-"
"standard host-specific lease time, e.g. 12h, 3d or infinite."
config system
option init led
+ option exec '/etc/init.d/log reload'
list affects luci_statistics
list affects dhcp
entry({"admin", "system", "fstab", "swap"}, cbi("admin_system/fstab/swap"), nil).leaf = true
end
- if fs.access("/sys/class/leds") then
+ local nodes, number = fs.glob("/sys/class/leds/*")
+ if number > 0 then
entry({"admin", "system", "leds"}, cbi("admin_system/leds"), _("<abbr title=\"Light Emitting Diode\">LED</abbr> Configuration"), 60)
end
end
local function supports_reset()
- return (os.execute([[grep -sqE '"rootfs_data"|"ubi"' /proc/mtd]]) == 0)
+ return (os.execute([[grep -sq "^overlayfs:/overlay / overlay " /proc/mounts]]) == 0)
end
local function storage_size()
"DHCP clients. They are also required for non-dynamic interface configurations where " ..
"only hosts with a corresponding lease are served.") .. "<br />" ..
translate("Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</em> " ..
- "indentifies the host, the <em>IPv4-Address</em> specifies the fixed address to " ..
+ "identifies the host, the <em>IPv4-Address</em> specifies the fixed address to " ..
"use, and the <em>Hostname</em> is assigned as a symbolic name to the requesting host. " ..
"The optional <em>Lease time</em> can be used to set non-standard host-specific " ..
"lease time, e.g. 12h, 3d or infinite."))
mac.datatype = "list(macaddr)"
mac.rmempty = true
+function mac.cfgvalue(self, section)
+ local val = Value.cfgvalue(self, section)
+ return ipc.checkmac(val) or val
+end
+
ip = s:option(Value, "ip", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Address"))
ip.datatype = "or(ip4addr,'ignore')"
translate("Enables the Spanning Tree Protocol on this bridge"))
stp:depends("type", "bridge")
stp.rmempty = true
+
+ igmp = s:taboption("physical", Flag, "igmp_snooping", translate("Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> snooping"),
+ translate("Enables IGMP snooping on this bridge"))
+ igmp:depends("type", "bridge")
+ igmp.rmempty = true
end
if( time_remaining <= 0 )
{
window.clearInterval(interval);
- location.href = 'http://' + location.hostname + '/';
+ location.href = 'http://' + location.host + '/';
}
else
{
-- Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
-- Licensed to the public under the Apache License 2.0.
-local require = require
-local pairs = pairs
-local print = print
-local pcall = pcall
-local table = table
-local type = type
-local tonumber = tonumber
+module("luci.controller.rpc", package.seeall)
-module "luci.controller.rpc"
-
-local function session_retrieve(sid, allowed_users)
+function session_retrieve(sid, allowed_users)
local util = require "luci.util"
local sdat = util.ubus("session", "get", {
ubus_rpc_session = sid
return nil
end
-local function authenticator(validator, accs)
- local auth = luci.http.formvalue("auth", true)
- or luci.http.getcookie("sysauth")
+function authenticator(validator, accs)
+ local http = require "luci.http"
+ local ctrl = require "luci.controller.rpc"
+ local auth = http.formvalue("auth", true) or http.getcookie("sysauth")
if auth then -- if authentication token was given
- local sid, sdat = session_retrieve(auth, accs)
+ local sid, sdat = ctrl.session_retrieve(auth, accs)
if sdat then -- if given token is valid
return sdat.username, sid
end
- luci.http.status(403, "Forbidden")
+ http.status(403, "Forbidden")
end
end
+
function index()
+ local ctrl = require "luci.controller.rpc"
+
local rpc = node("rpc")
rpc.sysauth = "root"
- rpc.sysauth_authenticator = authenticator
+ rpc.sysauth_authenticator = ctrl.authenticator
rpc.notemplate = true
entry({"rpc", "uci"}, call("rpc_uci"))
entry({"rpc", "fs"}, call("rpc_fs"))
entry({"rpc", "sys"}, call("rpc_sys"))
entry({"rpc", "ipkg"}, call("rpc_ipkg"))
+ entry({"rpc", "ip"}, call("rpc_ip"))
entry({"rpc", "auth"}, call("rpc_auth")).sysauth = false
end
}
})
- local sid, sdat = session_retrieve(login.ubus_rpc_session, { user })
+ local sid, sdat = ctrl.session_retrieve(login.ubus_rpc_session, { user })
if sdat then
return {
sid = sid,
end
function rpc_sys()
+ local util = require "luci.util"
local sys = require "luci.sys"
local jsonrpc = require "luci.jsonrpc"
local http = require "luci.http"
local ltn12 = require "luci.ltn12"
+ local sys2 = util.clone(sys)
+ sys2.net = util.clone(sys.net)
+ sys2.wifi = util.clone(sys.wifi)
+
+ function sys2.wifi.getiwinfo(ifname, operation)
+ local iw = sys.wifi.getiwinfo(ifname)
+ if iw then
+ if operation then
+ assert(type(iwinfo[iw.type][operation]) == "function")
+ return iw[operation]
+ end
+
+ local n, f
+ local rv = { ifname = ifname }
+ for n, f in pairs(iwinfo[iw.type]) do
+ if type(f) == "function" and
+ n ~= "scanlist" and n ~= "countrylist"
+ then
+ rv[n] = iw[n]
+ end
+ end
+ return rv
+ end
+ return nil
+ end
+
http.prepare_content("application/json")
- ltn12.pump.all(jsonrpc.handle(sys, http.source()), http.write)
+ ltn12.pump.all(jsonrpc.handle(sys2, http.source()), http.write)
end
function rpc_ipkg()
http.prepare_content("application/json")
ltn12.pump.all(jsonrpc.handle(ipkg, http.source()), http.write)
end
+
+function rpc_ip()
+ if not pcall(require, "luci.ip") then
+ luci.http.status(404, "Not Found")
+ return nil
+ end
+
+ local util = require "luci.util"
+ local ip = require "luci.ip"
+ local jsonrpc = require "luci.jsonrpc"
+ local http = require "luci.http"
+ local ltn12 = require "luci.ltn12"
+
+ local ip2 = util.clone(ip)
+
+ local _, n
+ for _, n in ipairs({ "new", "IPv4", "IPv6", "MAC" }) do
+ ip2[n] = function(address, netmask, operation, argument)
+ local cidr = ip[n](address, netmask)
+ if cidr and operation then
+ assert(type(cidr[operation]) == "function")
+ local cidr2 = cidr[operation](cidr, argument)
+ return (type(cidr2) == "userdata") and cidr2:string() or cidr2
+ end
+ return (type(cidr) == "userdata") and cidr:string() or cidr
+ end
+ end
+
+ http.prepare_content("application/json")
+ ltn12.pump.all(jsonrpc.handle(ip2, http.source()), http.write)
+end
password.password = true
if luci.model.network:has_ipv6() then
-
- ipv6 = section:taboption("advanced", ListValue, "ipv6")
- ipv6:value("auto", translate("Automatic"))
- ipv6:value("0", translate("Disabled"))
- ipv6:value("1", translate("Manual"))
- ipv6.default = "auto"
-
+ ipv6 = section:taboption("advanced", ListValue, "ipv6",
+ translate("Obtain IPv6-Address"),
+ translate("Enable IPv6 negotiation on the PPP link"))
+ ipv6:value("auto", translate("Automatic"))
+ ipv6:value("0", translate("Disabled"))
+ ipv6:value("1", translate("Manual"))
+ ipv6.default = "auto"
end
defaultroute = section:taboption("advanced", Flag, "defaultroute",
if luci.model.network:has_ipv6() then
-
- ipv6 = section:taboption("advanced", ListValue, "ipv6")
- ipv6:value("auto", translate("Automatic"))
- ipv6:value("0", translate("Disabled"))
- ipv6:value("1", translate("Manual"))
- ipv6.default = "auto"
-
+ ipv6 = section:taboption("advanced", ListValue, "ipv6",
+ translate("Obtain IPv6-Address"),
+ translate("Enable IPv6 negotiation on the PPP link"))
+ ipv6:value("auto", translate("Automatic"))
+ ipv6:value("0", translate("Disabled"))
+ ipv6:value("1", translate("Manual"))
+ ipv6.default = "auto"
end
if luci.model.network:has_ipv6() then
-
- ipv6 = section:taboption("advanced", ListValue, "ipv6")
- ipv6:value("auto", translate("Automatic"))
- ipv6:value("0", translate("Disabled"))
- ipv6:value("1", translate("Manual"))
- ipv6.default = "auto"
-
+ ipv6 = section:taboption("advanced", ListValue, "ipv6",
+ translate("Obtain IPv6-Address"),
+ translate("Enable IPv6 negotiation on the PPP link"))
+ ipv6:value("auto", translate("Automatic"))
+ ipv6:value("0", translate("Disabled"))
+ ipv6:value("1", translate("Manual"))
+ ipv6.default = "auto"
end
if luci.model.network:has_ipv6() then
-
- ipv6 = section:taboption("advanced", ListValue, "ipv6")
- ipv6:value("auto", translate("Automatic"))
- ipv6:value("0", translate("Disabled"))
- ipv6:value("1", translate("Manual"))
- ipv6.default = "auto"
-
+ ipv6 = section:taboption("advanced", ListValue, "ipv6",
+ translate("Obtain IPv6-Address"),
+ translate("Enable IPv6 negotiation on the PPP link"))
+ ipv6:value("auto", translate("Automatic"))
+ ipv6:value("0", translate("Disabled"))
+ ipv6:value("1", translate("Manual"))
+ ipv6.default = "auto"
end