Skip to content

Commit

Permalink
Item13145: Prepare for release
Browse files Browse the repository at this point in the history
  • Loading branch information
gac410 committed Dec 16, 2014
1 parent 859aea2 commit 5eeedb4
Show file tree
Hide file tree
Showing 7 changed files with 39 additions and 5 deletions.
10 changes: 10 additions & 0 deletions .gitignore
@@ -0,0 +1,10 @@
*,v
*,pfv
*.gz
/AntiWikiSpamPlugin.md5
/AntiWikiSpamPlugin.sha1
/AntiWikiSpamPlugin.tgz
/AntiWikiSpamPlugin.txt
/AntiWikiSpamPlugin.zip
/AntiWikiSpamPlugin_installer
/AntiWikiSpamPlugin_installer.pl
3 changes: 2 additions & 1 deletion data/System/AntiWikiSpamPlugin.txt
@@ -1,4 +1,4 @@
%META:TOPICINFO{author="ProjectContributor" date="1398719751" format="1.1" version="1"}%
%META:TOPICINFO{author="ProjectContributor" date="1418748907" format="1.1" version="1"}%
---+!! !AntiWikiSpamPlugin

<!--
Expand Down Expand Up @@ -130,6 +130,7 @@ To cause a true failure, remove the VIEW and CHANGE restrictions to the topic an
| Version: | %$VERSION% |
| Release: | %$RELEASE% |
| Change History: | <!-- versions below in reverse order --> |
| 1.9 (16 Dec 2014) | Foswikitask:Item13145: Add some access profiling, Foswikitask:Item13047: Typo in DEPENDENCIES |
| 1.8 (28 Apr 2014) | Foswikitask:Item12874: Crash due to undefined array reference |
| 1.7 (25 Apr 2014) | Typo in documentation |
| 1.6 (25 Apr 2014) | Foswikitask:Item12349, Foswikitask:Item12629: Download of signatures brings down performance<br />\
Expand Down
12 changes: 8 additions & 4 deletions lib/Foswiki/Plugins/AntiWikiSpamPlugin.pm
Expand Up @@ -19,8 +19,8 @@ use strict;
require Foswiki::Func; # The plugins API
require Foswiki::Plugins; # For the API version

our $VERSION = '1.8';
our $RELEASE = '1.8';
our $VERSION = '1.9';
our $RELEASE = '1.9';
our $SHORTDESCRIPTION = 'Lightweight wiki spam prevention';
our $NO_PREFS_IN_TOPIC = 1;

Expand All @@ -30,10 +30,14 @@ sub initPlugin {
my ( $topic, $web, $user, $installWeb ) = @_;

if ( $user eq $Foswiki::cfg{DefaultUserLogin}
&& $Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{MeaningfulCount} )
&& $Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{MeaningfulCount}
&& $Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{MeaningfulWebs}
&& $Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{IgnoredTopics} )
{
if ( $web =~
m/$Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{MeaningfulWebs}/ )
/$Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{MeaningfulWebs}/
&& $topic !~
m/$Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{IgnoredTopics}/ )
{
my $uhist = Foswiki::Func::getSessionValue('userHistory') || '';
my @hist = split( /:/, $uhist );
Expand Down
6 changes: 6 additions & 0 deletions lib/Foswiki/Plugins/AntiWikiSpamPlugin/Config.spec
Expand Up @@ -22,6 +22,12 @@ $Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{CheckRegistrations} = $TRUE;
# that match this web regex in the user's session for guest users.
$Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{MeaningfulWebs} = '.*';

# **STRING 40**
# Regular expression of topics that should not be counted toward activity before allowing registration
# Often spammer bots jump right into registration. The plugin tracks visited web.topics
# that match this web regex in the user's session for guest users.
$Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{IgnoredTopics} = '^(UserRegistration|WikiUsers|Web.*)$';

# **NUMBER**
# Minimum activity count for user in the "Meaningful" webs. Guests will be blocked
# from registering unless they have visited at least this count of topics.
Expand Down
2 changes: 2 additions & 0 deletions lib/Foswiki/Plugins/AntiWikiSpamPlugin/Core.pm
Expand Up @@ -81,6 +81,8 @@ sub validateRegistrationHandler {
my $data = shift;

if ( $Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{MeaningfulCount} ) {
print STDERR
"MeaningfulCount = $Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{MeaningfulCount} ============ \n";

my $uhist = Foswiki::Func::getSessionValue('userHistory') || '';
my @hist = split( /:/, $uhist );
Expand Down
9 changes: 9 additions & 0 deletions test/unit/AntiWikiSpamPlugin/AntiWikiSpamPluginRegTests.pm
Expand Up @@ -30,6 +30,8 @@ sub set_up {
$Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{CheckTopics} = 1;
$Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{CheckAttachments} = 1;
$Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{CheckRegistrations} = 1;
$Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{MeaningfulCount} = '0';
$Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{MeaningfulWebs} = '.*';
$Foswiki::cfg{Register}{NeedVerification} = 0;
$Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{ANTISPAMREGEXLISTURL} = '';
undef $Foswiki::Plugins::AntiWikiSpamPlugin::Core::regoWhite;
Expand Down Expand Up @@ -132,6 +134,7 @@ badrobot
^76\.74\.239\.26 # mailinator.com
^72\.51\.33\.80 # another mailinator address
^207\.198\.106\.56 # and another
^23\.239\.11\.30 # and more
</verbatim>
TEXT
$Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{RegistrationWhiteList} =
Expand All @@ -144,6 +147,8 @@ TEXT
$Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{CheckTopics} = 1;
$Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{CheckAttachments} = 1;
$Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{CheckRegistrations} = 1;
$Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{MeaningfulCount} = '0';
$Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{MeaningfulWebs} = '.*';
$Foswiki::cfg{Register}{NeedVerification} = 0;
$Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{ANTISPAMREGEXLISTURL} = '';

Expand Down Expand Up @@ -230,6 +235,8 @@ TEXT
}
catch Foswiki::OopsException with {
my $e = shift;
use Data::Dumper;
print STDERR Data::Dumper::Dumper( \$e );
$this->assert_num_equals( 500, $e->{status} );
$this->assert_matches( qr/triggered the spam filter/,
$e->{params}->[0] );
Expand Down Expand Up @@ -259,6 +266,8 @@ TEXT
}
catch Foswiki::OopsException with {
my $e = shift;
use Data::Dumper;
print STDERR Data::Dumper::Dumper( \$e );
$this->assert_num_equals( 200, $e->{status} );
$this->assert_matches(
qr/A confirmation e-mail has been sent to mustapha\@mustapha.good.time.info/,
Expand Down
2 changes: 2 additions & 0 deletions test/unit/AntiWikiSpamPlugin/AntiWikiSpamPluginTests.pm
Expand Up @@ -33,6 +33,8 @@ sub loadExtraConfig {
$Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{CheckTopics} = 1;
$Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{CheckAttachments} = 1;
$Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{CheckRegistrations} = 1;
$Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{MeaningfulCount} = '0';
$Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{MeaningfulWebs} = '.*';
$Foswiki::cfg{Register}{NeedVerification} = 0;
$Foswiki::cfg{Plugins}{AntiWikiSpamPlugin}{ANTISPAMREGEXLISTURL} = '';
}
Expand Down

0 comments on commit 5eeedb4

Please sign in to comment.