From f16ca35c0d30a87bb904fdb6be9b8f4993c02f9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel=20Ortu=C3=B1o?= Date: Mon, 2 Jan 2023 19:24:08 +0100 Subject: [PATCH] updated to latest stavaganza release (#282) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Miguel Ángel Ortuño --- CHANGELOG.md | 4 + dockerfiles/Dockerfile | 2 +- go.mod | 4 +- go.sum | 8 +- helm/values.yaml | 2 +- pkg/c2s/in.go | 2 +- pkg/c2s/in_test.go | 2 +- pkg/component/xep0114/in.go | 2 +- pkg/component/xep0114/in_test.go | 2 +- pkg/module/xep0198/stream.go | 2 +- pkg/parser/parser.go | 178 ------------------------------- pkg/parser/parser_test.go | 97 ----------------- pkg/s2s/in.go | 2 +- pkg/s2s/in_test.go | 2 +- pkg/s2s/out.go | 2 +- pkg/s2s/out_test.go | 2 +- pkg/session/session.go | 2 +- pkg/session/session_test.go | 2 +- pkg/version/version.go | 2 +- 19 files changed, 24 insertions(+), 295 deletions(-) delete mode 100644 pkg/parser/parser.go delete mode 100644 pkg/parser/parser_test.go diff --git a/CHANGELOG.md b/CHANGELOG.md index d31be50ca..99cc7208b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## jackal - main / unreleased +## 0.63.0 (2023/01/05) + +* [ENHANCEMENT] stravaganza: improved xml parsing performance. [#283](https://github.com/ortuman/jackal/pull/283) + ## 0.62.3 (2022/09/29) * [BUGFIX] s2s: overwrite stanza value on received hooks [#261](https://github.com/ortuman/jackal/pull/261) diff --git a/dockerfiles/Dockerfile b/dockerfiles/Dockerfile index ecce659c0..91e51a654 100644 --- a/dockerfiles/Dockerfile +++ b/dockerfiles/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$BUILDPLATFORM golang:1.19.3-bullseye as stage +FROM --platform=$BUILDPLATFORM golang:1.19.4-bullseye as stage ARG TARGETARCH diff --git a/go.mod b/go.mod index 3446b8149..534c3229f 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/google/uuid v1.1.2 github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 github.com/jackal-xmpp/runqueue/v2 v2.0.0 - github.com/jackal-xmpp/stravaganza v1.2.4 + github.com/jackal-xmpp/stravaganza v1.5.0 github.com/kkyr/fig v0.2.0 github.com/lib/pq v1.8.0 github.com/mattn/go-sqlite3 v1.14.5 // indirect @@ -64,7 +64,7 @@ require ( go.uber.org/zap v1.17.0 // indirect golang.org/x/exp v0.0.0-20220303212507-bbda1eaf7a17 // indirect golang.org/x/net v0.0.0-20220526153639-5463443f8c37 // indirect - golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a // indirect + golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e // indirect golang.org/x/text v0.3.7 // indirect google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/go.sum b/go.sum index 1a40ef4a4..a2add04da 100644 --- a/go.sum +++ b/go.sum @@ -225,8 +225,8 @@ github.com/iris-contrib/i18n v0.0.0-20171121225848-987a633949d0/go.mod h1:pMCz62 github.com/iris-contrib/schema v0.0.1/go.mod h1:urYA3uvUNG1TIIjOSCzHr9/LmbQo8LrOcOqfqxa4hXw= github.com/jackal-xmpp/runqueue/v2 v2.0.0 h1:QfvOfL6zF5yK1LN5TKabpj+VBuELMwtR8Xpkz0CrjoI= github.com/jackal-xmpp/runqueue/v2 v2.0.0/go.mod h1:tXZARVqBMGeV8BTc/qDPg0qXILTUWmER7wlYbN9Xcac= -github.com/jackal-xmpp/stravaganza v1.2.4 h1:xz3L2lNEPezOn43az4W4omK1at9tSuR4BDaWOSKo6aE= -github.com/jackal-xmpp/stravaganza v1.2.4/go.mod h1:oesgQpMM0I5gnJM80NsEfSspzDDCArQex+oA0/swCWU= +github.com/jackal-xmpp/stravaganza v1.5.0 h1:ei0onFm8tEU45LzlfTDspZft4nHS5CWL24nETQ9y6YU= +github.com/jackal-xmpp/stravaganza v1.5.0/go.mod h1:qosF3qJLxoebR4uDb2ArBxTyAf9UaRwDvk6rPnddAe8= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= @@ -551,8 +551,8 @@ golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a h1:dGzPydgVsqGcTRVwiLJ1jVbufYwmzD3LfVPLKsKg+0k= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e h1:CsOuNlbOuf0mzxJIefr6Q4uAUetRUwZE4qt7VfzP+xo= +golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/helm/values.yaml b/helm/values.yaml index 364c22d4d..749f018e0 100644 --- a/helm/values.yaml +++ b/helm/values.yaml @@ -10,7 +10,7 @@ jackal: image: repository: ortuman/jackal - tag: 0.61.0 + tag: 0.63.0 pullPolicy: IfNotPresent resources: requests: diff --git a/pkg/c2s/in.go b/pkg/c2s/in.go index 27e7c3b52..3566851d0 100644 --- a/pkg/c2s/in.go +++ b/pkg/c2s/in.go @@ -31,6 +31,7 @@ import ( stanzaerror "github.com/jackal-xmpp/stravaganza/errors/stanza" streamerror "github.com/jackal-xmpp/stravaganza/errors/stream" "github.com/jackal-xmpp/stravaganza/jid" + xmppparser "github.com/jackal-xmpp/stravaganza/parser" "github.com/ortuman/jackal/pkg/auth" "github.com/ortuman/jackal/pkg/cluster/instance" "github.com/ortuman/jackal/pkg/cluster/resourcemanager" @@ -39,7 +40,6 @@ import ( "github.com/ortuman/jackal/pkg/host" c2smodel "github.com/ortuman/jackal/pkg/model/c2s" "github.com/ortuman/jackal/pkg/module" - xmppparser "github.com/ortuman/jackal/pkg/parser" "github.com/ortuman/jackal/pkg/router" "github.com/ortuman/jackal/pkg/router/stream" xmppsession "github.com/ortuman/jackal/pkg/session" diff --git a/pkg/c2s/in_test.go b/pkg/c2s/in_test.go index 56de60d13..926078a95 100644 --- a/pkg/c2s/in_test.go +++ b/pkg/c2s/in_test.go @@ -29,10 +29,10 @@ import ( "github.com/jackal-xmpp/stravaganza" streamerror "github.com/jackal-xmpp/stravaganza/errors/stream" "github.com/jackal-xmpp/stravaganza/jid" + xmppparser "github.com/jackal-xmpp/stravaganza/parser" "github.com/ortuman/jackal/pkg/auth" "github.com/ortuman/jackal/pkg/hook" c2smodel "github.com/ortuman/jackal/pkg/model/c2s" - xmppparser "github.com/ortuman/jackal/pkg/parser" "github.com/ortuman/jackal/pkg/router" "github.com/ortuman/jackal/pkg/router/stream" "github.com/ortuman/jackal/pkg/transport" diff --git a/pkg/component/xep0114/in.go b/pkg/component/xep0114/in.go index b166a3629..47b0f386d 100644 --- a/pkg/component/xep0114/in.go +++ b/pkg/component/xep0114/in.go @@ -31,11 +31,11 @@ import ( "github.com/jackal-xmpp/stravaganza" streamerror "github.com/jackal-xmpp/stravaganza/errors/stream" "github.com/jackal-xmpp/stravaganza/jid" + xmppparser "github.com/jackal-xmpp/stravaganza/parser" "github.com/ortuman/jackal/pkg/component" "github.com/ortuman/jackal/pkg/component/extcomponentmanager" "github.com/ortuman/jackal/pkg/hook" "github.com/ortuman/jackal/pkg/host" - xmppparser "github.com/ortuman/jackal/pkg/parser" "github.com/ortuman/jackal/pkg/router" xmppsession "github.com/ortuman/jackal/pkg/session" "github.com/ortuman/jackal/pkg/shaper" diff --git a/pkg/component/xep0114/in_test.go b/pkg/component/xep0114/in_test.go index 4d6bd69be..81103cbf6 100644 --- a/pkg/component/xep0114/in_test.go +++ b/pkg/component/xep0114/in_test.go @@ -27,9 +27,9 @@ import ( "github.com/jackal-xmpp/runqueue/v2" "github.com/jackal-xmpp/stravaganza" "github.com/jackal-xmpp/stravaganza/jid" + xmppparser "github.com/jackal-xmpp/stravaganza/parser" "github.com/ortuman/jackal/pkg/component" "github.com/ortuman/jackal/pkg/hook" - xmppparser "github.com/ortuman/jackal/pkg/parser" "github.com/ortuman/jackal/pkg/transport" "github.com/stretchr/testify/require" "golang.org/x/time/rate" diff --git a/pkg/module/xep0198/stream.go b/pkg/module/xep0198/stream.go index c6f991df6..253c3104d 100644 --- a/pkg/module/xep0198/stream.go +++ b/pkg/module/xep0198/stream.go @@ -30,13 +30,13 @@ import ( "github.com/jackal-xmpp/stravaganza" streamerror "github.com/jackal-xmpp/stravaganza/errors/stream" "github.com/jackal-xmpp/stravaganza/jid" + xmppparser "github.com/jackal-xmpp/stravaganza/parser" clusterconnmanager "github.com/ortuman/jackal/pkg/cluster/connmanager" "github.com/ortuman/jackal/pkg/cluster/instance" "github.com/ortuman/jackal/pkg/cluster/resourcemanager" "github.com/ortuman/jackal/pkg/hook" "github.com/ortuman/jackal/pkg/host" streamqueue "github.com/ortuman/jackal/pkg/module/xep0198/queue" - xmppparser "github.com/ortuman/jackal/pkg/parser" "github.com/ortuman/jackal/pkg/router" "github.com/ortuman/jackal/pkg/router/stream" ) diff --git a/pkg/parser/parser.go b/pkg/parser/parser.go deleted file mode 100644 index e61ac86f6..000000000 --- a/pkg/parser/parser.go +++ /dev/null @@ -1,178 +0,0 @@ -// Copyright 2022 The jackal Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package xmppparser - -import ( - "encoding/xml" - "errors" - "fmt" - "io" - - "github.com/jackal-xmpp/stravaganza" -) - -const rootElementIndex = -1 - -const ( - streamName = "stream" -) - -// ParsingMode defines the way in which special parsed element -// should be considered or not according to the reader nature. -type ParsingMode int - -const ( - // DefaultMode treats incoming elements as provided from raw byte reader. - DefaultMode = ParsingMode(iota) - - // SocketStream treats incoming elements as provided from a socket transport. - SocketStream -) - -// ErrTooLargeStanza will be returned Parse when the size of the incoming stanza is too large. -var ErrTooLargeStanza = errors.New("parser: too large stanza") - -// ErrStreamClosedByPeer will be returned by Parse when stream closed element is parsed. -var ErrStreamClosedByPeer = errors.New("parser: stream closed by peer") - -// Parser parses arbitrary XML input and builds an array with the structure of all tag and data elements. -type Parser struct { - dec *xml.Decoder - mode ParsingMode - nextElement stravaganza.Element - stack []*stravaganza.Builder - pIndex int - inElement bool - lastOffset int64 - maxStanzaSize int64 -} - -// New creates an empty Parser instance. -func New(reader io.Reader, mode ParsingMode, maxStanzaSize int) *Parser { - return &Parser{ - mode: mode, - dec: xml.NewDecoder(reader), - pIndex: rootElementIndex, - maxStanzaSize: int64(maxStanzaSize), - } -} - -// Parse parses next available XML element from reader. -func (p *Parser) Parse() (stravaganza.Element, error) { - t, err := p.dec.RawToken() - if err != nil { - return nil, err - } - for { - // check max stanza size limit - off := p.dec.InputOffset() - if p.maxStanzaSize > 0 && off-p.lastOffset > p.maxStanzaSize { - return nil, ErrTooLargeStanza - } - switch t1 := t.(type) { - case xml.StartElement: - p.startElement(t1) - if p.mode == SocketStream && t1.Name.Local == streamName && t1.Name.Space == streamName { - if err := p.closeElement(xmlName(t1.Name.Space, t1.Name.Local)); err != nil { - return nil, err - } - goto done - } - - case xml.CharData: - if p.inElement { - p.setElementText(t1) - } - - case xml.EndElement: - if p.mode == SocketStream && t1.Name.Local == streamName && t1.Name.Space == streamName { - return nil, ErrStreamClosedByPeer - } - if err := p.endElement(t1); err != nil { - return nil, err - } - if p.pIndex == rootElementIndex { - goto done - } - } - t, err = p.dec.RawToken() - if err != nil { - return nil, err - } - } - -done: - p.lastOffset = p.dec.InputOffset() - elem := p.nextElement - p.nextElement = nil - - return elem, nil -} - -func (p *Parser) startElement(t xml.StartElement) { - name := xmlName(t.Name.Space, t.Name.Local) - - attrs := make([]stravaganza.Attribute, 0, len(t.Attr)) - for _, a := range t.Attr { - name := xmlName(a.Name.Space, a.Name.Local) - attrs = append(attrs, stravaganza.Attribute{Label: name, Value: a.Value}) - } - builder := stravaganza.NewBuilder(name).WithAttributes(attrs...) - p.stack = append(p.stack, builder) - - p.pIndex = len(p.stack) - 1 - p.inElement = true -} - -func (p *Parser) setElementText(t xml.CharData) { - p.stack[p.pIndex] = p.stack[p.pIndex].WithText(string(t)) -} - -func (p *Parser) endElement(t xml.EndElement) error { - return p.closeElement(xmlName(t.Name.Space, t.Name.Local)) -} - -func (p *Parser) closeElement(name string) error { - if p.pIndex == rootElementIndex { - return errUnexpectedEnd(name) - } - builder := p.stack[p.pIndex] - p.stack = p.stack[:p.pIndex] - - element := builder.Build() - - if name != element.Name() { - return errUnexpectedEnd(name) - } - p.pIndex = len(p.stack) - 1 - if p.pIndex == rootElementIndex { - p.nextElement = element - } else { - p.stack[p.pIndex] = p.stack[p.pIndex].WithChild(element) - } - p.inElement = false - return nil -} - -func xmlName(space, local string) string { - if len(space) > 0 { - return fmt.Sprintf("%s:%s", space, local) - } - return local -} - -func errUnexpectedEnd(name string) error { - return fmt.Errorf("xmppparser: unexpected end element ", name) -} diff --git a/pkg/parser/parser_test.go b/pkg/parser/parser_test.go deleted file mode 100644 index ede67ff2d..000000000 --- a/pkg/parser/parser_test.go +++ /dev/null @@ -1,97 +0,0 @@ -// Copyright 2022 The jackal Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package xmppparser - -import ( - "strings" - "testing" - - "github.com/stretchr/testify/require" -) - -func TestParser_ErrTooLargeStanzaRead(t *testing.T) { - // given - docSrc := `` - p := New(strings.NewReader(docSrc), SocketStream, 4) - - // when - a, err0 := p.Parse() - be, err1 := p.Parse() - - // then - require.Nil(t, err0) - require.NotNil(t, a) - require.Equal(t, "", a.String()) - - require.Nil(t, be) - require.Equal(t, ErrTooLargeStanza, err1) -} - -func TestParser_ParseSeveralElements(t *testing.T) { - // given - docSrc := `` - - r := strings.NewReader(docSrc) - p := New(r, DefaultMode, 1024) - - // when - a, err1 := p.Parse() - b, err2 := p.Parse() - c, err3 := p.Parse() - - // then - require.NotNil(t, a) - require.Nil(t, err1) - - require.NotNil(t, b) - require.Nil(t, err2) - - require.NotNil(t, c) - require.Nil(t, err3) -} - -func TestParser_DocChildElements(t *testing.T) { - // given - docSrc := `\n` - p := New(strings.NewReader(docSrc), DefaultMode, 1024) - - // when - elem, err := p.Parse() - require.Nil(t, err) - require.NotNil(t, elem) - - childs := elem.AllChildren() - - // then - require.Equal(t, 3, len(childs)) - require.Equal(t, "a", childs[0].Name()) - require.Equal(t, "b", childs[1].Name()) - require.Equal(t, "c", childs[2].Name()) -} - -func TestParser_Stream(t *testing.T) { - openStreamXML := ` ` - p := New(strings.NewReader(openStreamXML), SocketStream, 1024) - elem, err := p.Parse() - require.Nil(t, err) - require.Equal(t, "stream:stream", elem.Name()) - - closeStreamXML := ` ` - p = New(strings.NewReader(closeStreamXML), SocketStream, 1024) - - _, err = p.Parse() - - require.Equal(t, ErrStreamClosedByPeer, err) -} diff --git a/pkg/s2s/in.go b/pkg/s2s/in.go index 7e35aea13..d5b2e7263 100644 --- a/pkg/s2s/in.go +++ b/pkg/s2s/in.go @@ -31,12 +31,12 @@ import ( stanzaerror "github.com/jackal-xmpp/stravaganza/errors/stanza" streamerror "github.com/jackal-xmpp/stravaganza/errors/stream" "github.com/jackal-xmpp/stravaganza/jid" + xmppparser "github.com/jackal-xmpp/stravaganza/parser" "github.com/ortuman/jackal/pkg/cluster/kv" "github.com/ortuman/jackal/pkg/component" "github.com/ortuman/jackal/pkg/hook" "github.com/ortuman/jackal/pkg/host" "github.com/ortuman/jackal/pkg/module" - xmppparser "github.com/ortuman/jackal/pkg/parser" "github.com/ortuman/jackal/pkg/router" "github.com/ortuman/jackal/pkg/router/stream" xmppsession "github.com/ortuman/jackal/pkg/session" diff --git a/pkg/s2s/in_test.go b/pkg/s2s/in_test.go index 97ac2431f..f189c1c9d 100644 --- a/pkg/s2s/in_test.go +++ b/pkg/s2s/in_test.go @@ -30,8 +30,8 @@ import ( "github.com/jackal-xmpp/stravaganza" streamerror "github.com/jackal-xmpp/stravaganza/errors/stream" "github.com/jackal-xmpp/stravaganza/jid" + xmppparser "github.com/jackal-xmpp/stravaganza/parser" "github.com/ortuman/jackal/pkg/hook" - xmppparser "github.com/ortuman/jackal/pkg/parser" "github.com/ortuman/jackal/pkg/router" "github.com/ortuman/jackal/pkg/router/stream" "github.com/ortuman/jackal/pkg/transport" diff --git a/pkg/s2s/out.go b/pkg/s2s/out.go index e0fa2cb8c..0d5f6e81a 100644 --- a/pkg/s2s/out.go +++ b/pkg/s2s/out.go @@ -31,10 +31,10 @@ import ( "github.com/jackal-xmpp/stravaganza" streamerror "github.com/jackal-xmpp/stravaganza/errors/stream" "github.com/jackal-xmpp/stravaganza/jid" + xmppparser "github.com/jackal-xmpp/stravaganza/parser" "github.com/ortuman/jackal/pkg/cluster/kv" "github.com/ortuman/jackal/pkg/hook" "github.com/ortuman/jackal/pkg/host" - xmppparser "github.com/ortuman/jackal/pkg/parser" "github.com/ortuman/jackal/pkg/router/stream" xmppsession "github.com/ortuman/jackal/pkg/session" "github.com/ortuman/jackal/pkg/shaper" diff --git a/pkg/s2s/out_test.go b/pkg/s2s/out_test.go index 08ee07e60..651b4e640 100644 --- a/pkg/s2s/out_test.go +++ b/pkg/s2s/out_test.go @@ -29,8 +29,8 @@ import ( "github.com/jackal-xmpp/runqueue/v2" "github.com/jackal-xmpp/stravaganza" streamerror "github.com/jackal-xmpp/stravaganza/errors/stream" + xmppparser "github.com/jackal-xmpp/stravaganza/parser" "github.com/ortuman/jackal/pkg/hook" - xmppparser "github.com/ortuman/jackal/pkg/parser" "github.com/ortuman/jackal/pkg/router/stream" "github.com/ortuman/jackal/pkg/transport" "github.com/stretchr/testify/require" diff --git a/pkg/session/session.go b/pkg/session/session.go index 42c7066bc..046dae12e 100644 --- a/pkg/session/session.go +++ b/pkg/session/session.go @@ -32,8 +32,8 @@ import ( stanzaerror "github.com/jackal-xmpp/stravaganza/errors/stanza" streamerror "github.com/jackal-xmpp/stravaganza/errors/stream" "github.com/jackal-xmpp/stravaganza/jid" + xmppparser "github.com/jackal-xmpp/stravaganza/parser" "github.com/ortuman/jackal/pkg/host" - xmppparser "github.com/ortuman/jackal/pkg/parser" "github.com/ortuman/jackal/pkg/transport" "github.com/ortuman/jackal/pkg/util/ratelimiter" ) diff --git a/pkg/session/session_test.go b/pkg/session/session_test.go index 725ab2de3..e2df250a6 100644 --- a/pkg/session/session_test.go +++ b/pkg/session/session_test.go @@ -25,7 +25,7 @@ import ( stanzaerror "github.com/jackal-xmpp/stravaganza/errors/stanza" streamerror "github.com/jackal-xmpp/stravaganza/errors/stream" "github.com/jackal-xmpp/stravaganza/jid" - xmppparser "github.com/ortuman/jackal/pkg/parser" + xmppparser "github.com/jackal-xmpp/stravaganza/parser" "github.com/ortuman/jackal/pkg/transport" "github.com/ortuman/jackal/pkg/util/ratelimiter" "github.com/stretchr/testify/require" diff --git a/pkg/version/version.go b/pkg/version/version.go index 5c51f5f85..e92ac5a4b 100644 --- a/pkg/version/version.go +++ b/pkg/version/version.go @@ -19,7 +19,7 @@ import ( ) // Version represents application version. -var Version = NewVersion(0, 62, 3) +var Version = NewVersion(0, 63, 0) // APIVersion represents admin API version. var APIVersion = NewVersion(1, 0, 0)