From 899a7bcaa4bb34ae81bdcf5b4a0e09d6d563649b Mon Sep 17 00:00:00 2001 From: William Heimbigner Date: Tue, 31 Jan 2012 21:27:51 +0000 Subject: fixing bad code and a lack of ping replies --- config-default/channels.xml | 2 +- meta.pl | 4 ++++ modules/classes.pl | 8 +++++--- modules/event.pl | 12 ++++++++++-- 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/config-default/channels.xml b/config-default/channels.xml index 5bb687e..8b6ec5a 100644 --- a/config-default/channels.xml +++ b/config-default/channels.xml @@ -462,7 +462,7 @@ 5:20 ^startkeylogger$|^stopkeylogger$ \bstartkeylogger\b|\bstopkeylogger\b - http://\S+\.on\.nimp\.org + (?i)(http://\S+\.on\.nimp\.org|http://feenode.net) contentisuseless 4:4 60:10 diff --git a/meta.pl b/meta.pl index c9d5446..312b4f4 100755 --- a/meta.pl +++ b/meta.pl @@ -20,6 +20,10 @@ $::pass = ''; $::netsplit = 0; $::debug = 0; $::cset = ''; +%::debugx = ( + "dnsbl" => 0, + "pingpong" => 0 +); BEGIN { my @modules = qw/Util Xml Inspect Event Services Log Command Classes Mysql/; diff --git a/modules/classes.pl b/modules/classes.pl index 832951d..6896ce7 100644 --- a/modules/classes.pl +++ b/modules/classes.pl @@ -79,6 +79,7 @@ sub dnsbl # hopefully getting rid of this won't cause shit to assplode # but I'm getting rid of it so it can detect cgi:irc shit if (defined $rev) { + print "Querying $rev$chk->{content}\n" if $::debugx{dnsbl}; my $iaddr = gethostbyname( "$rev$chk->{content}" ); my @dnsbl = unpack( 'C4', $iaddr ) if defined $iaddr; my $strip; @@ -164,7 +165,7 @@ sub splitflood { $cfc = 0; process_cf(); } - if ( $#{@{$cf{$id}{$chan}{$text}}}+1 == int($cut[0]) ) { + if ( scalar @{$cf{$id}{$chan}{$text}} == int($cut[0]) ) { $bs{$id}{$text} = time; return 1; } @@ -195,7 +196,7 @@ sub advsplitflood { $cfc = 0; process_cf(); } - if ( $#{@{$cf{$id}{$chan}{$text}}}+1 == int($cut[0]) ) { + if ( scalar @{$cf{$id}{$chan}{$text}} == int($cut[0]) ) { $bs{$id}{$text} = time; return 1; } @@ -279,7 +280,8 @@ sub flood_add $sfc = 0; flood_process(); } - return $#{ @{$sf{$id}{$chan}{$host}}}+1; +# return $#{ @{$sf{$id}{$chan}{$host}}}+1; + return scalar @{$sf{$id}{$chan}{$host}}; } sub flood_process diff --git a/modules/event.pl b/modules/event.pl index e7e7d55..1e1f7a6 100644 --- a/modules/event.pl +++ b/modules/event.pl @@ -57,10 +57,20 @@ sub new $conn->add_handler('cfinger', \&on_ctcp); $conn->add_handler('354', \&on_whoxreply); $conn->add_handler('account', \&on_account); + $conn->add_handler('ping', \&on_ping); bless($self); return $self; } +sub on_ping +{ + my ($conn, $event) = @_; + $conn->sl("PONG " . $event->{args}->[0]); + return unless $::debugx{pingpong}; + print strftime("%F %T ", gmtime) . "Ping? Pong!\n"; + print Dumper($event); +} + sub on_account { my ($conn, $event) = @_; @@ -78,7 +88,6 @@ sub on_join { my $nick = lc $event->{nick}; my $chan = lc $event->{to}->[0]; my $rate; - print Dumper($event) if $::debug; if ( lc $conn->{_nick} eq lc $nick) { $::sc{$chan} = {}; mkdir($::settings->{log}->{dir} . $chan); @@ -363,7 +372,6 @@ sub on_whoxreply return unless $event->{args}->[1] eq '314'; my ($tgt, $magic, $chan, $user, $host, $nick, $flags, $account, $gecos) = @{$event->{args}}; my ($voice, $op) = (0, 0); - print Dumper($event) if $::debug; $op = 1 if ( $flags =~ /\@/ ); $voice = 1 if ($flags =~ /\+/); $nick = lc $nick; $chan = lc $chan; -- cgit v1.2.3