[exim] Re: pls help with ACL

トップ ページ
このメッセージを削除
このメッセージに返信
著者: Slavko
日付:  
To: exim-users
題目: [exim] Re: pls help with ACL
Dňa 15. júla 2024 7:26:06 UTC používateľ Grand Master via Exim-users <exim-users@???> napísal:

>#     condition     = ${if
>match{${extract{1}{:}{${lookup{$sender_address}lsearch{/usr/local/etc/exim/db/known}}}}}{no}
>{yes}{no}}


lsearch will not work, it is "literaly search", looking of exact key match

>##     condition     = ${if
>eq{${extract{2}{:}{${lookup{$acl_c_reverse_address}wildlsearch{/usr/local/etc/exim/db/known}}}}}{no}
>{yes}{


wildlsearch is better, but looking a PTR name must fail, as @ is not expected
in it.

>file /usr/local/etc/exim/db/known
>*@company.com:\N^mail\-[a-z0-9]+\-[a-z0-9]+\.google\.com$\N
>*@company2.com
>:\N^[A-Z0-9]+\-[A-Z0-9]+\-obe\.outbound\.protection\.outlook\.com$\N


The DB file is key & value pair, separated by colon or whitespace, in your
first line the key is "*@company.com" and value is rest of line (after colon).
Thus your ${extract ...} is wrong and i am not sure if regexp value in match is
expanded at all.

>please note I am not looking for a solution to the problem, but only a way
>to create a test condition


The solution lies in two things, you have to read docs about lookups, and
then learn how it works by "exim -be", ideally with appropriate debug options
(eg. -d-all+expand+lists). Do it in step by step manner, first learn how to use
lookup(s) to find key/get value, and then how to do someting with that value.

I afraid, that even after you will fix the syntax, it will not work, and i would
try to construct lookup key in some format (beware on colon), something
as:

    lookup{$sender_address;$acl_ptrname} ...

And then wrote proper key regex in DB, without values, just using yes/no
as result.

regards


-- 
Slavko
https://www.slavino.sk/


--
## subscription configuration (requires account):
## https://lists.exim.org/mailman3/postorius/lists/exim-users.lists.exim.org/
## unsubscribe (doesn't require an account):
## exim-users-unsubscribe@???
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/