I have such ACL rule:

  accept  message = this is my message
          domains = +local_domains
          endpass
          verify  = recipient

in acl_smtp_rcpt. But where this rule condition is met and rule returns
accept the message sended to SMTP client is ,,250 Accepted'' instead of
,,250 this is my message''. If I remove endpass modifier from rule,
the answer is correct (,,250 this is my message''). The same situation
take place in acl_smtp_mail ACL.

I found in acl_check_condition() function body (src/acl.c) following statement:

    if (*epp && rc == OK) user_message = NULL;

Is it correct? Shouldn't it be rather:

    if (*epp && rc != OK) user_message = NULL;

user_message should be cleared if there is endpass modifier and rule
condition _fails_ because then control moves to next rule.

-- 
## List details at http://lists.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to