diff options
author | Jean-Yves Lefort <jylefort@FreeBSD.org> | 2005-05-28 09:56:27 +0000 |
---|---|---|
committer | Jean-Yves Lefort <jylefort@FreeBSD.org> | 2005-05-28 09:56:27 +0000 |
commit | 6b9e5c9ab276d4c9eef1d27e3c14cdc89a414ff0 (patch) | |
tree | 303bfa3ec4f4e437b866fbf8707ffd3c777486da /mail/assp/files/patch-stats.sh | |
parent | - Add $(includedir) to BASE_CPPFLAGS, otherwise chicken can't find it's own (diff) |
Add assp.
Anti-Spam SMTP Proxy is a spam filter that sits on port 25 in front of your
regular SMTP server (sendmail, postfix, qmail, etc).
ASSP performs a number of configurable spam checks, and on detecting a spam
message, provides an immediate 5xx SMTP error code back to the client.
Non-spam messages are passed to your regular SMTP server for further
processing and delivery.
ASSP offers:
- a whitelist of known good senders
- Bayesian checks on message headers and contents
- recipient address validation using LDAP and RFC822 conformance
- relay denial
- HELO checking
- SPF (Sender Policy Framework) checking
- DNSBL (DNS Block List) checking using many DNSBL services
- Virus detection
ASSP is a single script with a web-based configuration tool.
WWW: http://assp.sourceforge.net/
PR: ports/81570
Submitted by: J.R. Oldroyd <fbsd@opal.com>
Diffstat (limited to 'mail/assp/files/patch-stats.sh')
-rw-r--r-- | mail/assp/files/patch-stats.sh | 176 |
1 files changed, 176 insertions, 0 deletions
diff --git a/mail/assp/files/patch-stats.sh b/mail/assp/files/patch-stats.sh new file mode 100644 index 000000000000..060ae1688feb --- /dev/null +++ b/mail/assp/files/patch-stats.sh @@ -0,0 +1,176 @@ +--- stats.sh.orig Fri Aug 6 20:26:26 2004 ++++ stats.sh Thu May 26 22:24:20 2005 +@@ -4,12 +4,12 @@ + # copy of your standard Unix shell, the 'tail' utility and a working 'awk' + # interpreter. + +-# I use the default location for ASSP's maillog file, and the 'maillog.log' ++# I use the default location for ASSP's maillog file, and the 'maillog.txt' + # name (in assp.cfg) to keep ASSP from changing it on me. + +-# This script attempts to go back at least 300 lines in your maillog.log ++# This script attempts to go back at least 300 lines in your maillog.txt + # file to give you a nice screenful of goodies to review when it +-# first starts. If your maillog.log is nearly empty, then just ++# first starts. If your maillog.txt is nearly empty, then just + # be patient. As things happen - the logger will reveal it in COLOR! + # ------------------------------------ KRL ------------------------- + +@@ -30,8 +30,11 @@ + # BS (in Red) lines are those caught by the Bayesian filter !! + # LW (in White .. mostly) are those Local or Whitelisted eMails + # Ok (in Green) are eMail that fully pass alltests without exceptions. +-# RB (in Cyan) .. Blocked Relay attempt +-# WL+ Whitelist ADDITION by an authorized local user ++# RB (in Magenta) .. Blocked Relay attempt ++# HL (in Magenta) .. Blocked due to spam HELO ++# SP (in Magenta) .. Blocked by failed SPF lookup ++# WA+ Whitelist ADDITION by an authorized local user ++# WL+ Whitelist ADDITION of address CC'd in whitelisted email + # BA (in Cyan) .. Bad ATTACHEMENT rejected + # SR (in Cyan) .. spam@ report submission + # NS (in Cyan) .. notspam@ report submission +@@ -46,32 +49,32 @@ + # Some fields are truncated (with a hard-coded length value, usually 40) + # to keep each line more or less intact on your screen as things scroll by + # Colors are coded with ANSI Color coding, your mileage may vary ... +-# I assume the naming convention of 'maillog.log' so ASSP won't munge ++# I assume the naming convention of 'maillog.txt' so ASSP won't munge + # each current log into some difficult-to-grok name. You should try + # to use this feature - and perhaps roll the log periodically with + # your system's 'newsyslog' functionality. You can send a SIGHUP to + # ASSP when you roll the log so it starts afresh..KRL + +-tail -300 -f /usr/local/assp/maillog.log | \ ++tail -300 -f /var/db/assp/maillog.txt | \ + awk ' \ + /whitelisted/ { \ +- printf("%s %s \033[1;32m%-15s L\033[0mW %s \033[1;32m->\033[0m %s\n", \ ++ printf("%s %s \033[1;32m%-15s\033[0m \033[1;37mLW %s\033[0m \033[1;32m->\033[0m \033[1;37m%s\033[0m\n", \ + substr($1,1,length($1)), \ + substr($2,1,length($2)), \ + substr($3,1,length($3)), \ + substr($4,1,40), \ + substr($6,1,length($6)) )\ + } \ +- /email/ && /whitelist addition/ { \ +- printf("%s %s \033[1;32m%-15s W\033[0mA+ %s \033[1;32m->\033[0m %s\n", \ ++ /whitelist addition/ && /email new/ { \ ++ printf("%s %s \033[1;36m%-15s WA+ %s\033[0m \033[1;37m%s\033[0m\n", \ + substr($1,1,length($1)), \ + substr($2,1,length($2)), \ + "+email address+", \ +- substr($4,1,40), \ +- substr($6,1,length($6)) )\ ++ "-adds-", \ ++ substr($7,1,length($7)) )\ + } \ + /whitelist addition/ && !/email/ { \ +- printf("%s %s \033[1;32m%-15s W\033[0mL+ %s \033[1;32m %s %s\033[0m\n", \ ++ printf("%s %s \033[1;32m%-15s\033[0m \033[1;37mWL+ %s\033[0m \033[1;32m%s\033[0m \033[1;37m%s\033[0m\n", \ + substr($1,1,length($1)), \ + substr($2,1,length($2)), \ + substr($3,1,length($3)), \ +@@ -79,12 +82,12 @@ + "-adds-", \ + substr($9,1,length($9)) )\ + } \ +- /Bayesian spam/ { \ ++ /Bayesian Spam/ { \ + printf("%s %s \033[1;31m%-15s BS %s -> %s\033[0m\n", \ +- substr($1,1,length($1)), \ +- substr($2,1,length($2)), \ +- substr($3,1,length($3)), \ +- substr($4,1,40), \ ++ substr($1,1,length($1)), \ ++ substr($2,1,length($2)), \ ++ substr($3,1,length($3)), \ ++ substr($4,1,40), \ + substr($6,1,length($6)) )\ + } \ + /message ok/ { \ +@@ -95,7 +98,7 @@ + substr($4,1,40), \ + substr($6,1,length($6)) )\ + } \ +- /bad attachment/ { \ ++ /bad attachment/ && !/no bad/ { \ + printf("%s %s \033[1;35m%-15s BA %s -> %s\033[0m\n", \ + substr($1,1,length($1)), \ + substr($2,1,length($2)), \ +@@ -104,29 +107,66 @@ + substr($6,1,length($6)) )\ + } \ + /relay attempt blocked/ { \ +- printf("%s %s \033[1;35m%-15s RB %s -> %s %s %s %s %s\033[0m\n", \ ++ printf("%s %s \033[1;35m%-15s RB %s -> %s\033[0m\n", \ + substr($1,1,length($1)), \ + substr($2,1,length($2)), \ + substr($3,1,length($3)), \ +- substr($4,1,length($4)), \ +- substr($5,1,length($5)), \ +- substr($6,1,length($6)), \ +- substr($7,1,length($7)), \ +- substr($8,1,length($8)), \ ++ substr($4,1,40), \ + substr($9,1,length($9)) )\ + } \ ++ /Invalid address rejected/ { \ ++ printf("%s %s \033[1;34m%-15s IR %s -> %s\033[0m\n", \ ++ substr($1,1,length($1)), \ ++ substr($2,1,length($2)), \ ++ substr($3,1,length($3)), \ ++ substr($4,1,40), \ ++ substr($NF,1,length($NF)) )\ ++ } \ ++ /malformed address/ { \ ++ printf("%s %s \033[1;35m%-15s MA %s -> %s\033[0m\n", \ ++ substr($1,1,length($1)), \ ++ substr($2,1,length($2)), \ ++ substr($3,1,length($3)), \ ++ substr($4,1,40), \ ++ substr($7,1,length($7)) )\ ++ } \ ++ /failed RBL checks/ { \ ++ printf("%s %s \033[1;35m%-15s BL %s -> %s\033[0m\n", \ ++ substr($1,1,length($1)), \ ++ substr($2,1,length($2)), \ ++ substr($3,1,length($3)), \ ++ substr($4,1,40), \ ++ substr($6,1,length($6)) )\ ++ } \ ++ /failed SPF checks/ { \ ++ printf("%s %s \033[1;35m%-15s SP %s -> %s\033[0m\n", \ ++ substr($1,1,length($1)), \ ++ substr($2,1,length($2)), \ ++ substr($3,1,length($3)), \ ++ substr($4,1,40), \ ++ substr($6,1,length($6)) )\ ++ } \ ++ /has spam helo/ { \ ++ printf("%s %s \033[1;35m%-15s HL %s -> %s %s\033[0m\n", \ ++ substr($1,1,length($1)), \ ++ substr($2,1,length($2)), \ ++ substr($3,1,length($3)), \ ++ substr($4,1,40), \ ++ substr($6,1,length($6)), \ ++ substr($10,1,length($10)) )\ ++ } \ + /Admin update:/ { \ +- printf("\033[1;33m%s %s %s %s %s %s \033[0m\n", $1, $2, $3, $4, $5, $6) \ ++ printf("\033[1;33m%s\033[0m\n", $0) \ + } \ + /Email spamreport/ { \ +- printf("%s %s\033[0;36m %-15s SR %s Email SPAM Submission\033[0m\n", \ ++ printf("%s %s\033[1;36m %-15s SR %s\033[0m\n", \ + substr($1,1,length($1)), \ + substr($2,1,length($2)), \ + substr($3,1,length($3)), \ + substr($4,1,length($4)) ) \ + } \ + /Email hamreport/ { \ +- printf("%s %s\033[0;36m %-15s NS %s Email NOTSPAM Submission\033[0m\n", \ ++ printf("%s %s\033[1;36m %-15s NS %s\033[0m\n", \ + substr($1,1,length($1)), \ + substr($2,1,length($2)), \ + substr($3,1,length($3)), \ |