From b55543f424b4ebffe0080446816fff7b5aa191d1 Mon Sep 17 00:00:00 2001 From: Khanh Ngo Date: Fri, 11 Aug 2023 11:48:51 +0200 Subject: [PATCH] fix: set random session secret if not set (#417) --- main.go | 2 +- util/util.go | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/main.go b/main.go index a6c147f..0131208 100644 --- a/main.go +++ b/main.go @@ -38,7 +38,7 @@ var ( flagSendgridApiKey string flagEmailFrom string flagEmailFromName string = "WireGuard UI" - flagSessionSecret string + flagSessionSecret string = util.RandomString(32) flagWgConfTemplate string flagBasePath string ) diff --git a/util/util.go b/util/util.go index 4d4b9b3..44f8f01 100644 --- a/util/util.go +++ b/util/util.go @@ -9,6 +9,7 @@ import ( "io" "io/fs" "io/ioutil" + "math/rand" "net" "os" "path" @@ -529,3 +530,13 @@ func UpdateHashes(db store.IStore) error { clientServerHashes.Client, clientServerHashes.Server = GetCurrentHash(db) return db.SaveHashes(clientServerHashes) } + +func RandomString(length int) string { + var seededRand = rand.New(rand.NewSource(time.Now().UnixNano())) + charset := "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" + b := make([]byte, length) + for i := range b { + b[i] = charset[seededRand.Intn(len(charset))] + } + return string(b) +}