From 0f6f3547d5c5ecedc70aca018973548477df32f4 Mon Sep 17 00:00:00 2001 From: Akkadius Date: Fri, 16 May 2025 01:57:22 -0500 Subject: [PATCH] [Rules] Auto Update Rule Notes from Source --- common/rulesys.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/common/rulesys.cpp b/common/rulesys.cpp index f84b65d32..a52ceae9d 100644 --- a/common/rulesys.cpp +++ b/common/rulesys.cpp @@ -502,6 +502,18 @@ bool RuleManager::UpdateInjectedRules(Database *db, const std::string &rule_set_ } } + // update rules in the database where the description is different + for (const auto &e : RuleValuesRepository::All(*db)) { + auto i = rule_data.find(e.rule_name); + if (i != rule_data.end()) { + // if notes are different, update them + if (i->second.second != nullptr && !Strings::EqualFold(*i->second.second, e.notes)) { + LogInfo("Updating rule [{}] notes to [{}]", i->first, *i->second.second); + RuleValuesRepository::ReplaceOne(*db, e); + } + } + } + if (injected_rule_entries.size()) { if (!RuleValuesRepository::InjectRules(*db, injected_rule_entries)) { return false;