struct metric *def_metric;
struct rspamd_config_post_load_script *sc;
struct rspamd_config **pcfg;
+ gboolean ret = TRUE;
#ifdef HAVE_CLOCK_GETTIME
#ifdef HAVE_CLOCK_PROCESS_CPUTIME_ID
rspamd_printf_gstring (fpath, "%s%c%s", RSPAMD_PLUGINSDIR,
G_DIR_SEPARATOR, "effective_tld_names.dat");
- if (access (fpath->str, R_OK)) {
- msg_info_config ("url_tld option is not specified but %s is available,"
+ if (access (fpath->str, R_OK) != -1) {
+ msg_debug_config ("url_tld option is not specified but %s is available,"
" therefore this file is assumed as TLD file for URL"
" extraction", fpath->str);
cfg->tld_file = rspamd_mempool_strdup (cfg->cfg_pool, fpath->str);
}
else {
- msg_err_config ("no url_tld option has been specified, URL's detection "
- "will be awfully broken");
+ if (validate_cache) {
+ msg_err_config ("no url_tld option has been specified");
+ ret = FALSE;
+ }
}
g_string_free (fpath, TRUE);
}
+ else {
+ if (access (cfg->tld_file, R_OK) == -1) {
+ if (validate_cache) {
+ ret = FALSE;
+ msg_err_config ("cannot access tld file %s: %s", cfg->tld_file,
+ strerror (errno));
+ }
+ else {
+ msg_debug_config ("cannot access tld file %s: %s", cfg->tld_file,
+ strerror (errno));
+ cfg->tld_file = NULL;
+ }
+ }
+ }
init_dynamic_config (cfg);
rspamd_url_init (cfg->tld_file);
/* Validate cache */
if (validate_cache) {
- return rspamd_symbols_cache_validate (cfg->cache, cfg, FALSE);
+ return rspamd_symbols_cache_validate (cfg->cache, cfg, FALSE) && ret;
}
- return TRUE;
+ return ret;
}
#if 0
if (tld_file != NULL) {
rspamd_url_parse_tld_file (tld_file, url_scanner);
}
- else {
- msg_info (
- "tld extension file is not specified, url matching is limited");
- }
if (!rspamd_multipattern_compile (url_scanner->search_trie, &err)) {
msg_err ("cannot compile tld patterns, url matching will be "
g_error_free (err);
}
- msg_info ("initialized trie of %ud elements",
+ msg_debug ("initialized trie of %ud elements",
url_scanner->matchers->len);
}
}