Update dependencies for 5.6 (#24)
This commit is contained in:
parent
76ba0b57a7
commit
415e8b5f72
41 changed files with 3499 additions and 1746 deletions
347
build/manifest/vendor/github.com/mattermost/mattermost-server/model/config.go
generated
vendored
347
build/manifest/vendor/github.com/mattermost/mattermost-server/model/config.go
generated
vendored
|
@ -4,12 +4,14 @@
|
|||
package model
|
||||
|
||||
import (
|
||||
"crypto/tls"
|
||||
"encoding/json"
|
||||
"io"
|
||||
"math"
|
||||
"net"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"os"
|
||||
"regexp"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
@ -110,6 +112,7 @@ const (
|
|||
SUPPORT_SETTINGS_DEFAULT_HELP_LINK = "https://about.mattermost.com/default-help/"
|
||||
SUPPORT_SETTINGS_DEFAULT_REPORT_A_PROBLEM_LINK = "https://about.mattermost.com/default-report-a-problem/"
|
||||
SUPPORT_SETTINGS_DEFAULT_SUPPORT_EMAIL = "feedback@mattermost.com"
|
||||
SUPPORT_SETTINGS_DEFAULT_RE_ACCEPTANCE_PERIOD = 365
|
||||
|
||||
LDAP_SETTINGS_DEFAULT_FIRST_NAME_ATTRIBUTE = ""
|
||||
LDAP_SETTINGS_DEFAULT_LAST_NAME_ATTRIBUTE = ""
|
||||
|
@ -133,9 +136,6 @@ const (
|
|||
NATIVEAPP_SETTINGS_DEFAULT_ANDROID_APP_DOWNLOAD_LINK = "https://about.mattermost.com/mattermost-android-app/"
|
||||
NATIVEAPP_SETTINGS_DEFAULT_IOS_APP_DOWNLOAD_LINK = "https://about.mattermost.com/mattermost-ios-app/"
|
||||
|
||||
WEBRTC_SETTINGS_DEFAULT_STUN_URI = ""
|
||||
WEBRTC_SETTINGS_DEFAULT_TURN_URI = ""
|
||||
|
||||
ANALYTICS_SETTINGS_DEFAULT_MAX_USERS_FOR_STATISTICS = 2500
|
||||
|
||||
ANNOUNCEMENT_SETTINGS_DEFAULT_BANNER_COLOR = "#f2a93b"
|
||||
|
@ -174,6 +174,31 @@ const (
|
|||
CLIENT_SIDE_CERT_CHECK_SECONDARY_AUTH = "secondary"
|
||||
)
|
||||
|
||||
var ServerTLSSupportedCiphers = map[string]uint16{
|
||||
"TLS_RSA_WITH_RC4_128_SHA": tls.TLS_RSA_WITH_RC4_128_SHA,
|
||||
"TLS_RSA_WITH_3DES_EDE_CBC_SHA": tls.TLS_RSA_WITH_3DES_EDE_CBC_SHA,
|
||||
"TLS_RSA_WITH_AES_128_CBC_SHA": tls.TLS_RSA_WITH_AES_128_CBC_SHA,
|
||||
"TLS_RSA_WITH_AES_256_CBC_SHA": tls.TLS_RSA_WITH_AES_256_CBC_SHA,
|
||||
"TLS_RSA_WITH_AES_128_CBC_SHA256": tls.TLS_RSA_WITH_AES_128_CBC_SHA256,
|
||||
"TLS_RSA_WITH_AES_128_GCM_SHA256": tls.TLS_RSA_WITH_AES_128_GCM_SHA256,
|
||||
"TLS_RSA_WITH_AES_256_GCM_SHA384": tls.TLS_RSA_WITH_AES_256_GCM_SHA384,
|
||||
"TLS_ECDHE_ECDSA_WITH_RC4_128_SHA": tls.TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,
|
||||
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA": tls.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
|
||||
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA": tls.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
|
||||
"TLS_ECDHE_RSA_WITH_RC4_128_SHA": tls.TLS_ECDHE_RSA_WITH_RC4_128_SHA,
|
||||
"TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA": tls.TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,
|
||||
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA": tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
|
||||
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA": tls.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
|
||||
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256": tls.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
|
||||
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256": tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
|
||||
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256": tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
|
||||
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256": tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
|
||||
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384": tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
|
||||
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384": tls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
|
||||
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305": tls.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,
|
||||
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305": tls.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,
|
||||
}
|
||||
|
||||
type ServiceSettings struct {
|
||||
SiteURL *string
|
||||
WebsocketURL *string
|
||||
|
@ -182,6 +207,10 @@ type ServiceSettings struct {
|
|||
ConnectionSecurity *string
|
||||
TLSCertFile *string
|
||||
TLSKeyFile *string
|
||||
TLSMinVer *string
|
||||
TLSStrictTransport *bool
|
||||
TLSStrictTransportMaxAge *int64
|
||||
TLSOverwriteCiphers []string
|
||||
UseLetsEncrypt *bool
|
||||
LetsEncryptCertificateCacheFile *string
|
||||
Forward80To443 *bool
|
||||
|
@ -194,7 +223,7 @@ type ServiceSettings struct {
|
|||
EnableIncomingWebhooks bool
|
||||
EnableOutgoingWebhooks bool
|
||||
EnableCommands *bool
|
||||
EnableOnlyAdminIntegrations *bool
|
||||
DEPRECATED_DO_NOT_USE_EnableOnlyAdminIntegrations *bool `json:"EnableOnlyAdminIntegrations"` // This field is deprecated and must not be used.
|
||||
EnablePostUsernameOverride bool
|
||||
EnablePostIconOverride bool
|
||||
EnableLinkPreviews *bool
|
||||
|
@ -224,9 +253,9 @@ type ServiceSettings struct {
|
|||
EnableGifPicker *bool
|
||||
GfycatApiKey *string
|
||||
GfycatApiSecret *string
|
||||
RestrictCustomEmojiCreation *string
|
||||
RestrictPostDelete *string
|
||||
AllowEditPost *string
|
||||
DEPRECATED_DO_NOT_USE_RestrictCustomEmojiCreation *string `json:"RestrictCustomEmojiCreation"` // This field is deprecated and must not be used.
|
||||
DEPRECATED_DO_NOT_USE_RestrictPostDelete *string `json:"RestrictPostDelete"` // This field is deprecated and must not be used.
|
||||
DEPRECATED_DO_NOT_USE_AllowEditPost *string `json:"AllowEditPost"` // This field is deprecated and must not be used.
|
||||
PostEditTimeLimit *int
|
||||
TimeBetweenUserTypingUpdatesMilliseconds *int64
|
||||
EnablePostSearch *bool
|
||||
|
@ -246,7 +275,6 @@ type ServiceSettings struct {
|
|||
ImageProxyOptions *string
|
||||
EnableAPITeamDeletion *bool
|
||||
ExperimentalEnableHardenedMode *bool
|
||||
ExperimentalLimitClientConfig *bool
|
||||
EnableEmailInvitations *bool
|
||||
}
|
||||
|
||||
|
@ -324,6 +352,22 @@ func (s *ServiceSettings) SetDefaults() {
|
|||
s.TLSCertFile = NewString(SERVICE_SETTINGS_DEFAULT_TLS_CERT_FILE)
|
||||
}
|
||||
|
||||
if s.TLSMinVer == nil {
|
||||
s.TLSMinVer = NewString("1.2")
|
||||
}
|
||||
|
||||
if s.TLSStrictTransport == nil {
|
||||
s.TLSStrictTransport = NewBool(false)
|
||||
}
|
||||
|
||||
if s.TLSStrictTransportMaxAge == nil {
|
||||
s.TLSStrictTransportMaxAge = NewInt64(63072000)
|
||||
}
|
||||
|
||||
if s.TLSOverwriteCiphers == nil {
|
||||
s.TLSOverwriteCiphers = []string{}
|
||||
}
|
||||
|
||||
if s.UseLetsEncrypt == nil {
|
||||
s.UseLetsEncrypt = NewBool(false)
|
||||
}
|
||||
|
@ -404,8 +448,8 @@ func (s *ServiceSettings) SetDefaults() {
|
|||
s.EnableCommands = NewBool(false)
|
||||
}
|
||||
|
||||
if s.EnableOnlyAdminIntegrations == nil {
|
||||
s.EnableOnlyAdminIntegrations = NewBool(true)
|
||||
if s.DEPRECATED_DO_NOT_USE_EnableOnlyAdminIntegrations == nil {
|
||||
s.DEPRECATED_DO_NOT_USE_EnableOnlyAdminIntegrations = NewBool(true)
|
||||
}
|
||||
|
||||
if s.WebsocketPort == nil {
|
||||
|
@ -462,16 +506,16 @@ func (s *ServiceSettings) SetDefaults() {
|
|||
s.GfycatApiSecret = NewString(SERVICE_SETTINGS_DEFAULT_GFYCAT_API_SECRET)
|
||||
}
|
||||
|
||||
if s.RestrictCustomEmojiCreation == nil {
|
||||
s.RestrictCustomEmojiCreation = NewString(RESTRICT_EMOJI_CREATION_ALL)
|
||||
if s.DEPRECATED_DO_NOT_USE_RestrictCustomEmojiCreation == nil {
|
||||
s.DEPRECATED_DO_NOT_USE_RestrictCustomEmojiCreation = NewString(RESTRICT_EMOJI_CREATION_ALL)
|
||||
}
|
||||
|
||||
if s.RestrictPostDelete == nil {
|
||||
s.RestrictPostDelete = NewString(PERMISSIONS_DELETE_POST_ALL)
|
||||
if s.DEPRECATED_DO_NOT_USE_RestrictPostDelete == nil {
|
||||
s.DEPRECATED_DO_NOT_USE_RestrictPostDelete = NewString(PERMISSIONS_DELETE_POST_ALL)
|
||||
}
|
||||
|
||||
if s.AllowEditPost == nil {
|
||||
s.AllowEditPost = NewString(ALLOW_EDIT_POST_ALWAYS)
|
||||
if s.DEPRECATED_DO_NOT_USE_AllowEditPost == nil {
|
||||
s.DEPRECATED_DO_NOT_USE_AllowEditPost = NewString(ALLOW_EDIT_POST_ALWAYS)
|
||||
}
|
||||
|
||||
if s.ExperimentalEnableAuthenticationTransfer == nil {
|
||||
|
@ -522,10 +566,6 @@ func (s *ServiceSettings) SetDefaults() {
|
|||
if s.ExperimentalEnableHardenedMode == nil {
|
||||
s.ExperimentalEnableHardenedMode = NewBool(false)
|
||||
}
|
||||
|
||||
if s.ExperimentalLimitClientConfig == nil {
|
||||
s.ExperimentalLimitClientConfig = NewBool(false)
|
||||
}
|
||||
}
|
||||
|
||||
type ClusterSettings struct {
|
||||
|
@ -611,6 +651,7 @@ func (s *MetricsSettings) SetDefaults() {
|
|||
type ExperimentalSettings struct {
|
||||
ClientSideCertEnable *bool
|
||||
ClientSideCertCheck *string
|
||||
EnablePostMetadata *bool
|
||||
}
|
||||
|
||||
func (s *ExperimentalSettings) SetDefaults() {
|
||||
|
@ -621,6 +662,10 @@ func (s *ExperimentalSettings) SetDefaults() {
|
|||
if s.ClientSideCertCheck == nil {
|
||||
s.ClientSideCertCheck = NewString(CLIENT_SIDE_CERT_CHECK_SECONDARY_AUTH)
|
||||
}
|
||||
|
||||
if s.EnablePostMetadata == nil {
|
||||
s.EnablePostMetadata = NewBool(false)
|
||||
}
|
||||
}
|
||||
|
||||
type AnalyticsSettings struct {
|
||||
|
@ -644,17 +689,16 @@ type SSOSettings struct {
|
|||
}
|
||||
|
||||
type SqlSettings struct {
|
||||
DriverName *string
|
||||
DataSource *string
|
||||
DataSourceReplicas []string
|
||||
DataSourceSearchReplicas []string
|
||||
MaxIdleConns *int
|
||||
ConnMaxLifetimeMilliseconds *int
|
||||
MaxOpenConns *int
|
||||
Trace bool
|
||||
AtRestEncryptKey string
|
||||
QueryTimeout *int
|
||||
EnablePublicChannelsMaterialization *bool
|
||||
DriverName *string
|
||||
DataSource *string
|
||||
DataSourceReplicas []string
|
||||
DataSourceSearchReplicas []string
|
||||
MaxIdleConns *int
|
||||
ConnMaxLifetimeMilliseconds *int
|
||||
MaxOpenConns *int
|
||||
Trace bool
|
||||
AtRestEncryptKey string
|
||||
QueryTimeout *int
|
||||
}
|
||||
|
||||
func (s *SqlSettings) SetDefaults() {
|
||||
|
@ -685,10 +729,6 @@ func (s *SqlSettings) SetDefaults() {
|
|||
if s.QueryTimeout == nil {
|
||||
s.QueryTimeout = NewInt(30)
|
||||
}
|
||||
|
||||
if s.EnablePublicChannelsMaterialization == nil {
|
||||
s.EnablePublicChannelsMaterialization = NewBool(true)
|
||||
}
|
||||
}
|
||||
|
||||
type LogSettings struct {
|
||||
|
@ -996,13 +1036,14 @@ type PrivacySettings struct {
|
|||
}
|
||||
|
||||
type SupportSettings struct {
|
||||
TermsOfServiceLink *string
|
||||
PrivacyPolicyLink *string
|
||||
AboutLink *string
|
||||
HelpLink *string
|
||||
ReportAProblemLink *string
|
||||
SupportEmail *string
|
||||
CustomTermsOfServiceEnabled *bool
|
||||
TermsOfServiceLink *string
|
||||
PrivacyPolicyLink *string
|
||||
AboutLink *string
|
||||
HelpLink *string
|
||||
ReportAProblemLink *string
|
||||
SupportEmail *string
|
||||
CustomTermsOfServiceEnabled *bool
|
||||
CustomTermsOfServiceReAcceptancePeriod *int
|
||||
}
|
||||
|
||||
func (s *SupportSettings) SetDefaults() {
|
||||
|
@ -1053,6 +1094,10 @@ func (s *SupportSettings) SetDefaults() {
|
|||
if s.CustomTermsOfServiceEnabled == nil {
|
||||
s.CustomTermsOfServiceEnabled = NewBool(false)
|
||||
}
|
||||
|
||||
if s.CustomTermsOfServiceReAcceptancePeriod == nil {
|
||||
s.CustomTermsOfServiceReAcceptancePeriod = NewInt(SUPPORT_SETTINGS_DEFAULT_RE_ACCEPTANCE_PERIOD)
|
||||
}
|
||||
}
|
||||
|
||||
type AnnouncementSettings struct {
|
||||
|
@ -1111,37 +1156,37 @@ func (s *ThemeSettings) SetDefaults() {
|
|||
}
|
||||
|
||||
type TeamSettings struct {
|
||||
SiteName string
|
||||
MaxUsersPerTeam *int
|
||||
EnableTeamCreation *bool
|
||||
EnableUserCreation *bool
|
||||
EnableOpenServer *bool
|
||||
EnableUserDeactivation *bool
|
||||
RestrictCreationToDomains string
|
||||
EnableCustomBrand *bool
|
||||
CustomBrandText *string
|
||||
CustomDescriptionText *string
|
||||
RestrictDirectMessage *string
|
||||
RestrictTeamInvite *string
|
||||
RestrictPublicChannelManagement *string
|
||||
RestrictPrivateChannelManagement *string
|
||||
RestrictPublicChannelCreation *string
|
||||
RestrictPrivateChannelCreation *string
|
||||
RestrictPublicChannelDeletion *string
|
||||
RestrictPrivateChannelDeletion *string
|
||||
RestrictPrivateChannelManageMembers *string
|
||||
EnableXToLeaveChannelsFromLHS *bool
|
||||
UserStatusAwayTimeout *int64
|
||||
MaxChannelsPerTeam *int64
|
||||
MaxNotificationsPerChannel *int64
|
||||
EnableConfirmNotificationsToChannel *bool
|
||||
TeammateNameDisplay *string
|
||||
ExperimentalViewArchivedChannels *bool
|
||||
ExperimentalEnableAutomaticReplies *bool
|
||||
ExperimentalHideTownSquareinLHS *bool
|
||||
ExperimentalTownSquareIsReadOnly *bool
|
||||
ExperimentalPrimaryTeam *string
|
||||
ExperimentalDefaultChannels []string
|
||||
SiteName string
|
||||
MaxUsersPerTeam *int
|
||||
DEPRECATED_DO_NOT_USE_EnableTeamCreation *bool `json:"EnableTeamCreation"` // This field is deprecated and must not be used.
|
||||
EnableUserCreation *bool
|
||||
EnableOpenServer *bool
|
||||
EnableUserDeactivation *bool
|
||||
RestrictCreationToDomains string
|
||||
EnableCustomBrand *bool
|
||||
CustomBrandText *string
|
||||
CustomDescriptionText *string
|
||||
RestrictDirectMessage *string
|
||||
DEPRECATED_DO_NOT_USE_RestrictTeamInvite *string `json:"RestrictTeamInvite"` // This field is deprecated and must not be used.
|
||||
DEPRECATED_DO_NOT_USE_RestrictPublicChannelManagement *string `json:"RestrictPublicChannelManagement"` // This field is deprecated and must not be used.
|
||||
DEPRECATED_DO_NOT_USE_RestrictPrivateChannelManagement *string `json:"RestrictPrivateChannelManagement"` // This field is deprecated and must not be used.
|
||||
DEPRECATED_DO_NOT_USE_RestrictPublicChannelCreation *string `json:"RestrictPublicChannelCreation"` // This field is deprecated and must not be used.
|
||||
DEPRECATED_DO_NOT_USE_RestrictPrivateChannelCreation *string `json:"RestrictPrivateChannelCreation"` // This field is deprecated and must not be used.
|
||||
DEPRECATED_DO_NOT_USE_RestrictPublicChannelDeletion *string `json:"RestrictPublicChannelDeletion"` // This field is deprecated and must not be used.
|
||||
DEPRECATED_DO_NOT_USE_RestrictPrivateChannelDeletion *string `json:"RestrictPrivateChannelDeletion"` // This field is deprecated and must not be used.
|
||||
DEPRECATED_DO_NOT_USE_RestrictPrivateChannelManageMembers *string `json:"RestrictPrivateChannelManageMembers"` // This field is deprecated and must not be used.
|
||||
EnableXToLeaveChannelsFromLHS *bool
|
||||
UserStatusAwayTimeout *int64
|
||||
MaxChannelsPerTeam *int64
|
||||
MaxNotificationsPerChannel *int64
|
||||
EnableConfirmNotificationsToChannel *bool
|
||||
TeammateNameDisplay *string
|
||||
ExperimentalViewArchivedChannels *bool
|
||||
ExperimentalEnableAutomaticReplies *bool
|
||||
ExperimentalHideTownSquareinLHS *bool
|
||||
ExperimentalTownSquareIsReadOnly *bool
|
||||
ExperimentalPrimaryTeam *string
|
||||
ExperimentalDefaultChannels []string
|
||||
}
|
||||
|
||||
func (s *TeamSettings) SetDefaults() {
|
||||
|
@ -1173,49 +1218,49 @@ func (s *TeamSettings) SetDefaults() {
|
|||
s.RestrictDirectMessage = NewString(DIRECT_MESSAGE_ANY)
|
||||
}
|
||||
|
||||
if s.RestrictTeamInvite == nil {
|
||||
s.RestrictTeamInvite = NewString(PERMISSIONS_ALL)
|
||||
if s.DEPRECATED_DO_NOT_USE_RestrictTeamInvite == nil {
|
||||
s.DEPRECATED_DO_NOT_USE_RestrictTeamInvite = NewString(PERMISSIONS_ALL)
|
||||
}
|
||||
|
||||
if s.RestrictPublicChannelManagement == nil {
|
||||
s.RestrictPublicChannelManagement = NewString(PERMISSIONS_ALL)
|
||||
if s.DEPRECATED_DO_NOT_USE_RestrictPublicChannelManagement == nil {
|
||||
s.DEPRECATED_DO_NOT_USE_RestrictPublicChannelManagement = NewString(PERMISSIONS_ALL)
|
||||
}
|
||||
|
||||
if s.RestrictPrivateChannelManagement == nil {
|
||||
s.RestrictPrivateChannelManagement = NewString(PERMISSIONS_ALL)
|
||||
if s.DEPRECATED_DO_NOT_USE_RestrictPrivateChannelManagement == nil {
|
||||
s.DEPRECATED_DO_NOT_USE_RestrictPrivateChannelManagement = NewString(PERMISSIONS_ALL)
|
||||
}
|
||||
|
||||
if s.RestrictPublicChannelCreation == nil {
|
||||
s.RestrictPublicChannelCreation = new(string)
|
||||
if s.DEPRECATED_DO_NOT_USE_RestrictPublicChannelCreation == nil {
|
||||
s.DEPRECATED_DO_NOT_USE_RestrictPublicChannelCreation = new(string)
|
||||
// If this setting does not exist, assume migration from <3.6, so use management setting as default.
|
||||
if *s.RestrictPublicChannelManagement == PERMISSIONS_CHANNEL_ADMIN {
|
||||
*s.RestrictPublicChannelCreation = PERMISSIONS_TEAM_ADMIN
|
||||
if *s.DEPRECATED_DO_NOT_USE_RestrictPublicChannelManagement == PERMISSIONS_CHANNEL_ADMIN {
|
||||
*s.DEPRECATED_DO_NOT_USE_RestrictPublicChannelCreation = PERMISSIONS_TEAM_ADMIN
|
||||
} else {
|
||||
*s.RestrictPublicChannelCreation = *s.RestrictPublicChannelManagement
|
||||
*s.DEPRECATED_DO_NOT_USE_RestrictPublicChannelCreation = *s.DEPRECATED_DO_NOT_USE_RestrictPublicChannelManagement
|
||||
}
|
||||
}
|
||||
|
||||
if s.RestrictPrivateChannelCreation == nil {
|
||||
if s.DEPRECATED_DO_NOT_USE_RestrictPrivateChannelCreation == nil {
|
||||
// If this setting does not exist, assume migration from <3.6, so use management setting as default.
|
||||
if *s.RestrictPrivateChannelManagement == PERMISSIONS_CHANNEL_ADMIN {
|
||||
s.RestrictPrivateChannelCreation = NewString(PERMISSIONS_TEAM_ADMIN)
|
||||
if *s.DEPRECATED_DO_NOT_USE_RestrictPrivateChannelManagement == PERMISSIONS_CHANNEL_ADMIN {
|
||||
s.DEPRECATED_DO_NOT_USE_RestrictPrivateChannelCreation = NewString(PERMISSIONS_TEAM_ADMIN)
|
||||
} else {
|
||||
s.RestrictPrivateChannelCreation = NewString(*s.RestrictPrivateChannelManagement)
|
||||
s.DEPRECATED_DO_NOT_USE_RestrictPrivateChannelCreation = NewString(*s.DEPRECATED_DO_NOT_USE_RestrictPrivateChannelManagement)
|
||||
}
|
||||
}
|
||||
|
||||
if s.RestrictPublicChannelDeletion == nil {
|
||||
if s.DEPRECATED_DO_NOT_USE_RestrictPublicChannelDeletion == nil {
|
||||
// If this setting does not exist, assume migration from <3.6, so use management setting as default.
|
||||
s.RestrictPublicChannelDeletion = NewString(*s.RestrictPublicChannelManagement)
|
||||
s.DEPRECATED_DO_NOT_USE_RestrictPublicChannelDeletion = NewString(*s.DEPRECATED_DO_NOT_USE_RestrictPublicChannelManagement)
|
||||
}
|
||||
|
||||
if s.RestrictPrivateChannelDeletion == nil {
|
||||
if s.DEPRECATED_DO_NOT_USE_RestrictPrivateChannelDeletion == nil {
|
||||
// If this setting does not exist, assume migration from <3.6, so use management setting as default.
|
||||
s.RestrictPrivateChannelDeletion = NewString(*s.RestrictPrivateChannelManagement)
|
||||
s.DEPRECATED_DO_NOT_USE_RestrictPrivateChannelDeletion = NewString(*s.DEPRECATED_DO_NOT_USE_RestrictPrivateChannelManagement)
|
||||
}
|
||||
|
||||
if s.RestrictPrivateChannelManageMembers == nil {
|
||||
s.RestrictPrivateChannelManageMembers = NewString(PERMISSIONS_ALL)
|
||||
if s.DEPRECATED_DO_NOT_USE_RestrictPrivateChannelManageMembers == nil {
|
||||
s.DEPRECATED_DO_NOT_USE_RestrictPrivateChannelManageMembers = NewString(PERMISSIONS_ALL)
|
||||
}
|
||||
|
||||
if s.EnableXToLeaveChannelsFromLHS == nil {
|
||||
|
@ -1258,8 +1303,8 @@ func (s *TeamSettings) SetDefaults() {
|
|||
s.ExperimentalDefaultChannels = []string{}
|
||||
}
|
||||
|
||||
if s.EnableTeamCreation == nil {
|
||||
s.EnableTeamCreation = NewBool(true)
|
||||
if s.DEPRECATED_DO_NOT_USE_EnableTeamCreation == nil {
|
||||
s.DEPRECATED_DO_NOT_USE_EnableTeamCreation = NewBool(true)
|
||||
}
|
||||
|
||||
if s.EnableUserCreation == nil {
|
||||
|
@ -1624,51 +1669,6 @@ func (s *NativeAppSettings) SetDefaults() {
|
|||
}
|
||||
}
|
||||
|
||||
type WebrtcSettings struct {
|
||||
Enable *bool
|
||||
GatewayWebsocketUrl *string
|
||||
GatewayAdminUrl *string
|
||||
GatewayAdminSecret *string
|
||||
StunURI *string
|
||||
TurnURI *string
|
||||
TurnUsername *string
|
||||
TurnSharedKey *string
|
||||
}
|
||||
|
||||
func (s *WebrtcSettings) SetDefaults() {
|
||||
if s.Enable == nil {
|
||||
s.Enable = NewBool(false)
|
||||
}
|
||||
|
||||
if s.GatewayWebsocketUrl == nil {
|
||||
s.GatewayWebsocketUrl = NewString("")
|
||||
}
|
||||
|
||||
if s.GatewayAdminUrl == nil {
|
||||
s.GatewayAdminUrl = NewString("")
|
||||
}
|
||||
|
||||
if s.GatewayAdminSecret == nil {
|
||||
s.GatewayAdminSecret = NewString("")
|
||||
}
|
||||
|
||||
if s.StunURI == nil {
|
||||
s.StunURI = NewString(WEBRTC_SETTINGS_DEFAULT_STUN_URI)
|
||||
}
|
||||
|
||||
if s.TurnURI == nil {
|
||||
s.TurnURI = NewString(WEBRTC_SETTINGS_DEFAULT_TURN_URI)
|
||||
}
|
||||
|
||||
if s.TurnUsername == nil {
|
||||
s.TurnUsername = NewString("")
|
||||
}
|
||||
|
||||
if s.TurnSharedKey == nil {
|
||||
s.TurnSharedKey = NewString("")
|
||||
}
|
||||
}
|
||||
|
||||
type ElasticsearchSettings struct {
|
||||
ConnectionUrl *string
|
||||
Username *string
|
||||
|
@ -1886,14 +1886,6 @@ func (s *MessageExportSettings) SetDefaults() {
|
|||
s.ExportFromTimestamp = NewInt64(0)
|
||||
}
|
||||
|
||||
if s.EnableExport != nil && *s.EnableExport && *s.ExportFromTimestamp == int64(0) {
|
||||
// when the feature is enabled via the System Console, use the current timestamp as the start time for future exports
|
||||
s.ExportFromTimestamp = NewInt64(GetMillis())
|
||||
} else if s.EnableExport != nil && !*s.EnableExport {
|
||||
// when the feature is disabled, reset the timestamp so that the timestamp will be set if the feature is re-enabled
|
||||
s.ExportFromTimestamp = NewInt64(0)
|
||||
}
|
||||
|
||||
if s.BatchSize == nil {
|
||||
s.BatchSize = NewInt(10000)
|
||||
}
|
||||
|
@ -1959,7 +1951,6 @@ type Config struct {
|
|||
MetricsSettings MetricsSettings
|
||||
ExperimentalSettings ExperimentalSettings
|
||||
AnalyticsSettings AnalyticsSettings
|
||||
WebrtcSettings WebrtcSettings
|
||||
ElasticsearchSettings ElasticsearchSettings
|
||||
DataRetentionSettings DataRetentionSettings
|
||||
MessageExportSettings MessageExportSettings
|
||||
|
@ -2035,7 +2026,6 @@ func (o *Config) SetDefaults() {
|
|||
o.RateLimitSettings.SetDefaults()
|
||||
o.LogSettings.SetDefaults()
|
||||
o.JobSettings.SetDefaults()
|
||||
o.WebrtcSettings.SetDefaults()
|
||||
o.MessageExportSettings.SetDefaults()
|
||||
o.TimezoneSettings.SetDefaults()
|
||||
o.DisplaySettings.SetDefaults()
|
||||
|
@ -2087,10 +2077,6 @@ func (o *Config) IsValid() *AppError {
|
|||
return err
|
||||
}
|
||||
|
||||
if err := o.WebrtcSettings.isValid(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := o.ServiceSettings.isValid(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -2322,36 +2308,37 @@ func (ss *SamlSettings) isValid() *AppError {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (ws *WebrtcSettings) isValid() *AppError {
|
||||
if *ws.Enable {
|
||||
if len(*ws.GatewayWebsocketUrl) == 0 || !IsValidWebsocketUrl(*ws.GatewayWebsocketUrl) {
|
||||
return NewAppError("Config.IsValid", "model.config.is_valid.webrtc_gateway_ws_url.app_error", nil, "", http.StatusBadRequest)
|
||||
} else if len(*ws.GatewayAdminUrl) == 0 || !IsValidHttpUrl(*ws.GatewayAdminUrl) {
|
||||
return NewAppError("Config.IsValid", "model.config.is_valid.webrtc_gateway_admin_url.app_error", nil, "", http.StatusBadRequest)
|
||||
} else if len(*ws.GatewayAdminSecret) == 0 {
|
||||
return NewAppError("Config.IsValid", "model.config.is_valid.webrtc_gateway_admin_secret.app_error", nil, "", http.StatusBadRequest)
|
||||
} else if len(*ws.StunURI) != 0 && !IsValidTurnOrStunServer(*ws.StunURI) {
|
||||
return NewAppError("Config.IsValid", "model.config.is_valid.webrtc_stun_uri.app_error", nil, "", http.StatusBadRequest)
|
||||
} else if len(*ws.TurnURI) != 0 {
|
||||
if !IsValidTurnOrStunServer(*ws.TurnURI) {
|
||||
return NewAppError("Config.IsValid", "model.config.is_valid.webrtc_turn_uri.app_error", nil, "", http.StatusBadRequest)
|
||||
}
|
||||
if len(*ws.TurnUsername) == 0 {
|
||||
return NewAppError("Config.IsValid", "model.config.is_valid.webrtc_turn_username.app_error", nil, "", http.StatusBadRequest)
|
||||
} else if len(*ws.TurnSharedKey) == 0 {
|
||||
return NewAppError("Config.IsValid", "model.config.is_valid.webrtc_turn_shared_key.app_error", nil, "", http.StatusBadRequest)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (ss *ServiceSettings) isValid() *AppError {
|
||||
if !(*ss.ConnectionSecurity == CONN_SECURITY_NONE || *ss.ConnectionSecurity == CONN_SECURITY_TLS) {
|
||||
return NewAppError("Config.IsValid", "model.config.is_valid.webserver_security.app_error", nil, "", http.StatusBadRequest)
|
||||
}
|
||||
|
||||
if *ss.ConnectionSecurity == CONN_SECURITY_TLS && *ss.UseLetsEncrypt == false {
|
||||
appErr := NewAppError("Config.IsValid", "model.config.is_valid.tls_cert_file.app_error", nil, "", http.StatusBadRequest)
|
||||
|
||||
if *ss.TLSCertFile == "" {
|
||||
return appErr
|
||||
} else if _, err := os.Stat(*ss.TLSCertFile); os.IsNotExist(err) {
|
||||
return appErr
|
||||
}
|
||||
|
||||
appErr = NewAppError("Config.IsValid", "model.config.is_valid.tls_key_file.app_error", nil, "", http.StatusBadRequest)
|
||||
|
||||
if *ss.TLSKeyFile == "" {
|
||||
return appErr
|
||||
} else if _, err := os.Stat(*ss.TLSKeyFile); os.IsNotExist(err) {
|
||||
return appErr
|
||||
}
|
||||
}
|
||||
|
||||
if len(ss.TLSOverwriteCiphers) > 0 {
|
||||
for _, cipher := range ss.TLSOverwriteCiphers {
|
||||
if _, ok := ServerTLSSupportedCiphers[cipher]; !ok {
|
||||
return NewAppError("Config.IsValid", "model.config.is_valid.tls_overwrite_cipher.app_error", map[string]interface{}{"name": cipher}, "", http.StatusBadRequest)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if *ss.ReadTimeout <= 0 {
|
||||
return NewAppError("Config.IsValid", "model.config.is_valid.read_timeout.app_error", nil, "", http.StatusBadRequest)
|
||||
}
|
||||
|
|
Reference in a new issue