mirror of https://github.com/hashicorp/consul
parent
9ed554b40c
commit
f1436109ea
@ -0,0 +1,4 @@
|
||||
```release-note:security
|
||||
Upgrade to use Go 1.20.1.
|
||||
This resolves vulnerabilities [CVE-2022-41724](https://go.dev/issue/58001) in `crypto/tls` and [CVE-2022-41723](https://go.dev/issue/57855) in `net/http`.
|
||||
```
|
@ -1,4 +1,4 @@
|
||||
ARG GOLANG_VERSION=1.19.2
|
||||
ARG GOLANG_VERSION=1.20.1
|
||||
FROM golang:${GOLANG_VERSION}
|
||||
|
||||
WORKDIR /consul
|
||||
|
@ -1,34 +0,0 @@
|
||||
package lib
|
||||
|
||||
import (
|
||||
crand "crypto/rand"
|
||||
"math"
|
||||
"math/big"
|
||||
"math/rand"
|
||||
"sync"
|
||||
"time"
|
||||
)
|
||||
|
||||
var (
|
||||
once sync.Once
|
||||
|
||||
// SeededSecurely is set to true if a cryptographically secure seed
|
||||
// was used to initialize rand. When false, the start time is used
|
||||
// as a seed.
|
||||
SeededSecurely bool
|
||||
)
|
||||
|
||||
// SeedMathRand provides weak, but guaranteed seeding, which is better than
|
||||
// running with Go's default seed of 1. A call to SeedMathRand() is expected
|
||||
// to be called via init(), but never a second time.
|
||||
func SeedMathRand() {
|
||||
once.Do(func() {
|
||||
n, err := crand.Int(crand.Reader, big.NewInt(math.MaxInt64))
|
||||
if err != nil {
|
||||
rand.Seed(time.Now().UTC().UnixNano())
|
||||
return
|
||||
}
|
||||
rand.Seed(n.Int64())
|
||||
SeededSecurely = true
|
||||
})
|
||||
}
|
Loading…
Reference in new issue