r3826@embla: ask | 2006-07-09 02:34:33 -0700

Enhance the spamassassin plugin to support connecting to a remote
   spamd process (Kjetil Kjernsmo). 


git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@651 958fd67b-6ff1-0310-b445-bb7760255be9
This commit is contained in:
Ask Bjørn Hansen 2006-07-09 09:34:51 +00:00
parent 17f1617920
commit 84b7363018
2 changed files with 12 additions and 4 deletions

View File

@ -2,6 +2,9 @@
Support "module" plugins ("My::Plugin" in the config/plugins file) Support "module" plugins ("My::Plugin" in the config/plugins file)
Enhance the spamassassin plugin to support connecting to a remote
spamd process (Kjetil Kjernsmo).
Add SSL encryption method to header to mirror other qmail/SSL patches. Add SSL encryption method to header to mirror other qmail/SSL patches.
Add tls_before_auth to suppress AUTH unless TLS has already been Add tls_before_auth to suppress AUTH unless TLS has already been
established (Robin Johnson). established (Robin Johnson).

View File

@ -44,11 +44,12 @@ might want to make another plugin that does this on a per user basis.
The default is to never munge the subject based on the SpamAssassin score. The default is to never munge the subject based on the SpamAssassin score.
=item spamd_socket [/path/to/socket] =item spamd_socket [/path/to/socket|spamd.host:port]
Beginning with Mail::SpamAssassin 2.60, it is possible to use Unix Beginning with Mail::SpamAssassin 2.60, it is possible to use Unix
domain sockets for spamd. This is faster and more secure than using domain sockets for spamd. This is faster and more secure than using a
a TCP connection. TCP connection, but if you run spamd on a remote machine, you need to
use a TCP connection.
=item leave_old_headers [drop|rename|keep] =item leave_old_headers [drop|rename|keep]
@ -101,6 +102,10 @@ sub hook_data_post { # check_spam
my $remote = 'localhost'; my $remote = 'localhost';
my $port = 783; my $port = 783;
if ($self->{_args}->{spamd_socket} =~ /^([\w.-]+):(\d+)$/) {
$remote = $1;
$port = $2;
}
if ($port =~ /\D/) { $port = getservbyname($port, 'tcp') } if ($port =~ /\D/) { $port = getservbyname($port, 'tcp') }
die "No port" unless $port; die "No port" unless $port;
my $iaddr = inet_aton($remote) or my $iaddr = inet_aton($remote) or