RE: [sendmail-conf] Прблема с хаками .

acesspost accesspost на mail.ru
Вт Дек 14 10:02:24 EET 2004


>>>Скажите пожалуйста почему не работают хаки связанные с
>>
>>precheck_envelope.m4?
>>
>>>У меня версия Sendmail 8.13.1/8.13.1
>>>хаки со страници http://corvax.falbi.kiev.ua/sendmail-cf/hack
>>>конкретнее не работают к примеру хаки:
>>>check_mail_from.m4
>>>песле установки все равно принимает письма с адресов типа
>>746583764875 на yandex.ru
>>>для фильтрации числовых ящиков нужно еще установить переменную 
>>>confCHECK_MAIL_FROM_NUMERIC_MAILBOX
>>
>>Где установить?
> 
>>например, в sendmail.mc перед HACK(`check_mail_from')
> 
>>Она вроде в хаке check_mail_from.m4 установлена.
> 
>>нету там такого кода
> 
> Может я чего не понял
> Я включил HACK(`check_mail_from') и через него подключаются
> HACK(`precheck_envelope') и HACK(`check_numeric_mailbox').

>check_numeric_mailbox подключается только при наличии переменной 
>confCHECK_MAIL_FROM_NUMERIC_MAILBOX:

>ifdef(`confCHECK_MAIL_FROM_NUMERIC_MAILBOX',`
>HACK(`check_numeric_mailbox')dnl
>')

> Этого достаточно?

>нет

> Или подскажите пожалуйста как правильно задать переменную.

>на самом деле значение переменной роли не играет, играет роль сам факт 
>существования переменной

>define(`confCHECK_MAIL_FROM_NUMERIC_MAILBOX')
>HACK(`check_mail_from')
Вписал все как вы написали, результат 0.

ehlo ourdomain.ru
250-rtr4.vika.ru Hello ourdomain.ru [xxx.xxx.xxx.xxx], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE 10485760
250-ETRN
250-DELIVERBY
250 HELP
mail from: 457345634676 на zzz.ru
250 2.1.0 457345634676 на zzz.ru... Sender ok
rcpt to: 38568347658734 на ukvika.ru
250 2.1.5 38568347658734 на ukvika.ru... Recipient ok


>>>и еще не работает(или у меня руки кривые) verify_sender.m4
>>>скачал и установил check_mail_address.pl с
>>>(http://victor.corvax.kiev.ua/check_mail_address/), устранил ошибки,
>>>которые
>>>выдавал perl, добавляя модули которые он просил. Проверил все пути в
>>>файлах,
>>>вроде все верно, а проверка не происходит :(.
>>>
>>>Как будто в sendmail.mc строчки HACK(`verify_sender')dnl просто нет :(
>>
>>что возвращает check_mail_address.pl при ручной проверке существования 
>>адресов?
>>
>>что возаращает
>>echo 'verify_sender mailbox<@domain.>' | sendmail -bt -d21.12
>>?
>>вместо mailbox и domain лучше подставить реальный мейлбокс и домен 
>>проверяемого адреса
>>
>echo 'verify_sender 12345jj на yandex.ru' | sendmail -bt -d21.1212
> 
>>в конце это опечатка или так и выл запущен sendmail?
>>и второе - я вообще-то в совершенно определенной форме показал ввод 
>>проверяемого адреса.
> 
> 
> Простите за невнимательность, новый вывод.
> echo 'verify_sender sergunrus<@yandex.ru>' | sendmail -bt -d21.12

>я еще точку указывал после домена, но это менее критично

>>verify_sender      input: sergunrus < @ yandex . ru >
> 
> -----trying rule: $*
> -----rule matches: $: $1 $| $> verify_sender_check_host $&{client_name} $|
> $&{client_addr}
> rewrite: RHS $&{client_name} => "(NULL)"
> rewrite: RHS $&{client_addr} => "(NULL)"
> -----skip subr verify_sender_check_host (151)
> rewritten as: sergunrus < @ yandex . ru > $| $|
> -----trying rule: $* $| SKIP
> ----- rule fails
> -----trying rule: $* $| $# $*
> ----- rule fails
> -----trying rule: $* $| $*
> -----rule matches: $: $1
> rewritten as: sergunrus < @ yandex . ru >
> -----trying rule: $+ < @ $+ > $*
> -----rule matches: $: $1 @ $2
> rewritten as: sergunrus @ yandex . ru
> -----trying rule: $+ .
> ----- rule fails
> -----trying rule: < $* > $+ @ $+

>вот этот руль неправильный
>надо забрать еще раз verify_sender.m4, пересобрать sendmail.cf и еще раз 
>проверить sendmail -bt

Новый вывод с новым файлом:
echo 'verify_sender sergunrus<@yandex.ru.>' | sendmail -bt -d21.12
WARNING: Ruleset Local_check_dialup_relay has multiple definitions
WARNING: Ruleset Local_check_relay has multiple definitions
WARNING: Ruleset Local_check_dialup_relay has multiple definitions
WARNING: Ruleset Local_check_mail has multiple definitions
WARNING: Ruleset Local_check_rcpt has multiple definitions
WARNING: Ruleset Local_check_relay has multiple definitions
WARNING: Ruleset Local_check_mail has multiple definitions
/etc/mail/sendmail.cf: line 2283: replacement $3 out of bounds
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> verify_sender      input: sergunrus < @ yandex . ru . >
-----trying rule: $*
-----rule matches: $: $1 $| $> verify_sender_check_host $&{client_name} $|
$&{client_addr}
rewrite: RHS $&{client_name} => "(NULL)"
rewrite: RHS $&{client_addr} => "(NULL)"
-----skip subr verify_sender_check_host (151)
rewritten as: sergunrus < @ yandex . ru . > $| $|
-----trying rule: $* $| SKIP
----- rule fails
-----trying rule: $* $| $# $*
----- rule fails
-----trying rule: $* $| $*
-----rule matches: $: $1
rewritten as: sergunrus < @ yandex . ru . >
-----trying rule: $+ < @ $+ > $*
-----rule matches: $: $1 @ $2
rewritten as: sergunrus @ yandex . ru .
-----trying rule: $+ .
-----rule matches: $: $1
rewritten as: sergunrus @ yandex . ru
-----trying rule: $+ @ $+
-----rule matches: $: < $( mail_from_check $2 @ $3 $) >
rewrite: ruleset verify_sender: replacement $3 out of bounds
== Ruleset verify_sender (152) status 78


Подробная информация о списке рассылки sendmail-conf