Skip to content

Commit b74f666

Browse files
committed
move deprecated settings into a single function
1 parent 8a0f7f0 commit b74f666

File tree

10 files changed

+71
-182
lines changed

10 files changed

+71
-182
lines changed

modules/setting/git.go

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -97,16 +97,6 @@ func loadGitFrom(rootCfg ConfigProvider) {
9797
GitConfig.SetOption("core.logAllRefUpdates", "true")
9898
GitConfig.SetOption("gc.reflogExpire", "90")
9999

100-
secGitReflog := rootCfg.Section("git.reflog")
101-
if secGitReflog.HasKey("ENABLED") {
102-
deprecatedSetting(rootCfg, "git.reflog", "ENABLED", "git.config", "core.logAllRefUpdates", "1.21")
103-
GitConfig.SetOption("core.logAllRefUpdates", secGitReflog.Key("ENABLED").In("true", []string{"true", "false"}))
104-
}
105-
if secGitReflog.HasKey("EXPIRATION") {
106-
deprecatedSetting(rootCfg, "git.reflog", "EXPIRATION", "git.config", "core.reflogExpire", "1.21")
107-
GitConfig.SetOption("gc.reflogExpire", secGitReflog.Key("EXPIRATION").String())
108-
}
109-
110100
for _, key := range secGitConfig.Keys() {
111101
GitConfig.SetOption(key.Name(), key.String())
112102
}

modules/setting/lfs.go

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -40,18 +40,6 @@ func loadLFSFrom(rootCfg ConfigProvider) error {
4040

4141
lfsSec, _ := rootCfg.GetSection("lfs")
4242

43-
// Specifically default PATH to LFS_CONTENT_PATH
44-
// DEPRECATED should not be removed because users maybe upgrade from lower version to the latest version
45-
// if these are removed, the warning will not be shown
46-
deprecatedSetting(rootCfg, "server", "LFS_CONTENT_PATH", "lfs", "PATH", "v1.19.0")
47-
48-
if val := sec.Key("LFS_CONTENT_PATH").String(); val != "" {
49-
if lfsSec == nil {
50-
lfsSec = rootCfg.Section("lfs")
51-
}
52-
lfsSec.Key("PATH").MustString(val)
53-
}
54-
5543
var err error
5644
LFS.Storage, err = getStorage(rootCfg, "lfs", "", lfsSec)
5745
if err != nil {

modules/setting/log.go

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -60,38 +60,13 @@ func prepareLoggerConfig(rootCfg ConfigProvider) {
6060
sec.Key("logger.default.MODE").MustString(",")
6161
}
6262

63-
deprecatedSetting(rootCfg, "log", "ACCESS", "log", "logger.access.MODE", "1.21")
64-
deprecatedSetting(rootCfg, "log", "ENABLE_ACCESS_LOG", "log", "logger.access.MODE", "1.21")
65-
if val := sec.Key("ACCESS").String(); val != "" {
66-
sec.Key("logger.access.MODE").MustString(val)
67-
}
68-
if sec.HasKey("ENABLE_ACCESS_LOG") && !sec.Key("ENABLE_ACCESS_LOG").MustBool() {
69-
sec.Key("logger.access.MODE").SetValue("")
70-
}
71-
72-
deprecatedSetting(rootCfg, "log", "ROUTER", "log", "logger.router.MODE", "1.21")
73-
deprecatedSetting(rootCfg, "log", "DISABLE_ROUTER_LOG", "log", "logger.router.MODE", "1.21")
74-
if val := sec.Key("ROUTER").String(); val != "" {
75-
sec.Key("logger.router.MODE").MustString(val)
76-
}
7763
if !sec.HasKey("logger.router.MODE") {
7864
sec.Key("logger.router.MODE").MustString(",") // use default logger
7965
}
80-
if sec.HasKey("DISABLE_ROUTER_LOG") && sec.Key("DISABLE_ROUTER_LOG").MustBool() {
81-
sec.Key("logger.router.MODE").SetValue("")
82-
}
8366

84-
deprecatedSetting(rootCfg, "log", "XORM", "log", "logger.xorm.MODE", "1.21")
85-
deprecatedSetting(rootCfg, "log", "ENABLE_XORM_LOG", "log", "logger.xorm.MODE", "1.21")
86-
if val := sec.Key("XORM").String(); val != "" {
87-
sec.Key("logger.xorm.MODE").MustString(val)
88-
}
8967
if !sec.HasKey("logger.xorm.MODE") {
9068
sec.Key("logger.xorm.MODE").MustString(",") // use default logger
9169
}
92-
if sec.HasKey("ENABLE_XORM_LOG") && !sec.Key("ENABLE_XORM_LOG").MustBool() {
93-
sec.Key("logger.xorm.MODE").SetValue("")
94-
}
9570
}
9671

9772
func LogPrepareFilenameForWriter(fileName, defaultFileName string) string {

modules/setting/mailer.go

Lines changed: 0 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -73,76 +73,6 @@ func loadMailerFrom(rootCfg ConfigProvider) {
7373
return
7474
}
7575

76-
// Handle Deprecations and map on to new configuration
77-
// DEPRECATED should not be removed because users maybe upgrade from lower version to the latest version
78-
// if these are removed, the warning will not be shown
79-
deprecatedSetting(rootCfg, "mailer", "MAILER_TYPE", "mailer", "PROTOCOL", "v1.19.0")
80-
if sec.HasKey("MAILER_TYPE") && !sec.HasKey("PROTOCOL") {
81-
if sec.Key("MAILER_TYPE").String() == "sendmail" {
82-
sec.Key("PROTOCOL").MustString("sendmail")
83-
}
84-
}
85-
86-
deprecatedSetting(rootCfg, "mailer", "HOST", "mailer", "SMTP_ADDR", "v1.19.0")
87-
if sec.HasKey("HOST") && !sec.HasKey("SMTP_ADDR") {
88-
givenHost := sec.Key("HOST").String()
89-
addr, port, err := net.SplitHostPort(givenHost)
90-
if err != nil && strings.Contains(err.Error(), "missing port in address") {
91-
addr = givenHost
92-
} else if err != nil {
93-
log.Fatal("Invalid mailer.HOST (%s): %v", givenHost, err)
94-
}
95-
if addr == "" {
96-
addr = "127.0.0.1"
97-
}
98-
sec.Key("SMTP_ADDR").MustString(addr)
99-
sec.Key("SMTP_PORT").MustString(port)
100-
}
101-
102-
deprecatedSetting(rootCfg, "mailer", "IS_TLS_ENABLED", "mailer", "PROTOCOL", "v1.19.0")
103-
if sec.HasKey("IS_TLS_ENABLED") && !sec.HasKey("PROTOCOL") {
104-
if sec.Key("IS_TLS_ENABLED").MustBool() {
105-
sec.Key("PROTOCOL").MustString("smtps")
106-
} else {
107-
sec.Key("PROTOCOL").MustString("smtp+starttls")
108-
}
109-
}
110-
111-
deprecatedSetting(rootCfg, "mailer", "DISABLE_HELO", "mailer", "ENABLE_HELO", "v1.19.0")
112-
if sec.HasKey("DISABLE_HELO") && !sec.HasKey("ENABLE_HELO") {
113-
sec.Key("ENABLE_HELO").MustBool(!sec.Key("DISABLE_HELO").MustBool())
114-
}
115-
116-
deprecatedSetting(rootCfg, "mailer", "SKIP_VERIFY", "mailer", "FORCE_TRUST_SERVER_CERT", "v1.19.0")
117-
if sec.HasKey("SKIP_VERIFY") && !sec.HasKey("FORCE_TRUST_SERVER_CERT") {
118-
sec.Key("FORCE_TRUST_SERVER_CERT").MustBool(sec.Key("SKIP_VERIFY").MustBool())
119-
}
120-
121-
deprecatedSetting(rootCfg, "mailer", "USE_CERTIFICATE", "mailer", "USE_CLIENT_CERT", "v1.19.0")
122-
if sec.HasKey("USE_CERTIFICATE") && !sec.HasKey("USE_CLIENT_CERT") {
123-
sec.Key("USE_CLIENT_CERT").MustBool(sec.Key("USE_CERTIFICATE").MustBool())
124-
}
125-
126-
deprecatedSetting(rootCfg, "mailer", "CERT_FILE", "mailer", "CLIENT_CERT_FILE", "v1.19.0")
127-
if sec.HasKey("CERT_FILE") && !sec.HasKey("CLIENT_CERT_FILE") {
128-
sec.Key("CERT_FILE").MustString(sec.Key("CERT_FILE").String())
129-
}
130-
131-
deprecatedSetting(rootCfg, "mailer", "KEY_FILE", "mailer", "CLIENT_KEY_FILE", "v1.19.0")
132-
if sec.HasKey("KEY_FILE") && !sec.HasKey("CLIENT_KEY_FILE") {
133-
sec.Key("KEY_FILE").MustString(sec.Key("KEY_FILE").String())
134-
}
135-
136-
deprecatedSetting(rootCfg, "mailer", "ENABLE_HTML_ALTERNATIVE", "mailer", "SEND_AS_PLAIN_TEXT", "v1.19.0")
137-
if sec.HasKey("ENABLE_HTML_ALTERNATIVE") && !sec.HasKey("SEND_AS_PLAIN_TEXT") {
138-
sec.Key("SEND_AS_PLAIN_TEXT").MustBool(!sec.Key("ENABLE_HTML_ALTERNATIVE").MustBool(false))
139-
}
140-
141-
if sec.HasKey("PROTOCOL") && sec.Key("PROTOCOL").String() == "smtp+startls" {
142-
log.Error("Deprecated fallback `[mailer]` `PROTOCOL = smtp+startls` present. Use `[mailer]` `PROTOCOL = smtp+starttls`` instead. This fallback will be removed in v1.19.0")
143-
sec.Key("PROTOCOL").SetValue("smtp+starttls")
144-
}
145-
14676
// Set default values & validate
14777
sec.Key("NAME").MustString(AppName)
14878
sec.Key("PROTOCOL").In("", []string{"smtp", "smtps", "smtp+starttls", "smtp+unix", "sendmail", "dummy"})

modules/setting/mirror.go

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,6 @@ var Mirror = struct {
2525
}
2626

2727
func loadMirrorFrom(rootCfg ConfigProvider) {
28-
// Handle old configuration through `[repository]` `DISABLE_MIRRORS`
29-
// - please note this was badly named and only disabled the creation of new pull mirrors
30-
// DEPRECATED should not be removed because users maybe upgrade from lower version to the latest version
31-
// if these are removed, the warning will not be shown
32-
deprecatedSetting(rootCfg, "repository", "DISABLE_MIRRORS", "mirror", "ENABLED", "v1.19.0")
33-
if ConfigSectionKeyBool(rootCfg.Section("repository"), "DISABLE_MIRRORS") {
34-
Mirror.DisableNewPull = true
35-
}
36-
3728
if err := rootCfg.Section("mirror").MapTo(&Mirror); err != nil {
3829
log.Fatal("Failed to map Mirror settings: %v", err)
3930
}

modules/setting/removed.go

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
package setting
2+
3+
import (
4+
"errors"
5+
"fmt"
6+
7+
"code.gitea.io/gitea/modules/log"
8+
)
9+
10+
// checkForRemovedSettings checks the entire configuration for removed keys and gathers them fataling if any is present
11+
// Arbitrary permament removal is 3 releases
12+
func checkForRemovedSettings(rootCfg ConfigProvider) {
13+
var errs []error
14+
15+
removedSettings := []struct {
16+
oldSection, oldKey, newSection, newKey, version string
17+
}{
18+
{"service", "EMAIL_DOMAIN_WHITELIST", "service", "EMAIL_DOMAIN_ALLOWLIST", "1.21"},
19+
{"mailer", "MAILER_TYPE", "mailer", "PROTOCOL", "v1.19.0"},
20+
{"mailer", "HOST", "mailer", "SMTP_ADDR", "v1.19.0"},
21+
{"mailer", "IS_TLS_ENABLED", "mailer", "PROTOCOL", "v1.19.0"},
22+
{"mailer", "DISABLE_HELO", "mailer", "ENABLE_HELO", "v1.19.0"},
23+
{"mailer", "SKIP_VERIFY", "mailer", "FORCE_TRUST_SERVER_CERT", "v1.19.0"},
24+
{"mailer", "USE_CERTIFICATE", "mailer", "USE_CLIENT_CERT", "v1.19.0"},
25+
{"mailer", "CERT_FILE", "mailer", "CLIENT_CERT_FILE", "v1.19.0"},
26+
{"mailer", "KEY_FILE", "mailer", "CLIENT_KEY_FILE", "v1.19.0"},
27+
{"task", "QUEUE_TYPE", "queue.task", "TYPE", "v1.19.0"},
28+
{"task", "QUEUE_CONN_STR", "queue.task", "CONN_STR", "v1.19.0"},
29+
{"task", "QUEUE_LENGTH", "queue.task", "LENGTH", "v1.19.0"},
30+
{"server", "ENABLE_LETSENCRYPT", "server", "ENABLE_ACME", "v1.19.0"},
31+
{"server", "LETSENCRYPT_ACCEPTTOS", "server", "ACME_ACCEPTTOS", "v1.19.0"},
32+
{"server", "LETSENCRYPT_DIRECTORY", "server", "ACME_DIRECTORY", "v1.19.0"},
33+
{"server", "LETSENCRYPT_EMAIL", "server", "ACME_EMAIL", "v1.19.0"},
34+
{"git.reflog", "ENABLED", "git.config", "core.logAllRefUpdates", "1.21"},
35+
{"git.reflog", "EXPIRATION", "git.config", "core.reflogExpire", "1.21"},
36+
{"repository", "DISABLE_MIRRORS", "mirror", "ENABLED", "v1.19.0"},
37+
{"server", "LFS_CONTENT_PATH", "lfs", "PATH", "v1.19.0"},
38+
{"log", "XORM", "log", "logger.xorm.MODE", "1.21"},
39+
{"log", "ENABLE_XORM_LOG", "log", "logger.xorm.MODE", "1.21"},
40+
{"log", "ROUTER", "log", "logger.router.MODE", "1.21"},
41+
{"log", "DISABLE_ROUTER_LOG", "log", "logger.router.MODE", "1.21"},
42+
{"log", "ACCESS", "log", "logger.access.MODE", "1.21"},
43+
{"log", "ENABLE_ACCESS_LOG", "log", "logger.access.MODE", "1.21"},
44+
}
45+
46+
for _, rs := range removedSettings {
47+
errs = append(errs, removedSetting(rootCfg, rs.oldSection, rs.oldKey, rs.newSection, rs.newKey, rs.version))
48+
}
49+
50+
if rootCfg.Section("mailer").Key("PROTOCOL").String() == "smtp+startls" {
51+
errs = append(errs, fmt.Errorf("removed fallback `[mailer]` `PROTOCOL = smtp+startls` present. Use `[mailer]` `PROTOCOL = smtp+starttls`` instead"))
52+
}
53+
54+
err := errors.Join(errs...)
55+
if err != nil {
56+
log.Fatal("Encountered errors while loading configuration: %v", err)
57+
}
58+
}
59+
60+
func removedSetting(rootCfg ConfigProvider, oldSection, oldKey, newSection, newKey, version string) error {
61+
if rootCfg.Section(oldSection).HasKey(oldKey) {
62+
return fmt.Errorf("Config option `[%s].%s` was removed in %s. Please use `[%s].%s`", oldSection, oldKey, version, newSection, newKey)
63+
}
64+
return nil
65+
}

modules/setting/server.go

Lines changed: 5 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -169,14 +169,7 @@ func loadServerFrom(rootCfg ConfigProvider) {
169169
HTTPAddr = sec.Key("HTTP_ADDR").MustString("0.0.0.0")
170170
HTTPPort = sec.Key("HTTP_PORT").MustString("3000")
171171

172-
// DEPRECATED should not be removed because users maybe upgrade from lower version to the latest version
173-
// if these are removed, the warning will not be shown
174-
if sec.HasKey("ENABLE_ACME") {
175-
EnableAcme = sec.Key("ENABLE_ACME").MustBool(false)
176-
} else {
177-
deprecatedSetting(rootCfg, "server", "ENABLE_LETSENCRYPT", "server", "ENABLE_ACME", "v1.19.0")
178-
EnableAcme = sec.Key("ENABLE_LETSENCRYPT").MustBool(false)
179-
}
172+
EnableAcme = sec.Key("ENABLE_ACME").MustBool(false)
180173

181174
Protocol = HTTP
182175
protocolCfg := sec.Key("PROTOCOL").String()
@@ -191,29 +184,15 @@ func loadServerFrom(rootCfg ConfigProvider) {
191184
AcmeURL = sec.Key("ACME_URL").MustString("")
192185
AcmeCARoot = sec.Key("ACME_CA_ROOT").MustString("")
193186

194-
if sec.HasKey("ACME_ACCEPTTOS") {
195-
AcmeTOS = sec.Key("ACME_ACCEPTTOS").MustBool(false)
196-
} else {
197-
deprecatedSetting(rootCfg, "server", "LETSENCRYPT_ACCEPTTOS", "server", "ACME_ACCEPTTOS", "v1.19.0")
198-
AcmeTOS = sec.Key("LETSENCRYPT_ACCEPTTOS").MustBool(false)
199-
}
187+
AcmeTOS = sec.Key("ACME_ACCEPTTOS").MustBool(false)
188+
200189
if !AcmeTOS {
201190
log.Fatal("ACME TOS is not accepted (ACME_ACCEPTTOS).")
202191
}
203192

204-
if sec.HasKey("ACME_DIRECTORY") {
205-
AcmeLiveDirectory = sec.Key("ACME_DIRECTORY").MustString("https")
206-
} else {
207-
deprecatedSetting(rootCfg, "server", "LETSENCRYPT_DIRECTORY", "server", "ACME_DIRECTORY", "v1.19.0")
208-
AcmeLiveDirectory = sec.Key("LETSENCRYPT_DIRECTORY").MustString("https")
209-
}
193+
AcmeLiveDirectory = sec.Key("ACME_DIRECTORY").MustString("https")
210194

211-
if sec.HasKey("ACME_EMAIL") {
212-
AcmeEmail = sec.Key("ACME_EMAIL").MustString("")
213-
} else {
214-
deprecatedSetting(rootCfg, "server", "LETSENCRYPT_EMAIL", "server", "ACME_EMAIL", "v1.19.0")
215-
AcmeEmail = sec.Key("LETSENCRYPT_EMAIL").MustString("")
216-
}
195+
AcmeEmail = sec.Key("ACME_EMAIL").MustString("")
217196
if AcmeEmail == "" {
218197
log.Fatal("ACME Email is not set (ACME_EMAIL).")
219198
}

modules/setting/service.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,9 +152,6 @@ func loadServiceFrom(rootCfg ConfigProvider) {
152152
} else {
153153
Service.RegisterManualConfirm = false
154154
}
155-
if sec.HasKey("EMAIL_DOMAIN_WHITELIST") {
156-
deprecatedSetting(rootCfg, "service", "EMAIL_DOMAIN_WHITELIST", "service", "EMAIL_DOMAIN_ALLOWLIST", "1.21")
157-
}
158155
Service.EmailDomainAllowList = CompileEmailGlobList(sec, "EMAIL_DOMAIN_WHITELIST", "EMAIL_DOMAIN_ALLOWLIST")
159156
Service.EmailDomainBlockList = CompileEmailGlobList(sec, "EMAIL_DOMAIN_BLOCKLIST")
160157
Service.ShowRegistrationButton = sec.Key("SHOW_REGISTRATION_BUTTON").MustBool(!(Service.DisableRegistration || Service.AllowOnlyExternalRegistration))

modules/setting/setting.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,7 @@ func mustCurrentRunUserMatch(rootCfg ConfigProvider) {
200200
// LoadSettings initializes the settings for normal start up
201201
func LoadSettings() {
202202
initAllLoggers()
203+
checkForRemovedSettings(CfgProvider)
203204

204205
loadDBSetting(CfgProvider)
205206
loadServiceFrom(CfgProvider)
@@ -212,7 +213,6 @@ func LoadSettings() {
212213
loadWebhookFrom(CfgProvider)
213214
loadMigrationsFrom(CfgProvider)
214215
loadIndexerFrom(CfgProvider)
215-
loadTaskFrom(CfgProvider)
216216
LoadQueueSettings()
217217
loadProjectFrom(CfgProvider)
218218
loadMimeTypeMapFrom(CfgProvider)

modules/setting/task.go

Lines changed: 0 additions & 26 deletions
This file was deleted.

0 commit comments

Comments
 (0)