2.4. La gestion des archives
2.4.1. Fonctionnement
soumission d'une archive (somme des fichiers archivés de moins de 50Mo)
l'utilisateur peut fournir le mot de passe de l'archive via l'interface graphique ou l'api (il faut que le mot de passe soit le même à tous les niveaux de l'archive)
la GBox tente d'extraire l'archive avec le mot de passe :
avec une protection contre les zipbombes
avec une protection contre les archives malicieuses
si l'archive extraite fait plus de 50Mo, l'extraction est stoppée et un message d'erreur est retourné indiquant un fichier trop gros: rien ne sera analysé
si l'archive est trop profonde par rapport à la profondeur configurée dans la GBox, l'analyse porte sur les fichiers correspondants à la profondeur, configurée (3 niveaux max : zip de zip au maximum)
si le mot de passe ne correspond pas, un message d'erreur est retourné
si l'archive contient trop de fichiers par rapport à ce qui a été configuré dans la GBox (10 fichiers max), un message d'erreur est retourné: rien n'est analysé
une analyse "parente" est créée, elle représente le fichier d'archive (avec son empreinte et l'empreinte de l'analyse) et pointe vers les analyses "enfant" (image de rapport de parent plus bas)
elle n'a pas état du moteur d'analyse, car rien n'est analysé
elle a juste un résultat global
elle n'affiche pas le contenu des erreurs des enfants
une analyse "enfant" est créée par fichier enfant trouvé dans l'archive, elle est liée à l'analyse parente (image de rapport d'analyse enfant plus bas)
quand toutes les analyses "enfant" sont finies, l'analyse parente est mise à jour
son score équivaut au maximum du score des "enfants"
son état équivaut à l'état global des "enfants"
si 1 ou + "enfant" "en cours", alors l'analyse parente est "en cours"
si 1 ou + "enfant" "en erreur", alors "en erreur"
si tous les "enfants" sont "finis" sans erreurs alors "fini"
il n'y a pas de PDF ou de rapport regroupant tous les enfants, il faut regarder sur chaque analyse enfant pour avoir le rapport
2.4.2. Formats supportés
Type |
Détails |
---|---|
7zfile |
extension = [".7z", ".iso", ".udf", ".xz"]
magic = ["7-zip archive", "ISO 9660", "UDF filesystem data", "XZ compressed data"]
|
gzipfile |
extension = [".gzip", ".gz"]
magic = ["gzip compressed data, was"]
|
lzhfile |
extension = [".lzh", ".lha"]
magic = ["LHa ("]
|
tarfile |
extension = [".tar"]
magic = ["POSIX tar archive"]
|
tarbz2file |
extension = [".tar.bz2"]
magic = ["LHa ("]
|
zipfile |
extension = [".zip"]
magic = ["Zip archive data"]
|
2.4.3. Définition du mot de passe des archives
Le mot de passe pour l'analyse d'une archive avec mot de passe se définit dans l'Ecran `New analysis` de la Web UI.