Всем привет.

Помогло ... и навредило :(
Отправило всех в белый список. Спамеры немного порадовались :)

Например, есть такая конструкция.
GOOD_SENDER = UPDATE `good_sender_address` SET update_date=now() WHERE `address`='${quote_mysql:$sender_address}' or `address`='${quote_mysql:$sender_address_domain}';

warn condition = ${lookup mysql{GOOD_SENDER}}
     set acl_m_white = 1

На 4.89 выражение отрабатывает нормально и однозначно. Если UPDATE отработал и вернул не нулевое значение - condition истина. Если вернул 0 - ложь.

На 4.90 же lookup возвращает (не всегда, случайным образом) кроме значения еще какую-то чушь после значения.

Warning: ACL "warn" statement skipped: condition test deferred: invalid "condition" value "0▒"

invalid "condition" value "0d"

Или:
invalid "condition" value "0TIME=60 NETTIME=3 user"
Здесь вообще возвращаемое значение 0, а остальное - часть строки запроса к LDAP. Она есть в конфиге:
LDAP_AUTH= TIME=60 NETTIME=3 user=...

Или вообще смесь ldap+mysql. Как? :)

invalid "condition" value "0NETTIME=3 user="***" pass=*** REFERRALS=nofollow ldap:///DC=***?proxyAddresses?sub?(&(proxyAddresses(/tmp/mysql.sock)

Причем здесь сокет MySQL!? :(

В общем, снова откат на 4.89.
И как отловить эти глюки в 4.90 даже мыслей пока нет.

P.S. В /etc/make.conf
mail_exim_SET_FORCE=DAEMON EMBEDDED_PERL CONTENT_SCAN LSEARCH SUID SPF SRS MYSQL OPENLDAP TLS DKIM mail_exim_UNSET_FORCE=IPV6 MAILDIR MAILSTORE NIS PAM SASLAUTHD AUTH_SASL AUTH_CRAM_MD5 AUTH_RADIUS AUTH_PLAINTEXT INTERNATIONAL DSN

Т.е. опции компиляции одинаковы.




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

Ответить