Dit is de opdracht blhc die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator
PROGRAMMA:
NAAM
blhc - build log hardening check, controleert build logs op ontbrekende hardening-vlaggen
KORTE INHOUD
zwart [opties] <dpkg-buildpakket bouw inloggen bestand>..
PRODUCTBESCHRIJVING
blhc is een kleine tool die buildlogboeken controleert op ontbrekende verhardingsvlaggen. Het heeft een vergunning
onder de GPL 3 of hoger.
Het is ontworpen om build-logboeken te controleren die zijn gegenereerd door Debian's dpkg-buildpackage (of tools die
dpkg-buildpackage zoals pbuilder of sbuild (die wordt gebruikt voor de officiële buildd build
logs)) om beheerders te helpen bij het detecteren van ontbrekende verhardingsvlaggen in hun pakketten.
Alleen gcc wordt momenteel gedetecteerd als compiler. Als andere compilers verhardingsvlaggen ondersteunen
ook, meld ze alsjeblieft.
Als er geen uitvoer is, ontbreken er geen vlaggen en is het buildlogboek in orde.
Bekijk README voor details over uitgevoerde controles, automatische detectie en beperkingen.
OPTIES
--alle Forceer controle voor alle +all (+pie, +bindnow) verhardingsvlaggen. Standaard is het automatisch
gedetecteerd.
--boog architectuur
Stel de specifieke architectuur in (bijv. amd64, armel, enz.), schakelt automatisch uit
verhardingsvlaggen niet beschikbaar op deze architectuur. Wordt automatisch gedetecteerd als
dpkg-buildpackage wordt gebruikt.
--binnu
Forceer controle voor alle +bindnow verhardingsvlaggen. Standaard wordt het automatisch gedetecteerd.
--gebouwd
Speciale modus voor buildds bij het automatisch parseren van logbestanden. Het volgende
wijzigingen zijn van kracht:
· Print tags in plaats van normale waarschuwingen, zie "BUILDD TAGS" voor een lijst met mogelijke
labels.
· Controleer geen beveiligingsvlaggen in oude logbestanden (als dpkg-dev << 1.16.1 is
gedetecteerd).
· Term::ANSIColor is niet vereist.
· Retourneer afsluitcode 0, tenzij er een fout is opgetreden (-I, -W berichten tellen niet mee als
fout).
--kleur Gebruik gekleurde (ANSI) uitvoer voor waarschuwingsberichten.
--negeer-boog boog
Negeer build-logboeken van overeenkomende architecturen boog. boog is een touwtje.
Wordt gebruikt om valse positieven te voorkomen. Deze optie kan meerdere keren worden opgegeven.
--negeer-boogvlag boog:vlag
Like --ignore-vlag, maar negeer alleen vlag aan boog.
--negeer-booglijn boog:lijn
Like --negeer regel, maar negeer alleen lijn aan boog.
--ignore-vlag vlag
Druk geen fout af wanneer de specifieke vlag ontbreekt in een compilerregel. vlag
is een touwtje.
Wordt gebruikt om valse positieven te voorkomen. Deze optie kan meerdere keren worden opgegeven.
--negeer regel regex
Negeer regels die overeenkomen met de gegeven Perl regex. regex wordt automatisch verankerd aan de
begin en einde van de regel om valse negatieven te voorkomen.
NOTITIE: Niet de invoerregels worden gecontroleerd, maar de regels waarin wordt weergegeven
waarschuwingen (waarvan lijnvoortzetting is opgelost).
Wordt gebruikt om valse positieven te voorkomen. Deze optie kan meerdere keren worden opgegeven.
--taart Forceer controle voor alle +taartverhardingsvlaggen. Standaard wordt het automatisch gedetecteerd.
-h -? --help
Beschikbare opties afdrukken.
--versie
Versienummer en licentie afdrukken.
Automatische detectie voor --taart en --binnu werkt alleen als ten minste één opdracht de
vereiste verhardingsvlag (bijv. -fPIE). Dan is het ook vereist voor alle andere commando's.
Voorbeelden
Normaal gebruik, analyseer een enkel logbestand.
blhc pad/naar/logboek/bestand
Als er geen uitvoer is, ontbreken er geen vlaggen en is het buildlogboek in orde.
Parseer meerdere logbestanden. De afsluitcode wordt ORed over alle bestanden.
blhc pad/naar/map/met/log/bestanden/*
Behandel ontbrekende "-g" niet als fout:
blhc --ignore-flag -g pad/naar/logboek/bestand
Behandel ontbrekende "-pie" op kfreebsd-amd64 niet als fout:
blhc --ignore-arch-flag kfreebsd-amd64:-pie pad/naar/log/bestand
Negeer regels die precies uit "./script gcc-bestand" bestaan, wat een fout-positief zou veroorzaken.
blhc --ignore-regel '\./script gcc-bestand' pad/naar/logboek/bestand
Negeer regels die overeenkomen met "./script gcc-bestand" ergens in de regel.
blhc --ignore-regel '.*\./script gcc-bestand.*' pad/naar/log/bestand
Gebruik blhc met pbuilder.
pbuilder pad/naar/pakket.dsc | tee pad/log/bestand
blhc pad/naar/bestand || echovlaggen ontbreken
GEBOUWD TAGS
De volgende tags worden gebruikt in --gebouwd modus. Tussen accolades de aanvullende gegevens die zijn
weergegeven.
I-hardening-wrapper-gebruikt
Het pakket maakt gebruik van hardening-wrapper die oproepen naar gcc onderschept en hardening toevoegt
vlaggen. Het buildlogboek bevat geen verhardingsvlaggen en kan dus niet worden gecontroleerd door
zwart.
W-compiler-vlaggen-verborgen (overzicht van verborgen regels)
Het buildlogboek bevat regels die de echte compilervlaggen verbergen. Bijvoorbeeld:
CC test-ac
CC-test-bc
CC test-cc
LD-test
Meestal "export V=1" of "export verbose=1" erin debian/regels repareert builds
met verborgen compilervlaggen. Soms ".SILENT" in een Makefile moet verwijderd worden. En als
laatste redmiddel de Makefile moet worden gepatcht om de "@"-tekens te verwijderen die de echte compiler verbergen
commando's.
W-dpkg-buildflags-ontbreekt (samenvatting van ontbrekende vlaggen)
CPPFLAGS, CFLAGS, CXXFLAGS, LDFLAGS ontbreken.
Ik-ongeldige-cmake-gebruikt (versie)
CMake negeert standaard CPPFLAGS en mist dus die verhardingsvlaggen. Debian gepatcht
CMake in versies 2.8.7-1 en 2.8.7-2 om CPPFLAGS te respecteren, maar deze patch is afgewezen
door stroomopwaarts en later teruggezet in Debian. Dus die twee versies tonen correct gebruik van
CPPFLAGS zelfs als het pakket ze niet correct afhandelt (bijvoorbeeld door ze door te geven
naar CFLAGS). Om valse negatieven te voorkomen, zet u die twee versies gewoon op de zwarte lijst.
I-no-compiler-commando's
Er zijn geen compileropdrachten gedetecteerd. Het logboek bevat er geen of ze waren er niet
correct gedetecteerd door blhc (meld in dit geval de bug).
EXIT STATUS
De exit-status is een "bitmasker", elke vermelde status wordt ORed wanneer de foutconditie optreedt
optreedt om het resultaat te krijgen.
0 Succes.
1 Er zijn geen compileropdrachten gevonden.
2 Ongeldige argumenten/opties gegeven aan blhc.
4 Niet uitgebreide opbouw.
8 Ontbrekende verhardingsvlaggen.
16 Hard wordende wikkel gedetecteerd, geen tests uitgevoerd.
32 Ongeldige CMake-versie gebruikt. Zien Ik-ongeldige-cmake-gebruikt onder "BUILDD TAGS" voor een
gedetailleerde uitleg.
Gebruik blhc online met behulp van onworks.net-services