From 35a529a5c56df3dbcd105f691d164f4f85283611 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Thu, 4 Sep 2008 23:39:55 +0000 Subject: * luci/libs/uvl: - implement port and portrange datatypes - fix datatype of port ranges in firewall scheme --- libs/uvl/luasrc/uvl/datatypes.lua | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'libs/uvl/luasrc') diff --git a/libs/uvl/luasrc/uvl/datatypes.lua b/libs/uvl/luasrc/uvl/datatypes.lua index 60377e289..e6a4c1688 100644 --- a/libs/uvl/luasrc/uvl/datatypes.lua +++ b/libs/uvl/luasrc/uvl/datatypes.lua @@ -83,6 +83,20 @@ function ip6prefix( val ) return ( val and val >= 0 and val <= 128 ) 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 ) if val and val:match( "^[a-fA-F0-9]+:[a-fA-F0-9]+:[a-fA-F0-9]+:" .. -- cgit v1.2.3