also use xmpp JID as part of settings persistence #17
|
@ -6,6 +6,7 @@ import (
|
||||||
"encoding/xml"
|
"encoding/xml"
|
||||||
"errors"
|
"errors"
|
||||||
"io"
|
"io"
|
||||||
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/bdlm/log"
|
"github.com/bdlm/log"
|
||||||
|
@ -112,7 +113,7 @@ func (s *XMPPService) message(msgHead stanza.Message, t xmlstream.TokenReadEncod
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
from := msgHead.From.String()
|
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")
|
log.WithField("from", from).Info("message not from gateway, that is no notification")
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -178,7 +179,7 @@ func (s *XMPPService) selectGateway() {
|
||||||
if s.KeepGateway {
|
if s.KeepGateway {
|
||||||
return
|
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 {
|
if len(conns) <= 0 {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -242,7 +243,7 @@ func (s *XMPPService) Register(appID, appToken string) (string, string, error) {
|
||||||
"appID": appID,
|
"appID": appID,
|
||||||
"appToken": appToken,
|
"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 {
|
if conn == nil {
|
||||||
errStr := "error to store public token"
|
errStr := "error to store public token"
|
||||||
err := errors.New(errStr)
|
err := errors.New(errStr)
|
||||||
|
|
Loading…
Reference in New Issue