From 5b5d9c0eafe49fc21edef92c4e4c9740b628366e Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Thu, 21 Apr 2016 10:38:14 -0400 Subject: [PATCH] Only add Enterprise features to client config if enabled by license (#2768) --- utils/config.go | 28 ++++++++++++++++++++-------- utils/license.go | 2 ++ 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/utils/config.go b/utils/config.go index 3cafb9d2f4..8ff3280087 100644 --- a/utils/config.go +++ b/utils/config.go @@ -201,8 +201,6 @@ func getClientConfig(c *model.Config) map[string]string { props["EnableUserCreation"] = strconv.FormatBool(c.TeamSettings.EnableUserCreation) props["RestrictTeamNames"] = strconv.FormatBool(*c.TeamSettings.RestrictTeamNames) props["EnableTeamListing"] = strconv.FormatBool(*c.TeamSettings.EnableTeamListing) - props["EnableCustomBrand"] = strconv.FormatBool(*c.TeamSettings.EnableCustomBrand) - props["CustomBrandText"] = *c.TeamSettings.CustomBrandText props["EnableOAuthServiceProvider"] = strconv.FormatBool(c.ServiceSettings.EnableOAuthServiceProvider) @@ -220,7 +218,6 @@ func getClientConfig(c *model.Config) map[string]string { props["EnableSignUpWithEmail"] = strconv.FormatBool(c.EmailSettings.EnableSignUpWithEmail) props["EnableSignInWithEmail"] = strconv.FormatBool(*c.EmailSettings.EnableSignInWithEmail) props["EnableSignInWithUsername"] = strconv.FormatBool(*c.EmailSettings.EnableSignInWithUsername) - props["EnableMultifactorAuthentication"] = strconv.FormatBool(*c.ServiceSettings.EnableMultifactorAuthentication) props["RequireEmailVerification"] = strconv.FormatBool(c.EmailSettings.RequireEmailVerification) props["FeedbackEmail"] = c.EmailSettings.FeedbackEmail @@ -240,16 +237,31 @@ func getClientConfig(c *model.Config) map[string]string { props["ProfileHeight"] = fmt.Sprintf("%v", c.FileSettings.ProfileHeight) props["ProfileWidth"] = fmt.Sprintf("%v", c.FileSettings.ProfileWidth) - props["EnableLdap"] = strconv.FormatBool(*c.LdapSettings.Enable) - props["LdapLoginFieldName"] = *c.LdapSettings.LoginFieldName - props["LdapPasswordFieldName"] = *c.LdapSettings.PasswordFieldName - props["WebsocketPort"] = fmt.Sprintf("%v", *c.ServiceSettings.WebsocketPort) props["WebsocketSecurePort"] = fmt.Sprintf("%v", *c.ServiceSettings.WebsocketSecurePort) props["AllowCorsFrom"] = *c.ServiceSettings.AllowCorsFrom - props["EnableCompliance"] = strconv.FormatBool(*c.ComplianceSettings.Enable) + if License.Features != nil { + if *License.Features.CustomBrand { + props["EnableCustomBrand"] = strconv.FormatBool(*c.TeamSettings.EnableCustomBrand) + props["CustomBrandText"] = *c.TeamSettings.CustomBrandText + } + + if *License.Features.LDAP { + props["EnableLdap"] = strconv.FormatBool(*c.LdapSettings.Enable) + props["LdapLoginFieldName"] = *c.LdapSettings.LoginFieldName + props["LdapPasswordFieldName"] = *c.LdapSettings.PasswordFieldName + } + + if *License.Features.MFA { + props["EnableMultifactorAuthentication"] = strconv.FormatBool(*c.ServiceSettings.EnableMultifactorAuthentication) + } + + if *License.Features.Compliance { + props["EnableCompliance"] = strconv.FormatBool(*c.ComplianceSettings.Enable) + } + } return props } diff --git a/utils/license.go b/utils/license.go index 69279fd239..ba323d9b44 100644 --- a/utils/license.go +++ b/utils/license.go @@ -51,6 +51,7 @@ func SetLicense(license *model.License) bool { License = license IsLicensed = true ClientLicense = getClientLicense(license) + ClientCfg = getClientConfig(Cfg) return true } @@ -61,6 +62,7 @@ func RemoveLicense() { License = &model.License{} IsLicensed = false ClientLicense = getClientLicense(License) + ClientCfg = getClientConfig(Cfg) } func ValidateLicense(signed []byte) (bool, string) {