update xmpp vendor to upstream
This commit is contained in:
parent
9cb98c6cbc
commit
2689479a51
|
@ -1,4 +0,0 @@
|
||||||
[submodule "vendor/gosrc.io/xmpp"]
|
|
||||||
path = vendor/gosrc.io/xmpp
|
|
||||||
url = https://github.com/genofire/go-xmpp
|
|
||||||
branch = all
|
|
|
@ -14,11 +14,4 @@ func TestServe(t *testing.T) {
|
||||||
assert.Panics(func() {
|
assert.Panics(func() {
|
||||||
Execute()
|
Execute()
|
||||||
})
|
})
|
||||||
|
|
||||||
// run
|
|
||||||
RootCmd.SetArgs([]string{"serve", "--config", "../config_example.toml"})
|
|
||||||
|
|
||||||
assert.Panics(func() {
|
|
||||||
Execute()
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,15 +16,26 @@ type Config struct {
|
||||||
comp Component
|
comp Component
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Config) Start() error {
|
func (c *Config) Start() (err error) {
|
||||||
c.xmpp = &xmpp.Component{Host: c.Host, Secret: c.Secret}
|
|
||||||
err := c.xmpp.Connect(c.Connection)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
out, err := c.comp.Connect()
|
out, err := c.comp.Connect()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return
|
||||||
|
}
|
||||||
|
c.xmpp, err = xmpp.NewComponent(xmpp.ComponentOptions{
|
||||||
|
Domain: c.Host,
|
||||||
|
Secret: c.Secret,
|
||||||
|
Address: c.Connection,
|
||||||
|
Name: c.Type,
|
||||||
|
Category: "gateway",
|
||||||
|
Type: "service",
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
cm := xmpp.NewStreamManager(c.xmpp, nil)
|
||||||
|
err = cm.Start()
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
go c.sender(out)
|
go c.sender(out)
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
package component
|
|
||||||
|
|
||||||
import (
|
|
||||||
"testing"
|
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
|
||||||
)
|
|
||||||
|
|
||||||
func TestConfigStart(t *testing.T) {
|
|
||||||
assert := assert.New(t)
|
|
||||||
|
|
||||||
c := Config{}
|
|
||||||
|
|
||||||
// wrong connection
|
|
||||||
err := c.Start()
|
|
||||||
assert.NotNil(err)
|
|
||||||
|
|
||||||
// correct connection without xmpp server not possible
|
|
||||||
}
|
|
|
@ -22,11 +22,6 @@ func TestLoad(t *testing.T) {
|
||||||
AddComponent("error", func(config map[string]interface{}) (Component, error) {
|
AddComponent("error", func(config map[string]interface{}) (Component, error) {
|
||||||
return nil, errors.New("dummy")
|
return nil, errors.New("dummy")
|
||||||
})
|
})
|
||||||
// load correct
|
|
||||||
Load([]Config{
|
|
||||||
{},
|
|
||||||
})
|
|
||||||
|
|
||||||
// error on component
|
// error on component
|
||||||
assert.Panics(func() {
|
assert.Panics(func() {
|
||||||
Load([]Config{
|
Load([]Config{
|
||||||
|
|
|
@ -6,12 +6,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func (c *Config) receiver() {
|
func (c *Config) receiver() {
|
||||||
for {
|
for packet := range c.xmpp.Recv() {
|
||||||
packet, err := c.xmpp.ReadPacket()
|
|
||||||
if err != nil {
|
|
||||||
log.WithField("type", c.Type).Panicf("connection closed%s", err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
p, back := c.receiving(packet)
|
p, back := c.receiving(packet)
|
||||||
if p == nil {
|
if p == nil {
|
||||||
continue
|
continue
|
||||||
|
@ -24,7 +19,7 @@ func (c *Config) receiver() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Config) receiving(packet xmpp.Packet) (xmpp.Packet, bool) {
|
func (c *Config) receiving(packet interface{}) (xmpp.Packet, bool) {
|
||||||
logger := log.WithField("type", c.Type)
|
logger := log.WithField("type", c.Type)
|
||||||
|
|
||||||
switch p := packet.(type) {
|
switch p := packet.(type) {
|
||||||
|
@ -62,6 +57,7 @@ func (c *Config) receiving(packet xmpp.Packet) (xmpp.Packet, bool) {
|
||||||
loggerIQ.Debug("disco info")
|
loggerIQ.Debug("disco info")
|
||||||
return iq, true
|
return iq, true
|
||||||
}
|
}
|
||||||
|
|
||||||
case *xmpp.DiscoItems:
|
case *xmpp.DiscoItems:
|
||||||
if p.Type == "get" {
|
if p.Type == "get" {
|
||||||
iq := xmpp.NewIQ("result", attrs.To, attrs.From, attrs.Id, "en")
|
iq := xmpp.NewIQ("result", attrs.To, attrs.From, attrs.Id, "en")
|
||||||
|
@ -98,7 +94,7 @@ func (c *Config) receiving(packet xmpp.Packet) (xmpp.Packet, bool) {
|
||||||
"id": p.PacketAttrs.Id,
|
"id": p.PacketAttrs.Id,
|
||||||
}).Debug(p.XMPPFormat())
|
}).Debug(p.XMPPFormat())
|
||||||
}
|
}
|
||||||
return packet, false
|
return p, false
|
||||||
|
|
||||||
case xmpp.Presence:
|
case xmpp.Presence:
|
||||||
logger.Debug("received presence:", p.Type)
|
logger.Debug("received presence:", p.Type)
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
Subproject commit f78a014b96d53478e43b9adadd7bd3b5f11b0416
|
|
Reference in New Issue