Browse Source

Fix unknown symbols registration.

tags/1.0.6
Vsevolod Stakhov 8 years ago
parent
commit
d3a00149e4
2 changed files with 8 additions and 3 deletions
  1. 4
    0
      src/libserver/cfg_rcl.c
  2. 4
    3
      src/libserver/symbols_cache.c

+ 4
- 0
src/libserver/cfg_rcl.c View File

@@ -426,6 +426,10 @@ rspamd_rcl_metric_handler (rspamd_mempool_t *pool, const ucl_object_t *obj,
return FALSE;
}

if (metric->unknown_weight > 0) {
metric->accept_unknown_symbols = TRUE;
}

/* Handle actions */
val = ucl_object_find_key (obj, "actions");
if (val != NULL) {

+ 4
- 3
src/libserver/symbols_cache.c View File

@@ -749,8 +749,9 @@ rspamd_symbols_cache_validate_cb (gpointer k, gpointer v, gpointer ud)

/* Check whether this item is skipped */
skipped = !ghost;
if ((item->type & SYMBOL_TYPE_NORMAL) && cache->cfg &&
g_hash_table_lookup (cache->cfg->metrics_symbols, item->symbol) == NULL) {
if ((item->type & (SYMBOL_TYPE_NORMAL|SYMBOL_TYPE_VIRTUAL|SYMBOL_TYPE_COMPOSITE))
&& cache->cfg
&& g_hash_table_lookup (cache->cfg->metrics_symbols, item->symbol) == NULL) {
cur = g_list_first (cache->cfg->metrics_list);
while (cur) {
m = cur->data;
@@ -759,7 +760,7 @@ rspamd_symbols_cache_validate_cb (gpointer k, gpointer v, gpointer ud)
GList *mlist;

skipped = FALSE;
item->weight = item->weight * (m->unknown_weight);
item->weight = m->unknown_weight;
s = rspamd_mempool_alloc0 (cache->static_pool,
sizeof (*s));
s->name = item->symbol;

Loading…
Cancel
Save