From 54dab5aed999c1c3c0dd247de54a9cc2f9e6ebef Mon Sep 17 00:00:00 2001 From: zeripath Date: Thu, 28 Nov 2019 17:35:41 +0000 Subject: Properly fix displaying virtual session provider in admin panel (#9137) * Properly fix #7127 Although #7300 properly shadows the password from the virtual session provider, the template displaying the provider config still presumed that the config was JSON. This PR updates the template and properly hides the Virtual Session provider. Fixes #7127 * update per @silverwind's suggestion --- routers/admin/admin.go | 14 +++++++------- templates/admin/config.tmpl | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/routers/admin/admin.go b/routers/admin/admin.go index 4c4738ae8c..45bdbfe7f2 100644 --- a/routers/admin/admin.go +++ b/routers/admin/admin.go @@ -262,13 +262,7 @@ func shadowPassword(provider, cfgItem string) string { return shadowURL(provider, cfgItem) // postgres://pqgotest:password@localhost/pqgotest?sslmode=verify-full // Notice: use shadowURL - case "VirtualSession": - var realSession session.Options - if err := json.Unmarshal([]byte(cfgItem), &realSession); err == nil { - return shadowPassword(realSession.Provider, realSession.ProviderConfig) - } } - return cfgItem } @@ -314,8 +308,14 @@ func Config(ctx *context.Context) { ctx.Data["CacheItemTTL"] = setting.CacheService.TTL sessionCfg := setting.SessionConfig + if sessionCfg.Provider == "VirtualSession" { + var realSession session.Options + if err := json.Unmarshal([]byte(sessionCfg.ProviderConfig), &realSession); err != nil { + log.Error("Unable to unmarshall session config for virtualed provider config: %s\nError: %v", sessionCfg.ProviderConfig, err) + } + sessionCfg = realSession + } sessionCfg.ProviderConfig = shadowPassword(sessionCfg.Provider, sessionCfg.ProviderConfig) - ctx.Data["SessionConfig"] = sessionCfg ctx.Data["DisableGravatar"] = setting.DisableGravatar diff --git a/templates/admin/config.tmpl b/templates/admin/config.tmpl index 79eec31dfd..c2793ece9d 100644 --- a/templates/admin/config.tmpl +++ b/templates/admin/config.tmpl @@ -270,7 +270,7 @@
{{.i18n.Tr "admin.config.session_provider"}}
{{.SessionConfig.Provider}}
{{.i18n.Tr "admin.config.provider_config"}}
-
{{if .SessionConfig.ProviderConfig}}{{.SessionConfig.ProviderConfig  | JsonPrettyPrint}}{{else}}-{{end}}
+
{{if .SessionConfig.ProviderConfig}}{{.SessionConfig.ProviderConfig}}{{else}}-{{end}}
{{.i18n.Tr "admin.config.cookie_name"}}
{{.SessionConfig.CookieName}}
{{.i18n.Tr "admin.config.gc_interval_time"}}
-- cgit v1.2.3