]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Improve dependencies logging
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Mon, 25 May 2020 19:33:33 +0000 (20:33 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Mon, 25 May 2020 19:33:33 +0000 (20:33 +0100)
src/libserver/rspamd_symcache.c

index 169b13e94c693c5161f6b91bb35cae267bda208a..f452c13444a0e45aa932fba6d81896dd80531812 100644 (file)
@@ -601,7 +601,10 @@ rspamd_symcache_process_dep (struct rspamd_symcache *cache,
                        gboolean ok_dep = FALSE;
 
                        if (it->is_filter) {
-                               if (dit->type & SYMBOL_TYPE_PREFILTER) {
+                               if (dit->is_filter) {
+                                       ok_dep = TRUE;
+                               }
+                               else if (dit->type & SYMBOL_TYPE_PREFILTER) {
                                        ok_dep = TRUE;
                                }
                        }
@@ -683,14 +686,20 @@ rspamd_symcache_post_init (struct rspamd_symcache *cache)
                it = rspamd_symcache_find_filter (cache, ddep->from, true);
 
                if (it == NULL) {
-                       msg_err_cache ("cannot register delayed dependency between %s and %s, "
+                       msg_err_cache ("cannot register delayed dependency between %s and %s: "
                                        "%s is missing", ddep->from, ddep->to, ddep->from);
                }
                else {
-                       msg_debug_cache ("delayed between %s(%d:%d) -> %s", ddep->from,
-                                       it->id, vit->id, ddep->to);
-                       rspamd_symcache_add_dependency (cache, it->id, ddep->to, vit != it ?
-                                                                                                                                        vit->id : -1);
+                       if (it->type & (SYMBOL_TYPE_POSTFILTER|SYMBOL_TYPE_IDEMPOTENT|SYMBOL_TYPE_COMPOSITE)) {
+                               msg_err_cache ("cannot register delayed dependency between %s and %s: "
+                                  "%s is a postfilter", ddep->from, ddep->to, ddep->from);
+                       }
+                       else {
+                               msg_debug_cache ("delayed between %s(%d:%d) -> %s", ddep->from,
+                                               it->id, vit->id, ddep->to);
+                               rspamd_symcache_add_dependency (cache, it->id, ddep->to, vit != it ?
+                                                                                                                                                vit->id : -1);
+                       }
                }
 
                cur = g_list_next (cur);