summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoona Hoikkala <joohoi@users.noreply.github.com>2019-06-16 17:23:50 +0300
committerWim <wim@42.be>2019-06-16 16:23:50 +0200
commit80b4cec87ae6fa85beac024e926069fcf904d347 (patch)
tree3c20bdbfc77deed336a066e9a8a8ca78e26a3b93
parent76c7b69e4e099dd80119f4ca1f2fac01aa2f31e6 (diff)
downloadmatterbridge-msglm-80b4cec87ae6fa85beac024e926069fcf904d347.tar.gz
matterbridge-msglm-80b4cec87ae6fa85beac024e926069fcf904d347.tar.bz2
matterbridge-msglm-80b4cec87ae6fa85beac024e926069fcf904d347.zip
Add an option to skip the Mattermost server version check (#849)
Adds SkipVersionCheck bool option for mattermost
-rw-r--r--bridge/config/config.go1
-rw-r--r--bridge/mattermost/helpers.go1
-rw-r--r--matterclient/helpers.go16
-rw-r--r--matterclient/matterclient.go17
4 files changed, 21 insertions, 14 deletions
diff --git a/bridge/config/config.go b/bridge/config/config.go
index a0cc20f7..e7d8da59 100644
--- a/bridge/config/config.go
+++ b/bridge/config/config.go
@@ -127,6 +127,7 @@ type Protocol struct {
ShowUserTyping bool // slack
ShowEmbeds bool // discord
SkipTLSVerify bool // IRC, mattermost
+ SkipVersionCheck bool // mattermost
StripNick bool // all protocols
SyncTopic bool // slack
TengoModifyMessage string // general
diff --git a/bridge/mattermost/helpers.go b/bridge/mattermost/helpers.go
index 121cd4db..14b7469d 100644
--- a/bridge/mattermost/helpers.go
+++ b/bridge/mattermost/helpers.go
@@ -70,6 +70,7 @@ func (b *Bmattermost) apiLogin() error {
b.mc.SetLogLevel("debug")
}
b.mc.SkipTLSVerify = b.GetBool("SkipTLSVerify")
+ b.mc.SkipVersionCheck = b.GetBool("SkipVersionCheck")
b.mc.NoTLS = b.GetBool("NoTLS")
b.Log.Infof("Connecting %s (team: %s) on %s", b.GetString("Login"), b.GetString("Team"), b.GetString("Server"))
err := b.mc.Login()
diff --git a/matterclient/helpers.go b/matterclient/helpers.go
index c3d33145..d5b1038a 100644
--- a/matterclient/helpers.go
+++ b/matterclient/helpers.go
@@ -186,15 +186,19 @@ func (m *MMClient) serverAlive(firstConnection bool, b *backoff.Backoff) error {
if resp.Error != nil {
return fmt.Errorf("%#v", resp.Error.Error())
}
- if firstConnection && !supportedVersion(resp.ServerVersion) {
+ if firstConnection && !m.SkipVersionCheck && !supportedVersion(resp.ServerVersion) {
return fmt.Errorf("unsupported mattermost version: %s", resp.ServerVersion)
}
- m.ServerVersion = resp.ServerVersion
- if m.ServerVersion == "" {
- m.logger.Debugf("Server not up yet, reconnecting in %s", d)
- time.Sleep(d)
+ if !m.SkipVersionCheck {
+ m.ServerVersion = resp.ServerVersion
+ if m.ServerVersion == "" {
+ m.logger.Debugf("Server not up yet, reconnecting in %s", d)
+ time.Sleep(d)
+ } else {
+ m.logger.Infof("Found version %s", m.ServerVersion)
+ return nil
+ }
} else {
- m.logger.Infof("Found version %s", m.ServerVersion)
return nil
}
}
diff --git a/matterclient/matterclient.go b/matterclient/matterclient.go
index 66ffcca6..338f86d7 100644
--- a/matterclient/matterclient.go
+++ b/matterclient/matterclient.go
@@ -16,14 +16,15 @@ import (
)
type Credentials struct {
- Login string
- Team string
- Pass string
- Token string
- CookieToken bool
- Server string
- NoTLS bool
- SkipTLSVerify bool
+ Login string
+ Team string
+ Pass string
+ Token string
+ CookieToken bool
+ Server string
+ NoTLS bool
+ SkipTLSVerify bool
+ SkipVersionCheck bool
}
type Message struct {