libs/sys: properly parse iptables rules with not target set
This commit is contained in:
parent
f4c6554f4c
commit
99c213eff8
1 changed files with 6 additions and 1 deletions
|
@ -19,7 +19,7 @@ luci.util = require "luci.util"
|
||||||
luci.sys = require "luci.sys"
|
luci.sys = require "luci.sys"
|
||||||
luci.ip = require "luci.ip"
|
luci.ip = require "luci.ip"
|
||||||
|
|
||||||
local tonumber, ipairs = tonumber, ipairs
|
local tonumber, ipairs, table = tonumber, ipairs, table
|
||||||
|
|
||||||
--- LuCI iptables parser and query library
|
--- LuCI iptables parser and query library
|
||||||
-- @cstyle instance
|
-- @cstyle instance
|
||||||
|
@ -279,6 +279,11 @@ function IptParser._parse_rules( self )
|
||||||
local rule_parts = luci.util.split( rule, "%s+", nil, true )
|
local rule_parts = luci.util.split( rule, "%s+", nil, true )
|
||||||
local rule_details = { }
|
local rule_details = { }
|
||||||
|
|
||||||
|
-- cope with rules that have no target assigned
|
||||||
|
if rule:match("^%d+%s+%d+%s+%d+%s%s") then
|
||||||
|
table.insert(rule_parts, 4, nil)
|
||||||
|
end
|
||||||
|
|
||||||
rule_details["table"] = tbl
|
rule_details["table"] = tbl
|
||||||
rule_details["chain"] = self._chain
|
rule_details["chain"] = self._chain
|
||||||
rule_details["index"] = tonumber(rule_parts[1])
|
rule_details["index"] = tonumber(rule_parts[1])
|
||||||
|
|
Loading…
Reference in a new issue