> Ругается на Tainted filename for search: 'inet:example.com:80', exim-4.94.2.

Угу, ругается. А я и не замечала. :)
Тем не менее на первый взгляд callout работает:

2021-06-17 11:40:34 +0300 passed greylisting no hostname, endured delay 
[114.106.156.194] (helo=hotmail.com)
2021-06-17 11:40:34 +0300 Tainted filename for search: 'inet:hotmail.com:80'
2021-06-17 11:40:34 +0300 H=(hotmail.com) [114.106.156.194] sender verify fail 
for <bjcxd...@hotmail.com>: hotmail-com.olc.protection.outlook.com 
[104.47.22.161] : SMTP error from remote mail server after RCPT 
TO:<bjcxd...@hotmail.com>: 550 5.5.0 Requested action not taken: mailbox 
unavailable (S2017062302). [DB8EUR06FT019.eop-eur06.prod.protection.outlook.com]
2021-06-17 11:40:34 +0300 H=(hotmail.com) [114.106.156.194] 
F=<bjcxd...@hotmail.com> rejected RCPT <l...@lena.kiev.ua>: Sender verify failed

Но работает ли теперь на самом деле скачивание web-странички - надо
разбираться.
Впрочем, даже если работает (а вряд ли), ругань в paniclog - некрасиво.

> Причина понятна - содержимое переменной $sender_address_domain может
> быть стрёмным.

Поэтому я сначала проверяю $sender_address_domain на необычные символы:

condition = ${if match{$sender_address_domain}{\N^[\w.-]+$\N}}

Но новый Exim этого не понимает. :-/

Есть способ detaint (после собственной проверки на необычные символы!)
с использованием файла, содержащего одну строку из одного символа: звездочки.
Наверно придется сюда прикрутить.
Если никто не предложит идеи лучше.
В данном случае:

# echo '*' > /usr/local/etc/exim/detaint

${lookup{$sender_address_domain}lsearch*,ret=key{/usr/local/etc/exim/detaint}}

Описание этого способа в общем случае:

-----

You mean like this 'hack'?
https://jimbobmcgee.wordpress.com/2020/07/29/de-tainting-exim-configuration-variables/

TL;DR:
echo '*' >/etc/exim/detaint

DETAINTFILE = /etc/exim/detaint
BADCHARS = \N[^A-Za-z0-9_.-]+\N
SAFEDOMAIN = 
${lookup{${sg{${domain:$h_from:}}{BADCHARS}{_}}}lsearch*,ret=key{DETAINTFILE}}

... Profit!


_______________________________________________
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users

Ответить