[exim] No user message after accept with endpass on ACL

Top Page
Delete this message
Reply to this message
Author: Adam Osuchowski
Date:  
To: exim-users
Subject: [exim] No user message after accept with endpass on ACL
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.