Mon, 28 Jan 2013 17:37:18 +0100
Correct socket error reporting improvement with IPv6 portable code,
after helpful recommendation by Saúl Ibarra Corretgé on OSips devlist.
michael@201 | 1 | Index: mailgraph.cgi |
michael@201 | 2 | --- mailgraph.cgi.orig 2007-08-29 11:06:01 +0200 |
michael@201 | 3 | +++ mailgraph.cgi 2007-08-29 19:05:41 +0200 |
michael@201 | 4 | @@ -183,13 +183,6 @@ |
michael@201 | 5 | } |
michael@201 | 6 | |
michael@201 | 7 | print <<FOOTER; |
michael@201 | 8 | -<hr/> |
michael@201 | 9 | -<table><tr><td> |
michael@201 | 10 | -<a href="http://mailgraph.schweikert.ch/">Mailgraph</a> $VERSION |
michael@201 | 11 | -by <a href="http://david.schweikert.ch/">David Schweikert</a></td> |
michael@201 | 12 | -<td align="right"> |
michael@201 | 13 | -<a href="http://oss.oetiker.ch/rrdtool/"><img src="http://oss.oetiker.ch/rrdtool/.pics/rrdtool.gif" alt="" width="120" height="34"/></a> |
michael@201 | 14 | -</td></tr></table> |
michael@201 | 15 | </body></html> |
michael@201 | 16 | FOOTER |
michael@201 | 17 | } |
michael@171 | 18 | Index: mailgraph.cgi |
michael@199 | 19 | --- mailgraph.pl.orig 2007-08-29 11:06:01.000000000 +0200 |
michael@199 | 20 | +++ mailgraph.pl 2009-04-26 18:06:13.313712038 +0200 |
michael@171 | 21 | @@ -211,6 +211,8 @@ |
michael@171 | 22 | \s |
michael@171 | 23 | ([-\w\.\@:]+) # host -- 6 |
michael@171 | 24 | \s+ |
michael@171 | 25 | + <[^>]+> # OSSP fsl log level |
michael@171 | 26 | + \s+ |
michael@171 | 27 | (?:\[LOG_[A-Z]+\]\s+)? # FreeBSD |
michael@171 | 28 | (.*) # text -- 7 |
michael@171 | 29 | $/x or do |
michael@199 | 30 | @@ -420,6 +422,7 @@ |
michael@199 | 31 | print " --rrd-name=NAME use NAME.rrd and NAME_virus.rrd for the rrd files\n"; |
michael@199 | 32 | print " --rbl-is-spam count rbl rejects as spam\n"; |
michael@199 | 33 | print " --virbl-is-virus count virbl rejects as viruses\n"; |
michael@199 | 34 | + print " --multi-rule-spam count several typical reject messages as spam\n"; |
michael@199 | 35 | |
michael@199 | 36 | exit; |
michael@199 | 37 | } |
michael@199 | 38 | @@ -432,7 +435,7 @@ |
michael@199 | 39 | 'daemon_pid|daemon-pid=s', 'daemon_rrd|daemon-rrd=s', |
michael@199 | 40 | 'daemon_log|daemon-log=s', 'ignore-localhost!', 'ignore-host=s@', |
michael@199 | 41 | 'only-mail-rrd', 'only-virus-rrd', 'rrd_name|rrd-name=s', |
michael@199 | 42 | - 'rbl-is-spam', 'virbl-is-virus' |
michael@199 | 43 | + 'rbl-is-spam', 'virbl-is-virus', 'multi-rule-spam' |
michael@199 | 44 | ) or exit(1); |
michael@199 | 45 | usage if $opt{help}; |
michael@199 | 46 | |
michael@199 | 47 | @@ -610,6 +613,18 @@ |
michael@199 | 48 | elsif($opt{'rbl-is-spam'} and $text =~ /^(?:[0-9A-Z]+: |NOQUEUE: )?reject: .*: 554.* blocked using/) { |
michael@199 | 49 | event($time, 'spam'); |
michael@199 | 50 | } |
michael@199 | 51 | + elsif($opt{'multi-rule-spam'} and $text =~ /^(?:[0-9A-Z]+: |NOQUEUE: )?reject: .*: 554.* Client host rejected: Access denied/) { |
michael@199 | 52 | + event($time, 'spam'); |
michael@199 | 53 | + } |
michael@199 | 54 | + elsif($opt{'multi-rule-spam'} and $text =~ /^(?:[0-9A-Z]+: |NOQUEUE: )?reject: .*: 450.* Helo command rejected: Host not found/) { |
michael@199 | 55 | + event($time, 'spam'); |
michael@199 | 56 | + } |
michael@199 | 57 | + elsif($opt{'multi-rule-spam'} and $text =~ /^(?:[0-9A-Z]+: |NOQUEUE: )?reject: .*: 450.* Sender address rejected: Domain not found/) { |
michael@199 | 58 | + event($time, 'spam'); |
michael@199 | 59 | + } |
michael@199 | 60 | + elsif($opt{'multi-rule-spam'} and $text =~ /^(?:[0-9A-Z]+: |NOQUEUE: )?reject: .*: 450.* Client host rejected: cannot find your hostname/) { |
michael@199 | 61 | + event($time, 'spam'); |
michael@199 | 62 | + } |
michael@199 | 63 | elsif($text =~ /^(?:[0-9A-Z]+: |NOQUEUE: )?reject: /) { |
michael@199 | 64 | event($time, 'rejected'); |
michael@199 | 65 | } |
michael@235 | 66 | @@ -628,7 +643,12 @@ |
michael@235 | 67 | } |
michael@235 | 68 | } |
michael@235 | 69 | elsif($prog eq 'cleanup') { |
michael@235 | 70 | - if($text =~ /^[0-9A-Z]+: (?:reject|discard): /) { |
michael@235 | 71 | + if($text =~ /^(?:[0-9A-Z]+: )?milter-reject: /) { |
michael@235 | 72 | + if($text =~ /Intercepted/) { |
michael@235 | 73 | + event($time, 'virus'); |
michael@235 | 74 | + } |
michael@235 | 75 | + } |
michael@235 | 76 | + elsif($text =~ /^[0-9A-Z]+: (?:reject|discard): /) { |
michael@235 | 77 | event($time, 'rejected'); |
michael@235 | 78 | } |
michael@235 | 79 | } |
michael@235 | 80 | @@ -924,6 +944,7 @@ |
michael@199 | 81 | --rrd-name=NAME use NAME.rrd and NAME_virus.rrd for the rrd files |
michael@199 | 82 | --rbl-is-spam count rbl rejects as spam |
michael@199 | 83 | --virbl-is-virus count virbl rejects as viruses |
michael@199 | 84 | + --multi-rule-spam count several typical reject messages as spam |
michael@199 | 85 | |
michael@199 | 86 | =head1 DESCRIPTION |
michael@199 | 87 |