From 84d7c000ae53a4455d912e9778b1468736d7c84d Mon Sep 17 00:00:00 2001 From: Chteufleur Date: Fri, 30 Dec 2016 09:10:21 +0100 Subject: [PATCH] Make XMPP connexion use SRV lookup. --- conf/app.conf | 1 + main.go | 2 +- xmpp/xmpp.go | 11 +++++++---- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/conf/app.conf b/conf/app.conf index e277c82..ee2dffc 100644 --- a/conf/app.conf +++ b/conf/app.conf @@ -17,3 +17,4 @@ SessionCookieLifeTime = 3600 JID = test@kingpenguin.tk PWD = test PORT = 5222 +XMPP_DEBUG = false diff --git a/main.go b/main.go index 4eae810..d475429 100644 --- a/main.go +++ b/main.go @@ -62,7 +62,7 @@ func main() { time.Sleep(1 * time.Second) models.ChanRuns <- watchlog.EndRun time.Sleep(1 * time.Second) - // models.ChanRuns <- xmpp_manager.EndRun + models.ChanRuns <- xmpp_manager.EndRun beego.Run() } diff --git a/xmpp/xmpp.go b/xmpp/xmpp.go index 7b3b80a..e30df82 100644 --- a/xmpp/xmpp.go +++ b/xmpp/xmpp.go @@ -41,7 +41,7 @@ var ( stream = new(xmpp.Stream) client = new(xmpp.XMPP) - Debug = true + Debug = beego.AppConfig.String("XMPP_DEBUG") == "true" ) func init() { @@ -59,10 +59,13 @@ func Run() { // Create stream and configure it as a component connection. log.Info("XMPP Run()") jid = must(xmpp.ParseJID(JidStr)).(xmpp.JID) - stream = must(xmpp.NewStream(jid.Domain+":"+serverPort, &xmpp.StreamConfig{LogStanzas: Debug})).(*xmpp.Stream) - client = must(xmpp.NewClientXMPP(stream, jid, passwdStr, &xmpp.ClientConfig{InsecureSkipVerify: true})).(*xmpp.XMPP) + addrs, err := xmpp.HomeServerAddrs(jid) + if err == nil && len(addrs) > 0 { + stream = must(xmpp.NewStream(addrs[0], &xmpp.StreamConfig{LogStanzas: Debug})).(*xmpp.Stream) + client = must(xmpp.NewClientXMPP(stream, jid, passwdStr, &xmpp.ClientConfig{InsecureSkipVerify: true})).(*xmpp.XMPP) - mainXMPP() + mainXMPP() + } log.Debug("xmpp.Run Ended") models.ChanRuns <- EndRun }