+
+ /* expand spamd_address if needed */
+ if (*spamd_address == '$')
+ {
+ spamd_address_work = expand_string(spamd_address);
+ if (spamd_address_work == NULL)
+ {
+ log_write(0, LOG_MAIN|LOG_PANIC,
+ "spamassassin acl condition: spamd_address starts with $, but expansion failed: %s", expand_string_message);
+ return DEFER;
+ }
+ }
+ else
+ spamd_address_work = spamd_address;
+
+ /* check if previous spamd_address was expanded and has changed. dump cached results if so */
+ if ( spam_ok
+ && prev_spamd_address_work != NULL
+ && Ustrcmp(prev_spamd_address_work, spamd_address_work) != 0
+ )
+ spam_ok = 0;