commit 8b6a00d1c58ee505fa1f5515d561eb909cb8063a
Author: Wim <wim@42.be>
Date: Sun Oct 25 01:00:19 2015 +0000
diff --git a/README.md b/README.md
index 655d461..5946908 100644
--- a/README.md
+++ b/README.md
@@ -597 +598 @@ port=9999
showjoinpart=true #show irc users joining and parting
#the token you get from the outgoing webhook in mattermost. If empty no token check will be done.
token=yourtokenfrommattermost
-
+#disable certificate checking (selfsigned certificates)
+#SkipTLSVerify=true
```
### mattermost
diff --git a/config.go b/config.go
index efd6eaf..e40b0e9 100644
--- a/config.go
+++ b/config.go
@@ -1611 +1612 @@ type Config struct {
Channel string
}
Mattermost struct {
- URL string
- Port int
- ShowJoinPart bool
- Token string
- IconURL string
+ URL string
+ Port int
+ ShowJoinPart bool
+ Token string
+ IconURL string
+ SkipTLSVerify bool
}
}
diff --git a/matterbridge.conf.sample b/matterbridge.conf.sample
index 231a3c6..bac921c 100644
--- a/matterbridge.conf.sample
+++ b/matterbridge.conf.sample
@@ -123 +124 @@ port=9999
showjoinpart=true
#token=yourtokenfrommattermost
IconURL="http://youricon.png"
+#SkipTLSVerify=true
diff --git a/matterbridge.go b/matterbridge.go
index 94d3895..4a36e80 100644
--- a/matterbridge.go
+++ b/matterbridge.go
@@ -207 +208 @@ func NewBridge(name string, config *Config) *Bridge {
b := &Bridge{}
b.Config = config
b.m = matterhook.New(b.Config.Mattermost.URL,
- matterhook.Config{Port: b.Config.Mattermost.Port, Token: b.Config.Mattermost.Token})
+ matterhook.Config{Port: b.Config.Mattermost.Port, Token: b.Config.Mattermost.Token,
+ InsecureSkipVerify: b.Config.Mattermost.SkipTLSVerify})
b.i = b.createIRC(name)
go b.handleMatter()
return b
@@ -687 +6911 @@ func (b *Bridge) Send(nick string, message string) error {
matterMessage := matterhook.OMessage{IconURL: b.Config.Mattermost.IconURL}
matterMessage.UserName = nick
matterMessage.Text = message
- b.m.Send(matterMessage)
+ err := b.m.Send(matterMessage)
+ if err != nil {
+ log.Println(err)
+ return err
+ }
return nil
}
diff --git a/matterhook/matterhook.go b/matterhook/matterhook.go
index ed06249..1ff1f42 100644
--- a/matterhook/matterhook.go
+++ b/matterhook/matterhook.go
@@ -36 +37 @@ package matterhook
import (
"bytes"
+ "crypto/tls"
"encoding/json"
"fmt"
"github.com/gorilla/schema"
@@ -3916 +4018 @@ type IMessage struct {
// Client for Mattermost.
type Client struct {
- url string
- In chan IMessage
- Out chan OMessage
+ url string
+ In chan IMessage
+ Out chan OMessage
+ httpclient *http.Client
Config
}
// Config for client.
type Config struct {
- Port int // Port to listen on.
- Token string // Only allow this token from Mattermost. (Allow everything when empty)
+ Port int // Port to listen on.
+ Token string // Only allow this token from Mattermost. (Allow everything when empty)
+ InsecureSkipVerify bool // disable certificate checking
}
// New Mattermost client.
@@ -576 +6011 @@ func New(url string, config Config) *Client {
if c.Port == 0 {
c.Port = 9999
}
+ tr := &http.Transport{
+ TLSClientConfig: &tls.Config{InsecureSkipVerify: config.InsecureSkipVerify},
+ }
+ c.httpclient = &http.Client{Transport: tr}
+
go c.StartServer()
return c
}
@@ -1247 +1327 @@ func (c *Client) Send(msg OMessage) error {
if err != nil {
return err
}
- resp, err := http.Post(c.url, "application/json", bytes.NewReader(buf))
+ resp, err := c.httpclient.Post(c.url, "application/json", bytes.NewReader(buf))
if err != nil {
return err
}