sendmail+milter problem

На доскональное знание данной темы, не может претендовать, пожалуй ни один спец, из ныне живущих на земле. ;-)
Так поможем друг другу.

Модераторы: Trinity admin`s, Free-lance moderator`s

usama
member
Сообщения: 23
Зарегистрирован: 23 июн 2005, 19:18
Откуда: Одесса

sendmail+milter problem

Сообщение usama » 23 июн 2005, 19:25

Люди, помогите plz. Проблема пустяковая, но очень неприятная: в sendmail.cf пытаюсь настроить таймауты для фильтра - ничего не выходит.
В том же sendmail.cf была строка:

Xfilter1, S=local:/var/mail_filter/filter.sock, T=C:5m;S:5m;R:10m;E:20m

Все было нормально. Добавил F=T и начались проблемы, т.е. стало:

Xfilter1, S=local:/var/mail_filter/filter.sock, F=T, T=C:5m;S:5m;R:10m;E:20m

При запуска sendmail'a выдает ошибку:
Initializing SMTP port. (sendmail)WARNING: Xfilter1: local socket name /var/mail_filter/filter.sock missing
а в /var/mail_filter/ создается файл с именем "filter1.sock, F=T"
В чем тут дело?

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Re: sendmail+milter problem

Сообщение Stranger03 » 24 июн 2005, 10:51

usama писал(а):Xfilter1, S=local:/var/mail_filter/filter.sock, F=T, T=C:5m;S:5m;R:10m;E:20m
У меня строка выглядит так:

Код: Выделить всё

Xspamassassin, S=local:/var/run/spamass-milter.sock, F=, T=C:15m;S:4m;R:4m;E:10m
Вопрос, а чем не устраивает m4?

Аватара пользователя
corvax
free-lance moderator
Сообщения: 877
Зарегистрирован: 06 авг 2004, 17:21
Откуда: Kiev, Ukraine
Контактная информация:

Re: sendmail+milter problem

Сообщение corvax » 24 июн 2005, 11:13

Stranger03 писал(а):
usama писал(а):Xfilter1, S=local:/var/mail_filter/filter.sock, F=T, T=C:5m;S:5m;R:10m;E:20m
У меня строка выглядит так:

Код: Выделить всё

Xspamassassin, S=local:/var/run/spamass-milter.sock, F=, T=C:15m;S:4m;R:4m;E:10m
на самом деле это просто указаны разные действия в случае дефера от фильтра. у автора вопроса указан tampfail, а в вышеприведенной строке - accept
Stranger03 писал(а):Вопрос, а чем не устраивает m4?
использовать sendmail.mc вместо sendmail.cf в любом случае идеологически более правильно, но синтаксически конструкция из корневого сообщения треда правильная. поэтому непонятно, почему sendmail некорректно отпарсил строку
--
/corvax

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Re: sendmail+milter problem

Сообщение Stranger03 » 24 июн 2005, 11:18

corvax писал(а):использовать sendmail.mc вместо sendmail.cf в любом случае идеологически более правильно, но синтаксически конструкция из корневого сообщения треда правильная. поэтому непонятно, почему sendmail некорректно отпарсил строку
Дык в том то все и дело, не совсем понятна проблема. Синтаксис вроде бы правильный. Можно попробовать конфиг сляпать из mc.

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Re: sendmail+milter problem

Сообщение Stranger03 » 24 июн 2005, 11:21

corvax писал(а):на самом деле это просто указаны разные действия в случае дефера от фильтра. у автора вопроса указан tampfail, а в вышеприведенной строке - accept
А никто и не говорил, что в моей строке другая реакция на событие. Чисто теоретически, если свалится спамердемон, то мне как бы насрать. Ну пройдут письма мимо фильтра, ну и что. А вот мимо антивируса это крайне нежелательно.

Аватара пользователя
corvax
free-lance moderator
Сообщения: 877
Зарегистрирован: 06 авг 2004, 17:21
Откуда: Kiev, Ukraine
Контактная информация:

Re: sendmail+milter problem

Сообщение corvax » 24 июн 2005, 11:24

Stranger03 писал(а):
corvax писал(а):на самом деле это просто указаны разные действия в случае дефера от фильтра. у автора вопроса указан tampfail, а в вышеприведенной строке - accept
А никто и не говорил, что в моей строке другая реакция на событие. Чисто теоретически, если свалится спамердемон, то мне как бы насрать. Ну пройдут письма мимо фильтра, ну и что. А вот мимо антивируса это крайне нежелательно.
это реакция не на defer от spamd, а на defer от spamass-milter

в остальном согласен (accept в случае defer'а от spamass-milter или spamd и tempfail в случае defer'а от антивирусных milter'ов)
--
/corvax

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Re: sendmail+milter problem

Сообщение Stranger03 » 24 июн 2005, 11:41

corvax писал(а):это реакция не на defer от spamd, а на defer от spamass-milter
Да не суть, мы друг-друга поняли, :twisted:.

usama
member
Сообщения: 23
Зарегистрирован: 23 июн 2005, 19:18
Откуда: Одесса

Re: sendmail+milter problem

Сообщение usama » 24 июн 2005, 12:45

Stranger03 писал(а):
usama писал(а):Xfilter1, S=local:/var/mail_filter/filter.sock, F=T, T=C:5m;S:5m;R:10m;E:20m
У меня строка выглядит так:

Код: Выделить всё

Xspamassassin, S=local:/var/run/spamass-milter.sock, F=, T=C:15m;S:4m;R:4m;E:10m
Вопрос, а чем не устраивает m4?
Пробовал я и из sendmail.mc собирать - таже фигня. Может все дело в версии sendmail'a - у меня 8.12.7.

И еще вопрос - процесс фильтра постоянно растет(в смысле памяти). Растет до тех пор, пока не схавает всю оперативу и ядро его не грохнет. Это моя ошибка или глюки libmilter'a? Просто в форумах я видел много подобных сообщений, но нигде внятно не сказано как с этим бороться. У меня OС Linux SuSE 8.2

Аватара пользователя
corvax
free-lance moderator
Сообщения: 877
Зарегистрирован: 06 авг 2004, 17:21
Откуда: Kiev, Ukraine
Контактная информация:

Re: sendmail+milter problem

Сообщение corvax » 24 июн 2005, 13:14

usama писал(а):
Stranger03 писал(а):
usama писал(а):Xfilter1, S=local:/var/mail_filter/filter.sock, F=T, T=C:5m;S:5m;R:10m;E:20m
У меня строка выглядит так:

Код: Выделить всё

Xspamassassin, S=local:/var/run/spamass-milter.sock, F=, T=C:15m;S:4m;R:4m;E:10m
Вопрос, а чем не устраивает m4?
Пробовал я и из sendmail.mc собирать - таже фигня. Может все дело в версии sendmail'a - у меня 8.12.7.
версия sendmail'а в данном случае роли не играет. вернее, 8.12.7 вполне подходящая
вопрос в том, что может там где-то вместо пробела табуляция указана или что-то в этом роде?
usama писал(а):И еще вопрос - процесс фильтра постоянно растет(в смысле памяти). Растет до тех пор, пока не схавает всю оперативу и ядро его не грохнет. Это моя ошибка или глюки libmilter'a? Просто в форумах я видел много подобных сообщений, но нигде внятно не сказано как с этим бороться. У меня OС Linux SuSE 8.2
для начала надо указать, какой милтер используется. до сих пор упоминался какой-то химерный filter1
--
/corvax

usama
member
Сообщения: 23
Зарегистрирован: 23 июн 2005, 19:18
Откуда: Одесса

Re: sendmail+milter problem

Сообщение usama » 24 июн 2005, 13:24

corvax писал(а):
usama писал(а):
Stranger03 писал(а): У меня строка выглядит так:

Код: Выделить всё

Xspamassassin, S=local:/var/run/spamass-milter.sock, F=, T=C:15m;S:4m;R:4m;E:10m
Вопрос, а чем не устраивает m4?
Пробовал я и из sendmail.mc собирать - таже фигня. Может все дело в версии sendmail'a - у меня 8.12.7.
версия sendmail'а в данном случае роли не играет. вернее, 8.12.7 вполне подходящая
вопрос в том, что может там где-то вместо пробела табуляция указана или что-то в этом роде?
Да нет, везде все пробелы были тщательно перепроверены :(
usama писал(а):И еще вопрос - процесс фильтра постоянно растет(в смысле памяти). Растет до тех пор, пока не схавает всю оперативу и ядро его не грохнет. Это моя ошибка или глюки libmilter'a? Просто в форумах я видел много подобных сообщений, но нигде внятно не сказано как с этим бороться. У меня OС Linux SuSE 8.2
для начала надо указать, какой милтер используется. до сих пор упоминался какой-то химерный filter1[/quote]

Мильтер собственного производства, и этим все осложняется - то ли я где-то ошибку допустил, то ли libmilter глючный. А совсем плохо то, что я этот фильтр писал не от начала и до конца, а только частично дописавыл нужные мне функции.

Аватара пользователя
corvax
free-lance moderator
Сообщения: 877
Зарегистрирован: 06 авг 2004, 17:21
Откуда: Kiev, Ukraine
Контактная информация:

Re: sendmail+milter problem

Сообщение corvax » 24 июн 2005, 13:24

ну что, начинаем разбирать все с начала?
usama писал(а):При запуска sendmail'a выдает ошибку:
Initializing SMTP port. (sendmail)WARNING: Xfilter1: local socket name /var/mail_filter/filter.sock missing
sendmail пишет, что не может найти файл сокета. и пишет абсолютно корретное имя файла
usama писал(а):а в /var/mail_filter/ создается файл с именем "filter1.sock, F=T"
В чем тут дело?
а кто же создает файл сокета? должен создавать сам milter
он что, создает файл сокета на основании строки из sendmail.cf?
тогда это ошибка фильтра. он не может корректно пропарсить строку из sendmail.cf и получить оттуда имя файла сокета.
что это за milter?
--
/corvax

Аватара пользователя
corvax
free-lance moderator
Сообщения: 877
Зарегистрирован: 06 авг 2004, 17:21
Откуда: Kiev, Ukraine
Контактная информация:

Re: sendmail+milter problem

Сообщение corvax » 24 июн 2005, 13:27

usama писал(а):Мильтер собственного производства, и этим все осложняется - то ли я где-то ошибку допустил, то ли libmilter
судя по кривому парсингу - libmilter ни при чем совершенно
usama писал(а):глючный. А совсем плохо то, что я этот фильтр писал не от начала и до конца, а только частично дописавыл нужные мне функции.
а не кажется ли вам, уважаемый, что эти детали были важны при первоначальной формулировке вопроса?

может в какой-то FAQ включить ссылку на smart questions?
--
/corvax

usama
member
Сообщения: 23
Зарегистрирован: 23 июн 2005, 19:18
Откуда: Одесса

Re: sendmail+milter problem

Сообщение usama » 24 июн 2005, 13:27

corvax писал(а):ну что, начинаем разбирать все с начала?
usama писал(а):При запуска sendmail'a выдает ошибку:
Initializing SMTP port. (sendmail)WARNING: Xfilter1: local socket name /var/mail_filter/filter.sock missing
sendmail пишет, что не может найти файл сокета. и пишет абсолютно корретное имя файла
usama писал(а):а в /var/mail_filter/ создается файл с именем "filter1.sock, F=T"
В чем тут дело?
а кто же создает файл сокета? должен создавать сам milter

он что, создает файл сокета на основании строки из sendmail.cf?
тогда это ошибка фильтра. он не может корректно пропарсить строку из sendmail.cf и получить оттуда имя файла сокета.
что это за milter?
Мильтер собственного происзводста. Вот код запуска:
 BEGIN:
 {
set_uid_gid();
# Get myfilter's connection information'
# from /etc/mail/sendmail.cf

Sendmail::Milter::auto_setconn("filter1") || die "auto_setconn failed\n";
Sendmail::Milter::register("filter1",
\%my_milter_callbacks, SMFI_CURR_ACTS) || die "register failed\n";

Sendmail::Milter::main();
print "\nFilter ended\n";

# Never reaches here, callbacks are called from Milter.
 }

usama
member
Сообщения: 23
Зарегистрирован: 23 июн 2005, 19:18
Откуда: Одесса

Re: sendmail+milter problem

Сообщение usama » 24 июн 2005, 13:32

corvax писал(а):
usama писал(а):Мильтер собственного производства, и этим все осложняется - то ли я где-то ошибку допустил, то ли libmilter
судя по кривому парсингу - libmilter ни при чем совершенно
usama писал(а):глючный. А совсем плохо то, что я этот фильтр писал не от начала и до конца, а только частично дописавыл нужные мне функции.
а не кажется ли вам, уважаемый, что эти детали были важны при первоначальной формулировке вопроса?

может в какой-то FAQ включить ссылку на smart questions?
Но при чем здесь мой мильтер? Во-первых, до изменения настроек sendmail'a он отлично парсил эту самую строку. Во-вторых, код запуска был взят из примера, идущего с Sendmail::Milter - не думаю что там допущены ошибки.  
Я думал, что ошибка лежит на поверхности, просто я ее не вижу...

Аватара пользователя
corvax
free-lance moderator
Сообщения: 877
Зарегистрирован: 06 авг 2004, 17:21
Откуда: Kiev, Ukraine
Контактная информация:

Re: sendmail+milter problem

Сообщение corvax » 24 июн 2005, 13:39

usama писал(а):Мильтер собственного происзводста. Вот код запуска:
 BEGIN:
 {
set_uid_gid();
# Get myfilter's connection information'
# from /etc/mail/sendmail.cf

Sendmail::Milter::auto_setconn("filter1") || die "auto_setconn failed\n";
1. я понимаю, что есть тут люди, которые юзали Sendmail::Milter. но может таки не всем понятно, что это кусок кода perl'ового milter'а. настоятельно советую обратить внимание на неудовлетворительное качество постановки вопросов

2. религия не позволяет выполнить auto_getconn и посмотреть глазами не ее результат?
usama писал(а): Sendmail::Milter::register("filter1",
\%my_milter_callbacks, SMFI_CURR_ACTS) || die "register failed\n";

Sendmail::Milter::main();
print "\nFilter ended\n";

# Never reaches here, callbacks are called from Milter.
 }
значение, возвращаемое функциями auto_setconn и register надо таки проверять. это есть очень плохой стиль программирования. даже функция main возвращает разные значения при успешном и неуспешном завершении

вообще-то вместе с Milter.pm поставляется sample.pl, в который очень даже стОит заглянуть. хотя бы для того, чтобы понять, что нужно код своего фильтра писать чуть более аккуратно

p. s. в любом случае вышеописанная проблема с сокетом - это не проблема MTA
--
/corvax

Ответить

Вернуться в «Серверы - ПО, Unix подобные системы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 18 гостей