summaryrefslogtreecommitdiff
path: root/libexec/spamd/spamd.c
AgeCommit message (Collapse)Author
2005-08-04Fix handling of empty entries at the end of an address list; avoidsOtto Moerbeek
always skipping the last address. ok beck@
2005-05-23have to ignore SIGPIPE in the child too or a spammer can kill spamd just byMike Frantzen
closing the connection while we're trying to write to it
2005-04-16missing getopt choice; from dennisTheo de Raadt
2005-04-14Make spamd stutter at greylisted connections for a short period before talkingBob Beck
full speed. By default do this for 10 seconds. Many spammers disconnect by then. Adds -S option to select the amount of time greylisted connections will be stuttered at. feedback from jmc@, deraadt@, ok deraadt@
2005-03-11"Greytrapping" for spamd - allow for spamd greylisting to maintainBob Beck
a list of spamtrap destination addresses in the spamd database. When a spamtrap address gets an attempted greylist delivery, blacklist the offending host for a day. Does not affect hosts already whitelisted. ok deraadt@, jmc@, dhartmei@ to get it in so it can be whacked on
2004-11-17- \r\n fix for QUIT commandBob Beck
- Implement RSET in spamd - some virus scanning products (notably symantec's viruswall) spew a RSET into the smtp stream before every attempted delivery. (noticed by reitenba@fh-brandenburg.de and some others). This ensures such things can successfully talk to a spamd greylister. ok millert@ henning@
2004-10-05change default to 451 for greylisting, thanks to a number ofBob Beck
people on misc, and some observations by Evan harris on the greylisting mailing list that a number of clustered mailers like aol behave better (and retry from the same IP) when they see a 451, but do not when they see a 450 (traditionally used for mailbox lock failure) 450 was the original for spamd, as the default for the tarpit is to encourage quick retries to punish blacklisted smtp servers more. This got carried over to the greylisting implementation, and isnt' really optimal for that case. ok millert@, henning@, todd@
2004-09-18This should be info, from mike@tric.ruBob Beck
ok henning@
2004-08-17impliment QUIT, beck okHenning Brauer
2004-08-08spacingTheo de Raadt
2004-07-04typo; andrushock@korovino.netTheo de Raadt
2004-06-29absolutely no need to include machine/endian.h after sys/types.h and ↵Michael Shalayeff
sys/types.h after sys/param.h
2004-06-21use getaddr/nameinfo for address resolution. beck, henning okJun-ichiro itojun Hagino
2004-04-03fix logging. without -v, you get just the connection level, no mail data.Daniel Hartmeier
with -v, you get From/To/Subject at LOG_INFO, and the first ten body lines at LOG_DEBUG. ok beck@
2004-04-02nextstate() can get passed a read(2) chunk containing multiple lines,Daniel Hartmeier
so separate lines before logging headers/body. doesn't make logging more verbose, just fixes the case where chunks contain multiple lines. ok beck@
2004-03-17fix problem with counter and logging spotted by danh, where loggingBob Beck
would get messed up when the blacklist limit was hit. tested by danh@ and me ok cedric@
2004-03-16sort options and escape a minus sign;Jason McIntyre
2004-03-15Add -B option, with maxblack limit to limit the number of blacklistBob Beck
connections to something less than maxcon when greylisting. This ensures you don't completely run out of connections tarpitting spammers, and not allow real mail through. ok dhartmei@ millert@
2004-03-14make window size adjustement on sockets only after the DATABob Beck
connection. This ensures that greylisted connections are not delayed by a small windows size, but blacklisted connections still have to send the body through a tiny window, and presumably the body is the vast majority of what is being sent anyway. ok dhartmei@ millert@
2004-03-13Add signal handler to parent, so that when greylisting we don't need toBob Beck
kill all three processes to make it go away. Adjust daemon() call and logging appropriately. ok henning@, millert@
2004-03-12paranoia and cleanup, ensure we use free then NULL everywhere.Bob Beck
ok millert@ dhartmei@
2004-03-11fix bug where custom 450 messages are not displayed,Bob Beck
found by yongari@kt-is.co.kr ok dhartmei@, millert@
2004-03-10fix missing space, also fromBob Beck
yongari@kt-is.co.kr ok deraadt@
2004-03-10add -b option to specify local bind address, sent byBob Beck
yongari@kt-is.co.kr ok deraadt@
2004-02-28- ensure greylist entry expiry is not updated until actually whitelistedBob Beck
to avoid keeping multiple grey entries around from a single host for extra time. - make -G work - paranoia and cleanup suggestions from deraadt@ ok millert@
2004-02-26paranoia; beck okTheo de Raadt
2004-02-26Add -g option for greylisting support for spamd. The greylisting techinqueBob Beck
originates from a paper by Evan Harris which can be found at http://projects.puremagic.com/greylisting/. This implementation makes spamd allow for non-blacklisted addresses to be treated as "greylisted". where they are tracked in a db file, and whitelisted by addition to a pf table when the same envelope from and to are retried from the same source IP address. Testing by many, ok deraadt@
2003-11-09add missing -v to getoptDaniel Hartmeier
2003-11-08add -v and -w window to usage();Jason McIntyre
2003-10-22make logging less verbose by default - default logs connect, disconnectBob Beck
and blacklist matches. Add -v (verbose) flag to allow other detailed logging (subject, body, smtp dialogue, etc.) when it's needed. ok dhartmei@ -> ok deraadt@
2003-10-031) Don't loop on invalid commandsBob Beck
2) Allow multiple RCPT's ok mpech@, helpful stress testing by Chris Nadovich <chris@jtan.com>
2003-09-26can free(NULL)Theo de Raadt
2003-09-26make accept failures not globally fatal.Bob Beck
ok deraadt@
2003-09-26free(NULL) allowedTheo de Raadt
2003-09-24indentTheo de Raadt
2003-09-24crank max connections to 800 (really, there are poeple doing this)Theo de Raadt
2003-09-18realloc spring cleaning, simplifies the code someAnil Madhavapeddy
beck@ ok, deraadt@ ok an earlier version
2003-09-04forgot to put w in optstring in last commit.Ted Unangst
2003-09-03permit the window/receive buffer to be adjustable. default back to systemTed Unangst
default. in reponse to pr3435. ok beck deraadt dhartmei
2003-08-26re-add logging of matched blacklists lost in previous commit, ok deraadt@Daniel Hartmeier
2003-08-24missing colon in syslog msg (cosmetic)Daniel Hartmeier
2003-08-23add -s to specify stuttering delay, set receive buffer size to 1 byteDaniel Hartmeier
(causing a small TCP window size, tying up sender's resources), additional states: keep connection until ten body lines have been received, improved logging through syslog (envelope from/to, From:/To:/Subject: in header, first lines of body) at various levels. ok deraadt@
2003-08-23fix printf format for time_t. notified by casha@e7.pl. henning okJun-ichiro itojun Hagino
2003-07-29spacesTheo de Raadt
2003-06-11ansi cleanup; ok ian markusTheo de Raadt
2003-05-17strsep does not work that way.Bob Beck
ok tedu@
2003-05-16This was using the wrong buffer, and wrong lengths. fix it from me andBob Beck
tedu, ok tedu@
2003-04-15toast some += snprintfTheo de Raadt
2003-04-12rlimit handling code; aw@osn.deTheo de Raadt
2003-04-08more logical handling of select() errorsVincent Labrecque
ok millert@ deraadt@