summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSaturnino Abril <saturnino.abril@gmail.com>2018-05-23 20:36:20 +0800
committerGitHub <noreply@github.com>2018-05-23 20:36:20 +0800
commit70a118c0fd45f8ab2510c80a0110f24be21f8785 (patch)
tree9289aa8881b83bf533fda2b6b56453c49af72d12
parentce378adc97399dcae9e1c9621c584669b813b2d2 (diff)
downloadchat-70a118c0fd45f8ab2510c80a0110f24be21f8785.tar.gz
chat-70a118c0fd45f8ab2510c80a0110f24be21f8785.tar.bz2
chat-70a118c0fd45f8ab2510c80a0110f24be21f8785.zip
remove license check when enforcing password requirements (#8840)
Signed-off-by: Saturnino Abril <saturnino.abril@gmail.com>
-rw-r--r--app/authentication.go5
-rw-r--r--model/license.go6
-rw-r--r--model/license_test.go5
-rw-r--r--utils/config.go13
-rw-r--r--utils/license.go1
5 files changed, 6 insertions, 24 deletions
diff --git a/app/authentication.go b/app/authentication.go
index 5c91f8038..087a9b230 100644
--- a/app/authentication.go
+++ b/app/authentication.go
@@ -36,10 +36,7 @@ func (tl TokenLocation) String() string {
}
func (a *App) IsPasswordValid(password string) *model.AppError {
- if license := a.License(); license != nil && *license.Features.PasswordRequirements {
- return utils.IsPasswordValidWithSettings(password, &a.Config().PasswordSettings)
- }
- return utils.IsPasswordValid(password)
+ return utils.IsPasswordValidWithSettings(password, &a.Config().PasswordSettings)
}
func (a *App) CheckPasswordAndAllCriteria(user *model.User, password string, mfaToken string) *model.AppError {
diff --git a/model/license.go b/model/license.go
index 942a18d55..b69c13c54 100644
--- a/model/license.go
+++ b/model/license.go
@@ -49,7 +49,6 @@ type Features struct {
CustomBrand *bool `json:"custom_brand"`
MHPNS *bool `json:"mhpns"`
SAML *bool `json:"saml"`
- PasswordRequirements *bool `json:"password_requirements"`
Elasticsearch *bool `json:"elastic_search"`
Announcement *bool `json:"announcement"`
ThemeManagement *bool `json:"theme_management"`
@@ -73,7 +72,6 @@ func (f *Features) ToMap() map[string]interface{} {
"custom_brand": *f.CustomBrand,
"mhpns": *f.MHPNS,
"saml": *f.SAML,
- "password": *f.PasswordRequirements,
"elastic_search": *f.Elasticsearch,
"email_notification_contents": *f.EmailNotificationContents,
"data_retention": *f.DataRetention,
@@ -131,10 +129,6 @@ func (f *Features) SetDefaults() {
f.SAML = NewBool(*f.FutureFeatures)
}
- if f.PasswordRequirements == nil {
- f.PasswordRequirements = NewBool(*f.FutureFeatures)
- }
-
if f.Elasticsearch == nil {
f.Elasticsearch = NewBool(*f.FutureFeatures)
}
diff --git a/model/license_test.go b/model/license_test.go
index f953d47b3..4b40c4101 100644
--- a/model/license_test.go
+++ b/model/license_test.go
@@ -24,7 +24,6 @@ func TestLicenseFeaturesToMap(t *testing.T) {
CheckTrue(t, m["custom_brand"].(bool))
CheckTrue(t, m["mhpns"].(bool))
CheckTrue(t, m["saml"].(bool))
- CheckTrue(t, m["password"].(bool))
CheckTrue(t, m["elastic_search"].(bool))
CheckTrue(t, m["email_notification_contents"].(bool))
CheckTrue(t, m["data_retention"].(bool))
@@ -46,7 +45,6 @@ func TestLicenseFeaturesSetDefaults(t *testing.T) {
CheckTrue(t, *f.CustomBrand)
CheckTrue(t, *f.MHPNS)
CheckTrue(t, *f.SAML)
- CheckTrue(t, *f.PasswordRequirements)
CheckTrue(t, *f.Elasticsearch)
CheckTrue(t, *f.EmailNotificationContents)
CheckTrue(t, *f.DataRetention)
@@ -67,7 +65,6 @@ func TestLicenseFeaturesSetDefaults(t *testing.T) {
*f.CustomBrand = true
*f.MHPNS = true
*f.SAML = true
- *f.PasswordRequirements = true
*f.Elasticsearch = true
*f.DataRetention = true
*f.EmailNotificationContents = true
@@ -85,7 +82,6 @@ func TestLicenseFeaturesSetDefaults(t *testing.T) {
CheckTrue(t, *f.CustomBrand)
CheckTrue(t, *f.MHPNS)
CheckTrue(t, *f.SAML)
- CheckTrue(t, *f.PasswordRequirements)
CheckTrue(t, *f.Elasticsearch)
CheckTrue(t, *f.EmailNotificationContents)
CheckTrue(t, *f.DataRetention)
@@ -168,7 +164,6 @@ func TestLicenseToFromJson(t *testing.T) {
CheckBool(t, *f1.CustomBrand, *f.CustomBrand)
CheckBool(t, *f1.MHPNS, *f.MHPNS)
CheckBool(t, *f1.SAML, *f.SAML)
- CheckBool(t, *f1.PasswordRequirements, *f.PasswordRequirements)
CheckBool(t, *f1.Elasticsearch, *f.Elasticsearch)
CheckBool(t, *f1.DataRetention, *f.DataRetention)
CheckBool(t, *f1.FutureFeatures, *f.FutureFeatures)
diff --git a/utils/config.go b/utils/config.go
index dd782c0fc..18e25c999 100644
--- a/utils/config.go
+++ b/utils/config.go
@@ -602,6 +602,11 @@ func GenerateClientConfig(c *model.Config, diagnosticId string, license *model.L
props["DataRetentionMessageRetentionDays"] = "0"
props["DataRetentionEnableFileDeletion"] = "false"
props["DataRetentionFileRetentionDays"] = "0"
+ props["PasswordMinimumLength"] = fmt.Sprintf("%v", *c.PasswordSettings.MinimumLength)
+ props["PasswordRequireLowercase"] = strconv.FormatBool(*c.PasswordSettings.Lowercase)
+ props["PasswordRequireUppercase"] = strconv.FormatBool(*c.PasswordSettings.Uppercase)
+ props["PasswordRequireNumber"] = strconv.FormatBool(*c.PasswordSettings.Number)
+ props["PasswordRequireSymbol"] = strconv.FormatBool(*c.PasswordSettings.Symbol)
if license != nil {
props["ExperimentalTownSquareIsReadOnly"] = strconv.FormatBool(*c.TeamSettings.ExperimentalTownSquareIsReadOnly)
@@ -662,14 +667,6 @@ func GenerateClientConfig(c *model.Config, diagnosticId string, license *model.L
props["EnableSignUpWithOffice365"] = strconv.FormatBool(c.Office365Settings.Enable)
}
- if *license.Features.PasswordRequirements {
- props["PasswordMinimumLength"] = fmt.Sprintf("%v", *c.PasswordSettings.MinimumLength)
- props["PasswordRequireLowercase"] = strconv.FormatBool(*c.PasswordSettings.Lowercase)
- props["PasswordRequireUppercase"] = strconv.FormatBool(*c.PasswordSettings.Uppercase)
- props["PasswordRequireNumber"] = strconv.FormatBool(*c.PasswordSettings.Number)
- props["PasswordRequireSymbol"] = strconv.FormatBool(*c.PasswordSettings.Symbol)
- }
-
if *license.Features.Announcement {
props["EnableBanner"] = strconv.FormatBool(*c.AnnouncementSettings.EnableBanner)
props["BannerText"] = *c.AnnouncementSettings.BannerText
diff --git a/utils/license.go b/utils/license.go
index aa89026ea..832d41557 100644
--- a/utils/license.go
+++ b/utils/license.go
@@ -139,7 +139,6 @@ func GetClientLicense(l *model.License) map[string]string {
props["Compliance"] = strconv.FormatBool(*l.Features.Compliance)
props["CustomBrand"] = strconv.FormatBool(*l.Features.CustomBrand)
props["MHPNS"] = strconv.FormatBool(*l.Features.MHPNS)
- props["PasswordRequirements"] = strconv.FormatBool(*l.Features.PasswordRequirements)
props["Announcement"] = strconv.FormatBool(*l.Features.Announcement)
props["Elasticsearch"] = strconv.FormatBool(*l.Features.Elasticsearch)
props["DataRetention"] = strconv.FormatBool(*l.Features.DataRetention)