From ef561db1f552fb4851f1b5e7e2be07291b8337f7 Mon Sep 17 00:00:00 2001 From: Renato Botelho Date: Thu, 25 Jul 2013 09:29:26 -0300 Subject: [PATCH] Fix #3106, parse 'not' rules right on destination for port forward + reflection proxy rules --- etc/inc/filter.inc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/etc/inc/filter.inc b/etc/inc/filter.inc index d01a4f7a5c..7737b23477 100644 --- a/etc/inc/filter.inc +++ b/etc/inc/filter.inc @@ -1180,11 +1180,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 "";