From 678c558e7f4d7d9e2b0b807417046b768d0bc71c Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 28 Sep 2022 19:56:41 +0200 Subject: [PATCH] Implement review suggestions and fix tests and linter errors --- cmd/cmd-close.go | 6 +++--- cmd/cmd-open.go | 5 ++--- cmd/cmd-verify.go | 6 +++--- cmd/main.go | 1 - core_test.go | 17 +++++++---------- filesig/helpers.go | 7 +++---- import_export.go | 1 + lhash/labeledhash.go | 4 ++-- truststores/io.go | 9 ++++----- 9 files changed, 25 insertions(+), 31 deletions(-) diff --git a/cmd/cmd-close.go b/cmd/cmd-close.go index 62e7e2f..e35a20a 100644 --- a/cmd/cmd-close.go +++ b/cmd/cmd-close.go @@ -3,7 +3,7 @@ package main import ( "errors" "fmt" - "io/ioutil" + "io" "os" "strings" @@ -89,9 +89,9 @@ var ( // load file var data []byte if filename == "-" { - data, err = ioutil.ReadAll(os.Stdin) + data, err = io.ReadAll(os.Stdin) } else { - data, err = ioutil.ReadFile(filename) + data, err = os.ReadFile(filename) } if err != nil { return err diff --git a/cmd/cmd-open.go b/cmd/cmd-open.go index edf3ecf..4fdadc0 100644 --- a/cmd/cmd-open.go +++ b/cmd/cmd-open.go @@ -4,7 +4,6 @@ import ( "errors" "fmt" "io" - "io/ioutil" "os" "strings" @@ -79,9 +78,9 @@ var ( // load file var data []byte if filename == "-" { - data, err = ioutil.ReadAll(os.Stdin) + data, err = io.ReadAll(os.Stdin) } else { - data, err = ioutil.ReadFile(filename) + data, err = os.ReadFile(filename) } if err != nil { return err diff --git a/cmd/cmd-verify.go b/cmd/cmd-verify.go index 061dcf6..bd0401f 100644 --- a/cmd/cmd-verify.go +++ b/cmd/cmd-verify.go @@ -3,8 +3,8 @@ package main import ( "errors" "fmt" + "io" "io/fs" - "io/ioutil" "os" "path/filepath" "strings" @@ -185,9 +185,9 @@ func verifyLetter(filename string, silent bool) (signedBy []string, err error) { // load file var data []byte if filename == "-" { - data, err = ioutil.ReadAll(os.Stdin) + data, err = io.ReadAll(os.Stdin) } else { - data, err = ioutil.ReadFile(filename) + data, err = os.ReadFile(filename) } if err != nil { return nil, err diff --git a/cmd/main.go b/cmd/main.go index b603063..ef46179 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -16,7 +16,6 @@ import ( const ( stdInOutFilename = "-" letterFileExtension = ".letter" - sigFileExtension = ".sig" warnFileSize = 12000000 // 120MB ) diff --git a/core_test.go b/core_test.go index 045abd3..ea07472 100644 --- a/core_test.go +++ b/core_test.go @@ -225,10 +225,8 @@ func TestCoreAllCombinations(t *testing.T) { t.Logf("of these, %d were successfully detected as invalid", combinationsDetectedInvalid) } -func testStorage(t *testing.T, suite *Suite) (detectedInvalid bool) { - t.Helper() - - // t.Logf("testing storage with %s", suite.ID) +func testStorage(t *testing.T, suite *Suite) (detectedInvalid bool) { //nolint:thelper + t.Logf("testing storage with %s", suite.ID) e, err := setupEnvelopeAndTrustStore(t, suite) if err != nil { @@ -404,9 +402,7 @@ func setupEnvelopeAndTrustStore(t *testing.T, suite *Suite) (*Envelope, error) { } // check if we are missing key derivation - this is only ok if we are merely signing - if !keyDerPresent && - (len(e.suite.Provides.all) != 1 || - !e.suite.Provides.Has(SenderAuthentication)) { + if !keyDerPresent && len(e.Senders) != len(e.suite.Tools) { return nil, testInvalidToolset(e, "omitting a key derivation tool is only allowed when merely signing") } @@ -514,9 +510,10 @@ func getOrMakeSignet(t *testing.T, tool tools.ToolLogic, recipient bool, signetI } // generateCombinations returns all possible combinations of the given []string slice. -// Forked from https://github.com/mxschmitt/golang-combinations/blob/a887187146560effd2677e987b069262f356297f/combinations.go -// Copyright (c) 2018 Max Schmitt, -// MIT License. +// +// Forked from https://github.com/mxschmitt/golang-combinations/blob/a887187146560effd2677e987b069262f356297f/combinations.go +// Copyright (c) 2018 Max Schmitt, +// MIT License. func generateCombinations(set []string) (subsets [][]string) { length := uint(len(set)) diff --git a/filesig/helpers.go b/filesig/helpers.go index 0037a9c..90e7918 100644 --- a/filesig/helpers.go +++ b/filesig/helpers.go @@ -3,7 +3,6 @@ package filesig import ( "errors" "fmt" - "io/ioutil" "os" "strings" @@ -51,7 +50,7 @@ func SignFile(dataFilePath, signatureFilePath string, metaData map[string]string return nil, fmt.Errorf("failed to sign file: %w", err) } - sigFileData, err := ioutil.ReadFile(signatureFilePath) + sigFileData, err := os.ReadFile(signatureFilePath) var newSigFileData []byte switch { case err == nil: @@ -71,7 +70,7 @@ func SignFile(dataFilePath, signatureFilePath string, metaData map[string]string } // Write the signature to file. - if err := ioutil.WriteFile(signatureFilePath, newSigFileData, 0o0644); err != nil { //nolint:gosec + if err := os.WriteFile(signatureFilePath, newSigFileData, 0o0644); err != nil { //nolint:gosec return nil, fmt.Errorf("failed to write signature to file: %w", err) } @@ -86,7 +85,7 @@ func VerifyFile(dataFilePath, signatureFilePath string, metaData map[string]stri var lastErr error // Read signature from file. - sigFileData, err := ioutil.ReadFile(signatureFilePath) + sigFileData, err := os.ReadFile(signatureFilePath) if err != nil { return nil, fmt.Errorf("failed to read signature file: %w", err) } diff --git a/import_export.go b/import_export.go index 86de909..84eccdd 100644 --- a/import_export.go +++ b/import_export.go @@ -7,6 +7,7 @@ import ( "strings" ) +// Keywords and Prefixes for the export text format. const ( ExportSenderKeyword = "sender" ExportSenderPrefix = "sender:" diff --git a/lhash/labeledhash.go b/lhash/labeledhash.go index b395b5a..68e5475 100644 --- a/lhash/labeledhash.go +++ b/lhash/labeledhash.go @@ -36,7 +36,7 @@ func Digest(alg Algorithm, data []byte) *LabeledHash { // DigestFile creates a new labeled hash and digests the given file. func DigestFile(alg Algorithm, pathToFile string) (*LabeledHash, error) { // Open file that should be hashed. - file, err := os.OpenFile(pathToFile, os.O_RDONLY, 0) + file, err := os.Open(pathToFile) if err != nil { return nil, fmt.Errorf("failed to open file: %w", err) } @@ -181,7 +181,7 @@ func (lh *LabeledHash) Matches(data []byte) bool { } // MatchesData returns true if the digest of the given data matches the hash. -// DEPRECATED: Use Matches instead. +// Deprecated: Use Matches instead. func (lh *LabeledHash) MatchesData(data []byte) bool { return lh.Equal(Digest(lh.alg, data)) } diff --git a/truststores/io.go b/truststores/io.go index 1c795d5..8ccff5e 100644 --- a/truststores/io.go +++ b/truststores/io.go @@ -2,7 +2,6 @@ package truststores import ( "errors" - "io/ioutil" "os" "github.com/safing/jess" @@ -27,7 +26,7 @@ func WriteSignetToFile(signet *jess.Signet, filename string) error { } // write - err = ioutil.WriteFile(filename, data, 0o0600) + err = os.WriteFile(filename, data, 0o0600) if err != nil { return err } @@ -37,7 +36,7 @@ func WriteSignetToFile(signet *jess.Signet, filename string) error { // LoadSignetFromFile loads a signet from the given filepath. func LoadSignetFromFile(filename string) (*jess.Signet, error) { - data, err := ioutil.ReadFile(filename) + data, err := os.ReadFile(filename) if err != nil { if os.IsNotExist(err) { return nil, jess.ErrSignetNotFound @@ -72,7 +71,7 @@ func WriteEnvelopeToFile(envelope *jess.Envelope, filename string) error { } // write to storage - err = ioutil.WriteFile(filename, data, 0600) //nolint:gofumpt // gofumpt is ignorant of octal numbers. + err = os.WriteFile(filename, data, 0600) //nolint:gofumpt // gofumpt is ignorant of octal numbers. if err != nil { return err } @@ -82,7 +81,7 @@ func WriteEnvelopeToFile(envelope *jess.Envelope, filename string) error { // LoadEnvelopeFromFile loads an envelope from the given filepath. func LoadEnvelopeFromFile(filename string) (*jess.Envelope, error) { - data, err := ioutil.ReadFile(filename) + data, err := os.ReadFile(filename) if err != nil { if os.IsNotExist(err) { return nil, jess.ErrEnvelopeNotFound