]> git.sesse.net Git - nms/blobdiff - mbd/mbd.pl
Varius MBD tweaks for TG07.
[nms] / mbd / mbd.pl
index 0993e436fd7819371c38f0f5a77ad7c8fc58ae9e..cbb1237c9d6d49c379c701d6a84db7a6b929f0ba 100644 (file)
@@ -51,10 +51,15 @@ while (1) {
                # Check against the ACL.
                my $pass = 0;
                for my $rule (@Config::access_list) {
-                       if (match_ranges($dport, $rule->{'ports'}) &&
-                           match_ranges($size, $rule->{'sizes'})) {
-                               $pass = 1;
+                       next unless (mbd::match_ranges($dport, $rule->{'ports'}));
+                       next unless (mbd::match_ranges($size, $rule->{'sizes'}));
+
+                       if ($rule->{'filter'}) {
+                               next unless ($rule->{'filter'}($data));
                        }
+
+                       $pass = 1;
+                       last;
                }
 
                if (!$pass) {