From 5d0a12aca506c2a2d1a92a03d007836859da5011 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 4 Apr 2007 19:54:14 +0200 Subject: [PATCH] Fix a real bad bug in the rate limiting in MBD. --- mbd/mbd.pl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mbd/mbd.pl b/mbd/mbd.pl index 5be1ca0..e1f9824 100644 --- a/mbd/mbd.pl +++ b/mbd/mbd.pl @@ -94,7 +94,7 @@ while (1) { my ($sport, $saddr) = sockaddr_in($addr); my ($dport, $daddr) = sockaddr_in(getsockname($sock)); my $size = length($data); - + # Check if this is a survey reply if ($dport >= $Config::survey_port_low && $dport <= $Config::survey_port_high) { if (!exists($active_surveys{$dport})) { @@ -110,17 +110,17 @@ while (1) { next; } - + # Rate limiting if (exists($last_sent{$saddr}{$dport})) { my $elapsed = Time::HiRes::tv_interval($last_sent{$saddr}{$dport}, $now); if ($elapsed < 1.0) { print LOG "$dport $size 2\n"; print inet_ntoa($saddr), ", $dport, $size bytes => rate-limited ($elapsed secs since last)\n"; + next; } - next; } - + # We don't get the packet's destination address, but I guess this should do... # Check against the ACL. my $pass = 0; -- 2.39.2