diff --git a/core/mod.go b/core/mod.go index 16b1384..d955bc5 100644 --- a/core/mod.go +++ b/core/mod.go @@ -148,8 +148,14 @@ func (m Mod) DownloadFile(dest io.Writer) error { } calculatedHash := hex.EncodeToString(h.Sum(nil)) - if calculatedHash != m.Download.Hash && strings.ToUpper(calculatedHash) != m.Download.Hash { + + // Check if the hash of the downloaded file matches the expected hash. + // Also check if the uppercase version of the expected hash matches. + if(strings.ToUpper(calculatedHash) != m.Download.Hash) { + return errors.New(fmt.Sprintf("Hash of saved file %s only matches when uppercased. Consider changing this to prevent future issues.", m.GetFilePath())) + } else if calculatedHash != m.Download.Hash { return errors.New(fmt.Sprintf("hash of saved file is invalid!\n .toml hash: %s\n download hash: %s", calculatedHash, m.Download.Hash)) } + return nil }