ensure the same data on /ocs/v?.php/config like oC10

This commit is contained in:
Willy Kloucek
2022-02-04 11:22:40 +01:00
parent 5dd03dd50a
commit d85e5dee8a
2 changed files with 23 additions and 7 deletions

View File

@@ -0,0 +1,6 @@
Bugfix: ensure the same data on /ocs/v?.php/config like oC10
We've fixed the returned values on the /ocs/v?.php/config endpoints,
so that they now return the same values as an oC10 would do.
https://github.com/owncloud/ocis/pull/3113

View File

@@ -4,6 +4,7 @@ import (
"context"
"flag"
"fmt"
"net/url"
"os"
"path"
"strconv"
@@ -96,7 +97,11 @@ func Frontend(cfg *config.Config) *cli.Command {
}
}
revaCfg := frontendConfigFromStruct(c, cfg, filesCfg)
revaCfg, err := frontendConfigFromStruct(c, cfg, filesCfg)
if err != nil {
logger.Error().Err(err).Msg("could not generate frontend configuration")
return err
}
gr.Add(func() error {
runtime.RunWithOptions(revaCfg, pidFile, runtime.WithLogger(&logger.Logger))
@@ -139,7 +144,12 @@ func Frontend(cfg *config.Config) *cli.Command {
}
// frontendConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service.
func frontendConfigFromStruct(c *cli.Context, cfg *config.Config, filesCfg map[string]interface{}) map[string]interface{} {
func frontendConfigFromStruct(c *cli.Context, cfg *config.Config, filesCfg map[string]interface{}) (map[string]interface{}, error) {
frontendURL, err := url.Parse(cfg.Reva.Frontend.PublicURL)
if err != nil {
return map[string]interface{}{}, err
}
return map[string]interface{}{
"core": map[string]interface{}{
"max_cpus": cfg.Reva.Users.MaxCPUs,
@@ -215,10 +225,10 @@ func frontendConfigFromStruct(c *cli.Context, cfg *config.Config, filesCfg map[s
},
},
"config": map[string]interface{}{
"version": "1.8",
"website": "reva",
"host": cfg.Reva.Frontend.PublicURL,
"contact": "admin@localhost",
"version": "1.7",
"website": "ownCloud",
"host": frontendURL.Host + frontendURL.Path,
"contact": "",
"ssl": "false",
},
"default_upload_protocol": cfg.Reva.DefaultUploadProtocol,
@@ -308,7 +318,7 @@ func frontendConfigFromStruct(c *cli.Context, cfg *config.Config, filesCfg map[s
},
},
},
}
}, nil
}
// loadUserAgent reads the user-agent-whitelist-lock-in, since it is a string flag, and attempts to construct a map of