mirror of
https://github.com/drakkan/sftpgo.git
synced 2024-11-21 15:10:23 +00:00
remove fallback if rand.Reader fails
Failing to read from rand.Reader essentially can't happen, and if it does is not possible to fallback securely, so just panic Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
This commit is contained in:
parent
4eb4ff66ce
commit
03724d5eb1
1 changed files with 4 additions and 11 deletions
|
@ -48,7 +48,6 @@ import (
|
|||
|
||||
"github.com/google/uuid"
|
||||
"github.com/lithammer/shortuuid/v4"
|
||||
"github.com/rs/xid"
|
||||
"golang.org/x/crypto/ssh"
|
||||
|
||||
"github.com/drakkan/sftpgo/v2/internal/logger"
|
||||
|
@ -566,23 +565,17 @@ func createDirPathIfMissing(file string, perm os.FileMode) error {
|
|||
func GenerateRandomBytes(length int) []byte {
|
||||
b := make([]byte, length)
|
||||
_, err := io.ReadFull(rand.Reader, b)
|
||||
if err == nil {
|
||||
if err != nil {
|
||||
PanicOnError(fmt.Errorf("failed to read random data (see https://go.dev/issue/66821): %w", err))
|
||||
}
|
||||
return b
|
||||
}
|
||||
|
||||
b = xid.New().Bytes()
|
||||
for len(b) < length {
|
||||
b = append(b, xid.New().Bytes()...)
|
||||
}
|
||||
|
||||
return b[:length]
|
||||
}
|
||||
|
||||
// GenerateUniqueID returns an unique ID
|
||||
func GenerateUniqueID() string {
|
||||
u, err := uuid.NewRandom()
|
||||
if err != nil {
|
||||
return xid.New().String()
|
||||
PanicOnError(fmt.Errorf("failed to read random data (see https://go.dev/issue/66821): %w", err))
|
||||
}
|
||||
return shortuuid.DefaultEncoder.Encode(u)
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue