Hi!

> 12 апр. 2021 г., в 13:10, Volodymyr Rybak <v...@rybak.kiev.ua> написал(а):
> 
> Hello.
> Поменял в этих блоках, ошибок в логе нет, но и не работает.

Тогда воспользуйтесь debug_print, чтобы проверить как формируется запрос в 
базу. Надеюсь, что права на весь путь к файлам корректные.
debug_print можно вставить перед condition. С $local_part и $local_part_data 
есть моменты, когда работает одно, когда другое.

> пн, 12 квіт. 2021 о 11:39 Viktor Cheburkin <v...@vc.org.ua 
> <mailto:v...@vc.org.ua>> пише:
> Hi!
> 
>> 11 апр. 2021 г., в 12:35, Volodymyr Rybak <v...@rybak.kiev.ua 
>> <mailto:v...@rybak.kiev.ua>> написал(а):
>> 
>> Здравствуйте.
>> Была рабочая схема проверка квоты ящика на этапе rcpt to: Работала до 
>> обновления exim 4.94
>> 
>> configure:
>> 
>> GET_QUOTA=${lookup mysql{SELECT quota FROM mailbox \
>>         WHERE username='${local_part}'}{${value}M}}
>> MAILDIR_SIZE=${eval:${sg{${sg{${readfile{/var/mail/exim/$local_part/maildirsize}{\n}}}{\N^.+?\n\N}{}}}{\N(?s)\s+-?\d+\n\N}{+}}0+600K}
>> 
>> begin routers
>> 
>> virtual_user_quota_defer:
>>     driver          = redirect
>>     domains         = +local_domains
>>     condition       = ${if and{\
>>                        {exists{/var/mail/exim/$local_part}}\
>>                        {exists{/var/mail/exim/$local_part/maildirsize}}\
>>                        {>{GET_QUOTA}{0}}\
>>                        {>={MAILDIR_SIZE}{GET_QUOTA}}\
>>                       } }
>>     data            = :fail: Over quota!
>>     verify_sender = false
>>     allow_fail
>> 
>> Сыплет в лог ошибки, изменения прав на файл не помогает.
>> 
>> Tainted filename '/var/mail/exim/USER/maildirsize'
>> failed to expand condition "${if 
>> and{{exists{/var/mail/exim/$local_part}}{exists{/var/mail/exim/$local_part/maildirsize}}{>{${lookup
>>  mysql{SELECT quota FROM mailbox WHERE 
>> username='${local_part}'}{${value}M}}}{0}}{>={${eval:${sg{${sg{${readfile{/var/mail/exim/$local_part/maildirsize}{\n}}}{\N^.+?\n\N}{}}}{\N(?s)\s+-?\d+\n\N}{+}}0+600K}}{${lookup
>>  mysql{SELECT quota FROM mailbox WHERE 
>> username='${local_part}'}{${value}M}}}}} }" for virtual_user_quota_defer 
>> router: failed to open /var/mail/exim/USER/maildirsize: Permission denied 
>> (euid=26 egid=6) inside "and{...}" condition
>> 
>> 
>> Не подскажете, что нужно изменить, чтоб схема заработала?
> 
> $local_part поменять на $local_part_data?
> 
>> Спасибо.
>> _______________________________________________
>> Exim-users mailing list
>> Exim-users@mailground.net <mailto:Exim-users@mailground.net>
>> http://mailground.net/mailman/listinfo/exim-users 
>> <http://mailground.net/mailman/listinfo/exim-users>
>> 
> 
> -- 
> Viktor Cheburkin
> VC319-RIPE, VC1-UANIC
> 
> _______________________________________________
> Exim-users mailing list
> Exim-users@mailground.net <mailto:Exim-users@mailground.net>
> http://mailground.net/mailman/listinfo/exim-users 
> <http://mailground.net/mailman/listinfo/exim-users>
> 
> _______________________________________________
> Exim-users mailing list
> Exim-users@mailground.net
> http://mailground.net/mailman/listinfo/exim-users
> 

-- 
Viktor Cheburkin
VC319-RIPE, VC1-UANIC

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

Ответить