X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=blobdiff_plain;f=libs%2Fsys%2Fluasrc%2Fsys%2Fiptparser.lua;h=6e9eff2034634a91d77f00b4d29025bb99ecda7a;hp=338fb7dad8aea81b081512f8f013cf56f5b9d1e0;hb=99c213eff8a779463e3dbf695c9b4616a7beca42;hpb=f52ec227175c9db1bfee95f8a59c7c56d01911d4 diff --git a/libs/sys/luasrc/sys/iptparser.lua b/libs/sys/luasrc/sys/iptparser.lua index 338fb7dad..6e9eff203 100644 --- a/libs/sys/luasrc/sys/iptparser.lua +++ b/libs/sys/luasrc/sys/iptparser.lua @@ -19,7 +19,7 @@ luci.util = require "luci.util" luci.sys = require "luci.sys" luci.ip = require "luci.ip" -local tonumber, ipairs = tonumber, ipairs +local tonumber, ipairs, table = tonumber, ipairs, table --- LuCI iptables parser and query library -- @cstyle instance @@ -279,6 +279,11 @@ function IptParser._parse_rules( self ) local rule_parts = luci.util.split( rule, "%s+", nil, true ) 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["chain"] = self._chain rule_details["index"] = tonumber(rule_parts[1])