diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2023-09-25 06:34:24 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2023-09-25 06:34:24 (GMT) |
commit | 4c13ca820e4fa01ca62ad66c0665ebbee150f87c (patch) | |
tree | 46d573dc869b11efa03c6782c06dc5121b3dc609 /src/analysis/scan/context.c | |
parent | 61704628e3ca8c31df1666b3be4b723643dd25db (diff) |
Handle private and global rules.
Diffstat (limited to 'src/analysis/scan/context.c')
-rw-r--r-- | src/analysis/scan/context.c | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/analysis/scan/context.c b/src/analysis/scan/context.c index c016f7e..8a9b600 100644 --- a/src/analysis/scan/context.c +++ b/src/analysis/scan/context.c @@ -246,6 +246,8 @@ static void g_scan_context_init(GScanContext *context) context->full_trackers = NULL; context->full_count = 0; + context->global = true; + context->conditions = NULL; context->cond_count = 0; @@ -751,6 +753,49 @@ bool g_scan_context_has_rule_for_name(const GScanContext *context, const char *n /****************************************************************************** * * * Paramètres : context = mémoire de résultats d'analyse à consulter. * +* * +* Description : Indique le bilan des règles globales. * +* * +* Retour : Bilan global des analyses menées. * +* * +* Remarques : - * +* * +******************************************************************************/ + +bool g_scan_context_has_global_match(const GScanContext *context) +{ + bool result; /* Bilan global à retourner */ + + result = context->global; + + return result; + +} + + +/****************************************************************************** +* * +* Paramètres : context = mémoire de résultats d'analyse à actualiser. * +* global = bilan global des analyses menées. * +* * +* Description : Définit le bilan des règles globales. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +void g_scan_context_set_global_match(GScanContext *context, bool global) +{ + context->global = global; + +} + + +/****************************************************************************** +* * +* Paramètres : context = mémoire de résultats d'analyse à consulter. * * name = désignation de la règle ciblée. * * * * Description : Indique si une correspondance globale a pu être établie. * @@ -773,6 +818,9 @@ bool g_scan_context_has_match_for_rule(GScanContext *context, const char *name) result = false; + if (!context->global) + goto exit; + /* Recherche de la règle visée */ cond = NULL; |