> acesspost wrote:
>> >>>Хочу делать исключения по файлу access с квалификатором ConnectNOPTR
> >>>
> >>>Поправьте меня, если я чего напутал в check_relay_resolve.m4:
> >>>
> >>>dnl
> >>>LOCAL_CONFIG
> >>>define(`_SKIP_NOPTR_QUALIFIER_',
> >>
> >>`ifelse(len(X`'_ARG_),`1',`+ConnectNOPTR',_ARG_)')dnl
> >>
> >>>dnl define(`_SKIP_NOPTR_VALUE_',
> >>
> >>`ifelse(len(X`'_ARG2_),`1',`OK',_ARG2_)')dnl
> >>
> >>>dnl
> >>>LOCAL_RULESETS
> >>>dnl
> >>>dnl
> >>>SLocal_check_relay
> >>>R $* $: $1 $| $>A <$&{client_addr}> <?>
> >>
> >><_SKIP_NOPTR_QUALIFIER_> <>
> >>
> >>>R $* $| <_SKIP_NOPTR_QUALIFIER_> $* $@ OK
> >>
> >>вот здесь мне непонятно, как появится _SKIP_NOPTR_QUALIFIER_
> >>здесь может появиться какой-нить OK или что-то в этом роде, но никак не
> >>ConnectNOPTR, да еще с плюсом
> >
> > Как правильно сделать, я m4 вообще не знаю, а делать надо. Если
> подскажете
> > буду очень признателен.
>> SLocal_check_relay
> R $* $| $* $: $1 $| $2 $| $>A <$&{client_addr}> <?> <!ConnectNOPTR> <>
> R $* $| $* $| <OK> $* $@ OK
> R $* $| $* $| $* $: $1 $| $2
>> далее обычные проверки
> только в этом случае для клиента с ConnectNOPTR и OK будут проскипаны
> _все_ проверки, указанные далее в Local_check_relay
>Для всех хаков? Глобально или только для check_relay_resolve.m4 ?
> если нужно сделать красиво исключения только для проверки обратного
> ризолвинга, то надо рихтовать и саму проверку
>> и еще - не надо забывать, что между левой и правой частью правил должны
> быть именно табуляции, а не пробелы
Работает!!!! Огромное, человеческое спасибо вам о великие специалисты!
Кстати, где можно почитать по М4 и sendmail? Может книжки посоветуете, а то
стыдно тупить так.
P.S. Unix админю уже два года, а semdmail-ом тока два месяца
занимаюсь(плотно), нужда заставляет(спамеры не дремлют).