diff options
Diffstat (limited to 'iptables-model.lua')
-rw-r--r-- | iptables-model.lua | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/iptables-model.lua b/iptables-model.lua index e06512e..537baea 100644 --- a/iptables-model.lua +++ b/iptables-model.lua @@ -221,19 +221,23 @@ end function read_chain(tab, chain) local retval = {} - retval.table = cfe({ type="select", value=tab or "filter", label="Table", option=tables }) - retval.chain = cfe({ value=chain or "", label="Chain" }) + retval.table = cfe({ type="select", value=tab or "filter", label="Table", option=tables, seq=1 }) + retval.chain = cfe({ value=chain or "", label="Chain", seq=2 }) getdetails() if tab and not details[tab] then retval.table.errtxt = "Invalid table" end if chain then + retval.table.readonly = true + retval.table.type = "text" + retval.chain.readonly = true + local chn = find_chain(retval.table.value, chain) if not chn then retval.chain.errtxt = "Cannot find chain" elseif chn.policy then -- only built-in chains can have policies, and the target can only be DROP or ACCEPT - retval.policy = cfe({ type="select", value=chn.policy, label="Policy", option={"DROP", "ACCEPT"} }) + retval.policy = cfe({ type="select", value=chn.policy, label="Policy", option={"DROP", "ACCEPT"}, seq=3 }) end end return cfe({ type="group", value=retval, label="Chain" }) |