From a203c69954fd0fc133407a1db6ec0cc211b0447b Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Sat, 25 Feb 2017 17:06:18 +0100 Subject: [PATCH] filter, cleanup some more, https://github.com/opnsense/core/pull/1419 --- src/etc/inc/filter.inc | 39 +++++++-------------------------------- 1 file changed, 7 insertions(+), 32 deletions(-) diff --git a/src/etc/inc/filter.inc b/src/etc/inc/filter.inc index b0d3d6c70..48617aa82 100644 --- a/src/etc/inc/filter.inc +++ b/src/etc/inc/filter.inc @@ -2044,39 +2044,14 @@ function filter_generate_address(&$FilterIflist, &$rule, $target = 'source', $is if (isset($rule[$target]['any'])) { $src = "any"; } elseif (!empty($rule[$target]['network'])) { - if (strstr($rule[$target]['network'], "opt")) { - $optmatch = ""; - $matches = ""; - if (preg_match("/opt([0-9]*)$/", $rule[$target]['network'], $optmatch)) { - $src = "({$FilterIflist["opt{$optmatch[1]}"]['if']}:network)"; - /* check for opt$NUMip here */ - } elseif (preg_match("/opt([0-9]*)ip/", $rule[$target]['network'], $matches)) { - $src = "({$FilterIflist["opt{$matches[1]}"]['if']})"; - } + $network_name = $rule[$target]['network']; + $matches = ""; + if ($network_name == '(self)') { + $src = "(self)"; + } elseif (preg_match("/(.*)ip$/", $rule[$target]['network'], $matches)) { + $src = "({$FilterIflist["{$matches[1]}"]['if']})"; } else { - switch ($rule[$target]['network']) { - case 'wan': - $src = "({$FilterIflist['wan']['if']}:network)"; - break; - case 'wanip': - $src = "({$FilterIflist['wan']['if']})"; - break; - case 'lan': - $src = "({$FilterIflist['lan']['if']}:network)"; - break; - case 'lanip': - $src = "({$FilterIflist['lan']['if']})"; - break; - case '(self)': - $src = "(self)"; - break; - default: - if (!empty($FilterIflist[$rule[$target]['network']]['if'])) { - $src = "({$FilterIflist[$rule[$target]['network']]['if']}:network)"; - } else { - return ""; - } - } + $src = "({$FilterIflist[$network_name]['if']}:network)"; } if (isset($rule[$target]['not'])) { $src = " !{$src}";