forked from extern/shorewall_code
Add intermediate input chain for complex zones
git-svn-id: https://shorewall.svn.sourceforge.net/svnroot/shorewall/trunk@524 fbd18981-670d-0410-9b5c-8dc0c1a9a2bb
This commit is contained in:
parent
886ad1e547
commit
b5d3078fa6
@ -544,7 +544,7 @@ determine_hosts() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
[ "${host#*:}" = "0.0.0.0/0" ] || \
|
[ "${host#*:}" = "0.0.0.0/0" ] || \
|
||||||
eval ${zone}_is_constrained=Yes
|
eval ${zone}_is_complex=Yes
|
||||||
done
|
done
|
||||||
|
|
||||||
eval ${zone}_interfaces="\$interfaces"
|
eval ${zone}_interfaces="\$interfaces"
|
||||||
@ -3664,9 +3664,9 @@ activate_rules()
|
|||||||
chain1=`rules_chain $FW $zone`
|
chain1=`rules_chain $FW $zone`
|
||||||
chain2=`rules_chain $zone $FW`
|
chain2=`rules_chain $zone $FW`
|
||||||
|
|
||||||
eval constrained=\$${zone}_is_constrained
|
eval complex=\$${zone}_is_complex
|
||||||
|
|
||||||
if [ -n "$constrained" ]; then
|
if [ -n "$complex" ]; then
|
||||||
frwd_chain=${zone}_frwd
|
frwd_chain=${zone}_frwd
|
||||||
createchain $frwd_chain No
|
createchain $frwd_chain No
|
||||||
fi
|
fi
|
||||||
@ -3688,7 +3688,7 @@ activate_rules()
|
|||||||
|
|
||||||
run_iptables -A `input_chain $interface` -s $subnet -j $chain2
|
run_iptables -A `input_chain $interface` -s $subnet -j $chain2
|
||||||
|
|
||||||
[ -n "$constrained" ] && \
|
[ -n "$complex" ] && \
|
||||||
run_iptables -A `forward_chain $interface` -s $subnet -j $frwd_chain
|
run_iptables -A `forward_chain $interface` -s $subnet -j $frwd_chain
|
||||||
done
|
done
|
||||||
|
|
||||||
@ -3707,7 +3707,7 @@ activate_rules()
|
|||||||
for host in $source_hosts; do
|
for host in $source_hosts; do
|
||||||
interface=${host%:*}
|
interface=${host%:*}
|
||||||
|
|
||||||
if [ -n "$constrained" ]; then
|
if [ -n "$complex" ]; then
|
||||||
chain1=$frwd_chain
|
chain1=$frwd_chain
|
||||||
subnet=
|
subnet=
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user