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 Exim-users@mailground.net http://mailground.net/mailman/listinfo/exim-users