Vladimir Sharun wrote:
> >
> > Потому что сейчас девелоперы exim'а работают над соблюдением типизации.
> >
> > Если раньше конструкции типа condition = {lookup} (без if) работали, то
> > сейчас - с очень переменным успехом.
>
> То есть есть шанс, что рано или поздно и конструкция
> "accept condition =
> ${lookup{$local_part@$domain}lsearch{/etc/dovecot/aliases}{yes}{no}}"
> работать перестанет? Надо будет везде оборачивать в bool{...} ?
> Я бы проверил работают ли они всё еще уже сейчас :)
Работают, в моём примере было два ACL condition подряд таких и работали. Я и
думал, что
можно их через "or" объединить, однако же оказалось нельзя.
И самое обидное - я же не предлагал and/or кушать результат лукапа или
пустое множество, я специально для него определил список возможных ответов:
{yes}{no} и всё.
А кстати коли зашла речь, нельзя ли тут еще что-нибудь усовершенствовать в
https://termbin.com/tasy ?
>
> >
> > вторая тема - я бы врапнул вот эти длинные лукапы в named list - легче
> > читать
>
> Примерчик можно?
>
> hostlist TRUSTED_MASSMAIL = partial2-lsearch;/lists/TRUSTED_MASSMAIL :
> /lists/TRUSTED_NETWORKS
>
> https://www.exim.org/exim-html-current/doc/html/spec_html/ch-domain_host_address_and_local_part_lists.html
>
> Что-то типа макросов.
> Потом используется (например) как
> hosts = +TRUSTED_MASSMAIL
> и всё понятно и нет тяжелых-длинных-непонятных конструкций
Когда приходится ссылаться на одно и то же в нескольких местах - я
польуюсь подобным, например:
domainlist dovecot_domains = dsearch;/home/vmail
> >
> > и третья тема (смое важное) - результат лукапа - это value, которое
> > при bool сравнении всегда будет или false или true - уже не помню;
> > если вам надо "есть или нет" надо использовать конструкцию типа
> > {bool{${lookup{$item}nwildlsearch{some_file}...}
>
> Зачем, почему? Работает же так
>
> я bool и имел в виду. На каком-то моменте в 4.9х перестал работать
> мехнизм "если лукап что-то вернул - это true, а если ничего - false".
> Строго говоря правая часть кондишна - это bool, а логические операции
> также обязаны оперировать с bool, т.е. {if or {cond1} {cond2}}, вот
> эти condN - это должен быть bool тоже и если нет, то факапы ойой
> вылазят.
Еще раз почитал раздел про File and database lookups, не нашёл отличий
между lsearch и nwildlsearch в плане типа возвращаемого результата. Всё
отличие вроде в возможности использовать "*" в лукапе, а результат вроде
должен одинаковый для обоих быть (то что нашли, или пусто).
--
Victor Sudakov, VAS4-RIPE, VAS47-RIPN
2:5005/49@fidonet http://vas.tomsk.ru/
_______________________________________________
Exim-users mailing list
[email protected]
http://mailground.net/mailman/listinfo/exim-users