Il s'agit de la commande blhc qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
blhc - vérification du renforcement du journal de construction, vérifie les journaux de construction pour les indicateurs de renforcement manquants
SYNOPSIS
blhc [Options] <dpkg-buildpackage construire enregistrer fichier>..
DESCRIPTION
blhc est un petit outil qui vérifie dans les journaux de construction les indicateurs de renforcement manquants. C'est sous licence
sous la GPL 3 ou ultérieure.
Il est conçu pour vérifier les journaux de construction générés par le dpkg-buildpackage de Debian (ou les outils utilisant
dpkg-buildpackage comme pbuilder ou sbuild (qui est utilisé pour la construction officielle de buildd
logs)) pour aider les responsables à détecter les indicateurs de renforcement manquants dans leurs packages.
Seul gcc est détecté comme compilateur pour le moment. Si d'autres compilateurs prennent en charge les indicateurs de renforcement
aussi, veuillez les signaler.
S'il n'y a pas de sortie, aucun indicateur ne manque et le journal de construction est correct.
See README pour plus de détails sur les vérifications effectuées, la détection automatique et les limitations.
OPTIONS
--tout Forcer la vérification de tous les indicateurs de durcissement +all (+pie, +bindnow). Par défaut c'est automatique
détecté.
--cambre architecture
Définir l'architecture spécifique (par exemple amd64, armel, etc.), désactive automatiquement
drapeaux de durcissement non disponibles sur cette architecture. Est détecté automatiquement si
dpkg-buildpackage est utilisé.
--bindnow
Forcer la vérification de tous les indicateurs de durcissement +bindnow. Par défaut, il est détecté automatiquement.
--buildd
Mode spécial pour buildds lors de l'analyse automatique des fichiers journaux. Ce qui suit
les changements sont en vigueur :
· Imprimer les balises au lieu des avertissements normaux, voir "BUILDD TAGS" pour une liste des possibles
Mots clés.
· Ne vérifiez pas les indicateurs de durcissement dans les anciens fichiers journaux (si dpkg-dev << 1.16.1 est
détectée).
· Ne nécessite pas de terme::ANSICor.
· Renvoie le code de sortie 0, sauf s'il y a eu une erreur (les messages -I, -W ne comptent pas comme
Erreur).
--Couleur Utilisez une sortie colorée (ANSI) pour les messages d'avertissement.
--ignore-arche arche
Ignorer les journaux de construction des architectures correspondant arche. arche est une chaîne.
Utilisé pour éviter les faux positifs. Cette option peut être spécifiée plusieurs fois.
--ignore-arch-drapeau arche:drapeau
Comme --ignore-drapeau, mais n'ignore que l'indicateur sur arche.
--ignore-arch-ligne arche:en ligne
Comme --ignore-ligne, mais n'ignore que la ligne sur arche.
--ignore-drapeau drapeau
N'affiche pas d'erreur lorsque l'indicateur spécifique est manquant dans une ligne du compilateur. drapeau
est une chaîne.
Utilisé pour éviter les faux positifs. Cette option peut être spécifiée plusieurs fois.
--ignore-ligne regex
Ignore les lignes correspondant à la regex Perl donnée. regex est automatiquement ancré au
début et fin de ligne pour éviter les faux négatifs.
REMARQUE: Ce ne sont pas les lignes d'entrée qui sont vérifiées, mais les lignes qui sont affichées dans
avertissements (dont la continuation de ligne est résolue).
Utilisé pour éviter les faux positifs. Cette option peut être spécifiée plusieurs fois.
--tarte Forcer la vérification de tous les indicateurs de durcissement de tarte. Par défaut, il est détecté automatiquement.
-h -? --Aidez-moi
Imprimer les options disponibles.
--version
Imprimer le numéro de version et la licence.
Détection automatique pour --tarte ainsi que --bindnow ne fonctionne que si au moins une commande utilise le
indicateur de durcissement requis (par exemple -fPIE). Ensuite, il est également requis pour toutes les autres commandes.
EXEMPLES
Utilisation normale, analyse d'un seul fichier journal.
chemin blhc/vers/journal/fichier
S'il n'y a pas de sortie, aucun indicateur ne manque et le journal de construction est correct.
Analyser plusieurs fichiers journaux. Le code de sortie est OR sur tous les fichiers.
chemin blhc/vers/répertoire/avec/log/fichiers/*
Ne traitez pas le "-g" manquant comme une erreur :
blhc --ignore-flag -g chemin/vers/log/fichier
Ne traitez pas le "-pie" manquant sur kfreebsd-amd64 comme une erreur :
blhc --ignore-arch-flag kfreebsd-amd64:-pie chemin/vers/log/fichier
Ignorez les lignes composées exactement de "./script gcc file" qui provoqueraient un faux positif.
blhc --ignore-line '\./script fichier gcc' chemin/vers/log/fichier
Ignorez les lignes correspondant à "./script gcc file" quelque part dans la ligne.
blhc --ignore-line '.*\./script gcc file.*' path/to/log/file
Utilisez blhc avec pbuilder.
pbuilder chemin/vers/paquet.dsc | tee chemin/journal/fichier
chemin/vers/fichier blhc || drapeaux d'écho manquants
CONSTRUCTION MOTS CLÉS
Les balises suivantes sont utilisées dans --buildd mode. Entre accolades les données supplémentaires qui sont
affiché.
I-durcisseur-enrubanneuse-utilisé
Le paquet utilise hardening-wrapper qui intercepte les appels à gcc et ajoute un durcissement
drapeaux. Le journal de construction ne contient aucun indicateur de durcissement et ne peut donc pas être vérifié par
blhc.
Drapeaux du compilateur W cachés (résumé des lignes cachées)
Le journal de construction contient des lignes qui masquent les vrais drapeaux du compilateur. Par exemple:
CC test-ac
CC test-bc
CC test-cc
test LD
La plupart du temps soit "export V=1" soit "export verbose=1" dans debian/règles corrige les versions
avec des drapeaux de compilateur cachés. Parfois ".SILENT" dans un Makefile doit être retiré. Et comme
en dernier recours le Makefile doit être corrigé pour supprimer les "@" cachant le vrai compilateur
les commandes.
W-dpkg-buildflags-manquant (résumé des drapeaux manquants)
CPPFLAGS, CFLAGS, CXXFLAGS, LDFLAGS manquants.
Je-invalide-cmake-used (version)
Par défaut, CMake ignore CPPFLAGS, manquant ainsi ces indicateurs de renforcement. Debian corrigé
CMake dans les versions 2.8.7-1 et 2.8.7-2 pour respecter CPPFLAGS, mais ce patch a été rejeté
par l'amont et plus tard rétabli dans Debian. Ainsi, ces deux versions montrent une utilisation correcte de
CPPFLAGS même si le package ne les gère pas correctement (par exemple en les passant
à CFLAG). Pour éviter les faux négatifs, mettez simplement ces deux versions sur liste noire.
I-no-compiler-commandes
Aucune commande du compilateur n'a été détectée. Soit le journal n'en contient pas, soit ils n'étaient pas
correctement détecté par blhc (veuillez signaler le bogue dans ce cas).
EXIT STATUT
L'état de sortie est un « masque de bits », chaque état répertorié est soumis à un OU lorsque la condition d'erreur
se produit pour obtenir le résultat.
0 Succès.
1 Aucune commande du compilateur n'a été trouvée.
2 Arguments/options non valides donnés à blhc.
4 Construction non verbeuse.
8 Drapeaux de durcissement manquants.
16 Enveloppe de durcissement détectée, aucun test effectué.
32 Version CMake non valide utilisée. Voir Je-invalide-cmake-used sous "BUILDD TAGS" pour un
explication détaillée.
Utilisez blhc en ligne en utilisant les services onworks.net