From e773596ea0b0b53d8e5b7e30cd420cee7b2dda68 Mon Sep 17 00:00:00 2001 From: Martin Date: Sat, 19 Mar 2022 21:58:56 +0800 Subject: [PATCH] Provide error replies for IQs. (#135) This should fix #125. --- xmpp.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/xmpp.go b/xmpp.go index 2b180e2..7c9c1fb 100644 --- a/xmpp.go +++ b/xmpp.go @@ -721,6 +721,14 @@ func (c *Client) Recv() (stanza interface{}, err error) { return PubsubSubscription{ Errors: errsStr, }, nil + default: + res, err := xml.Marshal(v.Query) + if err != nil { + return Chat{}, err + } + + return IQ{ID: v.ID, From: v.From, To: v.To, Type: v.Type, + Query: res}, nil } case v.Type == "result" && v.ID == "unsub1": // Unsubscribing MAY contain a pubsub element. But it does