summaryrefslogtreecommitdiffstats
path: root/lib/network/shorewall.pm
diff options
context:
space:
mode:
authorOlivier Blin <oblin@mandriva.com>2008-04-03 07:54:08 +0000
committerOlivier Blin <oblin@mandriva.com>2008-04-03 07:54:08 +0000
commit0d1e3946657f56c13ba5fbccb0e9791b212615b7 (patch)
tree29757726e642e236d2f3b5b23894bcd747a4acfd /lib/network/shorewall.pm
parent5e608933d98c887fe57cb0e5839256859a7ec4de (diff)
downloaddrakx-net-0d1e3946657f56c13ba5fbccb0e9791b212615b7.tar
drakx-net-0d1e3946657f56c13ba5fbccb0e9791b212615b7.tar.gz
drakx-net-0d1e3946657f56c13ba5fbccb0e9791b212615b7.tar.bz2
drakx-net-0d1e3946657f56c13ba5fbccb0e9791b212615b7.tar.xz
drakx-net-0d1e3946657f56c13ba5fbccb0e9791b212615b7.zip
redirect both fw and loc zone (if loc is available)
Diffstat (limited to 'lib/network/shorewall.pm')
-rw-r--r--lib/network/shorewall.pm6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/network/shorewall.pm b/lib/network/shorewall.pm
index bf3cb32..1068609 100644
--- a/lib/network/shorewall.pm
+++ b/lib/network/shorewall.pm
@@ -189,10 +189,12 @@ What do you want to do?"),
if_($::b, [ 'ACCEPT+', 'fw', 'net', 'tcp', $::a, '-', '-', '-', $::b ]);
} %{$conf->{accept_local_user}}),
(map {
+ my $proto = $_;
#- WARNING: won't redirect ports from the firewall system if a local zone exists
+ #- set redirect_fw_only to workaround
map_each {
- [ 'REDIRECT', $has_loc_zone ? 'loc' : 'fw', $::b, $_, $::a, '-' ];
- } %{$conf->{redirects}{$_}};
+ map { [ 'REDIRECT', $_, $::b, $proto, $::a, '-' ] } 'fw', if_($has_loc_zone, 'loc');
+ } %{$conf->{redirects}{$proto}};
} keys %{$conf->{redirects}}),
));
set_config_file('masq', if_(exists $conf->{masq}, [ $conf->{masq}{net_interface}, $conf->{masq}{subnet} ]));