dnl dnl Поддержка ARC dnl dnl использовать ARC подписи: dnl NO - не использовать ARC подписи dnl VERIFY - проводить проверку ARC подписей dnl SIGN - накладывать ARC подписи dnl define(`confARC', `NO')dnl dnl define(`confARC', `VERIFY SIGN')dnl dnl ifelse_strstr(confARC, `SIGN', `dnl dnl если мы накладываем ARC подпись ifelse_strstr(confAUTH_RESULTS_ADD, `DEFAULT', `', `dnl dnl и в confAUTH_RESULTS_ADD не указано DEFAULT define(`confAUTH_RESULTS_ADD', confAUTH_RESULTS_ADD` DEFAULT')dnl ') dnl ifelse_strstr(confAUTH_RESULTS_ADD, `DEFAULT', `', `') dnl ничего не делаем с ранее добавленными заголовками Authentication-Results define(`confAUTH_RESULTS_OLD_HEADERS', `NOTHING')dnl ') dnl ifelse_strstr(confARC, `SIGN', `', `') ifelse(SECTION, `ACL_CHECK_DATA_TOP', `dnl ifelse_strstr(confARC, `VERIFY', `dnl # ARC verify warn verify = arc warn \ # set acl_m_oldest_passed_ams = : ${reduce {$lh_ARC-Authentication-Results:} \ # {} \ # { \ # ${if =\ # {$arc_oldest_pass}\ # {${extract{i}{${extract {1}{;}{$item}}}}}\ # {$item}\ # {$value}\ # }\ # } \ # } ifelse_strstr(confAUTH_RESULTS_ADD, `CUSTOM', `dnl set acl_m_auth_results = ${acl_m_auth_results};\n\t\ arc=$arc_state\ ${if eq{$arc_state}{none}{}{ \ ${if eq{$arc_state}{pass}{\ (i=${listcount:$lh_ARC-Message-Signature:})${if eq{$arc_state_reason}{}{}{($arc_state_reason)}} \ header.s=${reduce{$lh_ARC-Message-Signature:}{}{${if ={${extract{i}{${extract{1}{;}{$item}}}}}{$arc_oldest_pass}{${sg{${extract{s}{$item}}}{\N;$\N}{}}}{$value}}}} \ arc.oldest-pass=$arc_oldest_pass smtp.remote-ip=$sender_host_address\ }{\ (i=${listcount:$lh_ARC-Message-Signature:})${if eq{$arc_state_reason}{}{}{($arc_state_reason)}} \ header.s=${reduce{$lh_ARC-Message-Signature:}{}{${if ={${extract{i}{${extract{1}{;}{$item}}}}}{1}{${sg{${extract{s}{$item}}}{\N;$\N}{}}}{$value}}}} \ arc.oldest-pass=$arc_oldest_pass smtp.remote-ip=$sender_host_address\ }}\ }} ') dnl ifelse_strstr(confAUTH_RESULTS_ADD, `CUSTOM', `') condition = ${if eq{$arc_state}{none}{no}{yes}} log_message = ARC status: $arc_state${if eq{$arc_state_reason}{}{}{ ($arc_state_reason)}} ') dnl ifelse_strstr(confARC, `VERIFY', `') ')dnl ifelse(SECTION, `ACL_CHECK_DATA', `')