From fd624c50eb714ae313301568a6e469618a14fe09 Mon Sep 17 00:00:00 2001 From: Eric Snow Date: Mon, 25 Apr 2016 11:31:46 -0600 Subject: [PATCH] Pass the expected string to NewSha256Verifier(). --- downloader/utils.go | 7 +------ worker/uniter/charm/bundles.go | 3 ++- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/downloader/utils.go b/downloader/utils.go index c764bce95e6..8430a6439e5 100644 --- a/downloader/utils.go +++ b/downloader/utils.go @@ -36,13 +36,8 @@ func NewHTTPBlobOpener(hostnameVerification utils.SSLHostnameVerification) func( // NewSha256Verifier returns a verifier suitable for Request. The // verifier checks the SHA-256 checksum of the file to ensure that it // matches the one returned by the provided func. -func NewSha256Verifier(getExpected func() (string, error)) func(*os.File) error { +func NewSha256Verifier(expected string) func(*os.File) error { return func(file *os.File) error { - expected, err := getExpected() - if err != nil { - return errors.Trace(err) - } - actual, _, err := utils.ReadSHA256(file) if err != nil { return errors.Trace(err) diff --git a/worker/uniter/charm/bundles.go b/worker/uniter/charm/bundles.go index ff9bc4f655c..c7a6458e799 100644 --- a/worker/uniter/charm/bundles.go +++ b/worker/uniter/charm/bundles.go @@ -68,10 +68,11 @@ func (d *BundlesDir) download(info BundleInfo, target string, abort <-chan struc if err != nil { return errors.Annotate(err, "could not parse charm URL") } + expectedSha256, err := info.ArchiveSha256() req := downloader.Request{ URL: curl, TargetDir: d.downloadsPath(), - Verify: downloader.NewSha256Verifier(info.ArchiveSha256), + Verify: downloader.NewSha256Verifier(expectedSha256), } logger.Infof("downloading %s from API server", info.URL()) filename, err := d.downloader.Download(req, abort)