I've been using Antispam with Akismet for months and it's been working perfectly. Beginning a day or so ago it stopped working properly. Now, any comment posted by anonymous visitor is not published, but not marked as spam either, even though the logs say it was marked as spam. Comments that clearly are spam are also no longer being marked as spam but also not published.

Any advice or ways to troubleshoot this?

Comments

pixture’s picture

Have you recently add/install new modules that may cause possible conflict with Antispam module?
or have you updated Drupal core, server software (apache, PHP), etc recently which may affect this weird problem?

Also, can you post the log message that says the comment was marked as spam?

MrGeek’s picture

Havnt added or changed anything in the Drupal install or the server - i DID apply some updates to modules a few days ago, but that does not coincide with when AntiSpam broke. I noticed too, that with AntiSpam enabled (using Akismet), it takes approx 30 seconds to post a comment. With it off, posting is instant.
Here is the log from a 'clean' post that says it's spam, is NOT marked as spam, and does not get published:

Type	content
Date	Wednesday, June 2, 2010 - 9:32am
User	Anonymous Visitor
Severity	warning
Spam detected by AntiSpam in comment: Re: Test comment post 
MrGeek’s picture

While doing more testing it looks like the server Firewall is not allowing connections to Akismet - when i disable the FW, everything works fine.
Would this be the default behavior when AntiSpam cant connect to the Akismet servers? Shouldnt a warning be posted in the logs about not being able to connect?

pixture’s picture

Assigned: Unassigned » pixture

When the error occured while connecting the external antispam service, the following message is supposed to be logged instead of "Spam detected by AntiSpam in comment....":

"Antispam service seems to be down, comment queued for manual approval: (subject)..."

Maybe, the error checking of HTTP request from Drupal server to external antispam service has a bug and can not detect the error correctly. I will look into this.

Besides, AntiSpam module uses standard HTTP (port: 80) protocol to communicate with external antispam providers. So please be sure that the FW does not block this communication.

MrGeek’s picture

can you confirm the FQDN/IP that the server would connect to? i'm seeing rest.akismet.com - is this correct?

pixture’s picture

Yes, that's correct. Below are the external servers that AntiSpam module sends requests to:

Akismet
rest.akismet.com

TypePad Antispam
api.antispam.typepad.com

Defensio
api.defensio.com

MrGeek’s picture

ok.. when all else fails, check the firewall logs.. I've whitelisted all the Akismet IP's in the firewall and now AntiSpam/Akismet are working properly again.
.. So i can confirm that when AntiSpam cannot connect, it is NOT logging an error anywhere.

augiem’s picture

I just started seeing this behavior 2 days ago with ZERO changes whatsoever to the system.
I'm using Akismet on AntiSpam as well and am having anonymous comments tossed into the moderation queue instead of being published after a 20+ second wait when trying to post a comment. I get no messages in the log saying it was unable to connect. (Took me forever to track down what was really going on with the site.)

I'm running on shared webhosting, so firewalls, etc are not configurable. Not sure what to do.

EDIT: Strange. I'm not sure if Akismet has been down for a day or what but switching to Defensio works. Still, the log didn't help me track this down...

Everett Zufelt’s picture

Version: 6.x-1.2 » 7.x-1.x-dev

Ensure that watchdog error is generated when external API connection not available

Everett Zufelt’s picture

Title: It just stopped working » Ensure that watchdog error is generated when external API connection not available