From 9ca88a753c7c1831ebfa17ab9b7e356a131874d1 Mon Sep 17 00:00:00 2001 From: Doug Freed Date: Thu, 14 Jan 2016 23:35:05 -0700 Subject: Fix async DNS resolution to handle things better - Handles CNAMEs now - Handles multiple IPs for a given host --- lib/ASM/Event.pm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'lib/ASM/Event.pm') diff --git a/lib/ASM/Event.pm b/lib/ASM/Event.pm index b22552c..8cf6be5 100644 --- a/lib/ASM/Event.pm +++ b/lib/ASM/Event.pm @@ -720,8 +720,10 @@ sub on_banlist $::event->{DNS}->add( sub { my ($packet) = @_; - $ip = ASM::Util->stripResp($packet); - $::sc{$chan}{ipbans}{$ip} = { bannedBy => $banner, bannedOn => $bantime } if defined($ip); + my @ips = ASM::Util->stripResp($packet); + foreach $ip (@ips) { + $::sc{$chan}{ipbans}{$ip} = { bannedBy => $banner, bannedOn => $bantime }; + } }, $host, 'A'); } } @@ -752,8 +754,10 @@ sub on_quietlist $::event->{DNS}->add( sub { my ($packet) = @_; - $ip = ASM::Util->stripResp($packet); - $::sc{$chan}{ipquiets}{$ip} = { bannedBy => $banner, bannedOn => $bantime } if defined($ip); + my @ips = ASM::Util->stripResp($packet); + foreach $ip (@ips) { + $::sc{$chan}{ipquiets}{$ip} = { bannedBy => $banner, bannedOn => $bantime }; + } }, $host, 'A'); } } -- cgit v1.2.3