diff options
author | Renato Botelho <garga@FreeBSD.org> | 2013-07-25 09:29:26 -0300 |
---|---|---|
committer | Renato Botelho <garga@FreeBSD.org> | 2013-07-25 09:29:50 -0300 |
commit | 4ff2b8056ab4027a70d5e8dc9609702b802332af (patch) | |
tree | d91517905f5c5ac0006d82e34dee0c95ef684157 /etc/inc | |
parent | 68c11b29141fec71a7df753bd81a986270d41a49 (diff) | |
download | pfsense-4ff2b8056ab4027a70d5e8dc9609702b802332af.zip pfsense-4ff2b8056ab4027a70d5e8dc9609702b802332af.tar.gz |
Fix #3106, parse 'not' rules right on destination for port forward + reflection proxy rules
Diffstat (limited to 'etc/inc')
-rw-r--r-- | etc/inc/filter.inc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/etc/inc/filter.inc b/etc/inc/filter.inc index b8e160f..1019750 100644 --- a/etc/inc/filter.inc +++ b/etc/inc/filter.inc @@ -1173,11 +1173,12 @@ function filter_generate_reflection_proxy($rule, $nordr, $rdr_ifs, $srcaddr, $ds } $dstaddr = explode(" ", $dstaddr_port); - if($dstaddr[2]) - $rflctintrange = $dstaddr[2]; - else + if($dstaddr[2]) { + $rflctintrange = array_pop($dstaddr); + array_pop($dstaddr); + } else return ""; - $dstaddr = $dstaddr[0]; + $dstaddr = implode(" ", $dstaddr); if(empty($dstaddr) || trim($dstaddr) == "0.0.0.0" || strtolower(trim($dstaddr)) == "port") return ""; |