@@ -120,7 +120,13 @@ local function prepare_dkim_signing(N, task, settings) | |||
local is_local, is_sign_networks | |||
if settings.use_http_headers then | |||
return parse_dkim_http_headers(N, task, settings) | |||
local res,tbl = parse_dkim_http_headers(N, task, settings) | |||
if not res and settings.allow_headers_fallback then | |||
return res,{} | |||
else | |||
lua_util.debugm(N, task, 'failed to read http headers, fallback to normal schema') | |||
end | |||
end | |||
local auser = task:get_user() |
@@ -19,6 +19,11 @@ TEST SIGNED | |||
Check Rspamc ${result} DKIM-Signature: | |||
Should Contain ${result.stdout} DKIM_SIGNED | |||
TEST SIGNED HTTP HEADERS | |||
${result} = Scan Message With Rspamc ${MESSAGE} -u bob@example.com --header="PerformDkimSign=yes" --header="DkimDomain=example.com" --header="DkimSelector=test" --header="DkimPrivateKey=MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBANe3EETkiI1Exyrb+VzbMSt90K8MXJA0GcyNs6MFCs9JPaTh90Zu2l7ki7m5LTUx6350AR/3hcvwjSHCZjD6fvQ8/zfjN8kaLZ6DAaqtqSlpawIM+8glkuTEkIkpBED/OtDrba4Rd29iLFVuwQZXDtTjAAZKZPmtTZ5TXLrcCU6VAgMBAAECgYEA1BFvmBsIN8Gu/+6kNupya2xUNVM0yLu/xT5lpNV3LBO325oejAq8+d87kkl/LTW3a2jGFlQ0ICuLw+2mo24QUWRyv8if3oeBMlnLqHE+6wNjFVqo5sOjKzjO363xSXwXNUrBT7jDhnZcDN8w3/FecYKjifGTVtUs1SLsYwhlc8ECQQDuCRymLZQ/imPn5eFVIydwUzg8ptZlvoA7bfIxUL9BQRX33s59kLCilA0tTed8Dd+GnxsT93XOj1ApIfBwmTSlAkEA5/63PDsN7fH+WInqVD8nU07M9S8LcGDlPbVVBr2S2I78/iwrSDAYtbkU2vEbhFK/JuKNML2j8OkzV3v1QulfMQJBALDzhx+l/HHr3+8RPhx7QKNIyiKUaAdEwbDsP8IXY8YPq1QThu9jM1v4sX7/TdkzuvoppwiFykbe1NlvCH279p0CQCmTg4Ee0DtBcCSr6rvYaZLLf329RZ6JLuwlMCy6ErQOxBZFEiiovfTrS2qFZToMnkc4uLbwdY36LQJTq7unGTECQCCok8LzBeZtAw+TJofpOM3F2Rlm2qXiBVBeubhRedsiljG0hpvvLJBMppnQ6r27p5Jk39SmaTRkxEKrxPWWLNM=" | |||
Check Rspamc ${result} DKIM-Signature: | |||
Should Contain ${result.stdout} DKIM_SIGNED | |||
TEST NOT SIGNED - USERNAME WRONG DOMAIN | |||
${result} = Scan Message With Rspamc ${MESSAGE} -u bob@example.tk | |||
Check Rspamc ${result} DKIM-Signature: inverse=1 |
@@ -2,4 +2,6 @@ dkim_signing { | |||
path = "${TESTDIR}/configs/dkim.key"; | |||
check_pubkey = true; | |||
allow_pubkey_mismatch = false; | |||
use_http_headers = true; | |||
allow_headers_fallback = true; | |||
} |