Changes
0.25 (December 29, 2005)
- ipwhois lookups are now performed whether or not the domain name resolves, apparently some valid ips actually resolve to false domain info
- made debug mode a little less chatty
- BUGFIX: body-host was grabbing and testing non-domain characters due to a regex bug
- now doing abuse.net lookups using DNS server, significant speed increase over whois lookups, requires module Net::DNS
- BUGFIX: fixed a bug in how the IP information was parsed from the Received headers
- fixed enough code that use strict is now on
- using Config::General for the config file, unfortunately this means the config layout has changed, see the distributed 'config' file for details
- BUGFIX: fixed email output so that the email header is all on one line
- emailing with Net::SMTP rather than an open call to sendmail
- will remove X-Spam headers from emails sent out
- BUGFIX: kicked up the defense against reporting on friends
- no longer using Net::Whois::Raw & Net::Whois::IP, they weren't very good, I wrote the module Whois.pm to replace it, as a bonus it is about 100x faster
0.24 (December 24, 2005)
- Fixed some major inefficiencies (won't do duplicative work) - Added comments - tons of bug fixes - now using Net::Whois::Raw & Net::Whois::IP for all lookups, no more nasty `whois` calls - Optimized some code, put in timeouts for whois lookups
0.23 (January 26, 2004)
- `spam` is now maintained by Jon Feldhammer- Moved around code to increase readability - Changed regex's that did not work properly - Added an ipwhois - Added dnswhois (looking up dns information for web pages found in the body of the email) this is also known as rabid mode - Changed the way headers were being parsed, now only ip information will be used, too many spoofed domain names. - Before adding a host, now double check with whois to see if it is an actual domain name, there were a lot more bounce being generated without this check. - Added some debug management but only implemented partially.
0.22 (Unknown)
- `spam` is now maintained by Ask Bjoern Hansen- Fix the -e option so it works [Tres Hofmeister ] - Replace -e (edit) with -p (prompt) option [Damon Harper ] - Bomb if the config is broken [Damon Harper ] - Better error handling all around. - Create temporary files in ~/.spam/tmp/ instead of the shared /tmp/
0.21 (March 27, 2001)
Johan Almqvist showed an example where spam.pl didn't strip of semicolons on the right of a host name. Does now. Donn W. Pike added support for the $HOME/.spam/addmailaddress file that may contain a list of email addresses to which the complaint should always get mailed. I made all the command line option TOGGLE the status. This allows me to switch off options set in the config file and vice versa. Frank Sweetser provided a patch to cut off parentheses a bit better. Nat Makarevitch added a few extra headers to decrase the amount of bounces due to inexistant target addresses.
0.20 (August 11, 2000)
Sven Anders made spam.pl deal with "quoted" From lines (">From") as well, and I couldn't think of any reason why not. Eggert Ehmke helped us making sure \r is stripped from host names, that the config file is parsed before the command line options and more. Mike Peyer also sent me a fix for the moved config file position.
0.19 (July 26, 2000)
Daniel: I made it handle the Microsoft Mailer's added header as well. It turned out spam.pl missed the IP address of the SMTP poster. Wil Cooley: pointed out a bad /tmp usage in the -e (edit addresses) code. That flag doesn't work yet though... Padraic Renaghan: brought the -n option that now makes spam.pl to NOT includee the .signature file at the bottom of all complaints. Daniel: - I made the ~/.spam/config file get read on every invoke. It contains variables set *after* the command line parameters are parsed. The config file thus lets you set the parameters you always want, including the sendmail path which should be neat when upgrading spam.pl. The config file is plain perl and thus must follow perl syntax. - Created a CVS repository over at sourceforge.net to better allow people to track the development and work in parallell. - Added 'com.sg' as bad domain.
0.18 (May 31, 2000)
Daniel: - Made it dig out IP addresses from the recevied: headers even better - Found a bug that sometimes let friendly domains domains get through and get mailed anyway (a case sensitivity problem). - Headers with dashes weren't properly "recorded". Peter Green: - Re-introduces the '-f' flag to sendmail, but "properly" as: `sendmail -t -f $fromline' I tested this command line on Linux and SunOS/Solaris with both sendmail and qmail's sendmail wrapper without a problem - The email address is now properly extracted from the .spam/from line. That file may contain a "Full Name" style line. - -q option to be Quiet. Only print spam headers (instead of full body) in complaint, as well as make default complaint message much more terse. (You can still override it using $HOME/.spam/complaint.) - -i option to tell spam.pl to look in the body of the piped mail message for the spam mail. This is useful since we have twenty-plus people forwarding all of their spam to one central e-mail address at our domain. - Signatures are preceded by '-- \n' NOT '--\n'! - Better doc in the help message for '-m' flag.
0.17 (may 16, 2000)
- Comma-separated the addresses in the outgoing To: line. - I had accidentally removed the spam mail body from the complaint mail. It's back again now. - Improved the debug-message when name lookups fail - Improved parsing of some mail headers that adds 'helo=[server]'.
0.16 (may 16, 2000)
- I was obviously too quick to release 0.15 after just a bit too many changes. The sendmail stuff I used in there was no immediate success! :-( I had to revert somewhat to the previous usage. - Martin Macok pointed out several minor flaws that he and I fixed. - I made it use the actual incoming headers in the outgoing mail, and not the concatenated ones as before. - Added -v to display version number only - Made it include X-Couldbe-To: headers when run to a single receiver, that headers shows the meant-to-become receivers. - Readded the use of X-mailer: as a header in the outgoing mails.
0.15 (may 15, 2000)
- Björn Stenbergadded the -w switch, that uses the whois service at whoise.abuse.net to extract the proper receivers of the complaint mails. It allows you to find better receivers of the complaints, without sending the mails through abuse.net. - The subject check is also made insensitive now. - Peter Green brought several fixes and improvements: - -m makes the script bcc yourself when sending the mail - DNS lookups. Peter's changes got me into a change of direction in this script and now all the IP-only addresses are attempted to get resolved and if they do, their names are added to the list of offenders. - chop => chomp converted all over
0.14 (May 8, 2000)
- Matti Airasbrought the excellent idea that the config files should be moved to a separate subdirectory. So they are. This version automatically moves old config files to the new place. Note that you can't run the old version after you've run this! - Rephrased the default complaint message after a somewhat heated discussion with a domain owner that wrongly received a complaint. - Added -b that scans the body to search for host names to send complaints to. It searches for http://- or www- references. - I tried to add -e to allow editing of the host list before it is used, although for some reason I can't make it work properly! :-/ - There's now a small list of non-mailable top-domains, such as 'co.uk' to avoid a few bounces. - The list of friendly domains are now treated case insensitively, as it always should've
0.13 (March 21, 2000)
- A tiny correction made it deal with received: lines better (the host after 'by')