Всем привет!
Имеется машина на RHEL4, на нее установлен clamav0.93 и sendmail8.14.2. Проблема в том, что эта связка не работает. При попытке коннекта на 25-й порт, в mail.log появляется ошибка sendmail[31651]: m3IBq93d031651: Milter (clamav-milter): to error state. В качестве милтера используется родной clamav-milter.
В sendmail.mc прописано следующее:
define(`confINPUT_MAIL_FILTERS', `clamav-milter')dnl
INPUT_MAIL_FILTER(`clamav-milter',`S=unix:/var/run/clamav/clamav-milter.sock,F=, T=S:4m;R:4m')dnl
В логах антивирусника даже при включенном дебаге никакого криминала нет. В логах почтовика только описанная выше ошибка. Пробовал ставить другие милтеры типа smtp-vilter. То же самое. Такое ощущение, что проблема не в милтере, а в мильтеровском API сэндмайла. Соответственно перекомпилировал сэндмайл, пробовал даже в site.m4.config указывать флаг гля включения милтер API. Все безрезультатно.
Для сравнения установил тоже самое на RH7.1 с тем же результатом. Т.е. проблема так же может оказаться в конфиге этих программ.
Подскажите, где еще покопать?
Пропиши чуть по=другому:define(`confMILTER_MACROS_ENVRCPT', `Z, v, r, b, {rcpt_mailer}, {rcpt_host}, {rcpt_addr}, {greylist}')
define(`_FFR_MILTER',1)
INPUT_MAIL_FILTER(`clmilter', `S=local:/var/run/clamav/clmilter.sock, F=T, T=S:4m;R:4m;E:10m')
То же самое - не работает. Есть еще какие-нибудь мысли?
>То же самое - не работает. Есть еще какие-нибудь мысли?А clamav-milter запущен? Какой сокет он прослушивает?
>>То же самое - не работает. Есть еще какие-нибудь мысли?
>
>А clamav-milter запущен? Какой сокет он прослушивает?unix 2 [ ACC ] STREAM LISTENING 68544 /var/run/clamav/clamav-milter.sock
Права и владелец следующие:
srwxr-xr-x 1 clamav clamav 0 Apr 18 11:48 clamav-milter.sockСудя по всему взаимодействие между clamav-milter и sendmail все же происходит, т.к. при дебаге сэндмайла можно увидеть следующее:
milter_set_option(macros.connect = j, _, {daemon_name}, {if_name}, {if_addr})
milter_set_option(macros.helo = {tls_version}, {cipher}, {cipher_bits}, {cert_subject}, {cert_issuer})
milter_set_option(macros.envfrom = i, {auth_type}, {auth_authen}, {auth_ssf}, {auth_author}, {mail_mailer}, {mail_host}, {mail_addr}
milter_set_option(macros.envrcpt = {rcpt_mailer}, {rcpt_host}, {rcpt_addr})
milter_set_option(macros.eom = {msg_id})
Xclamav-milter: S=240
Xclamav-milter: R=240
milter_negotiate(clamav-milter): send: version 6, fflags 0x1ff, pflags 0x1fffff
milter_negotiate(clamav-milter): received: version 6, fflags 0x11, pflags 0x302
Milter (clamav-milter): Trying to open filter in state O
>>То же самое - не работает. Есть еще какие-нибудь мысли?
>
>А clamav-milter запущен? Какой сокет он прослушивает?
>>То же самое - не работает. Есть еще какие-нибудь мысли?
>
>А clamav-milter запущен? Какой сокет он прослушивает?unix 2 [ ACC ] STREAM LISTENING 68544 /var/run/clamav/clamav-milter.sock
Права и владелец следующие:
srwxr-xr-x 1 clamav clamav 0 Apr 18 11:48 clamav-milter.sockСудя по всему взаимодействие между clamav-milter и sendmail все же происходит, т.к. при дебаге сэндмайла можно увидеть следующее:
milter_set_option(macros.connect = j, _, {daemon_name}, {if_name}, {if_addr})
milter_set_option(macros.helo = {tls_version}, {cipher}, {cipher_bits}, {cert_subject}, {cert_issuer})
milter_set_option(macros.envfrom = i, {auth_type}, {auth_authen}, {auth_ssf}, {auth_author}, {mail_mailer}, {mail_host}, {mail_addr}
milter_set_option(macros.envrcpt = {rcpt_mailer}, {rcpt_host}, {rcpt_addr})
milter_set_option(macros.eom = {msg_id})
Xclamav-milter: S=240
Xclamav-milter: R=240
milter_negotiate(clamav-milter): send: version 6, fflags 0x1ff, pflags 0x1fffff
milter_negotiate(clamav-milter): received: version 6, fflags 0x11, pflags 0x302
Milter (clamav-milter): Trying to open filter in state O
>[оверквотинг удален]
>milter_set_option(macros.connect = j, _, {daemon_name}, {if_name}, {if_addr})
>milter_set_option(macros.helo = {tls_version}, {cipher}, {cipher_bits}, {cert_subject}, {cert_issuer})
>milter_set_option(macros.envfrom = i, {auth_type}, {auth_authen}, {auth_ssf}, {auth_author}, {mail_mailer}, {mail_host}, {mail_addr}
>milter_set_option(macros.envrcpt = {rcpt_mailer}, {rcpt_host}, {rcpt_addr})
>milter_set_option(macros.eom = {msg_id})
>Xclamav-milter: S=240
>Xclamav-milter: R=240
>milter_negotiate(clamav-milter): send: version 6, fflags 0x1ff, pflags 0x1fffff
>milter_negotiate(clamav-milter): received: version 6, fflags 0x11, pflags 0x302
>Milter (clamav-milter): Trying to open filter in state Oпопробуй
clamav-milter запускать с флагом --outgoing ( clamd должен быть запущен)
в sendmail
INPUT_MAIL_FILTER(`clmilter', `S=local:/var/run/clamav/clmilter.sock, F=, T=S:4m;R:4m')dnl
define(`confINPUT_MAIL_FILTERS', `clmilter')dnl
Флаг -o при запуске clamav-milter не помог. На всякий случай включил дебаг в clamav-milter-е. При попытке установки соединения на 25-й порт в дебаге появляется следующая строка:
LibClamAV debug: clamfi_cleanup
То есть вроде как интерконнект между sendmail и clamav-milter присутствует. Но дальше этого дело не идет. Я вот думаю, может дело тогда в коннекте между clamd и clamav-milter?