struct rspamd_re_cache *re_cache; /**< static regexp cache */
+ GHashTable *trusted_keys; /**< list of trusted public keys */
+
ref_entry_t ref; /**< reference counter */
};
G_STRUCT_OFFSET (struct rspamd_config, local_addrs),
0,
"Use the specified addresses as local ones (alias for `local_addrs`)");
-
+ rspamd_rcl_add_default_handler (sub,
+ "trusted_keys",
+ rspamd_rcl_parse_struct_string_list,
+ G_STRUCT_OFFSET (struct rspamd_config, trusted_keys),
+ RSPAMD_CL_FLAG_STRING_LIST_HASH,
+ "List of trusted public keys used for signatures in base32 encoding");
/* New DNS configuration */
ssub = rspamd_rcl_add_section_doc (&sub->subsections, "dns", NULL, NULL,
UCL_OBJECT, FALSE, TRUE,
cfg->debug_modules = g_hash_table_new (rspamd_str_hash, rspamd_str_equal);
cfg->explicit_modules = g_hash_table_new (rspamd_str_hash, rspamd_str_equal);
cfg->wrk_parsers = g_hash_table_new (g_int_hash, g_int_equal);
+ cfg->trusted_keys = g_hash_table_new (rspamd_str_hash,
+ rspamd_str_equal);
cfg->map_timeout = DEFAULT_MAP_TIMEOUT;
g_hash_table_unref (cfg->debug_modules);
g_hash_table_unref (cfg->explicit_modules);
g_hash_table_unref (cfg->wrk_parsers);
+ g_hash_table_unref (cfg->trusted_keys);
if (cfg->checksum) {
g_free (cfg->checksum);