diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2023-08-18 00:07:39 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2023-08-18 00:07:39 (GMT) |
commit | 2424c52c4f3bc44ce5f36348442cfa103e0989c2 (patch) | |
tree | f68aea488f403b234d4fcc6fd6e0f7b88a628ac8 /src/analysis/scan/context.c | |
parent | 1c5a0e67186def152536d9c506e2e6c3a3a265c5 (diff) |
Create some modifiers and handle match properties inside ROST.
Diffstat (limited to 'src/analysis/scan/context.c')
-rw-r--r-- | src/analysis/scan/context.c | 93 |
1 files changed, 48 insertions, 45 deletions
diff --git a/src/analysis/scan/context.c b/src/analysis/scan/context.c index f108e93..a3be86b 100644 --- a/src/analysis/scan/context.c +++ b/src/analysis/scan/context.c @@ -55,7 +55,7 @@ static void add_match_to_full_match_tracker(full_match_tracker_t *, GScanMatch * - +/* --------------------- MEMORISATION DE PROGRESSIONS D'ANALYSE --------------------- */ /* Initialise la classe des contextes de suivi d'analyses. */ @@ -72,10 +72,6 @@ static void g_scan_context_finalize(GScanContext *); - - - - /* ---------------------------------------------------------------------------------- */ /* ADMINISTRATION DES CORRESPONDANCES TOTALES */ /* ---------------------------------------------------------------------------------- */ @@ -191,10 +187,9 @@ static void add_match_to_full_match_tracker(full_match_tracker_t *tracker, GScan - - - - +/* ---------------------------------------------------------------------------------- */ +/* MEMORISATION DE PROGRESSIONS D'ANALYSE */ +/* ---------------------------------------------------------------------------------- */ /* Indique le type défini pour un contexte de suivi d'analyse. */ @@ -242,6 +237,7 @@ static void g_scan_context_init(GScanContext *context) context->options = NULL; context->content = NULL; + context->scan_done = false; context->next_patid = 0; @@ -378,7 +374,7 @@ GScanContext *g_scan_context_new(GScanOptions *options) * * ******************************************************************************/ -GScanOptions *g_scan_context_get_options(GScanContext *context) +GScanOptions *g_scan_context_get_options(const GScanContext *context) { GScanOptions *result; /* Ensemble à retourner */ @@ -467,6 +463,48 @@ GBinContent *g_scan_context_get_content(const GScanContext *context) /****************************************************************************** * * +* Paramètres : context = instance à consulter. * +* * +* Description : Indique si la phase d'analyse de contenu est terminée. * +* * +* Retour : true si la phase de scan est terminée, false sinon. * +* * +* Remarques : - * +* * +******************************************************************************/ + +bool g_scan_context_is_scan_done(const GScanContext *context) +{ + bool result; /* Statut à retourner */ + + result = context->scan_done; + + return result; + +} + + +/****************************************************************************** +* * +* Paramètres : context = instance à mettre à jour. * +* * +* Description : Note que la phase d'analyse de contenu est terminée. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +void g_scan_context_mark_scan_as_done(GScanContext *context) +{ + context->scan_done = true; + +} + + +/****************************************************************************** +* * * Paramètres : context = instance à mettre à jour. * * id = identifiant du motif trouvé. * * offset = localisation du motif au sein d'un contenu. * @@ -615,41 +653,6 @@ const GScanMatch **g_scan_context_get_full_matches(const GScanContext *context, /****************************************************************************** * * -* Paramètres : context = mémoire de résultats d'analyse à consulter. * -* * -* Description : Affiche les correspondances identifiées. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -void g_scan_context_display(GScanContext *context) -{ - size_t i; /* Boucle de parcours */ - const rule_condition_t *cond; /* Conditions de orrespondance */ - - /* - FIXME : ordre - for (i = 0; i < context->full_used; i++) - g_scan_match_display(context->full_matches[i]); - */ - - for (i = 0; i < context->cond_count; i++) - { - cond = &context->conditions[i]; - - if (g_scan_context_has_match_for_rule(context, cond->name)) - fprintf(stderr, "Rule '%s' has matched!\n", cond->name); - - } - -} - - -/****************************************************************************** -* * * Paramètres : context = mémoire de résultats d'analyse à compléter. * * name = désignation de la règle ciblée. * * expr = expression de condition à réduire. * |