From 656c3237ddddbcdb4eb4b39d0aa25a20986d40b6 Mon Sep 17 00:00:00 2001 From: Karmanyaah Malhotra Date: Fri, 17 Sep 2021 09:58:20 -0500 Subject: [PATCH] add other part of conn.Settings check --- distributor/xmpp.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/distributor/xmpp.go b/distributor/xmpp.go index 4683e99..cba241a 100644 --- a/distributor/xmpp.go +++ b/distributor/xmpp.go @@ -6,6 +6,7 @@ import ( "encoding/xml" "errors" "io" + "strings" "time" "github.com/bdlm/log" @@ -112,7 +113,7 @@ func (s *XMPPService) message(msgHead stanza.Message, t xmlstream.TokenReadEncod return nil } from := msgHead.From.String() - if from != conn.Settings { + if settings := strings.Split(conn.Settings, ":"); len(settings) > 1 && settings[0] == from { log.WithField("from", from).Info("message not from gateway, that is no notification") return nil } @@ -178,7 +179,7 @@ func (s *XMPPService) selectGateway() { if s.KeepGateway { return } - conns := s.store.GetUnequalSettings(s.gateway.String() + s.session.LocalAddr().Bare().String()) + conns := s.store.GetUnequalSettings(s.gateway.String() + ":" + s.session.LocalAddr().Bare().String()) if len(conns) <= 0 { return } @@ -242,7 +243,7 @@ func (s *XMPPService) Register(appID, appToken string) (string, string, error) { "appID": appID, "appToken": appToken, }) - conn := s.store.NewConnection(appID, appToken, s.gateway.String()+s.session.LocalAddr().Bare().String()) + conn := s.store.NewConnection(appID, appToken, s.gateway.String()+":"+s.session.LocalAddr().Bare().String()) if conn == nil { errStr := "error to store public token" err := errors.New(errStr)