From 99689ea2cdcab754efb09a92b7b2e7ba22e657d0 Mon Sep 17 00:00:00 2001 From: Martin Dosch Date: Tue, 2 Apr 2024 15:57:48 +0200 Subject: [PATCH] Ignore EOF errors when receiving stanzas. --- go.mod | 2 +- go.sum | 2 ++ stanzahandling.go | 5 +++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d7864f3..58c82fd 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/beevik/etree v1.3.0 github.com/gabriel-vasile/mimetype v1.4.3 github.com/pborman/getopt/v2 v2.1.0 - github.com/xmppo/go-xmpp v0.1.5-0.20240402113945-0ae62a33a21d + github.com/xmppo/go-xmpp v0.1.5-0.20240402134834-6e5d6e449eec salsa.debian.org/mdosch/xmppsrv v0.2.6 ) diff --git a/go.sum b/go.sum index 4568668..229fb77 100644 --- a/go.sum +++ b/go.sum @@ -27,6 +27,8 @@ github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5Cc github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/xmppo/go-xmpp v0.1.5-0.20240402113945-0ae62a33a21d h1:r5QzwgZpnLYvkmrhJbvLlDEl2w/EjNz4JbsHuktkOu8= github.com/xmppo/go-xmpp v0.1.5-0.20240402113945-0ae62a33a21d/go.mod h1:yyTnJMs6I6KUKv3BjXc4i3NU/iWBxY3yBGiUvUcW0Qg= +github.com/xmppo/go-xmpp v0.1.5-0.20240402134834-6e5d6e449eec h1:gJbmNIfHDSIZyarVQh42vV/iqhEzD4xyHOCqWG2sFfs= +github.com/xmppo/go-xmpp v0.1.5-0.20240402134834-6e5d6e449eec/go.mod h1:yyTnJMs6I6KUKv3BjXc4i3NU/iWBxY3yBGiUvUcW0Qg= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= diff --git a/stanzahandling.go b/stanzahandling.go index caab6a5..f0df6b2 100644 --- a/stanzahandling.go +++ b/stanzahandling.go @@ -7,6 +7,7 @@ package main import ( "errors" "fmt" + "io" "log" "runtime" "time" @@ -46,8 +47,8 @@ func getIQ(id string, c chan xmpp.IQ, iqc chan xmpp.IQ) { func rcvStanzas(client *xmpp.Client, iqc chan xmpp.IQ, msgc chan xmpp.Chat) { for { received, err := client.Recv() - if err != nil { - fmt.Println(err) + if err != nil && err != io.EOF { + closeAndExit(client, err) } switch v := received.(type) { case xmpp.Chat: