Docs: Clarify $acl_verify_message lifetime
authorJeremy Harris <jgh146exb@wizmail.org>
Thu, 15 Jul 2021 20:05:27 +0000 (21:05 +0100)
committerJeremy Harris <jgh146exb@wizmail.org>
Thu, 15 Jul 2021 20:14:37 +0000 (21:14 +0100)
doc/doc-docbook/spec.xfpt

index d839c518a5e6b765e966832e1759446678bb6860..3384d60d940c92827e2832801d3ba0361adecd9c 100644 (file)
@@ -12332,8 +12332,8 @@ this variable has the number of arguments.
 .vitem &$acl_verify_message$&
 .vindex "&$acl_verify_message$&"
 After an address verification has failed, this variable contains the failure
 .vitem &$acl_verify_message$&
 .vindex "&$acl_verify_message$&"
 After an address verification has failed, this variable contains the failure
-message. It retains its value for use in subsequent modifiers. The message can
-be preserved by coding like this:
+message. It retains its value for use in subsequent modifiers of the verb.
+The message can be preserved by coding like this:
 .code
 warn !verify = sender
      set acl_m0 = $acl_verify_message
 .code
 warn !verify = sender
      set acl_m0 = $acl_verify_message
@@ -12341,6 +12341,9 @@ warn !verify = sender
 You can use &$acl_verify_message$& during the expansion of the &%message%& or
 &%log_message%& modifiers, to include information about the verification
 failure.
 You can use &$acl_verify_message$& during the expansion of the &%message%& or
 &%log_message%& modifiers, to include information about the verification
 failure.
+.new
+&*Note*&: The variable is cleared at the end of processing the ACL verb.
+.wen
 
 .vitem &$address_data$&
 .vindex "&$address_data$&"
 
 .vitem &$address_data$&
 .vindex "&$address_data$&"
@@ -31383,8 +31386,11 @@ anyway. If the message contains newlines, this gives rise to a multi-line SMTP
 response.
 
 .vindex "&$acl_verify_message$&"
 response.
 
 .vindex "&$acl_verify_message$&"
-For ACLs that are called by an &%acl =%& ACL condition, the message is
-stored in &$acl_verify_message$&, from which the calling ACL may use it.
+.new
+While the text is being expanded, the &$acl_verify_message$& variable
+contains any message previously set.
+Afterwards, &$acl_verify_message$& is cleared.
+.wen
 
 If &%message%& is used on a statement that verifies an address, the message
 specified overrides any message that is generated by the verification process.
 
 If &%message%& is used on a statement that verifies an address, the message
 specified overrides any message that is generated by the verification process.
@@ -33269,6 +33275,7 @@ warn  !verify = sender
 If you are writing your own custom rejection message or log message when
 denying access, you can use this variable to include information about the
 verification failure.
 If you are writing your own custom rejection message or log message when
 denying access, you can use this variable to include information about the
 verification failure.
+This variable is cleared at the end of processing the ACL verb.
 
 In addition, &$sender_verify_failure$& or &$recipient_verify_failure$& (as
 appropriate) contains one of the following words:
 
 In addition, &$sender_verify_failure$& or &$recipient_verify_failure$& (as
 appropriate) contains one of the following words: