forked from lug/matterbridge
		
	Add SkipTLSVerify option for mattermost, allows selfsigned certificates
This commit is contained in:
		| @@ -59,7 +59,8 @@ 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 | ||||
|   | ||||
| @@ -21,6 +21,7 @@ type Config struct { | ||||
| 		ShowJoinPart  bool | ||||
| 		Token         string | ||||
| 		IconURL       string | ||||
| 		SkipTLSVerify bool | ||||
| 	} | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -12,3 +12,4 @@ port=9999 | ||||
| showjoinpart=true | ||||
| #token=yourtokenfrommattermost | ||||
| IconURL="http://youricon.png" | ||||
| #SkipTLSVerify=true | ||||
|   | ||||
| @@ -20,7 +20,8 @@ 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 | ||||
| @@ -68,7 +69,11 @@ 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 | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -3,6 +3,7 @@ package matterhook | ||||
|  | ||||
| import ( | ||||
| 	"bytes" | ||||
| 	"crypto/tls" | ||||
| 	"encoding/json" | ||||
| 	"fmt" | ||||
| 	"github.com/gorilla/schema" | ||||
| @@ -42,6 +43,7 @@ type Client struct { | ||||
| 	url        string | ||||
| 	In         chan IMessage | ||||
| 	Out        chan OMessage | ||||
| 	httpclient *http.Client | ||||
| 	Config | ||||
| } | ||||
|  | ||||
| @@ -49,6 +51,7 @@ type Client struct { | ||||
| type Config struct { | ||||
| 	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. | ||||
| @@ -57,6 +60,11 @@ 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 | ||||
| } | ||||
| @@ -124,7 +132,7 @@ 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 | ||||
| 	} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Wim
					Wim