Skip to content

Commit 9b47469

Browse files
lunnyGustedwxiaoguangzeripath
authored
Only request write when necessary (#18657) (#19422)
* Only request write when necessary - Only request write for `INTERNAL_TOKEN_URI` when no token was found. - Resolves #18655 * Fix perm * Update setting.go * Update setting.go * Update setting.go Co-authored-by: wxiaoguang <[email protected]> Co-authored-by: zeripath <[email protected]> Co-authored-by: Gusted <[email protected]> Co-authored-by: wxiaoguang <[email protected]> Co-authored-by: zeripath <[email protected]>
1 parent 00da1fa commit 9b47469

File tree

1 file changed

+4
-11
lines changed

1 file changed

+4
-11
lines changed

modules/setting/setting.go

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ package setting
88
import (
99
"encoding/base64"
1010
"fmt"
11-
"io"
1211
"math"
1312
"net"
1413
"net/url"
@@ -1080,28 +1079,22 @@ func loadInternalToken(sec *ini.Section) string {
10801079
}
10811080
switch tempURI.Scheme {
10821081
case "file":
1083-
fp, err := os.OpenFile(tempURI.RequestURI(), os.O_RDWR, 0o600)
1084-
if err != nil {
1082+
buf, err := os.ReadFile(tempURI.RequestURI())
1083+
if err != nil && !os.IsNotExist(err) {
10851084
log.Fatal("Failed to open InternalTokenURI (%s): %v", uri, err)
10861085
}
1087-
defer fp.Close()
1088-
1089-
buf, err := io.ReadAll(fp)
1090-
if err != nil {
1091-
log.Fatal("Failed to read InternalTokenURI (%s): %v", uri, err)
1092-
}
10931086
// No token in the file, generate one and store it.
10941087
if len(buf) == 0 {
10951088
token, err := generate.NewInternalToken()
10961089
if err != nil {
10971090
log.Fatal("Error generate internal token: %v", err)
10981091
}
1099-
if _, err := io.WriteString(fp, token); err != nil {
1092+
err = os.WriteFile(tempURI.RequestURI(), []byte(token), 0o600)
1093+
if err != nil {
11001094
log.Fatal("Error writing to InternalTokenURI (%s): %v", uri, err)
11011095
}
11021096
return token
11031097
}
1104-
11051098
return strings.TrimSpace(string(buf))
11061099
default:
11071100
log.Fatal("Unsupported URI-Scheme %q (INTERNAL_TOKEN_URI = %q)", tempURI.Scheme, uri)

0 commit comments

Comments
 (0)