use sha256 checksum instead of md5 (#30018)
* use sha256 checksum instead of md5 * Chore: Rewrite ldap login test to standard library (#29998) * Chore: Rewrite ldap login test to standard library * Preserve original ldap enabled setting after test * Chore: Rewrite models alert test to standard library (#30021) * Chore: Rewrite models dashboard acl test to standard library (#30022) * Chore: Rewrite models dashboards test to standard library (#30023) * Chore: Rewrite login auth test to standard library (#29985) * Chore: Rewrite login auth test to standard library * Use assert.Empty when empty string expected * Chore: Rewrite brute force login protection test to standard library (#29986) * Update pkg/cmd/grafana-cli/services/api_client.go Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com> * Update pkg/cmd/grafana-cli/services/api_client.go Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com> * use sha256 checksum instead of md5 * Update pkg/cmd/grafana-cli/services/api_client.go Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com> * Update pkg/cmd/grafana-cli/services/api_client.go Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com> * grafana-cli: Remove MD5 Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com> Co-authored-by: Emil Hessman <emil@hessman.se> Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
This commit is contained in:
co-authored by
Arve Knudsen
Emil Hessman
parent
1b53558173
commit
db67e70ba4
@@ -2,7 +2,7 @@ package services
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"crypto/md5"
|
||||
"crypto/sha256"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
@@ -101,15 +101,15 @@ func (client *GrafanaComClient) DownloadFile(pluginName string, tmpFile *os.File
|
||||
}()
|
||||
|
||||
w := bufio.NewWriter(tmpFile)
|
||||
h := md5.New()
|
||||
h := sha256.New()
|
||||
if _, err = io.Copy(w, io.TeeReader(bodyReader, h)); err != nil {
|
||||
return errutil.Wrap("Failed to compute MD5 checksum", err)
|
||||
return errutil.Wrap("failed to compute SHA256 checksum", err)
|
||||
}
|
||||
if err := w.Flush(); err != nil {
|
||||
return fmt.Errorf("failed to write to %q: %w", tmpFile.Name(), err)
|
||||
}
|
||||
if len(checksum) > 0 && checksum != fmt.Sprintf("%x", h.Sum(nil)) {
|
||||
return fmt.Errorf("expected MD5 checksum does not match the downloaded archive - please contact security@grafana.com")
|
||||
return fmt.Errorf("expected SHA256 checksum does not match the downloaded archive - please contact security@grafana.com")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user