summaryrefslogtreecommitdiff
path: root/mail/assp/files/patch-stats.sh
diff options
context:
space:
mode:
authorJean-Yves Lefort <jylefort@FreeBSD.org>2005-05-28 09:56:27 +0000
committerJean-Yves Lefort <jylefort@FreeBSD.org>2005-05-28 09:56:27 +0000
commit6b9e5c9ab276d4c9eef1d27e3c14cdc89a414ff0 (patch)
tree303bfa3ec4f4e437b866fbf8707ffd3c777486da /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.sh176
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)), \