summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwxiaoguang <wxiaoguang@gmail.com>2023-06-29 12:30:40 +0800
committerGitHub <noreply@github.com>2023-06-29 06:30:40 +0200
commite6f62eea7020c0c4ec60aab31a56b76870d4cd21 (patch)
treece787013c35082a7eebda6ab02a6959a867ed1b7
parent8981f6d0fc375c75ff5a2c1b6eb9e33c8dbaf722 (diff)
downloadgitea-e6f62eea7020c0c4ec60aab31a56b76870d4cd21.tar.gz
gitea-e6f62eea7020c0c4ec60aab31a56b76870d4cd21.zip
Do not prepare oauth2 config if it is not enabled, do not write config in some sub-commands (#25567) (#25576)
Backport #25567 Ref: * https://github.com/go-gitea/gitea/issues/25377#issuecomment-1609757289 And some sub-commands like "generate" / "docs", they do not need to use the ini config
-rw-r--r--cmd/embedded.go4
-rw-r--r--main.go23
-rw-r--r--modules/setting/oauth2.go4
3 files changed, 21 insertions, 10 deletions
diff --git a/cmd/embedded.go b/cmd/embedded.go
index 204a623cf7..105acee26c 100644
--- a/cmd/embedded.go
+++ b/cmd/embedded.go
@@ -22,9 +22,9 @@ import (
"github.com/urfave/cli"
)
-// Cmdembedded represents the available extract sub-command.
+// CmdEmbedded represents the available extract sub-command.
var (
- Cmdembedded = cli.Command{
+ CmdEmbedded = cli.Command{
Name: "embedded",
Usage: "Extract embedded resources",
Description: "A command for extracting embedded resources, like templates and images",
diff --git a/main.go b/main.go
index f604311f54..9b561376c3 100644
--- a/main.go
+++ b/main.go
@@ -87,25 +87,31 @@ func main() {
app.Description = `By default, Gitea will start serving using the web-server with no argument, which can alternatively be run by running the subcommand "web".`
app.Version = Version + formatBuiltWith()
app.EnableBashCompletion = true
- app.Commands = []cli.Command{
+
+ // these sub-commands need to use config file
+ subCmdWithIni := []cli.Command{
cmd.CmdWeb,
cmd.CmdServ,
cmd.CmdHook,
cmd.CmdDump,
- cmd.CmdCert,
cmd.CmdAdmin,
- cmd.CmdGenerate,
cmd.CmdMigrate,
cmd.CmdKeys,
cmd.CmdConvert,
cmd.CmdDoctor,
cmd.CmdManager,
- cmd.Cmdembedded,
+ cmd.CmdEmbedded,
cmd.CmdMigrateStorage,
- cmd.CmdDocs,
cmd.CmdDumpRepository,
cmd.CmdRestoreRepository,
cmd.CmdActions,
+ cmdHelp, // TODO: the "help" sub-command was used to show the more information for "work path" and "custom config", in the future, it should avoid doing so
+ }
+ // these sub-commands do not need the config file, and they do not depend on any path or environment variable.
+ subCmdStandalone := []cli.Command{
+ cmd.CmdCert,
+ cmd.CmdGenerate,
+ cmd.CmdDocs,
}
// shared configuration flags, they are for global and for each sub-command at the same time
@@ -134,10 +140,11 @@ func main() {
app.Action = prepareWorkPathAndCustomConf(cmd.CmdWeb.Action)
app.HideHelp = true // use our own help action to show helps (with more information like default config)
app.Before = cmd.PrepareConsoleLoggerLevel(log.INFO)
- app.Commands = append(app.Commands, cmdHelp)
- for i := range app.Commands {
- prepareSubcommands(&app.Commands[i], globalFlags)
+ for i := range subCmdWithIni {
+ prepareSubcommands(&subCmdWithIni[i], globalFlags)
}
+ app.Commands = append(app.Commands, subCmdWithIni...)
+ app.Commands = append(app.Commands, subCmdStandalone...)
err := app.Run(os.Args)
if err != nil {
diff --git a/modules/setting/oauth2.go b/modules/setting/oauth2.go
index 83c607a416..883348586b 100644
--- a/modules/setting/oauth2.go
+++ b/modules/setting/oauth2.go
@@ -116,6 +116,10 @@ func loadOAuth2From(rootCfg ConfigProvider) {
return
}
+ if !OAuth2.Enable {
+ return
+ }
+
if !filepath.IsAbs(OAuth2.JWTSigningPrivateKeyFile) {
OAuth2.JWTSigningPrivateKeyFile = filepath.Join(AppDataPath, OAuth2.JWTSigningPrivateKeyFile)
}