Skip to content

Commit

Permalink
Merge 6fba0f0 into ac5b066
Browse files Browse the repository at this point in the history
  • Loading branch information
davej-improbable committed Dec 4, 2020
2 parents ac5b066 + 6fba0f0 commit 57bf69f
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 32 deletions.
4 changes: 2 additions & 2 deletions cert_checker.go
Expand Up @@ -65,7 +65,7 @@ func (c *ServerCheck) Check() error {
var f stanza.StreamFeatures
packet, err := stanza.NextPacket(decoder)
if err != nil {
err = fmt.Errorf("stream open decode features: %s", err)
err = fmt.Errorf("stream open decode features: %w", err)
return err
}

Expand All @@ -86,7 +86,7 @@ func (c *ServerCheck) Check() error {

var k stanza.TLSProceed
if err = decoder.DecodeElement(&k, nil); err != nil {
return fmt.Errorf("expecting starttls proceed: %s", err)
return fmt.Errorf("expecting starttls proceed: %w", err)
}

var tlsConfig tls.Config
Expand Down
4 changes: 2 additions & 2 deletions stanza/parser.go
Expand Up @@ -91,7 +91,7 @@ func NextXmppToken(p *xml.Decoder) (xml.Token, error) {
return xml.StartElement{}, errors.New("connection closed")
}
if err != nil {
return xml.StartElement{}, fmt.Errorf("NextStart %s", err)
return xml.StartElement{}, fmt.Errorf("NextStart: %w", err)
}
switch t := t.(type) {
case xml.StartElement:
Expand All @@ -112,7 +112,7 @@ func NextStart(p *xml.Decoder) (xml.StartElement, error) {
return xml.StartElement{}, errors.New("connection closed")
}
if err != nil {
return xml.StartElement{}, fmt.Errorf("NextStart %s", err)
return xml.StartElement{}, fmt.Errorf("NextStart: %w", err)
}
switch t := t.(type) {
case xml.StartElement:
Expand Down
33 changes: 19 additions & 14 deletions stream_manager.go
Expand Up @@ -113,22 +113,27 @@ func (sm *StreamManager) Stop() {
}

func (sm *StreamManager) connect() error {
if sm.client != nil {
if c, ok := sm.client.(*Client); ok {
if c.CurrentState.getState() == StateDisconnected {
sm.Metrics = initMetrics()
err := c.Connect()
if err != nil {
return err
}
if sm.PostConnect != nil {
sm.PostConnect(sm.client)
}
return nil
}
if sm.client == nil {
return errors.New("client is not set")
}

if c, ok := sm.client.(*Client); ok {
if c.CurrentState.getState() != StateDisconnected {
return errors.New("client is not disconnected")
}
}
return errors.New("client is not disconnected")

sm.Metrics = initMetrics()

if err := sm.client.Connect(); err != nil {
return err
}

if sm.PostConnect != nil {
sm.PostConnect(sm.client)
}

return nil
}

// resume manages the reconnection loop and apply the define backoff to avoid overloading the server.
Expand Down
28 changes: 14 additions & 14 deletions tcp_server_mock.go
Expand Up @@ -131,7 +131,7 @@ func respondToIQ(t *testing.T, sc *ServerConn) {
// Decoder to parse the request
iqReq, err := receiveIq(sc)
if err != nil {
t.Fatalf("failed to receive IQ : %s", err.Error())
t.Fatalf("failed to receive IQ : %w", err.Error())
}

if vld, _ := iqReq.IsValid(); !vld {
Expand All @@ -155,7 +155,7 @@ func respondToIQ(t *testing.T, sc *ServerConn) {
mResp, err := xml.Marshal(iqResp)
_, err = fmt.Fprintln(sc.connection, string(mResp))
if err != nil {
t.Errorf("Could not send response stanza : %s", err)
t.Errorf("Could not send response stanza : %w", err)
}
return
}
Expand All @@ -175,15 +175,15 @@ func discardPresence(t *testing.T, sc *ServerConn) {

if err != nil {
if netErr, ok := err.(net.Error); ok && netErr.Timeout() {
t.Errorf("read timeout: %s", err)
t.Errorf("read timeout: %w", err)
} else {
t.Errorf("read error: %s", err)
t.Errorf("read error: %w", err)
}
}
err = xml.Unmarshal(recvBuf, &presenceStz)

if err != nil {
t.Errorf("Expected presence but this happened : %s", err.Error())
t.Errorf("Expected presence but this happened : %w", err.Error())
}
}

Expand Down Expand Up @@ -223,23 +223,23 @@ func sendStreamFeatures(t *testing.T, sc *ServerConn) {
</mechanisms>
</stream:features>`
if _, err := fmt.Fprintln(sc.connection, features); err != nil {
t.Errorf("cannot send stream feature: %s", err)
t.Errorf("cannot send stream feature: %w", err)
}
}

// TODO return err in case of error reading the auth params
func readAuth(t *testing.T, decoder *xml.Decoder) string {
se, err := stanza.NextStart(decoder)
if err != nil {
t.Errorf("cannot read auth: %s", err)
t.Errorf("cannot read auth: %w", err)
return ""
}

var nv interface{}
nv = &stanza.SASLAuth{}
// Decode element into pointer storage
if err = decoder.DecodeElement(nv, &se); err != nil {
t.Errorf("cannot decode auth: %s", err)
t.Errorf("cannot decode auth: %w", err)
return ""
}

Expand All @@ -256,7 +256,7 @@ func sendBindFeature(t *testing.T, sc *ServerConn) {
<bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'/>
</stream:features>`
if _, err := fmt.Fprintln(sc.connection, features); err != nil {
t.Errorf("cannot send stream feature: %s", err)
t.Errorf("cannot send stream feature: %w", err)
}
}

Expand All @@ -267,21 +267,21 @@ func sendRFC3921Feature(t *testing.T, sc *ServerConn) {
<session xmlns='urn:ietf:params:xml:ns:xmpp-session'/>
</stream:features>`
if _, err := fmt.Fprintln(sc.connection, features); err != nil {
t.Errorf("cannot send stream feature: %s", err)
t.Errorf("cannot send stream feature: %w", err)
}
}

func bind(t *testing.T, sc *ServerConn) {
se, err := stanza.NextStart(sc.decoder)
if err != nil {
t.Errorf("cannot read bind: %s", err)
t.Errorf("cannot read bind: %w", err)
return
}

iq := &stanza.IQ{}
// Decode element into pointer storage
if err = sc.decoder.DecodeElement(&iq, &se); err != nil {
t.Errorf("cannot decode bind iq: %s", err)
t.Errorf("cannot decode bind iq: %w", err)
return
}

Expand All @@ -300,14 +300,14 @@ func bind(t *testing.T, sc *ServerConn) {
func session(t *testing.T, sc *ServerConn) {
se, err := stanza.NextStart(sc.decoder)
if err != nil {
t.Errorf("cannot read session: %s", err)
t.Errorf("cannot read session: %w", err)
return
}

iq := &stanza.IQ{}
// Decode element into pointer storage
if err = sc.decoder.DecodeElement(&iq, &se); err != nil {
t.Errorf("cannot decode session iq: %s", err)
t.Errorf("cannot decode session iq: %w", err)
return
}

Expand Down

0 comments on commit 57bf69f

Please sign in to comment.