From 64f59ac21423a327fae0fd6a0c28bc9565b28cbb Mon Sep 17 00:00:00 2001 From: "Richard T. Carback III" <rick.carback@gmail.com> Date: Fri, 3 Jun 2022 22:32:00 +0000 Subject: [PATCH] Fix group chat bug --- cmix/message/handler.go | 5 ++++- cmix/message/services.go | 5 +++++ groupChat/makeGroup.go | 7 ++++--- groupChat/manager.go | 5 +++-- groupChat/service.go | 8 ++++---- 5 files changed, 20 insertions(+), 10 deletions(-) diff --git a/cmix/message/handler.go b/cmix/message/handler.go index 9c6080761..21dadc180 100644 --- a/cmix/message/handler.go +++ b/cmix/message/handler.go @@ -8,6 +8,7 @@ package message import ( + "encoding/base64" "fmt" "strconv" "sync" @@ -167,7 +168,9 @@ func (h *handler) handleMessageHelper(ecrMsg format.Message, bundle Bundle) bool identity := bundle.Identity round := bundle.RoundInfo - jww.INFO.Printf("handleMessage(%s)", ecrMsg.Digest()) + jww.INFO.Printf("handleMessage(msgDigest: %s, SIH: %s, KeyFP: %s)", + ecrMsg.Digest(), fingerprint, + base64.StdEncoding.EncodeToString(ecrMsg.GetSIH())) // If we have a fingerprint, process it if proc, exists := h.pop(identity.Source, fingerprint); exists { diff --git a/cmix/message/services.go b/cmix/message/services.go index 412fc1850..9ede26311 100644 --- a/cmix/message/services.go +++ b/cmix/message/services.go @@ -106,6 +106,8 @@ func (sm *ServicesManager) get(clientID *id.ID, receivedSIH, // queries return []Processor{}, false } + jww.TRACE.Printf("Evaluated service not for me (%s): %s", + clientID, s) } return nil, false @@ -154,6 +156,9 @@ func (sm *ServicesManager) AddService(clientID *id.ID, newService Service, respo "service already exists", newService.Tag) } + jww.DEBUG.Printf("Adding service %s, clientID: %s", newService, + clientID) + // Add the service to the internal map sm.tmap[*clientID][newService.preimage()] = newEntry sm.numServices++ diff --git a/groupChat/makeGroup.go b/groupChat/makeGroup.go index e7bee9697..900221e42 100644 --- a/groupChat/makeGroup.go +++ b/groupChat/makeGroup.go @@ -8,6 +8,8 @@ package groupChat import ( + "strconv" + "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" gs "gitlab.com/elixxir/client/groupChat/groupStore" @@ -16,7 +18,6 @@ import ( "gitlab.com/elixxir/crypto/group" "gitlab.com/xx_network/primitives/id" "gitlab.com/xx_network/primitives/netTime" - "strconv" ) // Error messages. @@ -78,8 +79,8 @@ func (m *manager) MakeGroup(membership []*id.ID, name, msg []byte) (gs.Group, created := netTime.Now().Round(0) // Create new group and add to manager - g := gs.NewGroup( - name, groupID, groupKey, idPreimage, keyPreimage, msg, created, mem, dkl) + g := gs.NewGroup(name, groupID, groupKey, idPreimage, + keyPreimage, msg, created, mem, dkl) jww.DEBUG.Printf("[GC] Created new group %q with ID %s and %d members %s", g.Name, g.ID, len(g.Members), g.Members) diff --git a/groupChat/manager.go b/groupChat/manager.go index 34162effa..f040e6498 100644 --- a/groupChat/manager.go +++ b/groupChat/manager.go @@ -8,6 +8,9 @@ package groupChat import ( + "sync" + "time" + "github.com/cloudflare/circl/dh/sidh" "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" @@ -26,8 +29,6 @@ import ( "gitlab.com/elixxir/crypto/group" "gitlab.com/xx_network/primitives/id" "gitlab.com/xx_network/primitives/id/ephemeral" - "sync" - "time" ) // Error messages. diff --git a/groupChat/service.go b/groupChat/service.go index 49513df68..db893354a 100644 --- a/groupChat/service.go +++ b/groupChat/service.go @@ -39,7 +39,7 @@ func (m *manager) AddService(tag string, p Processor) error { // Add a service for every group for _, g := range m.gs.Groups() { newService := makeService(g.ID, tag) - m.net.AddService(g.ID, newService, &receptionProcessor{m, g, p}) + m.net.AddService(m.receptionId, newService, &receptionProcessor{m, g, p}) } return nil @@ -60,7 +60,7 @@ func (m *manager) RemoveService(tag string) error { // Delete service for every group for _, g := range m.gs.Groups() { toDelete := makeService(g.ID, tag) - m.net.DeleteService(g.ID, toDelete, &receptionProcessor{m, g, oldProcess}) + m.net.DeleteService(m.receptionId, toDelete, &receptionProcessor{m, g, oldProcess}) } return nil @@ -70,7 +70,7 @@ func (m *manager) RemoveService(tag string) error { func (m *manager) addAllServices(g gs.Group) { for tag, p := range m.services { newService := makeService(g.ID, tag) - m.net.AddService(g.ID, newService, &receptionProcessor{m, g, p}) + m.net.AddService(m.receptionId, newService, &receptionProcessor{m, g, p}) } } @@ -78,7 +78,7 @@ func (m *manager) addAllServices(g gs.Group) { func (m *manager) deleteAllServices(groupID *id.ID) { for tag := range m.services { toDelete := makeService(groupID, tag) - m.net.DeleteService(groupID, toDelete, nil) + m.net.DeleteService(m.receptionId, toDelete, nil) } } -- GitLab