diff options
Diffstat (limited to 'src/analysis')
| -rw-r--r-- | src/analysis/content-int.h | 5 | ||||
| -rw-r--r-- | src/analysis/content.c | 61 | ||||
| -rw-r--r-- | src/analysis/content.h | 7 | ||||
| -rw-r--r-- | src/analysis/contents/encapsulated.c | 127 | ||||
| -rw-r--r-- | src/analysis/contents/encapsulated.h | 3 | ||||
| -rw-r--r-- | src/analysis/contents/file.c | 58 | ||||
| -rw-r--r-- | src/analysis/contents/file.h | 3 | ||||
| -rw-r--r-- | src/analysis/contents/memory.c | 124 | ||||
| -rw-r--r-- | src/analysis/contents/memory.h | 3 | 
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 */  | 
