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

Victor Ustugov victor на corvax.kiev.ua
Вт Дек 14 10:23:49 EET 2004


acesspost wrote:

>>>>конкретнее не работают к примеру хаки:
>>>>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

я переделал проверку значения confCHECK_MAIL_FROM_NUMERIC_MAILBOX

теперь пробуем
define(`confCHECK_MAIL_FROM_NUMERIC_MAILBOX', `YES')dnl
HACK(`check_mail_from')

>>>что возвращает check_mail_address.pl при ручной проверке существования 
>>>адресов?

кстати, ответа на этот вопрос так и не последовало

>>>что возаращает
>>>echo 'verify_sender mailbox<@domain.>' | sendmail -bt -d21.12
>>>?
>>>вместо mailbox и domain лучше подставить реальный мейлбокс и домен 
>>>проверяемого адреса

>>echo 'verify_sender sergunrus<@yandex.ru>' | sendmail -bt -d21.12
> 
>>я еще точку указывал после домена, но это менее критично
> 
>>>verify_sender      input: sergunrus < @ yandex . ru >

>>-----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

еще раз надо забрать verify_sender.m4
и я уже упоминал, что этот метод встречной проверки сильно устарел
настоятельно рекомендую использовать милтер. verify_sender.m4 живет в 
каталоге с хаками скорее как пример использования map program

-- 
Best wishes Victor Ustugov   mailto:victor на corvax.kiev.ua
public GnuPG/PGP key:        http://victor.corvax.kiev.ua/corvax.asc
ICQ: 77186900, 32418694      CRV2-RIPE, CRV-UANIC




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