summaryrefslogtreecommitdiffstats
path: root/model
diff options
context:
space:
mode:
Diffstat (limited to 'model')
-rw-r--r--model/config.go14
-rw-r--r--model/config_test.go7
2 files changed, 14 insertions, 7 deletions
diff --git a/model/config.go b/model/config.go
index ba3a02d33..d5a8ad38e 100644
--- a/model/config.go
+++ b/model/config.go
@@ -1900,10 +1900,18 @@ func (o *Config) SetDefaults() {
}
func (o *Config) IsValid() *AppError {
+ if len(*o.ServiceSettings.SiteURL) == 0 && *o.EmailSettings.EnableEmailBatching {
+ return NewAppError("Config.IsValid", "model.config.is_valid.site_url_email_batching.app_error", nil, "", http.StatusBadRequest)
+ }
+
if *o.ClusterSettings.Enable && *o.EmailSettings.EnableEmailBatching {
return NewAppError("Config.IsValid", "model.config.is_valid.cluster_email_batching.app_error", nil, "", http.StatusBadRequest)
}
+ if len(*o.ServiceSettings.SiteURL) == 0 && *o.ServiceSettings.AllowCookiesForSubdomains {
+ return NewAppError("Config.IsValid", "Allowing cookies for subdomains requires SiteURL to be set.", nil, "", http.StatusBadRequest)
+ }
+
if err := o.TeamSettings.isValid(); err != nil {
return err
}
@@ -2209,6 +2217,12 @@ func (ss *ServiceSettings) isValid() *AppError {
return NewAppError("Config.IsValid", "model.config.is_valid.login_attempts.app_error", nil, "", http.StatusBadRequest)
}
+ if len(*ss.SiteURL) != 0 {
+ if _, err := url.ParseRequestURI(*ss.SiteURL); err != nil {
+ return NewAppError("Config.IsValid", "model.config.is_valid.site_url.app_error", nil, "", http.StatusBadRequest)
+ }
+ }
+
if len(*ss.WebsocketURL) != 0 {
if _, err := url.ParseRequestURI(*ss.WebsocketURL); err != nil {
return NewAppError("Config.IsValid", "model.config.is_valid.websocket_url.app_error", nil, "", http.StatusBadRequest)
diff --git a/model/config_test.go b/model/config_test.go
index e39ecef3b..b7533145b 100644
--- a/model/config_test.go
+++ b/model/config_test.go
@@ -82,13 +82,6 @@ func TestConfigDefaultFileSettingsS3SSE(t *testing.T) {
}
}
-func TestConfigDefaultSiteURL(t *testing.T) {
- c1 := Config{}
- c1.SetDefaults()
-
- assert.Equal(t, "", *c1.ServiceSettings.SiteURL, "SiteURL should be empty by default.")
-}
-
func TestConfigDefaultServiceSettingsExperimentalGroupUnreadChannels(t *testing.T) {
c1 := Config{}
c1.SetDefaults()