/*
GoCheese -- Python private package repository and caching proxy
-Copyright (C) 2019-2021 Sergey Matveev <stargrave@stargrave.org>
- 2019-2021 Elena Balakhonova <balakhonova_e@riseup.net>
+Copyright (C) 2019-2023 Sergey Matveev <stargrave@stargrave.org>
+ 2019-2023 Elena Balakhonova <balakhonova_e@riseup.net>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
"crypto/sha256"
"encoding/hex"
"io"
- "io/ioutil"
"log"
"net/http"
"os"
return
}
src, err := file.Open()
- defer src.Close()
if err != nil {
log.Println("error", r.RemoteAddr, filename, err)
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
+ defer src.Close()
dst, err := TempFile(dirPath)
if err != nil {
log.Println("error", r.RemoteAddr, filename, err)
digestSHA256 := hasherSHA256.Sum(nil)
digestBLAKE2b256 := hasherBLAKE2b256.Sum(nil)
if digestSHA256Expected != nil {
- if bytes.Compare(digestSHA256Expected, digestSHA256) == 0 {
+ if bytes.Equal(digestSHA256Expected, digestSHA256) {
log.Println(r.RemoteAddr, filename, "good SHA256 checksum received")
} else {
log.Println(r.RemoteAddr, filename, "bad SHA256 checksum received")
}
}
if digestBLAKE2b256Expected != nil {
- if bytes.Compare(digestBLAKE2b256Expected, digestBLAKE2b256) == 0 {
+ if bytes.Equal(digestBLAKE2b256Expected, digestBLAKE2b256) {
log.Println(r.RemoteAddr, filename, "good BLAKE2b-256 checksum received")
} else {
log.Println(r.RemoteAddr, filename, "bad BLAKE2b-256 checksum received")
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
- sig, err := ioutil.ReadAll(src)
+ sig, err := io.ReadAll(src)
src.Close()
if err != nil {
log.Println("error", r.RemoteAddr, filename, err)