libs/web: rework hostname match to not allow arbritary sequences of numbers and dots
This commit is contained in:
parent
3a0905f21c
commit
375a476d27
2 changed files with 8 additions and 6 deletions
|
@ -153,8 +153,9 @@ var cbi_validators = {
|
||||||
'hostname': function(v)
|
'hostname': function(v)
|
||||||
{
|
{
|
||||||
if (v.length <= 253)
|
if (v.length <= 253)
|
||||||
return (v.match(/^[a-zA-Z0-9]+$/) != null ||
|
return (v.match(/^[a-zA-Z]+$/) != null ||
|
||||||
v.match(/^[a-zA-Z0-9][a-zA-Z0-9\-.]*[a-zA-Z0-9]$/) != null);
|
(v.match(/^[a-zA-Z0-9][a-zA-Z0-9\-.]*[a-zA-Z0-9]$/) &&
|
||||||
|
v.match(/[^0-9.]/)));
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
|
@ -191,7 +192,7 @@ var cbi_validators = {
|
||||||
'neg_network_ip4addr': function(v)
|
'neg_network_ip4addr': function(v)
|
||||||
{
|
{
|
||||||
v = v.replace(/^\s*!/, "");
|
v = v.replace(/^\s*!/, "");
|
||||||
return cbi_validators.uciname(v) || cbi_validators.ip4addr(v);
|
return cbi_validators.uciname(v) || cbi_validators.ip4addr(v);
|
||||||
},
|
},
|
||||||
|
|
||||||
'range': function(v, args)
|
'range': function(v, args)
|
||||||
|
|
|
@ -142,8 +142,9 @@ end
|
||||||
|
|
||||||
function hostname(val)
|
function hostname(val)
|
||||||
if val and (#val < 254) and (
|
if val and (#val < 254) and (
|
||||||
val:match("^[a-zA-Z0-9]+$") or
|
val:match("^[a-zA-Z]+$") or
|
||||||
val:match("^[a-zA-Z0-9][a-zA-Z0-9%-%.]*[a-zA-Z0-9]$")
|
(val:match("^[a-zA-Z0-9][a-zA-Z0-9%-%.]*[a-zA-Z0-9]$") and
|
||||||
|
val:match("[^0-9%.]"))
|
||||||
) then
|
) then
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
@ -238,7 +239,7 @@ function neg_network_ip4addr(val)
|
||||||
if type(v) == "string" then
|
if type(v) == "string" then
|
||||||
v = v:gsub("^%s*!", "")
|
v = v:gsub("^%s*!", "")
|
||||||
return (uciname(v) or ip4addr(v))
|
return (uciname(v) or ip4addr(v))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function range(val, min, max)
|
function range(val, min, max)
|
||||||
|
|
Loading…
Reference in a new issue