File: //etc/exim.blockcracking/script.conf
accept set acl_m_user = $authenticated_id
condition = ${if inlist{$acl_m_user}{BC_UNLIMITED_USERNAMES}}
warn set acl_m_script_path = ${perl{find_script_path}}
warn set acl_m_caller_user = ${perl{get_username}{$caller_uid}}
warn set acl_m_home = ${perl{get_env}{HOME}}
accept condition = ${if eq{$acl_m_script_path}{}}
discard condition = ${if exists{$spool_directory/blocked_script_paths}}
condition = ${lookup{$acl_m_script_path}lsearch{$spool_directory/blocked_script_paths}{1}{0}}
logwrite = $acl_m_script_path is not allowed to send as it contains a value from $spool_directory/blocked_script_paths
discard condition = ${if eq{$acl_m_caller_user}{mail}{false}{true}}
condition = ${if eq{$message_exim_id}{}{false}{true}}
condition = ${if eq{$acl_m_home}{}{false}{true}}
condition = ${if or { \
{eq{$acl_m_script_path}{/}} \
{eq{$acl_m_script_path}{/home}}}}
logwrite = acl_m_script_path '$acl_m_script_path' is never allowed for Users.
discard condition = ${lookup{$acl_m_script_path}nwildlsearch{BC_DENIED_PATHS}{1}{0}}
continue = ${perl{append_record}{$spool_directory/blocked_script_paths}{$acl_m_script_path}}
continue = ${perl{block_cracking_notify}{denied_path}}
logwrite = $acl_m_script_path is not allowed to send as it contains a value from BC_DENIED_PATHS
discard condition = ${if forany{<, $recipients}{eq{${acl{recipient}{$item}}}{caught}}}
ratelimit = BC_LIM / BC_PERIOD / per_rcpt / user-$acl_m_script_path
continue = ${perl{append_record}{$spool_directory/blocked_script_paths}{$acl_m_script_path}}
continue = ${perl{block_cracking_notify}{script}}
logwrite = $acl_m_script_path has been added to $spool_directory/blocked_script_paths, and DA notified