Fix conditional route marking

git-svn-id: https://shorewall.svn.sourceforge.net/svnroot/shorewall/trunk@8699 fbd18981-670d-0410-9b5c-8dc0c1a9a2bb
This commit is contained in:
teastep 2008-09-07 20:17:08 +00:00
parent edee4527d3
commit ead2773840
3 changed files with 7 additions and 2 deletions

View File

@ -2,6 +2,8 @@ Changes in 4.2.0-RC2
1) Don't clear 'balance' when 'loose' and USE_DEFAULT_RT.
2) Fix conditional track marking.
Changes in 4.2.0-RC1
1) Add NONAT option to entries in /etc/shorewall/masq.

View File

@ -78,13 +78,16 @@ Migration Issues.
7) DYNAMIC_ZONES=Yes is no longer supported by Shorewall-perl. Use
ipset-based zones instead.
Problems corrected in Shorewall 4.2.0 RC 2.
Problems corrected in Shorewall-perl 4.2.0 RC 2.
1) Shorewall-perl was incorrectly ignoring the 'balance' option in
/etc/shorewall/providers when 'loose' was specified after 'balance'
and USE_DEFAULT_RT=Yes in shorewall.conf. 'balance' is still the
default if 'loose' is not specified.
2) Route marking was attempted for optional interfaces that were not
up, causing 'shorewall start' ('shorewall-lite start') to fail.
Other Changes in Shoreall 4.2.0 RC 2
1) USE_DEFAULT_RT is no longer marked 'experimental'.

View File

@ -102,7 +102,7 @@ sub setup_route_marking() {
my $interface = $providerref->{interface};
my $base = uc chain_base $interface;
add_command( $chainref, qq(if [ -n "${base}_IS_UP" ]; then) ), incr_cmd_level( $chainref ) if $providerref->{optional};
add_command( $chainref, qq(if [ -n "\$${base}_IS_UP" ]; then) ), incr_cmd_level( $chainref ) if $providerref->{optional};
unless ( $marked_interfaces{$interface} ) {
add_rule $mangle_table->{PREROUTING} , "-i $interface -m mark --mark 0/$mask -j routemark";