From 30418b81a51a73f0d9e8b9c20a39e42f1db28061 Mon Sep 17 00:00:00 2001 From: =Corey Hulen Date: Thu, 28 Apr 2016 17:34:56 -0700 Subject: [PATCH] Fixing help links --- model/config.go | 20 ++++++++++++++++++++ model/utils.go | 14 ++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/model/config.go b/model/config.go index fd033c7cf3..4bb2a7a492 100644 --- a/model/config.go +++ b/model/config.go @@ -343,26 +343,46 @@ func (o *Config) SetDefaults() { *o.EmailSettings.PushNotificationContents = GENERIC_NOTIFICATION } + if !IsSafeLink(o.SupportSettings.TermsOfServiceLink) { + o.SupportSettings.TermsOfServiceLink = nil + } + if o.SupportSettings.TermsOfServiceLink == nil { o.SupportSettings.TermsOfServiceLink = new(string) *o.SupportSettings.TermsOfServiceLink = "/static/help/terms.html" } + if !IsSafeLink(o.SupportSettings.PrivacyPolicyLink) { + o.SupportSettings.PrivacyPolicyLink = nil + } + if o.SupportSettings.PrivacyPolicyLink == nil { o.SupportSettings.PrivacyPolicyLink = new(string) *o.SupportSettings.PrivacyPolicyLink = "/static/help/privacy.html" } + if !IsSafeLink(o.SupportSettings.AboutLink) { + o.SupportSettings.AboutLink = nil + } + if o.SupportSettings.AboutLink == nil { o.SupportSettings.AboutLink = new(string) *o.SupportSettings.AboutLink = "/static/help/about.html" } + if !IsSafeLink(o.SupportSettings.HelpLink) { + o.SupportSettings.HelpLink = nil + } + if o.SupportSettings.HelpLink == nil { o.SupportSettings.HelpLink = new(string) *o.SupportSettings.HelpLink = "/static/help/help.html" } + if !IsSafeLink(o.SupportSettings.ReportAProblemLink) { + o.SupportSettings.ReportAProblemLink = nil + } + if o.SupportSettings.ReportAProblemLink == nil { o.SupportSettings.ReportAProblemLink = new(string) *o.SupportSettings.ReportAProblemLink = "/static/help/report_problem.html" diff --git a/model/utils.go b/model/utils.go index 03215490dc..d9b06bd014 100644 --- a/model/utils.go +++ b/model/utils.go @@ -386,3 +386,17 @@ func IsValidHttpsUrl(rawUrl string) bool { return true } + +func IsSafeLink(link *string) bool { + if link != nil { + if IsValidHttpUrl(*link) { + return true + } else if strings.HasPrefix(*link, "/") { + return true + } else { + return false + } + } + + return true +}