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