Changeset 37

Show
Ignore:
Timestamp:
02/18/05 19:42:18
Author:
brad
Message:

Transitioning to spamlookup.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/plugins/dnsbl/dnsbl.pl

    r34 r37  
    1 package MT::Plugin::DNSBL
     1package MT::Plugin::SpamLookup
    22 
    33use strict; 
     
    88@ISA = qw(MT::Plugin); 
    99 
    10 # A DNSBL comment filter plugin for Movable Type 
    11 # MT implementation inspired by http://weblog.sinteur.com/index.php?p=7967 
    12  
    13 #use SelfLoader; 
    14  
    15 my $plugin = new MT::Plugin::DNSBL({ 
    16     name => 'DNSBL', 
    17     config_link => 'mt-dnsbl.cgi', 
     10use SelfLoader; 
     11 
     12my $plugin = new MT::Plugin::SpamLookup({ 
     13    name => 'SpamLookup', 
     14    config_link => 'mt-spamlookup.cgi', 
    1815    description => 'Controls feedback from open proxies and spammy URLs', 
    1916    doc_link => undef 
     
    3532} 
    3633 
     341; 
     35 
     36__DATA__ 
    3737sub config_params { 
    3838    qw( comment_filter ping_filter 
     
    222222        $ban->blog_id($obj->blog_id); 
    223223        $ban->save; 
    224         $app->log("DNSBL: permanently banning IP ".$obj->ip." due to open proxy testing"); 
     224        $app->log("SpamLookup: permanently banning IP ".$obj->ip." due to open proxy testing"); 
    225225    } 
    226226 
     
    559559        s/(&\#(\d+);?)/$2 < 256 ? chr($2) : $1/eg; 
    560560        s/(&\#[xX]([0-9a-fA-F]+);?)/$c = hex($2); $c < 256 ? chr($c) : $1/eg; 
    561         # we don't care about accented characters for this. we're just 
    562         # reversing for simple ASCII characters 
    563         #s/(&(\w+);?)/$entity2char{$2} || $1/eg; 
    564561    } 
    565562    $str; 
    566563} 
    567  
    568 1; 
  • trunk/plugins/dnsbl/mt-dnsbl.cgi

    r36 r37  
    3131} 
    3232 
    33 package MT::App::DNSBL
     33package MT::App::SpamLookup
    3434 
    3535use MT::App::CMS; 
     
    5656    $app->{cfg}->set('AltTemplatePath', ''); 
    5757    $app->{requires_login} = 1; 
    58     $app->{breadcrumbs} = [ { bc_name => 'DNSBL Configuration', 
     58    $app->{breadcrumbs} = [ { bc_name => 'SpamLookup Configuration', 
    5959                              bc_uri => '?__mode=show' } ]; 
    6060    $app;    
     
    6666 
    6767    $app->add_breadcrumb('View Cache' => '?__mode=view_cache'); 
    68     my $plugin = MT::Plugin::DNSBL->instance; 
     68    my $plugin = MT::Plugin::SpamLookup->instance; 
    6969    require MT::PluginData; 
    7070    my $pdata = MT::PluginData->load({ 
     
    7575    my @data; 
    7676    my %actions = ( 
    77         MT::Plugin::DNSBL::BLOCK() => 'Blocked', 
    78         MT::Plugin::DNSBL::MODERATE() => 'Moderated', 
    79         MT::Plugin::DNSBL::ACCEPT() => 'Accepted', 
     77        MT::Plugin::SpamLookup::BLOCK() => 'Blocked', 
     78        MT::Plugin::SpamLookup::MODERATE() => 'Moderated', 
     79        MT::Plugin::SpamLookup::ACCEPT() => 'Accepted', 
    8080    ); 
    8181    $param{$_} = 0 foreach (qw(blocked_count moderated_count 
     
    9797        $c->{$ip}->{banned} = @ip ? 1 : 0; 
    9898        push @data, $c->{$ip}; 
    99         $param{blocked_count}++ if $result == MT::Plugin::DNSBL::BLOCK(); 
    100         $param{moderated_count}++ if $result == MT::Plugin::DNSBL::MODERATE(); 
    101         $param{blocked_hits} += $hits if $result == MT::Plugin::DNSBL::BLOCK(); 
    102         $param{moderated_hits} += $hits if $result == MT::Plugin::DNSBL::MODERATE(); 
     99        $param{blocked_count}++ if $result == MT::Plugin::SpamLookup::BLOCK(); 
     100        $param{moderated_count}++ if $result == MT::Plugin::SpamLookup::MODERATE(); 
     101        $param{blocked_hits} += $hits if $result == MT::Plugin::SpamLookup::BLOCK(); 
     102        $param{moderated_hits} += $hits if $result == MT::Plugin::SpamLookup::MODERATE(); 
    103103    } 
    104104    if (scalar(@data)) { 
     
    117117        MT::Util::mark_odd_rows(\@data); 
    118118    } 
    119     my $data = MT::Plugin::DNSBL->instance->get_config_hash(); 
     119    my $data = MT::Plugin::SpamLookup->instance->get_config_hash(); 
    120120    my $service=$data->{cache_ip_infoservice}; 
    121121    if($service =~ /%ip%/) { 
     
    165165    my (%param) = @_; 
    166166 
    167     my $plugin = MT::Plugin::DNSBL->instance; 
     167    my $plugin = MT::Plugin::SpamLookup->instance; 
    168168    require MT::PluginData; 
    169169    my @pdata = MT::PluginData->load({ 
     
    178178    my $is = 0; 
    179179    @path_segs = grep { $is++ if $_ eq 'plugins'; $is } @path_segs; 
    180     $_[0]->path . (join '/', @path_segs, "mt-dnsbl.cgi"); 
     180    $_[0]->path . (join '/', @path_segs, "mt-spamlookup.cgi"); 
    181181} 
    182182 
    183183sub pre_run { 
    184184    my $app = shift; 
    185     die $app->error("You have no permissions to configure the DNSBL plugin.") 
     185    die $app->error("You have no permissions to configure the SpamLookup plugin.") 
    186186        unless $app->{author}->can_create_blog; 
    187187} 
     
    192192    my $orig_ip = $ip; 
    193193 
    194     my $data = MT::Plugin::DNSBL->instance->get_config_hash(); 
     194    my $data = MT::Plugin::SpamLookup->instance->get_config_hash(); 
    195195 
    196196    my $domain; 
     
    206206        foreach my $service (@ipbl_service) { 
    207207            $service =~ s/^\.//; 
    208             if (MT::Plugin::DNSBL::checkdns("$d.$c.$b.$a.$service.")) { 
     208            if (MT::Plugin::SpamLookup::checkdns("$d.$c.$b.$a.$service.")) { 
    209209                push @log, { message => "Found IP $ip on service $service" }; 
    210210            } 
     
    213213    if ($domain && $data->{domainbl_enabled}) { 
    214214        my @domainbl_service = split /\s+/, $data->{domainbl_service}; 
    215         my @domains = MT::Plugin::DNSBL::extract_urls($domain); 
    216         @domains = MT::Plugin::DNSBL::extract_urls('http://' . $domain) 
     215        my @domains = MT::Plugin::SpamLookup::extract_urls($domain); 
     216        @domains = MT::Plugin::SpamLookup::extract_urls('http://' . $domain) 
    217217            if !@domains; 
    218218        foreach my $domain (@domains) { 
     
    222222            foreach my $service (@domainbl_service) { 
    223223                $service =~ s/^\.//; 
    224                 if (MT::Plugin::DNSBL::checkdns("$domain.$service.")) { 
     224                if (MT::Plugin::SpamLookup::checkdns("$domain.$service.")) { 
    225225                    push @log, { message => "Found domain $domain on service $service" }; 
    226226                } 
     
    236236    my $app = shift; 
    237237    my (%param) = @_; 
    238     my @config = MT::Plugin::DNSBL->instance->config_params; 
    239     my $data = MT::Plugin::DNSBL->instance->get_config_hash(); 
     238    my @config = MT::Plugin::SpamLookup->instance->config_params; 
     239    my $data = MT::Plugin::SpamLookup->instance->get_config_hash(); 
    240240    $param{$_} = $data->{$_} foreach @config; 
    241     $app->build_page('dnsbl.tmpl', \%param); 
     241    $app->build_page('spamlookup.tmpl', \%param); 
    242242} 
    243243 
     
    246246    my $auth = $app->{author}; 
    247247    my $q = $app->{query}; 
    248     my $pd = MT::Plugin::DNSBL->instance->get_config_obj; 
     248    my $pd = MT::Plugin::SpamLookup->instance->get_config_obj; 
    249249    my $config = $pd->data() || {}; 
    250     my @config = MT::Plugin::DNSBL->instance->config_params; 
     250    my @config = MT::Plugin::SpamLookup->instance->config_params; 
    251251    foreach (@config) { 
    252252        $config->{$_} = $q->param($_) || undef; 
     
    267267 
    268268eval { 
    269     my $app = MT::App::DNSBL->new( 
     269    my $app = MT::App::SpamLookup->new( 
    270270        Config => $MT_DIR . 'mt.cfg', 
    271271        Directory => $MT_DIR 
    272     ) or die MT::App::DNSBL->errstr; 
     272    ) or die MT::App::SpamLookup->errstr; 
    273273    local $SIG{__WARN__} = sub { $app->trace ($_[0]) }; 
    274274    $app->run; 
  • trunk/readme.txt

    r30 r37  
    1 DNSBL 
     1SpamLookup 
    22A plugin for Movable Type 
    33 
     
    2828will need to create it): 
    2929 
    30     mt/plugins/dnsbl
    31                      dnsbl.pl 
    32                      mt-dnsbl.cgi 
    33                      dnsbltool 
     30    mt/plugins/spamlookup
     31                         spamlookup.pl 
     32                         mt-spamlookup.cgi 
     33                         sltool 
    3434 
    3535And these files into this location: 
    3636 
    37     mt/plugins/dnsbl/tmpl/ 
    38                           dnsbl.tmpl 
    39                           view_cache.tmpl 
     37    mt/plugins/spamlookup/tmpl/ 
     38                              spamlookup.tmpl 
     39                              view_cache.tmpl 
    4040 
    41 Of these files, mt-dnsbl.cgi and dnsbltool should have "execute" 
     41Of these files, mt-spamlookup.cgi and sltool should have "execute" 
    4242permission.  The other files must simply be readable. 
    4343 
     
    5656 
    5757Upon installing the plugin, you can go to the Movable Type main menu 
    58 and click on the 'DNSBL' link now available under the "Plugins" list. 
     58and click on the 'SpamLookup' link now available under the "Plugins" list. 
    5959If you do not see such a link, the plugin is not installed properly. 
    6060 
     
    8181      legitimate cases. 
    8282 
    83     * Link count limitation. Moderate/Block comments and trackbacks 
     83    * Link count limitation. Moderate/Block comments and TrackBacks 
    8484      based on the number of links that appear in the message.  
    8585 
     
    9999HISTORY 
    100100 
    101 2/8/2005 - 2.0 release 
     1012/18/2005 - 2.0 release 
     102    * Renamed to SpamLookup. 
    102103    * Integrated MT-ProxyPlug functionality by Tobias Hoellrich. 
    103104    * Added domain-based blacklisting; extracts URLs mentioned and checks