.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"

options = {
  filters = ["dkim"]
  pidfile = "{= env.TMPDIR =}/rspamd.pid"
  dns {
    retransmits = 2;
  }
}
logging = {
  type = "file",
  level = "debug"
  filename = "{= env.TMPDIR =}/rspamd.log"
}
metric = {
  name = "default",
  actions = {
    reject = 100500,
  }
  unknown_weight = 1
}

worker {
  type = normal
  bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_NORMAL =}"
  count = 1
  keypair {
    pubkey = "{= env.KEY_PUB1 =}";
    privkey = "{= env.KEY_PVT1 =}";
  }
  task_timeout = 60s;
}

worker {
        type = controller
        bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_CONTROLLER =}"
        count = 1
        secure_ip = ["127.0.0.1", "::1"];
        stats_path = "{= env.TMPDIR =}/stats.ucl"
}

dkim {

sign_condition =<<EOD
return function(task)
  local dodkim = task:get_request_header('dodkim')
  if not dodkim then return end

  dodkim = tostring(dodkim)
  local key_file = "{= env.TESTDIR =}/configs/dkim.key"

  -- Check if we should use ed25519 key
  if dodkim == "ed25519" then
    key_file = "{= env.TESTDIR =}/configs/dkim-eddsa-pem.key"
  end

  return {
    key = key_file,
    domain = "cacophony.za.org",
    selector = "dkim"
  }
end
EOD;

  dkim_cache_size = 2k;
  dkim_cache_expire = 1d;
  time_jitter = 6h;
  trusted_only = false;
  skip_multi = false;
}
modules {
    path = "{= env.TESTDIR =}/../../src/plugins/lua/"
}
lua = "{= env.TESTDIR =}/lua/test_coverage.lua";
