From: Vsevolod Stakhov Date: Tue, 3 May 2022 19:33:56 +0000 (+0100) Subject: [Fix] Fix dependencies propagation X-Git-Tag: 3.3~280 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1d5cbd673906c7a3f3852235829c3a1d43c80fa6;p=thirdparty%2Frspamd.git [Fix] Fix dependencies propagation --- diff --git a/src/libserver/symcache/symcache_impl.cxx b/src/libserver/symcache/symcache_impl.cxx index 6b1802d964..ab1b41fc42 100644 --- a/src/libserver/symcache/symcache_impl.cxx +++ b/src/libserver/symcache/symcache_impl.cxx @@ -732,7 +732,7 @@ auto symcache::validate(bool strict) -> bool } } else { - skipped = FALSE; + skipped = false; } if (!ghost && skipped) { diff --git a/src/libserver/symcache/symcache_item.cxx b/src/libserver/symcache/symcache_item.cxx index c5751ac355..f78605b13f 100644 --- a/src/libserver/symcache/symcache_item.cxx +++ b/src/libserver/symcache/symcache_item.cxx @@ -136,10 +136,17 @@ auto cache_item::process_deps(const symcache &cache) -> void dep.item = dit->getptr(); dep.id = dit->id; - msg_debug_cache ("added reverse dependency from %d on %d", id, + msg_debug_cache ("added reverse dependency from %d on %d", parent->id, dit->id); } } + else { + dep.item = dit->getptr(); + dep.id = dit->id; + dit->rdeps.emplace_back(getptr(), dep.sym, id, -1); + msg_debug_cache ("added reverse dependency from %d on %d", id, + dit->id); + } } } } diff --git a/src/libserver/symcache/symcache_item.hxx b/src/libserver/symcache/symcache_item.hxx index a905df09b8..1d0cd7e356 100644 --- a/src/libserver/symcache/symcache_item.hxx +++ b/src/libserver/symcache/symcache_item.hxx @@ -265,10 +265,11 @@ public: */ auto is_scoreable() const -> bool { - return (type == symcache_item_type::FILTER) || + return !(flags & SYMBOL_TYPE_CALLBACK) && + ((type == symcache_item_type::FILTER) || is_virtual() || (type == symcache_item_type::COMPOSITE) || - (type == symcache_item_type::CLASSIFIER); + (type == symcache_item_type::CLASSIFIER)); } auto is_ghost() const -> bool