]> git.sesse.net Git - nms/blobdiff - mbd/mbd.pl
Varius MBD tweaks for TG07.
[nms] / mbd / mbd.pl
index e5c2879e01b9310fe1b73becae6e1bd9743692f1..cbb1237c9d6d49c379c701d6a84db7a6b929f0ba 100644 (file)
@@ -51,10 +51,15 @@ while (1) {
                # Check against the ACL.
                my $pass = 0;
                for my $rule (@Config::access_list) {
-                       if (mbd::match_ranges($dport, $rule->{'ports'}) &&
-                           mbd::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) {