вот этого не нужно делать. я не имею ввиду поверку результатов
резолвинга, я имею ввиду затирание передаваемых правилу данных.
возможно, позже будет добавлен feature/hack, в котором тоже будет
правило Local_check_relay. и данные ему будут переданы совершенно левые
> R<TEMP> $#error $@ 4.7.1 $: "450 Relaying temporarily
denied.
> R<TEMP> IP name lookup failed for " $&{client_addr}
>
> R<FAIL> $#error $@ 5.7.1 $: "550 Relaying denied. IP name
> R<FAIL> lookup failed for " $&{client_addr}
>
> R<FORGED> $#error $@ 5.7.1 $: "550 Relaying denied. IP name
> R<FORGED> forged (PTR and A records mismatch) for "
> R<FORGED> $&{client_addr}
лучше примерно так:
R $* $| $* $: $1 $| $2 $| < $&{client_resolve} >
R $* $| $* $| <TEMP> $#error $@ 4.7.1 $: "bla-bla" $&{client_addr}
R $* $| $* $| <FAIL> $#error $@ 4.7.1 $: "bla-bla" $&{client_addr}
R $* $| $* $| <FORGED> $#error $@ 4.7.1 $: "bla-bla" $&{client_addr}
R $* $| $* $| $* $: $1 $| $2
1. лучше не оканчивать проверку рилея при совпадении имени хоста с
регекспом. ибо может быть потом нужно будет выполнить другого рода
проверку в Local_check_relay
2. если не ломать передаваемые в правило данные, то ${client_name} уже
есть в левой части
3. если необходимо не проводить проверку регекспами на основании
проверки другими регекспами, то эти другие можно объединить в sequence.
тогда при добавлении нового регекспа в исключения нужно будет делать
изменения в одном месте конфига (при описании этого регекспа и включении
его в sequence)