diff --git a/cmd/csaf_aggregator/client.go b/cmd/csaf_aggregator/client.go index 2da57c5d..deb108a8 100644 --- a/cmd/csaf_aggregator/client.go +++ b/cmd/csaf_aggregator/client.go @@ -13,7 +13,7 @@ import ( "io" "net/http" - "github.com/csaf-poc/csaf_distribution/v2/util" + "github.com/csaf-poc/csaf_distribution/v3/util" ) var errNotFound = errors.New("not found") diff --git a/cmd/csaf_aggregator/config.go b/cmd/csaf_aggregator/config.go index 8962a057..34cfb817 100644 --- a/cmd/csaf_aggregator/config.go +++ b/cmd/csaf_aggregator/config.go @@ -19,12 +19,12 @@ import ( "time" "github.com/ProtonMail/gopenpgp/v2/crypto" - "github.com/csaf-poc/csaf_distribution/v2/csaf" - "github.com/csaf-poc/csaf_distribution/v2/internal/certs" - "github.com/csaf-poc/csaf_distribution/v2/internal/filter" - "github.com/csaf-poc/csaf_distribution/v2/internal/models" - "github.com/csaf-poc/csaf_distribution/v2/internal/options" - "github.com/csaf-poc/csaf_distribution/v2/util" + "github.com/csaf-poc/csaf_distribution/v3/csaf" + "github.com/csaf-poc/csaf_distribution/v3/internal/certs" + "github.com/csaf-poc/csaf_distribution/v3/internal/filter" + "github.com/csaf-poc/csaf_distribution/v3/internal/models" + "github.com/csaf-poc/csaf_distribution/v3/internal/options" + "github.com/csaf-poc/csaf_distribution/v3/util" "golang.org/x/time/rate" ) diff --git a/cmd/csaf_aggregator/full.go b/cmd/csaf_aggregator/full.go index 68baf0f0..600c650f 100644 --- a/cmd/csaf_aggregator/full.go +++ b/cmd/csaf_aggregator/full.go @@ -18,8 +18,8 @@ import ( "sync" "time" - "github.com/csaf-poc/csaf_distribution/v2/csaf" - "github.com/csaf-poc/csaf_distribution/v2/util" + "github.com/csaf-poc/csaf_distribution/v3/csaf" + "github.com/csaf-poc/csaf_distribution/v3/util" ) type fullJob struct { diff --git a/cmd/csaf_aggregator/indices.go b/cmd/csaf_aggregator/indices.go index f59d21b2..69954bd0 100644 --- a/cmd/csaf_aggregator/indices.go +++ b/cmd/csaf_aggregator/indices.go @@ -20,8 +20,8 @@ import ( "strings" "time" - "github.com/csaf-poc/csaf_distribution/v2/csaf" - "github.com/csaf-poc/csaf_distribution/v2/util" + "github.com/csaf-poc/csaf_distribution/v3/csaf" + "github.com/csaf-poc/csaf_distribution/v3/util" ) const ( diff --git a/cmd/csaf_aggregator/interim.go b/cmd/csaf_aggregator/interim.go index affbb9ae..bdd5ebcd 100644 --- a/cmd/csaf_aggregator/interim.go +++ b/cmd/csaf_aggregator/interim.go @@ -25,8 +25,8 @@ import ( "sync" "time" - "github.com/csaf-poc/csaf_distribution/v2/csaf" - "github.com/csaf-poc/csaf_distribution/v2/util" + "github.com/csaf-poc/csaf_distribution/v3/csaf" + "github.com/csaf-poc/csaf_distribution/v3/util" ) type interimJob struct { diff --git a/cmd/csaf_aggregator/lazytransaction.go b/cmd/csaf_aggregator/lazytransaction.go index 05ff6639..a2b1e94d 100644 --- a/cmd/csaf_aggregator/lazytransaction.go +++ b/cmd/csaf_aggregator/lazytransaction.go @@ -13,7 +13,7 @@ import ( "os" "path/filepath" - "github.com/csaf-poc/csaf_distribution/v2/util" + "github.com/csaf-poc/csaf_distribution/v3/util" ) type lazyTransaction struct { diff --git a/cmd/csaf_aggregator/lister.go b/cmd/csaf_aggregator/lister.go index ba64905e..a3bfd29f 100644 --- a/cmd/csaf_aggregator/lister.go +++ b/cmd/csaf_aggregator/lister.go @@ -11,8 +11,8 @@ package main import ( "fmt" - "github.com/csaf-poc/csaf_distribution/v2/csaf" - "github.com/csaf-poc/csaf_distribution/v2/util" + "github.com/csaf-poc/csaf_distribution/v3/csaf" + "github.com/csaf-poc/csaf_distribution/v3/util" ) // mirrorAllowed checks if mirroring is allowed. diff --git a/cmd/csaf_aggregator/main.go b/cmd/csaf_aggregator/main.go index aca2a8a9..74a9670c 100644 --- a/cmd/csaf_aggregator/main.go +++ b/cmd/csaf_aggregator/main.go @@ -14,7 +14,7 @@ import ( "os" "path/filepath" - "github.com/csaf-poc/csaf_distribution/v2/internal/options" + "github.com/csaf-poc/csaf_distribution/v3/internal/options" "github.com/gofrs/flock" ) diff --git a/cmd/csaf_aggregator/mirror.go b/cmd/csaf_aggregator/mirror.go index 13b0d1b4..3acb48e0 100644 --- a/cmd/csaf_aggregator/mirror.go +++ b/cmd/csaf_aggregator/mirror.go @@ -30,8 +30,8 @@ import ( "github.com/ProtonMail/gopenpgp/v2/constants" "github.com/ProtonMail/gopenpgp/v2/crypto" - "github.com/csaf-poc/csaf_distribution/v2/csaf" - "github.com/csaf-poc/csaf_distribution/v2/util" + "github.com/csaf-poc/csaf_distribution/v3/csaf" + "github.com/csaf-poc/csaf_distribution/v3/util" ) // mirrorAllowed checks if mirroring is allowed. diff --git a/cmd/csaf_aggregator/processor.go b/cmd/csaf_aggregator/processor.go index e3da35b9..ccd5062e 100644 --- a/cmd/csaf_aggregator/processor.go +++ b/cmd/csaf_aggregator/processor.go @@ -15,8 +15,9 @@ import ( "path/filepath" "github.com/ProtonMail/gopenpgp/v2/crypto" - "github.com/csaf-poc/csaf_distribution/v2/csaf" - "github.com/csaf-poc/csaf_distribution/v2/util" + + "github.com/csaf-poc/csaf_distribution/v3/csaf" + "github.com/csaf-poc/csaf_distribution/v3/util" ) type processor struct { diff --git a/cmd/csaf_checker/config.go b/cmd/csaf_checker/config.go index e62a9f56..4e86a0ca 100644 --- a/cmd/csaf_checker/config.go +++ b/cmd/csaf_checker/config.go @@ -13,10 +13,10 @@ import ( "fmt" "net/http" - "github.com/csaf-poc/csaf_distribution/v2/internal/certs" - "github.com/csaf-poc/csaf_distribution/v2/internal/filter" - "github.com/csaf-poc/csaf_distribution/v2/internal/models" - "github.com/csaf-poc/csaf_distribution/v2/internal/options" + "github.com/csaf-poc/csaf_distribution/v3/internal/certs" + "github.com/csaf-poc/csaf_distribution/v3/internal/filter" + "github.com/csaf-poc/csaf_distribution/v3/internal/models" + "github.com/csaf-poc/csaf_distribution/v3/internal/options" ) type outputFormat string diff --git a/cmd/csaf_checker/links.go b/cmd/csaf_checker/links.go index 3f51829b..57844898 100644 --- a/cmd/csaf_checker/links.go +++ b/cmd/csaf_checker/links.go @@ -14,7 +14,8 @@ import ( "net/url" "github.com/PuerkitoBio/goquery" - "github.com/csaf-poc/csaf_distribution/v2/util" + + "github.com/csaf-poc/csaf_distribution/v3/util" ) type ( diff --git a/cmd/csaf_checker/links_test.go b/cmd/csaf_checker/links_test.go index 96e7e62d..3229511e 100644 --- a/cmd/csaf_checker/links_test.go +++ b/cmd/csaf_checker/links_test.go @@ -1,3 +1,11 @@ +// This file is Free Software under the MIT License +// without warranty, see README.md and LICENSES/MIT.txt for details. +// +// SPDX-License-Identifier: MIT +// +// SPDX-FileCopyrightText: 2022 German Federal Office for Information Security (BSI) +// Software-Engineering: 2022 Intevation GmbH + package main import ( diff --git a/cmd/csaf_checker/main.go b/cmd/csaf_checker/main.go index b360e6c1..73a5cce9 100644 --- a/cmd/csaf_checker/main.go +++ b/cmd/csaf_checker/main.go @@ -12,7 +12,7 @@ package main import ( "log" - "github.com/csaf-poc/csaf_distribution/v2/internal/options" + "github.com/csaf-poc/csaf_distribution/v3/internal/options" ) // run uses a processor to check all the given domains or direct urls diff --git a/cmd/csaf_checker/processor.go b/cmd/csaf_checker/processor.go index 5c1ea619..552472fb 100644 --- a/cmd/csaf_checker/processor.go +++ b/cmd/csaf_checker/processor.go @@ -32,8 +32,8 @@ import ( "github.com/ProtonMail/gopenpgp/v2/crypto" "golang.org/x/time/rate" - "github.com/csaf-poc/csaf_distribution/v2/csaf" - "github.com/csaf-poc/csaf_distribution/v2/util" + "github.com/csaf-poc/csaf_distribution/v3/csaf" + "github.com/csaf-poc/csaf_distribution/v3/util" ) // topicMessages stores the collected topicMessages for a specific topic. diff --git a/cmd/csaf_checker/report.go b/cmd/csaf_checker/report.go index d8c46fc3..2b53bb27 100644 --- a/cmd/csaf_checker/report.go +++ b/cmd/csaf_checker/report.go @@ -18,8 +18,8 @@ import ( "os" "time" - "github.com/csaf-poc/csaf_distribution/v2/csaf" - "github.com/csaf-poc/csaf_distribution/v2/internal/models" + "github.com/csaf-poc/csaf_distribution/v3/csaf" + "github.com/csaf-poc/csaf_distribution/v3/internal/models" ) // MessageType is the kind of the message. diff --git a/cmd/csaf_checker/reporters.go b/cmd/csaf_checker/reporters.go index d1640f0c..51731e1e 100644 --- a/cmd/csaf_checker/reporters.go +++ b/cmd/csaf_checker/reporters.go @@ -13,7 +13,7 @@ import ( "sort" "strings" - "github.com/csaf-poc/csaf_distribution/v2/util" + "github.com/csaf-poc/csaf_distribution/v3/util" ) type ( diff --git a/cmd/csaf_checker/roliecheck.go b/cmd/csaf_checker/roliecheck.go index 6f6a961a..94b1c2f0 100644 --- a/cmd/csaf_checker/roliecheck.go +++ b/cmd/csaf_checker/roliecheck.go @@ -15,8 +15,8 @@ import ( "sort" "strings" - "github.com/csaf-poc/csaf_distribution/v2/csaf" - "github.com/csaf-poc/csaf_distribution/v2/util" + "github.com/csaf-poc/csaf_distribution/v3/csaf" + "github.com/csaf-poc/csaf_distribution/v3/util" ) // identifier consist of document/tracking/id and document/publisher/namespace, diff --git a/cmd/csaf_checker/rules.go b/cmd/csaf_checker/rules.go index 02d4c991..6981b6b1 100644 --- a/cmd/csaf_checker/rules.go +++ b/cmd/csaf_checker/rules.go @@ -12,7 +12,7 @@ import ( "fmt" "sort" - "github.com/csaf-poc/csaf_distribution/v2/csaf" + "github.com/csaf-poc/csaf_distribution/v3/csaf" ) type ruleCondition int diff --git a/cmd/csaf_downloader/config.go b/cmd/csaf_downloader/config.go index 0ecdf18d..17c85459 100644 --- a/cmd/csaf_downloader/config.go +++ b/cmd/csaf_downloader/config.go @@ -19,10 +19,10 @@ import ( "path/filepath" "time" - "github.com/csaf-poc/csaf_distribution/v2/internal/certs" - "github.com/csaf-poc/csaf_distribution/v2/internal/filter" - "github.com/csaf-poc/csaf_distribution/v2/internal/models" - "github.com/csaf-poc/csaf_distribution/v2/internal/options" + "github.com/csaf-poc/csaf_distribution/v3/internal/certs" + "github.com/csaf-poc/csaf_distribution/v3/internal/filter" + "github.com/csaf-poc/csaf_distribution/v3/internal/models" + "github.com/csaf-poc/csaf_distribution/v3/internal/options" ) const ( diff --git a/cmd/csaf_downloader/downloader.go b/cmd/csaf_downloader/downloader.go index fce53c5b..31c62866 100644 --- a/cmd/csaf_downloader/downloader.go +++ b/cmd/csaf_downloader/downloader.go @@ -33,8 +33,8 @@ import ( "github.com/ProtonMail/gopenpgp/v2/crypto" "golang.org/x/time/rate" - "github.com/csaf-poc/csaf_distribution/v2/csaf" - "github.com/csaf-poc/csaf_distribution/v2/util" + "github.com/csaf-poc/csaf_distribution/v3/csaf" + "github.com/csaf-poc/csaf_distribution/v3/util" ) type downloader struct { diff --git a/cmd/csaf_downloader/forwarder.go b/cmd/csaf_downloader/forwarder.go index 3d683b21..067ba99e 100644 --- a/cmd/csaf_downloader/forwarder.go +++ b/cmd/csaf_downloader/forwarder.go @@ -19,8 +19,8 @@ import ( "path/filepath" "strings" - "github.com/csaf-poc/csaf_distribution/v2/internal/misc" - "github.com/csaf-poc/csaf_distribution/v2/util" + "github.com/csaf-poc/csaf_distribution/v3/internal/misc" + "github.com/csaf-poc/csaf_distribution/v3/util" ) // failedForwardDir is the name of the special sub folder diff --git a/cmd/csaf_downloader/main.go b/cmd/csaf_downloader/main.go index e8563f09..7c0e564f 100644 --- a/cmd/csaf_downloader/main.go +++ b/cmd/csaf_downloader/main.go @@ -15,7 +15,7 @@ import ( "os" "os/signal" - "github.com/csaf-poc/csaf_distribution/v2/internal/options" + "github.com/csaf-poc/csaf_distribution/v3/internal/options" ) func run(cfg *config, domains []string) error { diff --git a/cmd/csaf_provider/actions.go b/cmd/csaf_provider/actions.go index 9b39a5ae..54d4e24c 100644 --- a/cmd/csaf_provider/actions.go +++ b/cmd/csaf_provider/actions.go @@ -25,8 +25,9 @@ import ( "github.com/ProtonMail/gopenpgp/v2/armor" "github.com/ProtonMail/gopenpgp/v2/constants" "github.com/ProtonMail/gopenpgp/v2/crypto" - "github.com/csaf-poc/csaf_distribution/v2/csaf" - "github.com/csaf-poc/csaf_distribution/v2/util" + + "github.com/csaf-poc/csaf_distribution/v3/csaf" + "github.com/csaf-poc/csaf_distribution/v3/util" ) const dateFormat = time.RFC3339 diff --git a/cmd/csaf_provider/config.go b/cmd/csaf_provider/config.go index 172d0445..af99cc1e 100644 --- a/cmd/csaf_provider/config.go +++ b/cmd/csaf_provider/config.go @@ -16,8 +16,9 @@ import ( "github.com/BurntSushi/toml" "github.com/ProtonMail/gopenpgp/v2/crypto" - "github.com/csaf-poc/csaf_distribution/v2/csaf" "golang.org/x/crypto/bcrypt" + + "github.com/csaf-poc/csaf_distribution/v3/csaf" ) const ( diff --git a/cmd/csaf_provider/create.go b/cmd/csaf_provider/create.go index 83252ba8..8e882a50 100644 --- a/cmd/csaf_provider/create.go +++ b/cmd/csaf_provider/create.go @@ -21,8 +21,9 @@ import ( "unicode" "github.com/ProtonMail/gopenpgp/v2/crypto" - "github.com/csaf-poc/csaf_distribution/v2/csaf" - "github.com/csaf-poc/csaf_distribution/v2/util" + + "github.com/csaf-poc/csaf_distribution/v3/csaf" + "github.com/csaf-poc/csaf_distribution/v3/util" ) // ensureFolders initializes the paths and call functions to create diff --git a/cmd/csaf_provider/files.go b/cmd/csaf_provider/files.go index 003ef4c8..0b3c5ed4 100644 --- a/cmd/csaf_provider/files.go +++ b/cmd/csaf_provider/files.go @@ -13,7 +13,7 @@ import ( "crypto/sha512" "os" - "github.com/csaf-poc/csaf_distribution/v2/util" + "github.com/csaf-poc/csaf_distribution/v3/util" ) func writeHashedFile(fname, name string, data []byte, armored string) error { diff --git a/cmd/csaf_provider/indices.go b/cmd/csaf_provider/indices.go index 53fe3782..a7ecd3b3 100644 --- a/cmd/csaf_provider/indices.go +++ b/cmd/csaf_provider/indices.go @@ -18,7 +18,7 @@ import ( "sort" "time" - "github.com/csaf-poc/csaf_distribution/v2/util" + "github.com/csaf-poc/csaf_distribution/v3/util" ) func updateIndex(dir, fname string) error { diff --git a/cmd/csaf_provider/main.go b/cmd/csaf_provider/main.go index ec418981..22646769 100644 --- a/cmd/csaf_provider/main.go +++ b/cmd/csaf_provider/main.go @@ -16,8 +16,9 @@ import ( "net/http/cgi" "os" - "github.com/csaf-poc/csaf_distribution/v2/util" "github.com/jessevdk/go-flags" + + "github.com/csaf-poc/csaf_distribution/v3/util" ) type options struct { diff --git a/cmd/csaf_provider/rolie.go b/cmd/csaf_provider/rolie.go index 16d871e0..ea48480c 100644 --- a/cmd/csaf_provider/rolie.go +++ b/cmd/csaf_provider/rolie.go @@ -15,8 +15,8 @@ import ( "strings" "time" - "github.com/csaf-poc/csaf_distribution/v2/csaf" - "github.com/csaf-poc/csaf_distribution/v2/util" + "github.com/csaf-poc/csaf_distribution/v3/csaf" + "github.com/csaf-poc/csaf_distribution/v3/util" ) // mergeCategories merges the given categories into the old ones. diff --git a/cmd/csaf_provider/transaction.go b/cmd/csaf_provider/transaction.go index 07bc4cd6..6d4f69d5 100644 --- a/cmd/csaf_provider/transaction.go +++ b/cmd/csaf_provider/transaction.go @@ -12,8 +12,8 @@ import ( "os" "path/filepath" - "github.com/csaf-poc/csaf_distribution/v2/csaf" - "github.com/csaf-poc/csaf_distribution/v2/util" + "github.com/csaf-poc/csaf_distribution/v3/csaf" + "github.com/csaf-poc/csaf_distribution/v3/util" ) func doTransaction( diff --git a/cmd/csaf_uploader/config.go b/cmd/csaf_uploader/config.go index 9d2ae200..5892eeac 100644 --- a/cmd/csaf_uploader/config.go +++ b/cmd/csaf_uploader/config.go @@ -15,10 +15,11 @@ import ( "os" "github.com/ProtonMail/gopenpgp/v2/crypto" - "github.com/csaf-poc/csaf_distribution/v2/internal/certs" - "github.com/csaf-poc/csaf_distribution/v2/internal/options" "golang.org/x/crypto/bcrypt" "golang.org/x/term" + + "github.com/csaf-poc/csaf_distribution/v3/internal/certs" + "github.com/csaf-poc/csaf_distribution/v3/internal/options" ) const ( diff --git a/cmd/csaf_uploader/main.go b/cmd/csaf_uploader/main.go index 522af41d..1546099f 100644 --- a/cmd/csaf_uploader/main.go +++ b/cmd/csaf_uploader/main.go @@ -9,7 +9,7 @@ // Implements a command line tool that uploads csaf documents to csaf_provider. package main -import "github.com/csaf-poc/csaf_distribution/v2/internal/options" +import "github.com/csaf-poc/csaf_distribution/v3/internal/options" func main() { args, cfg, err := parseArgsConfig() diff --git a/cmd/csaf_uploader/processor.go b/cmd/csaf_uploader/processor.go index 9fcc994e..fa2e59d2 100644 --- a/cmd/csaf_uploader/processor.go +++ b/cmd/csaf_uploader/processor.go @@ -26,9 +26,9 @@ import ( "github.com/ProtonMail/gopenpgp/v2/constants" "github.com/ProtonMail/gopenpgp/v2/crypto" - "github.com/csaf-poc/csaf_distribution/v2/csaf" - "github.com/csaf-poc/csaf_distribution/v2/internal/misc" - "github.com/csaf-poc/csaf_distribution/v2/util" + "github.com/csaf-poc/csaf_distribution/v3/csaf" + "github.com/csaf-poc/csaf_distribution/v3/internal/misc" + "github.com/csaf-poc/csaf_distribution/v3/util" ) type processor struct { diff --git a/cmd/csaf_validator/main.go b/cmd/csaf_validator/main.go index 0d3f2726..559562e7 100644 --- a/cmd/csaf_validator/main.go +++ b/cmd/csaf_validator/main.go @@ -16,9 +16,10 @@ import ( "os" "path/filepath" - "github.com/csaf-poc/csaf_distribution/v2/csaf" - "github.com/csaf-poc/csaf_distribution/v2/util" "github.com/jessevdk/go-flags" + + "github.com/csaf-poc/csaf_distribution/v3/csaf" + "github.com/csaf-poc/csaf_distribution/v3/util" ) type options struct { diff --git a/csaf/advisories.go b/csaf/advisories.go index 26ff8509..9c22ed3f 100644 --- a/csaf/advisories.go +++ b/csaf/advisories.go @@ -18,7 +18,7 @@ import ( "strings" "time" - "github.com/csaf-poc/csaf_distribution/v2/util" + "github.com/csaf-poc/csaf_distribution/v3/util" ) // AdvisoryFile constructs the urls of a remote file. diff --git a/csaf/models.go b/csaf/models.go index ac797e6d..cf519fac 100644 --- a/csaf/models.go +++ b/csaf/models.go @@ -17,7 +17,7 @@ import ( "strings" "time" - "github.com/csaf-poc/csaf_distribution/v2/util" + "github.com/csaf-poc/csaf_distribution/v3/util" ) // TLPLabel is the traffic light policy of the CSAF. diff --git a/csaf/providermetaloader.go b/csaf/providermetaloader.go index 2c8ec2e9..4e4eb494 100644 --- a/csaf/providermetaloader.go +++ b/csaf/providermetaloader.go @@ -17,7 +17,7 @@ import ( "net/http" "strings" - "github.com/csaf-poc/csaf_distribution/v2/util" + "github.com/csaf-poc/csaf_distribution/v3/util" ) // ProviderMetadataLoader helps load provider-metadata.json from diff --git a/csaf/rolie.go b/csaf/rolie.go index 646a55f8..c25e6b46 100644 --- a/csaf/rolie.go +++ b/csaf/rolie.go @@ -14,7 +14,7 @@ import ( "sort" "time" - "github.com/csaf-poc/csaf_distribution/v2/util" + "github.com/csaf-poc/csaf_distribution/v3/util" ) // ROLIEServiceWorkspaceCollectionCategoriesCategory is a category in a ROLIE service collection. diff --git a/csaf/summary.go b/csaf/summary.go index c1b98e8a..9d4d563a 100644 --- a/csaf/summary.go +++ b/csaf/summary.go @@ -11,7 +11,7 @@ package csaf import ( "time" - "github.com/csaf-poc/csaf_distribution/v2/util" + "github.com/csaf-poc/csaf_distribution/v3/util" ) const ( diff --git a/go.mod b/go.mod index dbbbcffc..c66dba7f 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/csaf-poc/csaf_distribution/v2 +module github.com/csaf-poc/csaf_distribution/v3 go 1.21 diff --git a/internal/options/options.go b/internal/options/options.go index 713e81a6..961b4b45 100644 --- a/internal/options/options.go +++ b/internal/options/options.go @@ -18,7 +18,7 @@ import ( "github.com/jessevdk/go-flags" "github.com/mitchellh/go-homedir" - "github.com/csaf-poc/csaf_distribution/v2/util" + "github.com/csaf-poc/csaf_distribution/v3/util" ) // Parser helps parsing command line arguments and loading diff --git a/util/file_test.go b/util/file_test.go index b224a31e..aafce6d9 100644 --- a/util/file_test.go +++ b/util/file_test.go @@ -1,3 +1,11 @@ +// This file is Free Software under the MIT License +// without warranty, see README.md and LICENSES/MIT.txt for details. +// +// SPDX-License-Identifier: MIT +// +// SPDX-FileCopyrightText: 2022 German Federal Office for Information Security (BSI) +// Software-Engineering: 2022 Intevation GmbH + package util import (