mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-18 17:54:13 +08:00
a654de8fdc
The following ruleset:
add table ip filter
add chain ip filter input { type filter hook input priority 4; }
add chain ip filter ap
add rule ip filter input jump ap
add rule ip filter ap masquerade
results in a panic, because the masquerade extension should be rejected
from the filter chain. The existing validation is missing a chain
dependency check when the rule is added to the non-base chain.
This patch fixes the problem by walking down the rules from the
basechains, searching for either immediate or lookup expressions, then
jumping to non-base chains and again walking down the rules to perform
the expression validation, so we make sure the full ruleset graph is
validated. This is done only once from the commit phase, in case of
problem, we abort the transaction and perform fine grain validation for
error reporting. This patch requires
|
||
---|---|---|
.. | ||
can.h | ||
conntrack.h | ||
core.h | ||
dccp.h | ||
generic.h | ||
hash.h | ||
ieee802154_6lowpan.h | ||
ipv4.h | ||
ipv6.h | ||
mib.h | ||
mpls.h | ||
netfilter.h | ||
nftables.h | ||
packet.h | ||
sctp.h | ||
unix.h | ||
x_tables.h | ||
xfrm.h |