diff options
-rwxr-xr-x | bin/drakgw | 2 | ||||
-rw-r--r-- | lib/network/shorewall.pm | 6 |
2 files changed, 4 insertions, 4 deletions
@@ -283,7 +283,7 @@ If you do not know the meaning of an option, simply leave it as it is."), network::squid::write_squid_conf($squid_conf, $lan_intf, $internal_domain_name) if $use_caching_proxy; services::set_status("squid", $use_caching_proxy); network::shorewall::set_redirected_ports($shorewall, 'tcp', $squid_conf->{http_port}[0], if_($use_caching_proxy, 'http')); - $shorewall->{accept_local_user}{http} = $use_caching_proxy && 'squid'; + @{$shorewall->{accept_local_users}{http}} = if_($use_caching_proxy, 'squid'); -f $cups_conf ? "cups" : end_step(); }, }, diff --git a/lib/network/shorewall.pm b/lib/network/shorewall.pm index 1068609..0361eb8 100644 --- a/lib/network/shorewall.pm +++ b/lib/network/shorewall.pm @@ -94,7 +94,7 @@ sub read { map { "$_/$e->[3]" } split(',', $e->[4]); } grep { $_->[0] eq 'ACCEPT' && $_->[1] eq 'net' } @rules), ); - $conf{accept_local_user}{$_->[4]} = $_->[8] foreach grep { $_->[0] eq 'ACCEPT+' } @rules; + push @{$conf{accept_local_users}{$_->[4]}}, $_->[8] foreach grep { $_->[0] eq 'ACCEPT+' } @rules; $conf{redirects}{$_->[3]}{$_->[4]} = $_->[2] foreach grep { $_->[0] eq 'REDIRECT' } @rules; if (my ($e) = get_config_file('masq')) { @@ -186,8 +186,8 @@ What do you want to do?"), if_($use_pptp, [ 'ACCEPT', 'fw', 'loc:10.0.0.138', 'gre' ]), (map_each { [ 'ACCEPT', 'net', 'fw', $::a, join(',', @$::b), '-' ] } %$ports_by_proto), (map_each { - if_($::b, [ 'ACCEPT+', 'fw', 'net', 'tcp', $::a, '-', '-', '-', $::b ]); - } %{$conf->{accept_local_user}}), + if_($::b, map { [ 'ACCEPT+', 'fw', 'net', 'tcp', $::a, '-', '-', '-', $_ ] } @{$::b}); + } %{$conf->{accept_local_users}}), (map { my $proto = $_; #- WARNING: won't redirect ports from the firewall system if a local zone exists |