Project

General

Profile

« Previous | Next » 

Revision 602f6d6e

Added by Marcos M almost 2 years ago

Specify specialnet flags when calling get_specialnet(). Fix #14935

Allow passing specialnet flags to pconfig_to_address() to correctly
handle address/network config elements. Also correctly handle VIP
selection in nat/binat rules.

View differences:

src/usr/local/www/firewall_nat.php
42 42

  
43 43
init_config_arr(array('nat', 'rule'));
44 44
$a_nat = &$config['nat']['rule'];
45
$rdr_lcltype_flags = [SPECIALNET_IFADDR];
45 46
$rdr_srctype_flags = [SPECIALNET_ANY, SPECIALNET_CLIENTS, SPECIALNET_IFADDR, SPECIALNET_IFNET];
46 47
$rdr_dsttype_flags = [SPECIALNET_ANY, SPECIALNET_SELF, SPECIALNET_CLIENTS, SPECIALNET_IFADDR, SPECIALNET_IFNET, SPECIALNET_VIPS];
47 48

  
......
161 162
		$trclass = '';
162 163
	}
163 164

  
164
	$specialnets = get_specialnet();
165
	$specialnets = get_specialnet('', $rdr_lcltype_flags);
165 166
	if (array_key_exists($natent['target'], $specialnets)) {
166 167
		$natent['target'] = $specialnets[$natent['target']];
167 168
	}

Also available in: Unified diff