From eec7fb2d73e7eb2262ca25491b5703c969b7acab Mon Sep 17 00:00:00 2001 From: Martin Dosch Date: Thu, 5 May 2022 20:01:35 +0200 Subject: [PATCH 1/4] Improve listening mode for groupchats. --- CHANGELOG.md | 2 ++ main.go | 26 ++++++++++++++++++++++---- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a864749..ac3102c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ # Changelog ## Unreleased +### Changed +- Improved listening mode for groupchats. ## [v0.5.0] 2022-05-05 ### Added diff --git a/main.go b/main.go index a37c139..4b98940 100644 --- a/main.go +++ b/main.go @@ -451,14 +451,23 @@ func main() { if msg == "" { continue } - bareFrom := strings.Split(v.Remote, "/")[0] + var bareFrom string + switch v.Type { + case "chat": + bareFrom = strings.Split(v.Remote, "/")[0] + case "groupchat": + bareFrom = v.Remote + default: + bareFrom = strings.Split(v.Remote, "/")[0] + } // Print any messages if no recipients are specified if len(recipients) == 0 { fmt.Println(t.In(tz).Format(time.RFC3339), "[OX]", bareFrom+":", msg) } else { for _, recipient := range recipients { - if bareFrom == strings.ToLower(recipient.Jid) { + if strings.Split(v.Remote, "/")[0] == + strings.ToLower(recipient.Jid) { fmt.Println(t.In(tz).Format(time.RFC3339), "[OX]", bareFrom+":", msg) } @@ -474,13 +483,22 @@ func main() { } else { t = v.Stamp } - bareFrom := strings.Split(v.Remote, "/")[0] + var bareFrom string + switch v.Type { + case "chat": + bareFrom = strings.Split(v.Remote, "/")[0] + case "groupchat": + bareFrom = v.Remote + default: + bareFrom = strings.Split(v.Remote, "/")[0] + } // Print any messages if no recipients are specified if len(recipients) == 0 { fmt.Println(t.In(tz).Format(time.RFC3339), bareFrom+":", v.Text) } else { for _, recipient := range recipients { - if bareFrom == strings.ToLower(recipient.Jid) { + if strings.Split(v.Remote, "/")[0] == + strings.ToLower(recipient.Jid) { fmt.Println(t.In(tz).Format(time.RFC3339), bareFrom+":", v.Text) } From 392be78f61f584dcbc6a46867e27690bd4d307f4 Mon Sep 17 00:00:00 2001 From: Martin Dosch Date: Thu, 5 May 2022 20:04:50 +0200 Subject: [PATCH 2/4] Fix nick in MUCs if not manually set. --- CHANGELOG.md | 1 + main.go | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac3102c..2d0ea99 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Unreleased ### Changed - Improved listening mode for groupchats. +- Fix nickname in MUCs if not manually set. ## [v0.5.0] 2022-05-05 ### Added diff --git a/main.go b/main.go index 4b98940..522d232 100644 --- a/main.go +++ b/main.go @@ -388,10 +388,10 @@ func main() { for _, recipient := range recipients { if *flagMUCPassword != "" { dummyTime := time.Now() - _, err = client.JoinProtectedMUC(recipient.Jid, *flagResource, + _, err = client.JoinProtectedMUC(recipient.Jid, resource, *flagMUCPassword, xmpp.NoHistory, 0, &dummyTime) } else { - _, err = client.JoinMUCNoHistory(recipient.Jid, *flagResource) + _, err = client.JoinMUCNoHistory(recipient.Jid, resource) } if err != nil { log.Fatal(err) From 1d2ef175a578259a388fe685860b72aa031d6fe9 Mon Sep 17 00:00:00 2001 From: Martin Dosch Date: Sat, 7 May 2022 10:29:54 +0200 Subject: [PATCH 3/4] Fix changelog. --- CHANGELOG.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d0ea99..54b25cb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,14 +3,14 @@ ## Unreleased ### Changed - Improved listening mode for groupchats. -- Fix nickname in MUCs if not manually set. +- Fixed nickname in MUCs if not manually set. ## [v0.5.0] 2022-05-05 ### Added -- Add possibility to delete existing OpenPGP for XMPP nodes. +- Added possibility to delete existing OpenPGP for XMPP nodes. ### Changed -- Ox: Improve rpad generation. +- Ox: Improved rpad generation. - Reworked receiving of stanzas. - Ox: Improved private key import. @@ -19,9 +19,9 @@ - Experimental support for Ox (OpenPGP for XMPP) encryption. ### Changed -- Use shorter random ID for resource. -- Use the more flexible "github.com/beevik/etree" instead of encoding/xml for creating and interpreting stanzas. -- If provided, use stamp for printing the time stamp of received messages. +- Shorter random ID for resource. +- Changed to the more flexible "github.com/beevik/etree" instead of encoding/xml for creating and interpreting stanzas. +- Changed to use message stamp, if provided, for printing the time stamp of received messages. ## [v0.3.0] 2022-03-21 ### Added From c2200c39155280541e001483d2e4184ff59b180b Mon Sep 17 00:00:00 2001 From: Martin Dosch Date: Sun, 22 May 2022 12:16:52 +0200 Subject: [PATCH 4/4] Update go modules. --- go.mod | 8 ++++---- go.sum | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index 0264ee3..82a935a 100644 --- a/go.mod +++ b/go.mod @@ -6,16 +6,16 @@ require ( github.com/ProtonMail/gopenpgp/v2 v2.4.7 github.com/beevik/etree v1.1.0 github.com/gabriel-vasile/mimetype v1.4.0 - github.com/mattn/go-xmpp v0.0.0-20220410054612-99ddfc1aa46a + github.com/mattn/go-xmpp v0.0.0-20220513082406-1411b9cc8b9a github.com/pborman/getopt/v2 v2.1.0 salsa.debian.org/mdosch/xmppsrv v0.1.1 ) require ( - github.com/ProtonMail/go-crypto v0.0.0-20220407094043-a94812496cf5 // indirect + github.com/ProtonMail/go-crypto v0.0.0-20220517143526-88bb52951d5b // indirect github.com/ProtonMail/go-mime v0.0.0-20220429130430-2192574d760f // indirect github.com/pkg/errors v0.9.1 // indirect - golang.org/x/crypto v0.0.0-20220427172511-eb4f295cb31f // indirect - golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 // indirect + golang.org/x/crypto v0.0.0-20220518034528-6f7dac969898 // indirect + golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2 // indirect golang.org/x/text v0.3.7 // indirect ) diff --git a/go.sum b/go.sum index dbd0a47..2ecc76f 100644 --- a/go.sum +++ b/go.sum @@ -1,7 +1,7 @@ github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/ProtonMail/go-crypto v0.0.0-20220113124808-70ae35bab23f/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= -github.com/ProtonMail/go-crypto v0.0.0-20220407094043-a94812496cf5 h1:cSHEbLj0GZeHM1mWG84qEnGFojNEQ83W7cwaPRjcwXU= -github.com/ProtonMail/go-crypto v0.0.0-20220407094043-a94812496cf5/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= +github.com/ProtonMail/go-crypto v0.0.0-20220517143526-88bb52951d5b h1:lcbBNuQhppsc7A5gjdHmdlqUqJfgGMylBdGyDs0j7G8= +github.com/ProtonMail/go-crypto v0.0.0-20220517143526-88bb52951d5b/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= github.com/ProtonMail/go-mime v0.0.0-20220302105931-303f85f7fe0f/go.mod h1:NYt+V3/4rEeDuaev/zw1zCq8uqVEuPHzDPo3OZrlGJ4= github.com/ProtonMail/go-mime v0.0.0-20220429130430-2192574d760f h1:4IWzKjHzZxdrW9k4zl/qCwenOVHDbVDADPPHFLjs0Oc= github.com/ProtonMail/go-mime v0.0.0-20220429130430-2192574d760f/go.mod h1:qRZgbeASl2a9OwmsV85aWwRqic0NHPh+9ewGAzb4cgM= @@ -15,8 +15,8 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/gabriel-vasile/mimetype v1.4.0 h1:Cn9dkdYsMIu56tGho+fqzh7XmvY2YyGU0FnbhiOsEro= github.com/gabriel-vasile/mimetype v1.4.0/go.mod h1:fA8fi6KUiG7MgQQ+mEWotXoEOvmxRtOJlERCzSmRvr8= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/mattn/go-xmpp v0.0.0-20220410054612-99ddfc1aa46a h1:ErhE3+ijxVepytrWsoNSz9D11gCEhWIFJ2kN1eUvj5A= -github.com/mattn/go-xmpp v0.0.0-20220410054612-99ddfc1aa46a/go.mod h1:Cs5mF0OsrRRmhkyOod//ldNPOwJsrBvJ+1WRspv0xoc= +github.com/mattn/go-xmpp v0.0.0-20220513082406-1411b9cc8b9a h1:sKMsZuaXOyrN9kzdM3kGS4L5f0JTpno7PMIUVw5smzo= +github.com/mattn/go-xmpp v0.0.0-20220513082406-1411b9cc8b9a/go.mod h1:Cs5mF0OsrRRmhkyOod//ldNPOwJsrBvJ+1WRspv0xoc= github.com/pborman/getopt/v2 v2.1.0 h1:eNfR+r+dWLdWmV8g5OlpyrTYHkhVNxHBdN2cCrJmOEA= github.com/pborman/getopt/v2 v2.1.0/go.mod h1:4NtW75ny4eBw9fO1bhtNdYTlZKYX5/tBLtsOpwKIKd0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= @@ -33,8 +33,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20220427172511-eb4f295cb31f h1:OeJjE6G4dgCY4PIXvIRQbE8+RX+uXZyGhUy/ksMGJoc= -golang.org/x/crypto v0.0.0-20220427172511-eb4f295cb31f/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220518034528-6f7dac969898 h1:SLP7Q4Di66FONjDJbCYrCRrh97focO6sLogHO7/g8F0= +golang.org/x/crypto v0.0.0-20220518034528-6f7dac969898/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56/go.mod h1:JhuoJpWY28nO4Vef9tZUw9qufEGTyX1+7lmHxV5q5G4= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= @@ -49,8 +49,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210505024714-0287a6fb4125/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 h1:HVyaeDAYux4pnY+D/SiwmLOR36ewZ4iGQIIrtnuCjFA= -golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2 h1:NWy5+hlRbC7HK+PmcXVUmW1IMyFce7to56IUvhUFm7Y= +golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=