]> source.dussan.org Git - rspamd.git/commitdiff
[Test] Add test for http headers signing
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Mon, 18 Feb 2019 20:07:30 +0000 (20:07 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Mon, 18 Feb 2019 20:07:30 +0000 (20:07 +0000)
lualib/lua_dkim_tools.lua
test/functional/cases/131_dkim_signing/001_simple.robot
test/functional/configs/dkim_signing/simple.conf

index ec2dbd306e070391b9316d7dfd632bfc8d91fd9d..7d237a32691496a828805774c9c47a78236ed9a4 100644 (file)
@@ -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()
index 96bdcc997a3623b320a7401afb9686f9a9b7d7b2..286fa87165383fcd5a0a54c4e6f8696fd544e64d 100644 (file)
@@ -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
index 2302a0c4f259976ab4a528f9ffa61c2a8200df45..14b8d5ec69b70b3778cbe219544527fae58a08ca 100644 (file)
@@ -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;
 }