acl_smtp_data = acl_check_data ... acl_check_data: ... warn set acl_m0 = ${dlfunc{/usr/local/libexec/exim/exim-dlfunc.so}{spamoborona}\ {/var/run/sp-daemon.sock}{defer_ok}} warn condition = ${if eq{$acl_m0}{}{yes}{no}} logwrite = SO check failed warn condition = ${if match{$acl_m0}{\N(?m)^so dlfunc:\s*DEFER(:\s*(.+))?$\N}{yes}{no}} set acl_m1 = ${if match{$acl_m0}{\N(?m)^so dlfunc:\s*DEFER(:\s*(.+))?$\N}{: $2}{}} logwrite = SO check DEFER${acl_m1} set acl_m0 = warn condition = ${if match{$acl_m0}{\N(?m)^so dlfunc:\s*REJECT(:\s*(.+))?$\N}{yes}{no}} set acl_m1 = ${if match{$acl_m0}{\N(?m)^so dlfunc:\s*REJECT(:\s*(.+))?$\N}{: $2}{}} logwrite = SO check REJECT${acl_m1} warn condition = ${if match{$acl_m0}{\N(?m)^so dlfunc:\s*ACCEPT\N}{yes}{no}} logwrite = SO check ACCEPT warn set acl_m1 = condition = ${if match{$acl_m0}{\N(?m)^so dlfunc:\s*(ACCEPT|REJECT)\N}{yes}{no}} set acl_m1 = ${if match{$acl_m0}{\N(?m)^so dlfunc:\s*(ACCEPT|REJECT).*\r?\n((.+\r?\n?)+.*)$\N}{$2}{}} logwrite = headers added by SO${if eq{$acl_m1}{}{ not found}{: $acl_m1}} warn condition = ${if match{$acl_m1}{\N(?m)^(X-SO-Flag|X-Spam-Flag):\s*(\S+)\N}{yes}{no}} set acl_m0 = ${if match{$acl_m1}{\N(?m)^(X-SO-Flag|X-Spam-Flag):\s*(\S+)\N}{$2}{}} logwrite = X-SO-Flag${if eq{$acl_m1}{}{ not found}{: $acl_m0}} warn condition = ${if match{$acl_m1}{\N(?m)^X-Spam-Ystatus:\s*hits=(-?\d+(\.\d+)?)\N}{yes}{no}} set acl_m0 = ${if match{$acl_m1}{\N(?m)^X-Spam-Ystatus:\s*hits=(-?\d+(\.\d+)?)\N}{$1}{}} logwrite = SO scores${if eq{$acl_m1}{}{ not found}{: $acl_m0}} warn condition = ${if match{$acl_m1}{\N(?m)^X-Spam-Yversion:\s*(.+)$\N}{yes}{no}} set acl_m0 = ${if match{$acl_m1}{\N(?m)^X-Spam-Yversion:\s*(.+)$\N}{$1}{}} logwrite = SO version${if eq{$acl_m1}{}{ not found}{: $acl_m0}}