[exim-conf] UPDATE awl SET expires

Victor Ustugov victor на corvax.kiev.ua
Пн Дек 1 23:16:25 EET 2008


son.com.ua wrote:
> Здравствуйте!
> 
> Как-то уже обращался с темой про AWL - были проблемы в
> sqlite с учетом регистра в адресах, тогда решением стало использование
> AWL с MySQL (там сравнение получается регистро-независимое).
> 
> Получилось, и все оттестировал... А начиная где-то с середины ноября,
> как сегодня заметил, записи перестали обновляться в базе. Создаются -
> да, ессли еще нет пары отправитель-получатель. И на том запись
> консервируется, даже если срок вышел.
> 
> По кускам луакапил тем же кодом (UPDATE), с которым работает exim, посердством
> админки в phpMyAdmin - запись обновляется. Т.е. с синтаксисом все ОК,
> и условия для обновления выдержаны те же.
> 
> Подскажите, как можно дебаг како-йто сделать, чтобы видно было, почему
> не происходит замена? В логах ошибку не показывает.

направьте все запросы в отдельный лог средствами mysql и посмотрите на 
синтаксис реальных лукапов.

и вообще - пора бы таки настроить перезапись адресов, чтобы адреса 
получателей приводились к нижнему регистру при приеме. не будет потом 
таких непонятно длинных историй с вполне ординарным фунционалом, коим 
являются AWL

> acl_check_rcpt_before_accept:
> 
>         warn    set acl_m0      = no
>         warn    hosts           = +relay_from_hosts
>                 set acl_m0      = yes
>         warn    authenticated   = *
>                 set acl_m0      = yes
>         warn    sender_domains  = +local_domains : +relay_to_domains
>                 condition       = ${if eq{$sender_address_local_part}{postmaster}{no}{yes}}
>                 condition       = ${if eq{$local_part}{postmaster}{no}{yes}}
>                 condition       = ${if eq{$sender_address}{}{no}{yes}}
>                 condition       = $acl_m0
> 
>                 set acl_m1      = ${if eq{${lookup mysql{SELECT UNIX_TIMESTAMP(expires) FROM awl WHERE recipient="${quote_mysql:$sender_address}" AND sender="${quote_mysql:$local_part@$domain}" AND expires > NOW()}}}{}{\
>                                     ${lookup mysql{INSERT INTO awl (recipient, sender, expires) VALUES ("${quote_mysql:$sender_address}", "${quote_mysql:$local_part@$domain}", ADDTIME(NOW(), SEC_TO_TIME(60*60*24*30)))}}\
>                                 }{\
>                                     ${lookup mysql{UPDATE awl SET expires = ADDTIME(NOW(), SEC_TO_TIME(60*60*24*30)) WHERE recipient="${quote_mysql:$sender_address}" AND sender="${quote_mysql:$local_part@$domain}"}}\
>                                 }}
> 
>         accept
> 


-- 
Best wishes Victor Ustugov   mailto:victor на corvax.kiev.ua
public GnuPG/PGP key:        http://victor.corvax.kiev.ua/corvax.asc
ICQ UIN: 77186900, 32418694  nic-handle: CRV2-RIPE, CRV-UANIC




Подробная информация о списке рассылки exim-conf