diff options
author | Seth Mos <seth.mos@xs4all.nl> | 2007-01-23 22:00:13 +0000 |
---|---|---|
committer | Seth Mos <seth.mos@xs4all.nl> | 2007-01-23 22:00:13 +0000 |
commit | f35f2e37a85bd7eefdc8e23ecd95591e07659f38 (patch) | |
tree | 30b7e4c12ad498e5b9b0a74442edbd085d399250 /etc | |
parent | fde7c161a77a70ab4a9700a17de46f4b1919cb48 (diff) | |
download | pfsense-f35f2e37a85bd7eefdc8e23ecd95591e07659f38.zip pfsense-f35f2e37a85bd7eefdc8e23ecd95591e07659f38.tar.gz |
Fix filter rules when using load balancing pools. Latest CVS was broken.
Logic error. And we do need to guess. It's not a local IP, it's a gateway.
Something with toffees
Diffstat (limited to 'etc')
-rw-r--r-- | etc/inc/filter.inc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/etc/inc/filter.inc b/etc/inc/filter.inc index 7115ed0..1421669 100644 --- a/etc/inc/filter.inc +++ b/etc/inc/filter.inc @@ -1415,16 +1415,16 @@ function generate_user_filter_rule($rule, $ngcounter) { for ($i = 0; isset($config['load_balancer']['lbpool'][$i]); $i++) { foreach ($config['load_balancer']['lbpool'][$i]['servers'] as $lbsvr) { $lbsvr_split=split("\|", $lbsvr); - if ($lbsvr_split[1] == $server) { + if ($lbsvr_split[1] == $server) /* deterimine interface gateway */ if(is_ipaddr($lbsvr_split[0])) { - $int = find_ip_interface($lbsvr_split[0]); + $int = guess_interface_from_ip($lbsvr_split[0]); + $gateway = $lbsvr_split[0]; log_error("Load balancer pool member contains IP address instead of interface name. Please reconfigure the load balancer pool {$config['load_balancer']['lbpool'][$i]['name']}"); } else { $int = convert_friendly_interface_to_real_interface_name($lbsvr_split[0]); + $gateway = get_interface_gateway($int); } - $gateway = get_interface_gateway($int); - } } } if($foundlb == 1) |