giteabot backport / giteabot (push) Canceled after 0s
giteabot / giteabot (push) Canceled after 0s
release-nightly / nightly-binary (push) Canceled after 0s
release-nightly / nightly-container (push) Canceled after 0s
cache-seeder / gobuild (push) Canceled after 0s
cache-seeder / lint (bindata, lint-backend) (push) Canceled after 0s
release-nightly-snapcraft / build-and-publish (push) Canceled after 0s
Includes direct password setup links in registration emails. Assisted-by: Codex:GPT-5
33 lines
722 B
Go
33 lines
722 B
Go
// Copyright 2023 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package setting
|
|
|
|
import (
|
|
"strconv"
|
|
|
|
"gitea.dev/modules/log"
|
|
)
|
|
|
|
var Camo = struct {
|
|
Enabled bool
|
|
ServerURL string `ini:"SERVER_URL"`
|
|
HMACKey string `ini:"HMAC_KEY"`
|
|
Always bool
|
|
}{}
|
|
|
|
func loadCamoFrom(rootCfg ConfigProvider) {
|
|
mustMapSetting(rootCfg, "camo", &Camo)
|
|
if Camo.Enabled {
|
|
oldValue := rootCfg.Section("camo").Key("ALLWAYS").MustString("")
|
|
if oldValue != "" {
|
|
log.Warn("camo.ALLWAYS is deprecated, use camo.ALWAYS instead")
|
|
Camo.Always, _ = strconv.ParseBool(oldValue)
|
|
}
|
|
|
|
if Camo.ServerURL == "" || Camo.HMACKey == "" {
|
|
log.Fatal(`Camo settings require "SERVER_URL" and HMAC_KEY`)
|
|
}
|
|
}
|
|
}
|