Programma's voor controlesommen voor gebruik bij aanmaken/verifiëren van controlesommen

Kleopatra stelt de beheerder (en power-gebruiker) in staat om de lijst met programma's voor controlesommen in te stellen, waaruit de gebruiker kan kiezen in de instellingendialoog en die Kleopatra automatisch kan detecteren wanneer deze gevraagd wordt om de controlesom van een gegeven bestand te verifiëren.

Opmerking

Om bruikbaar te zijn voor Kleopatra moet de uitvoer van programma's voor controlesommen (zowel het geschreven controlesombestand als de uitvoer op stdout bij verifiëren van controlesommen) compatibel zijn met GNU md5sum en sha1sum.

Het controlesombestand moet op regels gebaseerd zijn met in elke regel het volgende formaat:

CONTROLESOM ' ' ( ' ' | '*' ) BESTANDSNAAM

waar CONTROLESOM alleen bestaat uit hex-tekens. Als BESTANDSNAAM een teken nieuwe-regel bevat, moet de regel er uit als volgt uitzien:

\CONTROLESOM ' ' ( ' ' | '*' ) ESCAPED-BESTANDSNAAM

waar ESCAPED-BESTANDSNAAM de bestandsnaam is met nieuwe-regel vervangen door \n en backslashes verdubbeld (\\\).

Evenzo moet de uitvoer van verify-command van de vorm

BESTANDSNAAM ( ': OK' | ': FAILED' )

zijn gescheiden door nieuwe-regels. Nieuwe-regels en andere tekens worden niet escaped in de uitvoer.[2]

Elk programma voor controlesommen is gedefinieerd in libkleopatrarc als een aparte Checksum Definition #n groep, met de volgende verplichte elementen:

bestandspatronen

Een lijst met reguliere expressies die beschrijven welke bestanden beschouwd zouden moeten worden als controlesombestanden voor dit programma voor controlesommen. De syntaxis is die voor lijsten tekenreeksen in KDE configuratiebestanden.

Opmerking

Omdat reguliere expressies gewoonlijk backslashes bevatten, moet zorgvuldig omgegaan worden met het juiste gebruik van escapes in het configuratiebestand. Het gebruik van een bewerkingshulpmiddel voor een configuratiebestand wordt aangeraden.

Het platform definieert of de patronen behandeld worden met of zonder onderscheid tussen hoofd- en kleine letter.

uitvoerbestand

De typische naam van het uitvoerbestand voor dit programma voor controlesommen (zou natuurlijk overeen moeten komen met een van de bestandspatronen). Dit is wat Kleopatra zal gebruiken als de uitvoerbestandsnaam bij het aanmaken van bestanden met controlesommen van dit type.

id

Een unieke ID gebruikt om dit programma voor controlesommen intern te identificeren. Bij twijfel gebruikt u de naam van het commando.

Name (vertaald)

De voor de gebruiker zichtbare naam van dit programma voor controlesommen, zoals getoond in het afrolmenu in de configuratiedialoog van Kleopatra.

create-command

Het actuele commando waarmee controlesombestanden worden aangemaakt. De syntax, beperkingen en opties voor argumentenoverdracht zijn hetzelfde als beschreven voor pack-command in de paragraaf met de naam “Archiveerders instellen voor gebruik met ondertekenen/versleutelen van bestanden”.

verify-command

Hetzelfde als create-command, echter voor verificatie van de controlesom.

Hier is een volledig voorbeeld:

[Checksum Definition #1]
          file-patterns=sha1sum.txt
          output-file=sha1sum.txt
          id=sha1sum-gnu
          Name=sha1sum (GNU)
          Name[de]=sha1sum (GNU)
          ...
          create-command=sha1sum -- %f
          verify-command=sha1sum -c -- %f
        



[2] Ja, deze programma's zijn niet geschreven met een grafisch frontend in gedachten, zodat het Kleopatra niet zal lukken om op de juiste manier pathologische bestandsnamen die ": OK" plus nieuwe-regel bevatten, te gebruiken.