summaryrefslogtreecommitdiff
path: root/src/analysis
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2021-07-04 21:05:15 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2021-07-04 21:05:15 (GMT)
commit219f85716b79dc81dc5c8b28285c9a91d1eb76c4 (patch)
tree6e87e4dd8fe1f8361f564f27d1a9204a58d531af /src/analysis
parent59febc74741332fec4df71962fe9174d511df384 (diff)
Delete the XML storage for loading binary contents.
Diffstat (limited to 'src/analysis')
-rw-r--r--src/analysis/content-int.h5
-rw-r--r--src/analysis/content.c61
-rw-r--r--src/analysis/content.h7
-rw-r--r--src/analysis/contents/encapsulated.c127
-rw-r--r--src/analysis/contents/encapsulated.h3
-rw-r--r--src/analysis/contents/file.c58
-rw-r--r--src/analysis/contents/file.h3
-rw-r--r--src/analysis/contents/memory.c124
-rw-r--r--src/analysis/contents/memory.h3
9 files changed, 0 insertions, 391 deletions
diff --git a/src/analysis/content-int.h b/src/analysis/content-int.h
index 886c196..4ef64f9 100644
--- a/src/analysis/content-int.h
+++ b/src/analysis/content-int.h
@@ -41,9 +41,6 @@ typedef GBinContent * (* get_content_root_fc) (GBinContent *);
/* Fournit le nom associé au contenu binaire. */
typedef char * (* describe_content_fc) (const GBinContent *, bool);
-/* Ecrit une sauvegarde de contenu binaire dans un fichier XML. */
-typedef bool (* save_content_fc) (const GBinContent *, xmlDocPtr, xmlXPathContextPtr, const char *, const char *);
-
/* Calcule une empreinte unique (SHA256) pour les données. */
typedef void (* compute_checksum_fc) (GBinContent *, GChecksum *);
@@ -99,8 +96,6 @@ struct _GBinContentIface
describe_content_fc describe; /* Fournit une description */
- save_content_fc save; /* Sauvegarde du contenu */
-
compute_checksum_fc compute_checksum; /* Calcul de l'empreinte */
compute_size_fc compute_size; /* Calcul de la taille totale */
diff --git a/src/analysis/content.c b/src/analysis/content.c
index d16619a..626497e 100644
--- a/src/analysis/content.c
+++ b/src/analysis/content.c
@@ -32,7 +32,6 @@
#include "content-int.h"
-#include "contents/file.h" // REMME
@@ -65,39 +64,6 @@ static void g_binary_content_default_init(GBinContentInterface *iface)
/******************************************************************************
* *
-* Paramètres : context = contexte pour les recherches XPath. *
-* path = chemin d'accès au noeud XML à lire. *
-* base = référence au lieu d'enregistrement du projet. *
-* *
-* Description : Charge en mémoire un contenu binaire à partir d'XML. *
-* *
-* Retour : Adresse de la représentation ou NULL en cas d'échec. *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-GBinContent *g_binary_content_new_from_xml(xmlXPathContextPtr context, const char *path, const char *base)
-{
- GBinContent *result; /* Contenu en place à renvoyer */
- char *type; /* Type de binaire à charger */
-
- result = NULL;
-
- type = get_node_prop_value(context, path, "type");
-
- if (strcmp(type, "file") == 0)
- result = g_file_content_new_from_xml(context, path, base);
-
- free(type);
-
- return result;
-
-}
-
-
-/******************************************************************************
-* *
* Paramètres : content = contenu binaire à actualiser. *
* attribs = jeu d'attributs à lier au contenu courant. *
* *
@@ -213,33 +179,6 @@ char *g_binary_content_describe(const GBinContent *content, bool full)
/******************************************************************************
* *
-* Paramètres : content = contenu binaire à traiter. *
-* xdoc = structure XML en cours d'édition. *
-* context = contexte à utiliser pour les recherches. *
-* path = chemin d'accès réservé au binaire. *
-* base = référence au lieu d'enregistrement du projet. *
-* *
-* Description : Ecrit une sauvegarde de contenu binaire dans un fichier XML. *
-* *
-* Retour : true si l'opération a bien tourné, false sinon. *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-bool g_binary_content_save(const GBinContent *content, xmlDocPtr xdoc, xmlXPathContextPtr context, const char *path, const char *base)
-{
- GBinContentIface *iface; /* Interface utilisée */
-
- iface = G_BIN_CONTENT_GET_IFACE(content);
-
- return iface->save(content, xdoc, context, path, base);
-
-}
-
-
-/******************************************************************************
-* *
* Paramètres : content = contenu binaire à venir lire. *
* *
* Description : Fournit une empreinte unique (SHA256) pour les données. *
diff --git a/src/analysis/content.h b/src/analysis/content.h
index d7f5536..58bd9b9 100644
--- a/src/analysis/content.h
+++ b/src/analysis/content.h
@@ -33,7 +33,6 @@
#include "../arch/vmpa.h"
#include "../common/endianness.h"
#include "../common/leb128.h"
-#include "../common/xml.h"
@@ -55,9 +54,6 @@ typedef struct _GBinContentIface GBinContentIface;
/* Détermine le type d'une interface pour la lecture de binaire. */
GType g_binary_content_get_type(void) G_GNUC_CONST;
-/* Charge en mémoire un contenu binaire à partir d'XML. */
-GBinContent *g_binary_content_new_from_xml(xmlXPathContextPtr, const char *, const char *);
-
/* Associe un ensemble d'attributs au contenu binaire. */
void g_binary_content_set_attributes(GBinContent *, GContentAttributes *);
@@ -70,9 +66,6 @@ GBinContent *g_binary_content_get_root(GBinContent *);
/* Fournit le nom associé au contenu binaire. */
char *g_binary_content_describe(const GBinContent *, bool);
-/* Ecrit une sauvegarde de contenu binaire dans un fichier XML. */
-bool g_binary_content_save(const GBinContent *, xmlDocPtr, xmlXPathContextPtr, const char *, const char *);
-
/* Fournit une empreinte unique (SHA256) pour les données. */
const gchar *g_binary_content_get_checksum(GBinContent *);
diff --git a/src/analysis/contents/encapsulated.c b/src/analysis/contents/encapsulated.c
index fa31aa4..7fb7e0c 100644
--- a/src/analysis/contents/encapsulated.c
+++ b/src/analysis/contents/encapsulated.c
@@ -87,9 +87,6 @@ static GBinContent *g_encaps_content_get_root(GEncapsContent *);
/* Fournit le nom associé au contenu binaire. */
static char *g_encaps_content_describe(const GEncapsContent *, bool);
-/* Ecrit une sauvegarde de contenu binaire dans un fichier XML. */
-static bool g_encaps_content_save(const GEncapsContent *, xmlDocPtr, xmlXPathContextPtr, const char *, const char *);
-
/* Fournit une empreinte unique (SHA256) pour les données. */
static void g_encaps_content_compute_checksum(GEncapsContent *, GChecksum *);
@@ -226,8 +223,6 @@ static void g_encaps_content_interface_init(GBinContentInterface *iface)
iface->describe = (describe_content_fc)g_encaps_content_describe;
- iface->save = (save_content_fc)g_encaps_content_save;
-
iface->compute_checksum = (compute_checksum_fc)g_encaps_content_compute_checksum;
iface->compute_size = (compute_size_fc)g_encaps_content_compute_size;
@@ -345,75 +340,6 @@ GBinContent *g_encaps_content_new(GBinContent *base, const char *path, GBinConte
/******************************************************************************
* *
-* Paramètres : context = contexte pour les recherches XPath. *
-* path = chemin d'accès au noeud XML à lire. *
-* base = référence au lieu d'enregistrement du projet. *
-* *
-* Description : Charge en mémoire un contenu encapsulé à partir d'XML. *
-* *
-* Retour : Adresse de la représentation ou NULL en cas d'échec. *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-GBinContent *g_encaps_content_new_from_xml(xmlXPathContextPtr context, const char *path, const char *base)
-{
- GBinContent *result; /* Adresse à retourner */
- char *access; /* Chemin d'accès à un élément */
- GBinContent *original; /* Base offrant une extraction */
- char *target; /* Chemin vers le contenu ciblé*/
- GBinContent *endpoint; /* Contenu ciblé */
-
- result = NULL;
-
- /* Base de l'extraction */
-
- access = strdup(path);
- access = stradd(access, "/Base");
-
- original = g_binary_content_new_from_xml(context, access, base);
-
- free(access);
-
- /* Référence au contenu encapsulé */
-
- if (original != NULL)
- {
- access = strdup(path);
- access = stradd(access, "/Path");
-
- target = get_node_text_value(context, access);
-
- if (target != NULL)
- {
- endpoint = NULL;/// TODO
-
- if (endpoint != NULL)
- {
- result = g_encaps_content_new(original, target, endpoint);
- g_object_unref(G_OBJECT(endpoint));
- }
-
- g_object_unref(G_OBJECT(original));
-
- }
- else
- g_object_unref(G_OBJECT(original));
-
-
- free(target);
- free(access);
-
- }
-
- return result;
-
-}
-
-
-/******************************************************************************
-* *
* Paramètres : content = élément GLib à constuire. *
* storage = conservateur de données à manipuler ou NULL. *
* pbuf = zone tampon à lire. *
@@ -600,59 +526,6 @@ static char *g_encaps_content_describe(const GEncapsContent *content, bool full)
/******************************************************************************
* *
-* Paramètres : content = contenu binaire à traiter. *
-* xdoc = structure XML en cours d'édition. *
-* context = contexte à utiliser pour les recherches. *
-* path = chemin d'accès réservé au binaire. *
-* base = référence au lieu d'enregistrement du projet. *
-* *
-* Description : Ecrit une sauvegarde de contenu binaire dans un fichier XML. *
-* *
-* Retour : true si l'opération a bien tourné, false sinon. *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-static bool g_encaps_content_save(const GEncapsContent *content, xmlDocPtr xdoc, xmlXPathContextPtr context, const char *path, const char *base)
-{
- bool result; /* Bilan à faire remonter */
- char *access; /* Chemin d'accès à un élément */
-
- /* Type */
-
- result = add_string_attribute_to_node(xdoc, context, path, "type", "encaps");
- if (!result) goto gecs_exit;
-
- /* Base de l'extraction */
-
- access = strdup(path);
- access = stradd(access, "/Base");
-
- result = g_binary_content_save(content->base, xdoc, context, access, base);
-
- free(access);
-
- if (!result) goto gecs_exit;
-
- /* Référence au contenu encapsulé */
-
- access = strdup(path);
- access = stradd(access, "/Path");
-
- result = add_content_to_node(xdoc, context, access, content->path);
-
- free(access);
-
- gecs_exit:
-
- return result;
-
-}
-
-
-/******************************************************************************
-* *
* Paramètres : content = contenu binaire à venir lire. *
* checksum = empreinte de zone mémoire à compléter. *
* *
diff --git a/src/analysis/contents/encapsulated.h b/src/analysis/contents/encapsulated.h
index 2fac768..9b74eac 100644
--- a/src/analysis/contents/encapsulated.h
+++ b/src/analysis/contents/encapsulated.h
@@ -53,9 +53,6 @@ GType g_encaps_content_get_type(void);
/* Charge en mémoire un contenu binaire encapsulé. */
GBinContent *g_encaps_content_new(GBinContent *, const char *, GBinContent *);
-/* Charge en mémoire un contenu encapsulé à partir d'XML. */
-GBinContent *g_encaps_content_new_from_xml(xmlXPathContextPtr, const char *, const char *);
-
/* Indique la base d'un contenu binaire encapsulé. */
GBinContent *g_encaps_content_get_base(const GEncapsContent *);
diff --git a/src/analysis/contents/file.c b/src/analysis/contents/file.c
index 69bf510..78bd981 100644
--- a/src/analysis/contents/file.c
+++ b/src/analysis/contents/file.c
@@ -261,64 +261,6 @@ GBinContent *g_file_content_new(const char *filename)
/******************************************************************************
* *
-* Paramètres : context = contexte pour les recherches XPath. *
-* path = chemin d'accès au noeud XML à lire. *
-* base = référence au lieu d'enregistrement du projet. *
-* *
-* Description : Charge en mémoire le contenu d'un fichier à partir d'XML. *
-* *
-* Retour : Adresse de la représentation ou NULL en cas d'échec. *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-GBinContent *g_file_content_new_from_xml(xmlXPathContextPtr context, const char *path, const char *base)
-{
- return NULL;
-
-#if 0
-
-
- GBinContent *result; /* Adresse à retourner */
- char *access; /* Chemin pour une sous-config.*/
- char *filename; /* Chemin du binaire à charger */
- char *absolute; /* Chemin absolu final */
-
- result = NULL;
-
- /* Chemin du fichier à retrouver */
-
- access = strdup(path);
- access = stradd(access, "/Filename");
-
- filename = get_node_text_value(context, access);
-
- free(access);
-
- /* Chargement */
-
- if (filename != NULL)
- {
- absolute = build_absolute_filename(base, filename);
-
- free(filename);
-
- if (absolute != NULL)
- {
- result = g_file_content_new(absolute);
- free(absolute);
- }
-
- }
-
- return result;
-#endif
-}
-
-
-/******************************************************************************
-* *
* Paramètres : content = élément GLib à constuire. *
* storage = conservateur de données à manipuler ou NULL. *
* pbuf = zone tampon à lire. *
diff --git a/src/analysis/contents/file.h b/src/analysis/contents/file.h
index 98de045..5039f81 100644
--- a/src/analysis/contents/file.h
+++ b/src/analysis/contents/file.h
@@ -53,9 +53,6 @@ GType g_file_content_get_type(void);
/* Charge en mémoire le contenu d'un fichier donné. */
GBinContent *g_file_content_new(const char *);
-/* Charge en mémoire le contenu d'un fichier à partir d'XML. */
-GBinContent *g_file_content_new_from_xml(xmlXPathContextPtr, const char *, const char *);
-
/* Fournit le nom de fichier associé au contenu binaire. */
const char *g_file_content_get_filename(const GFileContent *);
diff --git a/src/analysis/contents/memory.c b/src/analysis/contents/memory.c
index 5d90694..7938562 100644
--- a/src/analysis/contents/memory.c
+++ b/src/analysis/contents/memory.c
@@ -78,9 +78,6 @@ static GBinContent *g_memory_content_get_root(GMemoryContent *);
/* Fournit le nom associé au contenu binaire. */
static char *g_memory_content_describe(const GMemoryContent *, bool);
-/* Ecrit une sauvegarde de contenu binaire dans un fichier XML. */
-static bool g_memory_content_save(const GMemoryContent *, xmlDocPtr, xmlXPathContextPtr, const char *, const char *);
-
/* Fournit une empreinte unique (SHA256) pour les données. */
static void g_memory_content_compute_checksum(GMemoryContent *, GChecksum *);
@@ -227,8 +224,6 @@ static void g_memory_content_interface_init(GBinContentInterface *iface)
iface->describe = (describe_content_fc)g_memory_content_describe;
- iface->save = (save_content_fc)g_memory_content_save;
-
iface->compute_checksum = (compute_checksum_fc)g_memory_content_compute_checksum;
iface->compute_size = (compute_size_fc)g_memory_content_compute_size;
@@ -340,64 +335,6 @@ GBinContent *g_memory_content_new(const bin_t *data, phys_t size)
/******************************************************************************
* *
-* Paramètres : context = contexte pour les recherches XPath. *
-* path = chemin d'accès au noeud XML à lire. *
-* base = référence au lieu d'enregistrement du projet. *
-* *
-* Description : Charge des données à laisser en mémoire à partir d'XML. *
-* *
-* Retour : Adresse de la représentation ou NULL en cas d'échec. *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-GBinContent *g_memory_content_new_from_xml(xmlXPathContextPtr context, const char *path, const char *base)
-{
- return NULL;
-
-#if 0
-
- GBinContent *result; /* Adresse à retourner */
- char *access; /* Chemin pour une sous-config.*/
- char *encoded; /* Données encodées à charger */
- guchar *data; /* Données brutes à charger */
- gsize size; /* Quantité de ces données */
-
- result = NULL;
-
- /* Chemin du fichier à retrouver */
-
- access = strdup(path);
- access = stradd(access, "/Data");
-
- encoded = get_node_text_value(context, access);
-
- free(access);
-
- /* Chargement */
-
- if (encoded != NULL)
- {
- data = g_base64_decode(encoded, &size);
-
- free(encoded);
-
- if (data != NULL)
- {
- result = g_memory_content_new(data, size);
- g_free(data);
- }
-
- }
-
- return result;
-#endif
-}
-
-
-/******************************************************************************
-* *
* Paramètres : content = élément GLib à constuire. *
* storage = conservateur de données à manipuler ou NULL. *
* pbuf = zone tampon à lire. *
@@ -609,67 +546,6 @@ static char *g_memory_content_describe(const GMemoryContent *content, bool full)
/******************************************************************************
* *
-* Paramètres : content = contenu binaire à traiter. *
-* xdoc = structure XML en cours d'édition. *
-* context = contexte à utiliser pour les recherches. *
-* path = chemin d'accès réservé au binaire. *
-* base = référence au lieu d'enregistrement du projet. *
-* *
-* Description : Ecrit une sauvegarde de contenu binaire dans un fichier XML. *
-* *
-* Retour : true si l'opération a bien tourné, false sinon. *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-static bool g_memory_content_save(const GMemoryContent *content, xmlDocPtr xdoc, xmlXPathContextPtr context, const char *path, const char *base)
-{
- return false;
-
-#if 0
-
- bool result; /* Bilan à faire remonter */
- char *access; /* Chemin d'accès à un élément */
- vmpa2t start; /* Tête de lecture initiale */
- phys_t length; /* Nombre d'octets disponibles */
- const bin_t *data; /* Données brutes à sauvegarder*/
- gchar *encoded; /* Données encodées à écrire */
-
- /* Type */
-
- result = add_string_attribute_to_node(xdoc, context, path, "type", "memory");
- if (!result) goto gmcs_exit;
-
- /* Données en mémoire associées */
-
- access = strdup(path);
- access = stradd(access, "/Data");
-
- init_vmpa(&start, 0, VMPA_NO_VIRTUAL);
-
- length = g_binary_content_compute_size(content->backend);
-
- data = g_binary_content_get_raw_access(content->backend, &start, length);
- assert(data != NULL);
-
- encoded = g_base64_encode((const guchar *)data, length);
- assert(encoded != NULL);
-
- result = add_content_to_node(xdoc, context, access, encoded);
-
- g_free(encoded);
- free(access);
-
- gmcs_exit:
-
- return result;
-#endif
-}
-
-
-/******************************************************************************
-* *
* Paramètres : content = contenu binaire à venir lire. *
* checksum = empreinte de zone mémoire à compléter. *
* *
diff --git a/src/analysis/contents/memory.h b/src/analysis/contents/memory.h
index 434d586..1759e69 100644
--- a/src/analysis/contents/memory.h
+++ b/src/analysis/contents/memory.h
@@ -53,9 +53,6 @@ GType g_memory_content_get_type(void);
/* Charge en mémoire le contenu de données brutes. */
GBinContent *g_memory_content_new(const bin_t *, phys_t);
-/* Charge des données à laisser en mémoire à partir d'XML. */
-GBinContent *g_memory_content_new_from_xml(xmlXPathContextPtr, const char *, const char *);
-
#endif /* _ANALYSIS_CONTENTS_MEMORY_H */