summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--applications/luci-app-ahcp/po/sv/ahcp.po20
-rw-r--r--applications/luci-app-pbx-voicemail/luasrc/model/cbi/pbx-voicemail.lua2
-rw-r--r--applications/luci-app-pbx/luasrc/model/cbi/pbx-advanced.lua2
-rw-r--r--applications/luci-app-pbx/luasrc/model/cbi/pbx-voip.lua6
-rw-r--r--applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/olsrd.lua2
-rw-r--r--applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua3
-rw-r--r--applications/luci-app-watchcat/luasrc/model/cbi/watchcat/watchcat.lua2
-rw-r--r--applications/luci-app-wshaper/po/sv/wshaper.po22
-rw-r--r--modules/luci-base/htdocs/luci-static/resources/cbi.js34
-rw-r--r--modules/luci-base/luasrc/cbi/datatypes.lua31
-rw-r--r--modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/dhcp.lua2
-rw-r--r--modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua4
-rw-r--r--modules/luci-mod-admin-full/luasrc/model/cbi/admin_system/system.lua2
-rw-r--r--protocols/luci-proto-ipv6/luasrc/model/cbi/admin_network/proto_aiccu.lua2
-rw-r--r--protocols/luci-proto-openconnect/luasrc/model/cbi/admin_network/proto_openconnect.lua2
-rw-r--r--protocols/luci-proto-ppp/luasrc/model/cbi/admin_network/proto_l2tp.lua2
-rw-r--r--protocols/luci-proto-ppp/luasrc/model/cbi/admin_network/proto_pppossh.lua2
-rw-r--r--protocols/luci-proto-ppp/luasrc/model/cbi/admin_network/proto_pptp.lua2
18 files changed, 92 insertions, 50 deletions
diff --git a/applications/luci-app-ahcp/po/sv/ahcp.po b/applications/luci-app-ahcp/po/sv/ahcp.po
index b5f0b7d6d4..a7c7a38f79 100644
--- a/applications/luci-app-ahcp/po/sv/ahcp.po
+++ b/applications/luci-app-ahcp/po/sv/ahcp.po
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
msgid "Active AHCP Leases"
-msgstr ""
+msgstr "Aktiva AHCP-hyror"
msgid "Address"
msgstr "Adress"
@@ -40,13 +40,13 @@ msgid "Announced NTP servers"
msgstr "Aviserade NTP-servrar"
msgid "Announced prefixes"
-msgstr ""
+msgstr "Aviserade prefix"
msgid "Collecting data..."
msgstr "Samlar in data..."
msgid "Forwarder"
-msgstr ""
+msgstr "Vidarebefordrare"
msgid "General Setup"
msgstr "Allmän inställning"
@@ -61,16 +61,16 @@ msgid "IPv6 only"
msgstr "Endast IPv6"
msgid "Lease directory"
-msgstr ""
+msgstr "Hyr mappen"
msgid "Lease validity time"
-msgstr ""
+msgstr "Giltighetstid för hyran"
msgid "Log file"
msgstr "Logg-fil"
msgid "Multicast address"
-msgstr ""
+msgstr "Multicast-adress"
msgid "Operation mode"
msgstr "Driftsläge"
@@ -82,7 +82,7 @@ msgid "Protocol family"
msgstr "Protokoll-familj"
msgid "Served interfaces"
-msgstr ""
+msgstr "Betjänade gränssnitt"
msgid "Server"
msgstr "Server"
@@ -94,16 +94,16 @@ msgid "Specifies the announced IPv4 and IPv6 name servers"
msgstr "Specificerar de aviserade IPv4 och IPv6 namn-servrarna"
msgid "Specifies the announced IPv4 and IPv6 network prefixes in CIDR notation"
-msgstr ""
+msgstr "Specificerar de aviserade IPv4 och IPv6 nätverksprefixen i CIDR-noteringen"
msgid "The AHCP Service is not running."
msgstr "AHCP-tjänsten körs inte."
msgid "The AHCP Service is running with ID %s."
-msgstr ""
+msgstr "AHCP-tjänsten körs med ID %s."
msgid "There are no active leases."
-msgstr ""
+msgstr "Det finns inga aktiva hyror."
msgid "Unique ID file"
msgstr "Unik ID-fil"
diff --git a/applications/luci-app-pbx-voicemail/luasrc/model/cbi/pbx-voicemail.lua b/applications/luci-app-pbx-voicemail/luasrc/model/cbi/pbx-voicemail.lua
index 9ff2ed97fe..a6087e9aec 100644
--- a/applications/luci-app-pbx-voicemail/luasrc/model/cbi/pbx-voicemail.lua
+++ b/applications/luci-app-pbx-voicemail/luasrc/model/cbi/pbx-voicemail.lua
@@ -92,7 +92,7 @@ s = m:section(NamedSection, "voicemail_smtp", "voicemail", translate("Outgoing m
s.anonymous = true
serv = s:option(Value, "smtp_server", translate("SMTP Server Hostname or IP Address"))
-serv.datatype = "host"
+serv.datatype = "host(0)"
port = s:option(Value, "smtp_port", translate("SMTP Port Number"))
port.datatype = "port"
diff --git a/applications/luci-app-pbx/luasrc/model/cbi/pbx-advanced.lua b/applications/luci-app-pbx/luasrc/model/cbi/pbx-advanced.lua
index 5d4f135c5b..34288c6632 100644
--- a/applications/luci-app-pbx/luasrc/model/cbi/pbx-advanced.lua
+++ b/applications/luci-app-pbx/luasrc/model/cbi/pbx-advanced.lua
@@ -264,7 +264,7 @@ h = s:taboption("remote_usage", Value, "externhost", translate("Domain/IP Addres
The best thing to input is a static IP address. If your IP address is dynamic and it changes, \
your configuration will become invalid. Hence, it's recommended to set up Dynamic DNS in this case. \
and enter your Dynamic DNS hostname here. You can configure Dynamic DNS with the luci-app-ddns package."))
-h.datatype = "host"
+h.datatype = "host(0)"
p = s:taboption("remote_usage", Value, "bindport", translate("External SIP Port"),
translate("Pick a random port number between 6500 and 9500 for the service to listen on. \
diff --git a/applications/luci-app-pbx/luasrc/model/cbi/pbx-voip.lua b/applications/luci-app-pbx/luasrc/model/cbi/pbx-voip.lua
index ed1ed1edb1..9b46202855 100644
--- a/applications/luci-app-pbx/luasrc/model/cbi/pbx-voip.lua
+++ b/applications/luci-app-pbx/luasrc/model/cbi/pbx-voip.lua
@@ -84,7 +84,7 @@ function pwd.write(self, section, value)
end
h = s:option(Value, "host", translate("SIP Server/Registrar"))
-h.datatype = "host"
+h.datatype = "host(0)"
p = s:option(ListValue, "register", translate("Enable Incoming Calls (Register via SIP)"),
translate("This option should be set to \"Yes\" if you have a DID \(real telephone number\) \
@@ -103,7 +103,7 @@ p.default = "yes"
from = s:option(Value, "fromdomain",
translate("SIP Realm (needed by some providers)"))
from.optional = true
-from.datatype = "host"
+from.datatype = "host(0)"
port = s:option(Value, "port", translate("SIP Server/Registrar Port"))
port.optional = true
@@ -111,6 +111,6 @@ port.datatype = "port"
op = s:option(Value, "outboundproxy", translate("Outbound Proxy"))
op.optional = true
-op.datatype = "host"
+op.datatype = "host(0)"
return m
diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/olsrd.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/olsrd.lua
index 59266e553c..950d7a7971 100644
--- a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/olsrd.lua
+++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/olsrd.lua
@@ -12,7 +12,7 @@ enable.default = 0
host = s:option(Value, "Host", translate("Host"), translate("IP or hostname where to get the txtinfo output from"))
host.placeholder = "127.0.0.1"
-host.datatype = "host"
+host.datatype = "host(1)"
host.rmempty = true
port = s:option(Value, "Port", translate("Port"))
diff --git a/applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua b/applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua
index 19bdd9afc1..11f34fbad4 100644
--- a/applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua
+++ b/applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua
@@ -227,7 +227,7 @@ ta = s:option(Value, "target", translate("Target host"),
ta.rmempty = true
ta.placeholder = "0.0.0.0/0"
-ta.datatype = "host"
+ta.datatype = "host(1)"
v = s:option(Value, "via", translate("Via proxy"),
@@ -235,5 +235,6 @@ v = s:option(Value, "via", translate("Via proxy"),
v:depends({type="proxy"})
v.placeholder = "10.0.0.1:8080"
+v.datatype = "ip4addrport"
return m
diff --git a/applications/luci-app-watchcat/luasrc/model/cbi/watchcat/watchcat.lua b/applications/luci-app-watchcat/luasrc/model/cbi/watchcat/watchcat.lua
index 883416b219..f64370bfe3 100644
--- a/applications/luci-app-watchcat/luasrc/model/cbi/watchcat/watchcat.lua
+++ b/applications/luci-app-watchcat/luasrc/model/cbi/watchcat/watchcat.lua
@@ -38,7 +38,7 @@ period = s:option(Value, "period",
pinghost = s:option(Value, "pinghosts",
translate("Ping host"),
translate("Host address to ping"))
-pinghost.datatype = "host"
+pinghost.datatype = "host(1)"
pinghost.default = "8.8.8.8"
pinghost:depends({mode="ping"})
diff --git a/applications/luci-app-wshaper/po/sv/wshaper.po b/applications/luci-app-wshaper/po/sv/wshaper.po
index b85651a619..84c5ce199f 100644
--- a/applications/luci-app-wshaper/po/sv/wshaper.po
+++ b/applications/luci-app-wshaper/po/sv/wshaper.po
@@ -10,40 +10,40 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Downlink"
-msgstr ""
+msgstr "Ner-länk"
msgid "Downstream bandwidth in kbit/s"
-msgstr ""
+msgstr "Nerströms bandbredd i kbit/s"
msgid "Host or Network in CIDR notation."
msgstr ""
msgid "Interface"
-msgstr ""
+msgstr "Gränssnitt"
msgid "Low priority destination ports"
-msgstr ""
+msgstr "Destinations-portar med låg prioritet"
msgid "Low priority hosts (Destination)"
-msgstr ""
+msgstr "Värdar med låg prioritet (Destination)"
msgid "Low priority hosts (Source)"
-msgstr ""
+msgstr "Värdar med låg prioritet (Källa)"
msgid "Low priority source ports"
-msgstr ""
+msgstr "Käll-portar med låg prioritet"
msgid "Uplink"
-msgstr ""
+msgstr "Upplänk"
msgid "Upstream bandwidth in kbit/s"
-msgstr ""
+msgstr "Bandbredd uppströms i kbit/s"
msgid "Wondershaper"
-msgstr ""
+msgstr "Wondershaper"
msgid "Wondershaper settings"
-msgstr ""
+msgstr "Inställningar för Wondershaper"
msgid ""
"Wondershaper shapes traffic to ensure low latencies for interactive traffic "
diff --git a/modules/luci-base/htdocs/luci-static/resources/cbi.js b/modules/luci-base/htdocs/luci-static/resources/cbi.js
index 4b7227f1a4..1c4123bdad 100644
--- a/modules/luci-base/htdocs/luci-static/resources/cbi.js
+++ b/modules/luci-base/htdocs/luci-static/resources/cbi.js
@@ -139,10 +139,11 @@ var cbi_validators = {
return (this.match(/^([a-fA-F0-9]{2}:){5}[a-fA-F0-9]{2}$/) != null);
},
- 'host': function()
+ 'host': function(ipv4only)
{
return cbi_validators.hostname.apply(this) ||
- cbi_validators.ipaddr.apply(this);
+ ((ipv4only != 1) && cbi_validators.ipaddr.apply(this)) ||
+ ((ipv4only == 1) && cb_validators.ip4addr.apply(this));
},
'hostname': function()
@@ -161,28 +162,49 @@ var cbi_validators = {
cbi_validators.host.apply(this);
},
- 'hostport': function()
+ 'hostport': function(ipv4only)
{
var hp = this.split(/:/);
if (hp.length == 2)
- return (cbi_validators.host.apply(hp[0]) &&
+ return (cbi_validators.host.apply(hp[0], ipv4only) &&
cbi_validators.port.apply(hp[1]));
return false;
},
- 'ipaddrport': function()
+ 'ip4addrport': function()
{
var hp = this.split(/:/);
if (hp.length == 2)
return (cbi_validators.ipaddr.apply(hp[0]) &&
cbi_validators.port.apply(hp[1]));
-
return false;
},
+ 'ipaddrport': function(bracket)
+ {
+ if (this.match(/^([^\[\]:]+):([^:]+)$/)) {
+ var addr = RegExp.$1
+ var port = RegExp.$2
+ return (cbi_validators.ip4addr.apply(addr) &&
+ cbi_validators.port.apply(port));
+ } else if ((bracket == 1) && (this.match(/^\[(.+)\]:([^:]+)$/))) {
+ var addr = RegExp.$1
+ var port = RegExp.$2
+ return (cbi_validators.ip6addr.apply(addr) &&
+ cbi_validators.port.apply(port));
+ } else if ((bracket != 1) && (this.match(/^([^\[\]]+):([^:]+)$/))) {
+ var addr = RegExp.$1
+ var port = RegExp.$2
+ return (cbi_validators.ip6addr.apply(addr) &&
+ cbi_validators.port.apply(port));
+ } else {
+ return false;
+ }
+ },
+
'wpakey': function()
{
var v = this;
diff --git a/modules/luci-base/luasrc/cbi/datatypes.lua b/modules/luci-base/luasrc/cbi/datatypes.lua
index 4c003be2a1..626ad91c75 100644
--- a/modules/luci-base/luasrc/cbi/datatypes.lua
+++ b/modules/luci-base/luasrc/cbi/datatypes.lua
@@ -176,22 +176,41 @@ function hostname(val)
return false
end
-function host(val)
- return hostname(val) or ipaddr(val)
+function host(val, ipv4only)
+ return hostname(val) or ((ipv4only == 1) and ip4addr(val)) or ((not (ipv4only == 1)) and ipaddr(val))
end
function network(val)
return uciname(val) or host(val)
end
-function hostport(val)
+function hostport(val, ipv4only)
local h, p = val:match("^([^:]+):([^:]+)$")
- return not not (h and p and host(h) and port(p))
+ return not not (h and p and host(h, ipv4only) and port(p))
end
-function ipaddrport(val)
+function ip4addrport(val, bracket)
local h, p = val:match("^([^:]+):([^:]+)$")
- return not not (h and p and ipaddr(h) and port(p))
+ return (h and p and ip4addr(h) and port(p))
+end
+
+function ip4addrport(val)
+ local h, p = val:match("^([^:]+):([^:]+)$")
+ return (h and p and ip4addr(h) and port(p))
+end
+
+function ipaddrport(val, bracket)
+ local h, p = val:match("^([^%[%]:]+):([^:]+)$")
+ if (h and p and ip4addr(h) and port(p)) then
+ return true
+ elseif (bracket == 1) then
+ h, p = val:match("^%[(.+)%]:([^:]+)$")
+ if (h and p and ip6addr(h) and port(p)) then
+ return true
+ end
+ end
+ h, p = val:match("^([^%[%]]+):([^:]+)$")
+ return (h and p and ip6addr(h) and port(p))
end
function wpakey(val)
diff --git a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/dhcp.lua b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/dhcp.lua
index 4dc52ada06..572446feff 100644
--- a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/dhcp.lua
+++ b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/dhcp.lua
@@ -135,7 +135,7 @@ rd = s:taboption("general", DynamicList, "rebind_domain",
translate("List of domains to allow RFC1918 responses for"))
rd:depends("rebind_protection", "1")
-rd.datatype = "host"
+rd.datatype = "host(1)"
rd.placeholder = "ihost.netflix.com"
diff --git a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua
index b91c29b088..44528927e7 100644
--- a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua
+++ b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua
@@ -749,7 +749,7 @@ auth_server:depends({mode="ap", encryption="wpa2"})
auth_server:depends({mode="ap-wds", encryption="wpa"})
auth_server:depends({mode="ap-wds", encryption="wpa2"})
auth_server.rmempty = true
-auth_server.datatype = "host"
+auth_server.datatype = "host(0)"
auth_port = s:taboption("encryption", Value, "auth_port", translate("Radius-Authentication-Port"), translatef("Default %d", 1812))
auth_port:depends({mode="ap", encryption="wpa"})
@@ -773,7 +773,7 @@ acct_server:depends({mode="ap", encryption="wpa2"})
acct_server:depends({mode="ap-wds", encryption="wpa"})
acct_server:depends({mode="ap-wds", encryption="wpa2"})
acct_server.rmempty = true
-acct_server.datatype = "host"
+acct_server.datatype = "host(0)"
acct_port = s:taboption("encryption", Value, "acct_port", translate("Radius-Accounting-Port"), translatef("Default %d", 1813))
acct_port:depends({mode="ap", encryption="wpa"})
diff --git a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_system/system.lua b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_system/system.lua
index 94ba8053ad..2874b5607e 100644
--- a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_system/system.lua
+++ b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_system/system.lua
@@ -204,7 +204,7 @@ if has_ntpd then
o = s:option(DynamicList, "server", translate("NTP server candidates"))
- o.datatype = "host"
+ o.datatype = "host(0)"
o:depends("enable", "1")
-- retain server list even if disabled
diff --git a/protocols/luci-proto-ipv6/luasrc/model/cbi/admin_network/proto_aiccu.lua b/protocols/luci-proto-ipv6/luasrc/model/cbi/admin_network/proto_aiccu.lua
index 9315dc25bf..7b5e6043cc 100644
--- a/protocols/luci-proto-ipv6/luasrc/model/cbi/admin_network/proto_aiccu.lua
+++ b/protocols/luci-proto-ipv6/luasrc/model/cbi/admin_network/proto_aiccu.lua
@@ -39,7 +39,7 @@ protocol.optional = true
server = section:taboption("general", Value, "server",
translate("Tunnel setup server"),
translate("Optional, specify to override default server (tic.sixxs.net)"))
-server.datatype = "host"
+server.datatype = "host(0)"
server.optional = true
diff --git a/protocols/luci-proto-openconnect/luasrc/model/cbi/admin_network/proto_openconnect.lua b/protocols/luci-proto-openconnect/luasrc/model/cbi/admin_network/proto_openconnect.lua
index 4ed34ae3bc..ad3f2edf0b 100644
--- a/protocols/luci-proto-openconnect/luasrc/model/cbi/admin_network/proto_openconnect.lua
+++ b/protocols/luci-proto-openconnect/luasrc/model/cbi/admin_network/proto_openconnect.lua
@@ -13,7 +13,7 @@ oc_key_file = "/etc/openconnect/user-key-" .. ifc .. ".pem"
oc_ca_file = "/etc/openconnect/ca-" .. ifc .. ".pem"
server = section:taboption("general", Value, "server", translate("VPN Server"))
-server.datatype = "host"
+server.datatype = "host(0)"
port = section:taboption("general", Value, "port", translate("VPN Server port"))
port.placeholder = "443"
diff --git a/protocols/luci-proto-ppp/luasrc/model/cbi/admin_network/proto_l2tp.lua b/protocols/luci-proto-ppp/luasrc/model/cbi/admin_network/proto_l2tp.lua
index 5e8b3fcaae..506170c2de 100644
--- a/protocols/luci-proto-ppp/luasrc/model/cbi/admin_network/proto_l2tp.lua
+++ b/protocols/luci-proto-ppp/luasrc/model/cbi/admin_network/proto_l2tp.lua
@@ -8,7 +8,7 @@ local ipv6, defaultroute, metric, peerdns, dns, mtu
server = section:taboption("general", Value, "server", translate("L2TP Server"))
-server.datatype = "or(host, hostport)"
+server.datatype = "or(host(1), hostport(1))"
username = section:taboption("general", Value, "username", translate("PAP/CHAP username"))
diff --git a/protocols/luci-proto-ppp/luasrc/model/cbi/admin_network/proto_pppossh.lua b/protocols/luci-proto-ppp/luasrc/model/cbi/admin_network/proto_pppossh.lua
index c93353af90..eca7bdd4d3 100644
--- a/protocols/luci-proto-ppp/luasrc/model/cbi/admin_network/proto_pppossh.lua
+++ b/protocols/luci-proto-ppp/luasrc/model/cbi/admin_network/proto_pppossh.lua
@@ -8,7 +8,7 @@ local sshuser, server, port, ssh_options, identity, ipaddr, peeraddr
sshuser = section:taboption("general", Value, "sshuser", translate("SSH username"))
server = section:taboption("general", Value, "server", translate("SSH server address"))
-server.datatype = "host"
+server.datatype = "host(0)"
port = section:taboption("general", Value, "port", translate("SSH server port"))
port.datatype = "port"
diff --git a/protocols/luci-proto-ppp/luasrc/model/cbi/admin_network/proto_pptp.lua b/protocols/luci-proto-ppp/luasrc/model/cbi/admin_network/proto_pptp.lua
index d81db1faee..462d7019f0 100644
--- a/protocols/luci-proto-ppp/luasrc/model/cbi/admin_network/proto_pptp.lua
+++ b/protocols/luci-proto-ppp/luasrc/model/cbi/admin_network/proto_pptp.lua
@@ -9,7 +9,7 @@ local defaultroute, metric, peerdns, dns,
server = section:taboption("general", Value, "server", translate("VPN Server"))
-server.datatype = "host"
+server.datatype = "host(0)"
username = section:taboption("general", Value, "username", translate("PAP/CHAP username"))