Стояла (и работала) до этого связка sendmail<->clamav_milter<->clamd.
Решил сделать sendmail<->amavis-milter<->amavisd<->clamd
--------------------------
В sendmail.mc написал
INPUT_MAIL_FILTER(`milter-amavis',`S=local:/var/amavis/amavis-milter.sock, F=T,T=S:10m;R:10m;E:10m')
define(`confINPUT_MAIL_FILTERS', `milter-amavis')dnl
--------------------------
В amavisd.conf закоментировал все описания антивирусников, кроме clamd
раскомментировал:
@bypass_spam_checks_maps = (1);
закомментировал:
#$inet_socket_port = 10024;
написал:
$unix_socketname = "$MYHOME/amavisd.sock";
$log_level = 5;
['ClamAV-clamd',
\&ask_daemon, ["CONTSCAN {}\n", "/tmp/clamd.sock"],
qr/\bOK$/, qr/\bFOUND$/,
qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
--------------------------
т.к. В clamd.conf написано:
LocalSocket /tmp/clamd.sock
--------------------------
Запускаю clamd
потом amavis-milter, и затем amavisd
В логах amavisd пишет:
Perl version 5.006001
Net::Server: Process Backgrounded
Net::Server: 2004/11/02-14:39:40 Amavis (type Net::Server::PreForkSimple) starting! pid(1933)
Net::Server: Binding to UNIX socket file /var/amavis/amavisd.sock using SOCK_STREAM
Net::Server: Setting gid to "612 612"
Net::Server: Setting uid to "612"
Module Amavis::Conf 2.032
Module Archive::Tar 1.08
Module Archive::Zip 1.14
Module BerkeleyDB 0.26
Module Compress::Zlib 1.33
Module Convert::TNEF 0.17
Module Convert::UUlib 1.03
Module MIME::Entity 5.404
Module MIME::Parser 5.406
Module MIME::Tools 5.411
Module Mail::Header 1.62
Module Mail::Internet 1.62
Module Net::Cmd 2.25
Module Net::SMTP 2.28
Module Net::Server 0.87
Module Time::HiRes 1.43
Module Unix::Syslog 0.99
Amavis::DB code loaded
Amavis::Cache code loaded
Lookup::SQL code NOT loaded
Lookup::LDAP code NOT loaded
AMCL-in protocol code loaded
SMTP-in protocol code NOT loaded
ANTI-VIRUS code loaded
ANTI-SPAM code NOT loaded
Unpackers code loaded
Found $file at /usr/bin/file
No $arc, not using it
Found $gzip at /usr/bin/gzip
Found $bzip2 at /usr/bin/bzip2
No $lzop, not using it
No $lha, not using it
Module MIME::Parser 5.406
Перезапускаю sendmail с новым cf-файлом, пытаюсь отпарвить почту.
Почта не отправляется -- Сервер сообщает: 4.3.2 Please try again later
Смотрим в логи:
Nov 2 13:36:16 sendmail[32744]: iA2AaGST032744: from=<mylocal@myhost.ru>, size=620, class=0, nrcpts=1,
..
Nov 2 13:36:16 amavis[32290]: (iA2AaGST032744) ClamAV-clamd: Connecting to socket /tmp/clamd.sock
Nov 2 13:36:16 amavis[32290]: (iA2AaGST032744) ClamAV-clamd result: clean
Nov 2 13:36:16 amavis[32290]: (iA2AaGST032744) No anti-spam code loaded, skipping spam_scan
..
Nov 2 13:36:16 amavis[32290]: (iA2AaGST032744) Using ClamAV-clamd: (built-in interface)
.....
Nov 2 13:36:17 amavis[32290]: (iA2AaGST032744) FWD via SMTP: [127.0.0.1]:10025 <mylocal@myhost.ru> -> <away@destanation.ru>
..
Nov 2 13:36:17 amavis[32290]: (iA2AaGST032744) mail_via_smtp: session failed: Can't connect to 127.0.0.1 port 10025, \367
\323\317\305\304\311\316\305\316\311\311 \317\324\313\301\332\301\316\317 at /usr/local/sbin/amavisd line 3763,<GEN12> line
42.
Nov 2 13:36:17 amavis[32290]: (iA2AaGST032744) one_response_for_all <dyno@sev.artelecom.ru>: 4xx found, '450 4.4.1 Can't
connect to 127.0.0.1 port 10025,\367 \323\317\305\304\311\316\305\316\311\311 \317\324\313\301\332\301\316\317 at
/usr/local/sbin/amavisd line 3763, <GEN12> line 42., id=iA2AaGST032744'
Nov 2 13:36:17 amavis[32290]: (iA2AaGST032744) warnsender_with_pass= (,,,), dsn_needed=, exit=75, 450 4.4.1 Can't connect to
127.0.0.1 port 10025, \367 \323\317\305\304\311\316\305\316\311\311 \317\324\313\301\332\301\316\317 at
/usr/local/sbin/amavisd line 3763, <GEN12> line 42., id=iA2AaGST032744
..
Nov 2 13:36:17 amavis-milter[32745]: iA2AaGST032744: (mlfi_eom) TEMPFAIL,retval is 75
Nov 2 13:36:17 sendmail[32744]: iA2AaGST032744: Milter: data, reject=451 4.3.2 Please try again later
amavis зачем-то хочет приконнектится на локальный порт 10025 (FWD via SMTP) и почему-то не может, хотя cделал
nc -l -s 127.0.0.1 -p 10025
nc -s 0.0.0.0 127.0.0.1 10025
и ничего не ругалось
Вообще зачем amavis'у этот порт, когда в конфиге четко написано
$unix_socketname = "$MYHOME/amavisd.sock"?
Вобщем, в непонятках я пока, ткините носом, где я неправ. За