* luci/libs/uvl:
- implement port and portrange datatypes - fix datatype of port ranges in firewall scheme
This commit is contained in:
parent
76145b3e25
commit
35a529a5c5
2 changed files with 19 additions and 5 deletions
|
@ -83,6 +83,20 @@ function ip6prefix( val )
|
||||||
return ( val and val >= 0 and val <= 128 )
|
return ( val and val >= 0 and val <= 128 )
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function port( val )
|
||||||
|
val = tonumber(val)
|
||||||
|
return ( val and val >= 1 and val <= 65535 )
|
||||||
|
end
|
||||||
|
|
||||||
|
function portrange( val )
|
||||||
|
local p1, p2 = val:match("^(%d+)%-(%d+)$")
|
||||||
|
if p1 and p2 and port(p1) and port(p2) then
|
||||||
|
return true
|
||||||
|
else
|
||||||
|
return port(val)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
function macaddr( val )
|
function macaddr( val )
|
||||||
if val and val:match(
|
if val and val:match(
|
||||||
"^[a-fA-F0-9]+:[a-fA-F0-9]+:[a-fA-F0-9]+:" ..
|
"^[a-fA-F0-9]+:[a-fA-F0-9]+:[a-fA-F0-9]+:" ..
|
||||||
|
|
|
@ -121,7 +121,7 @@ config variable
|
||||||
option name 'src_port'
|
option name 'src_port'
|
||||||
option title 'Source port'
|
option title 'Source port'
|
||||||
option section 'firewall.rule'
|
option section 'firewall.rule'
|
||||||
option datatype 'uint'
|
option datatype 'portrange'
|
||||||
|
|
||||||
config variable
|
config variable
|
||||||
option name 'src_mac'
|
option name 'src_mac'
|
||||||
|
@ -145,7 +145,7 @@ config variable
|
||||||
option name 'dest_port'
|
option name 'dest_port'
|
||||||
option title 'Destination port'
|
option title 'Destination port'
|
||||||
option section 'firewall.rule'
|
option section 'firewall.rule'
|
||||||
option datatype 'uint'
|
option datatype 'portrange'
|
||||||
|
|
||||||
config variable
|
config variable
|
||||||
option name 'proto'
|
option name 'proto'
|
||||||
|
@ -183,13 +183,13 @@ config variable
|
||||||
option name 'src_port'
|
option name 'src_port'
|
||||||
option title 'Source port'
|
option title 'Source port'
|
||||||
option section 'firewall.redirect'
|
option section 'firewall.redirect'
|
||||||
option datatype 'uint'
|
option datatype 'portrange'
|
||||||
|
|
||||||
config variable
|
config variable
|
||||||
option name 'src_dport'
|
option name 'src_dport'
|
||||||
option title 'Source destination port'
|
option title 'Source destination port'
|
||||||
option section 'firewall.redirect'
|
option section 'firewall.redirect'
|
||||||
option datatype 'uint'
|
option datatype 'portrange'
|
||||||
|
|
||||||
config variable
|
config variable
|
||||||
option name 'src_mac'
|
option name 'src_mac'
|
||||||
|
@ -213,7 +213,7 @@ config variable
|
||||||
option name 'dest_port'
|
option name 'dest_port'
|
||||||
option title 'Destination port'
|
option title 'Destination port'
|
||||||
option section 'firewall.redirect'
|
option section 'firewall.redirect'
|
||||||
option datatype 'uint'
|
option datatype 'portrange'
|
||||||
|
|
||||||
config variable
|
config variable
|
||||||
option name 'proto'
|
option name 'proto'
|
||||||
|
|
Loading…
Reference in a new issue