summaryrefslogtreecommitdiff
path: root/src/analysis/scan/context.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/scan/context.c')
-rw-r--r--src/analysis/scan/context.c48
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;