diff --git a/api/client.go b/api/client.go index 9f4b68968c04d68c6e286eb630f881ca9095454a..0c775b99e927c4e3efaef26fb0289e9c284600e7 100644 --- a/api/client.go +++ b/api/client.go @@ -192,7 +192,7 @@ func NewClientFromBackup(ndfJSON, storageDir string, sessionPassword, // OpenClient session, but don't connect to the network or log in func OpenClient(storageDir string, password []byte, - parameters e2e.Params) (*Client, error) { + parameters Params) (*Client, error) { jww.INFO.Printf("OpenClient()") rngStreamGen := fastRNG.NewStreamGenerator(12, 1024, @@ -222,7 +222,7 @@ func OpenClient(storageDir string, password []byte, comms: nil, network: nil, followerServices: newServices(), - parameters: parameters, + parameters: parameters.E2E, clientErrorChannel: make(chan interfaces.ClientError, 1000), events: event.NewEventManager(), backup: &backup.Backup{}, @@ -282,7 +282,7 @@ func NewProtoClient_Unsafe(ndfJSON, storageDir string, password, // Login initializes a client object from existing storage. func Login(storageDir string, password []byte, - authCallbacks auth.Callbacks, parameters e2e.Params) (*Client, error) { + authCallbacks auth.Callbacks, parameters Params) (*Client, error) { jww.INFO.Printf("Login()") c, err := OpenClient(storageDir, password, parameters) @@ -328,7 +328,7 @@ func Login(storageDir string, password []byte, } } - c.network, err = cmix.NewClient(parameters.Network, c.comms, c.storage, + c.network, err = cmix.NewClient(parameters.CMix, c.comms, c.storage, c.storage.GetNDF(), c.rng, c.events) if err != nil { return nil, err @@ -364,7 +364,7 @@ func Login(storageDir string, password []byte, // procedures and is generally unsafe. func LoginWithNewBaseNDF_UNSAFE(storageDir string, password []byte, newBaseNdf string, authCallbacks auth.Callbacks, - parameters e2e.Params) (*Client, error) { + params Params) (*Client, error) { jww.INFO.Printf("LoginWithNewBaseNDF_UNSAFE()") def, err := parseNDF(newBaseNdf) @@ -372,7 +372,7 @@ func LoginWithNewBaseNDF_UNSAFE(storageDir string, password []byte, return nil, err } - c, err := OpenClient(storageDir, password, parameters) + c, err := OpenClient(storageDir, password, params) if err != nil { return nil, err } @@ -396,7 +396,7 @@ func LoginWithNewBaseNDF_UNSAFE(storageDir string, password []byte, "able to register or track network.") } - c.network, err = cmix.NewClient(parameters.Network, c.comms, c.storage, + c.network, err = cmix.NewClient(params.CMix, c.comms, c.storage, c.storage.GetNDF(), c.rng, c.events) if err != nil { return nil, err @@ -412,9 +412,8 @@ func LoginWithNewBaseNDF_UNSAFE(storageDir string, password []byte, // FIXME: The callbacks need to be set, so I suppose we would need to // either set them via a special type or add them // to the login call? - authParams := auth.GetDefaultParams() c.auth, err = auth.NewState(c.storage.GetKV(), c.network, c.e2e, c.rng, - c.events, authParams, authCallbacks, c.backup.TriggerBackup) + c.events, params.Auth, authCallbacks, c.backup.TriggerBackup) if err != nil { return nil, err } @@ -432,7 +431,7 @@ func LoginWithNewBaseNDF_UNSAFE(storageDir string, password []byte, // some specific deployment procedures and is generally unsafe. func LoginWithProtoClient(storageDir string, password []byte, protoClientJSON []byte, newBaseNdf string, authCallbacks auth.Callbacks, - parameters e2e.Params) (*Client, error) { + params Params) (*Client, error) { jww.INFO.Printf("LoginWithProtoClient()") def, err := parseNDF(newBaseNdf) @@ -446,7 +445,7 @@ func LoginWithProtoClient(storageDir string, password []byte, return nil, err } - c, err := OpenClient(storageDir, password, parameters) + c, err := OpenClient(storageDir, password, params) if err != nil { return nil, err } @@ -463,7 +462,7 @@ func LoginWithProtoClient(storageDir string, password []byte, return nil, err } - c.network, err = cmix.NewClient(parameters.Network, c.comms, c.storage, + c.network, err = cmix.NewClient(params.CMix, c.comms, c.storage, c.storage.GetNDF(), c.rng, c.events) if err != nil { return nil, err @@ -479,9 +478,8 @@ func LoginWithProtoClient(storageDir string, password []byte, // FIXME: The callbacks need to be set, so I suppose we would need to // either set them via a special type or add them // to the login call? - authParams := auth.GetDefaultParams() c.auth, err = auth.NewState(c.storage.GetKV(), c.network, c.e2e, c.rng, - c.events, authParams, authCallbacks, c.backup.TriggerBackup) + c.events, params.Auth, authCallbacks, c.backup.TriggerBackup) if err != nil { return nil, err } @@ -650,12 +648,6 @@ func (c *Client) HasRunningProcessies() bool { return !c.followerServices.stoppable.IsStopped() } -// Returns the health tracker for registration and polling -func (c *Client) GetHealth() interfaces.HealthTracker { - jww.INFO.Printf("GetHealth()") - return c.GetHealth() -} - // RegisterRoundEventsCb registers a callback for round // events. func (c *Client) GetRoundEvents() interfaces.RoundEvents { @@ -755,7 +747,7 @@ func (c *Client) InitializeBackup(backupPass string, // healthy. func (c *Client) GetNodeRegistrationStatus() (int, int, error) { // Return an error if the network is not healthy - if !c.GetHealth().IsHealthy() { + if !c.GetNetworkInterface().IsHealthy() { return 0, 0, errors.New("Cannot get number of nodes " + "registrations when network is not healthy") } @@ -946,9 +938,8 @@ func checkVersionAndSetupStorage(def *ndf.NetworkDefinition, } // create new E2E - rekeyParams := rekey.GetDefaultParams() err = e2e.Init(storageSess.GetKV(), protoUser.ReceptionID, - protoUser.E2eDhPrivateKey, e2eGrp, rekeyParams) + protoUser.E2eDhPrivateKey, e2eGrp, rekey.GetDefaultParams()) if err != nil { return nil, err } diff --git a/cmd/fileTransfer.go b/cmd/fileTransfer.go index 3241d67cad45472c324226ca2f58678bbe8d8dc0..78442b9afd575e44a111ea3976ecb8f8ddfef3ef 100644 --- a/cmd/fileTransfer.go +++ b/cmd/fileTransfer.go @@ -9,6 +9,9 @@ package cmd import ( "fmt" + "io/ioutil" + "time" + "github.com/spf13/cobra" jww "github.com/spf13/jwalterweatherman" "github.com/spf13/viper" @@ -19,8 +22,6 @@ import ( "gitlab.com/xx_network/primitives/id" "gitlab.com/xx_network/primitives/netTime" "gitlab.com/xx_network/primitives/utils" - "io/ioutil" - "time" ) const callbackPeriod = 25 * time.Millisecond @@ -53,7 +54,10 @@ var ftCmd = &cobra.Command{ // Wait until connected or crash on timeout connected := make(chan bool, 10) - client.GetHealth().AddChannel(connected) + client.GetNetworkInterface().AddHealthCallback( + func(isconnected bool) { + connected <- isconnected + }) waitUntilConnected(connected) // After connection, wait until registered with at least 85% of nodes diff --git a/cmd/group.go b/cmd/group.go index ded3a3f569c4490be08d6917009fce80545886b1..df0c3902b838a644ab7403462bc47e149b240aa8 100644 --- a/cmd/group.go +++ b/cmd/group.go @@ -47,7 +47,10 @@ var groupCmd = &cobra.Command{ // Wait until connected or crash on timeout connected := make(chan bool, 10) - client.GetHealth().AddChannel(connected) + client.GetNetworkInterface().AddHealthCallback( + func(isconnected bool) { + connected <- isconnected + }) waitUntilConnected(connected) // After connection, make sure we have registered with at least 85% of diff --git a/cmd/root.go b/cmd/root.go index 569fda28739c1fd6fe9c0539f274bebec19ab76a..7bcfff2ac30e68ab193be3a37190d8c8bb837f94 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -27,7 +27,6 @@ import ( "gitlab.com/elixxir/client/catalog" "gitlab.com/elixxir/client/cmix" - "gitlab.com/elixxir/client/e2e" "gitlab.com/elixxir/client/e2e/ratchet/partner/session" "github.com/spf13/cobra" @@ -221,7 +220,10 @@ var rootCmd = &cobra.Command{ // Wait until connected or crash on timeout connected := make(chan bool, 10) - client.GetHealth().AddChannel(connected) + client.GetNetworkInterface().AddHealthCallback( + func(isconnected bool) { + connected <- isconnected + }) waitUntilConnected(connected) // err = client.RegisterForNotifications("dJwuGGX3KUyKldWK5PgQH8:APA91bFjuvimRc4LqOyMDiy124aLedifA8DhldtaB_b76ggphnFYQWJc_fq0hzQ-Jk4iYp2wPpkwlpE1fsOjs7XWBexWcNZoU-zgMiM0Mso9vTN53RhbXUferCbAiEylucEOacy9pniN") @@ -328,12 +330,9 @@ var rootCmd = &cobra.Command{ mt := catalog.MessageType(catalog.XxMessage) payload := []byte(msgBody) recipient := recipientID - paramsE2E := e2e.GetDefaultParams() + params := initParams() wg := &sync.WaitGroup{} sendCnt := int(viper.GetUint("sendCount")) - if viper.GetBool("splitSends") { - paramsE2E.CMIX.ExcludedRounds = excludedRounds.NewSet() - } wg.Add(sendCnt) go func() { sendDelay := time.Duration(viper.GetUint("sendDelay")) @@ -346,16 +345,16 @@ var rootCmd = &cobra.Command{ var roundIDs []id.Round var roundTimeout time.Duration if unsafe { - paramsE2E.CMIX.DebugTag = "cmd.Unsafe" + params.E2E.CMIXParams.DebugTag = "cmd.Unsafe" roundIDs, _, err = client.SendUnsafe( mt, recipient, payload, - paramsE2E) - roundTimeout = paramsE2E.CMIX.Timeout + params.E2E) + roundTimeout = params.Network.Timeout } else { - paramsE2E.CMIX.DebugTag = "cmd.E2E" + params.E2E.CMIXParams.DebugTag = "cmd.E2E" roundIDs, _, _, err = client.SendE2E(mt, - recipient, payload, paramsE2E) - roundTimeout = paramsE2E.CMIX.Timeout + recipient, payload, params.E2E) + roundTimeout = params.E2E.CMIXParams.Timeout } if err != nil { jww.FATAL.Panicf("%+v", err) @@ -553,30 +552,38 @@ func createClient() *api.Client { } } - netParams := e2e.GetDefaultParams() - sessParams := session.GetDefaultParams() - sessParams.MinKeys = uint16(viper.GetUint("e2eMinKeys")) - sessParams.MaxKeys = uint16(viper.GetUint("e2eMaxKeys")) - sessParams.NumRekeys = uint16(viper.GetUint("e2eNumReKeys")) - sessParams.RekeyThreshold = viper.GetFloat64("e2eRekeyThreshold") - netParams.Network.Pickup.ForceHistoricalRounds = viper.GetBool( + params := initParams() + + client, err := api.OpenClient(storeDir, pass, params) + if err != nil { + jww.FATAL.Panicf("%+v", err) + } + return client +} + +func initParams() api.Params { + p := api.GetDefaultParams() + p.Session.MinKeys = uint16(viper.GetUint("e2eMinKeys")) + p.Session.MaxKeys = uint16(viper.GetUint("e2eMaxKeys")) + p.Session.NumRekeys = uint16(viper.GetUint("e2eNumReKeys")) + p.Session.RekeyThreshold = viper.GetFloat64("e2eRekeyThreshold") + p.CMix.Pickup.ForceHistoricalRounds = viper.GetBool( "forceHistoricalRounds") - netParams.Network.FastPolling = !viper.GetBool("slowPolling") - netParams.Network.Pickup.ForceMessagePickupRetry = viper.GetBool( + p.CMix.FastPolling = !viper.GetBool("slowPolling") + p.CMix.Pickup.ForceMessagePickupRetry = viper.GetBool( "forceMessagePickupRetry") - if netParams.Network.Pickup.ForceMessagePickupRetry { + if p.CMix.Pickup.ForceMessagePickupRetry { period := 3 * time.Second jww.INFO.Printf("Setting Uncheck Round Period to %v", period) - netParams.Network.Pickup.UncheckRoundPeriod = period + p.CMix.Pickup.UncheckRoundPeriod = period } - netParams.Network.VerboseRoundTracking = viper.GetBool( + p.CMix.VerboseRoundTracking = viper.GetBool( "verboseRoundTracking") - - client, err := api.OpenClient(storeDir, pass, netParams) - if err != nil { - jww.FATAL.Panicf("%+v", err) + if viper.GetBool("splitSends") { + p.Network.ExcludedRounds = excludedRounds.NewSet() } - return client + + return p } func initClient() *api.Client { @@ -585,29 +592,13 @@ func initClient() *api.Client { pass := parsePassword(viper.GetString("password")) storeDir := viper.GetString("session") jww.DEBUG.Printf("sessionDur: %v", storeDir) - netParams := e2e.GetDefaultParams() - sessParams := session.GetDefaultParams() - sessParams.MinKeys = uint16(viper.GetUint("e2eMinKeys")) - sessParams.MaxKeys = uint16(viper.GetUint("e2eMaxKeys")) - sessParams.NumRekeys = uint16(viper.GetUint("e2eNumReKeys")) - sessParams.RekeyThreshold = viper.GetFloat64("e2eRekeyThreshold") - netParams.Network.Pickup.ForceHistoricalRounds = viper.GetBool( - "forceHistoricalRounds") - netParams.Network.FastPolling = !viper.GetBool("slowPolling") - netParams.Network.Pickup.ForceMessagePickupRetry = viper.GetBool( - "forceMessagePickupRetry") - if netParams.Network.Pickup.ForceMessagePickupRetry { - period := 3 * time.Second - jww.INFO.Printf("Setting Uncheck Round Period to %v", period) - netParams.Network.Pickup.UncheckRoundPeriod = period - } - netParams.Network.VerboseRoundTracking = viper.GetBool( - "verboseRoundTracking") + + params := initParams() // load the client authCbs := makeAuthCallbacks(nil, viper.GetBool("unsafe-channel-creation")) - client, err := api.Login(storeDir, pass, authCbs, netParams) + client, err := api.Login(storeDir, pass, authCbs, params) authCbs.client = client if err != nil { jww.FATAL.Panicf("%+v", err) diff --git a/cmd/single.go b/cmd/single.go index 3c72ec96b9be03483b6492dad4a6d0d8a46a0a61..ce698a01a32b79138ff80e1edefe9b4d15d7cb06 100644 --- a/cmd/single.go +++ b/cmd/single.go @@ -48,7 +48,10 @@ var singleCmd = &cobra.Command{ // Wait until connected or crash on timeout connected := make(chan bool, 10) - client.GetHealth().AddChannel(connected) + client.GetNetworkInterface().AddHealthCallback( + func(isconnected bool) { + connected <- isconnected + }) waitUntilConnected(connected) // get the tag diff --git a/cmix/client.go b/cmix/client.go index 1dd7cff35662ce48e696bd66e06c4ce4b8db4185..116d3cbc19c94bb7f1bdb102b6f30ce5208acd18 100644 --- a/cmix/client.go +++ b/cmix/client.go @@ -185,7 +185,7 @@ func NewClient(params Params, comms *commClient.Comms, session storage.Session, session.GetKV(), c.Monitor, c.instance.GetRoundEvents(), critSender) // Report health events - c.Monitor.AddHealthCallback(func(isHealthy bool) { + c.AddHealthCallback(func(isHealthy bool) { c.events.Report(5, "health", "IsHealthy", strconv.FormatBool(isHealthy)) }) diff --git a/cmix/health/tracker.go b/cmix/health/tracker.go index 20566459b82ea7c9a031881cdf1d5873f984a10e..3f2a932e9a1b82efdeff5f8ca2bcd1c1c5e3f8fd 100644 --- a/cmix/health/tracker.go +++ b/cmix/health/tracker.go @@ -12,11 +12,12 @@ package health import ( "errors" + "sync" + "time" + jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/client/stoppable" "gitlab.com/elixxir/comms/network" - "sync" - "time" ) type Monitor interface { diff --git a/cmix/interface.go b/cmix/interface.go index f6788924f5a1064b235ec3c6b99da5ff7f6ead5b..a5e540c23b7e1d54265dcc1bb03bc578be79bd9b 100644 --- a/cmix/interface.go +++ b/cmix/interface.go @@ -1,18 +1,19 @@ package cmix import ( + "time" + "gitlab.com/elixxir/client/cmix/gateway" - "gitlab.com/elixxir/client/cmix/rounds" "gitlab.com/elixxir/client/cmix/identity" "gitlab.com/elixxir/client/cmix/message" "gitlab.com/elixxir/client/cmix/nodes" + "gitlab.com/elixxir/client/cmix/rounds" "gitlab.com/elixxir/client/stoppable" "gitlab.com/elixxir/comms/network" "gitlab.com/elixxir/primitives/format" "gitlab.com/xx_network/comms/connect" "gitlab.com/xx_network/primitives/id" "gitlab.com/xx_network/primitives/id/ephemeral" - "time" ) type Client interface { diff --git a/cmix/message/services.go b/cmix/message/services.go index c28ac6167ff0b1225d529698192a4ca97c75bcb8..ed11ce56b260e1fff0b78ceb8fa18960e31683b5 100644 --- a/cmix/message/services.go +++ b/cmix/message/services.go @@ -125,6 +125,10 @@ func (sm *ServicesManager) AddService(clientID *id.ID, newService Service, defaultList: nil, } + if _, exists := sm.tmap[*clientID]; !exists { + sm.tmap[*clientID] = make(map[sih.Preimage]service) + } + if newService.Tag == sih.Default { if !bytes.Equal(newService.Identifier, clientID[:]) { jww.FATAL.Panicf("Cannot accept a malformed 'Default' " + diff --git a/e2e/critical.go b/e2e/critical.go index 8fbcf39e859fb8ad68cb85850766d50edf8bf50c..f6ef8912426a589aa0f06b57a77b0ecc0a7da50c 100644 --- a/e2e/critical.go +++ b/e2e/critical.go @@ -128,7 +128,7 @@ func (c *critical) evaluate(stop *stoppable.Single) { go func(mt catalog.MessageType, recipient *id.ID, payload []byte, params Params) { - params.CMIX.Stop = stop + params.Stop = stop jww.INFO.Printf("Resending critical raw message to %s "+ "(msgDigest: %s)", recipient, format.DigestContents(payload)) diff --git a/e2e/manager.go b/e2e/manager.go index 38756fc168d8fad2cc65fe3b23db14b494b7f3c7..7565deb402e86dec5a2b61e25ebf28f8553ff555 100644 --- a/e2e/manager.go +++ b/e2e/manager.go @@ -162,7 +162,7 @@ func (m *manager) StartProcesses() (stoppable.Stoppable, error) { cmixParams cmix.CMIXParams) ( []id.Round, e2e.MessageID, time.Time, error) { par := GetDefaultParams() - par.CMIX = cmixParams + par.CMIXParams = cmixParams return m.SendE2E(mt, recipient, payload, par) } rekeyStopper, err := rekey.Start(m.Switchboard, m.Ratchet, diff --git a/e2e/params.go b/e2e/params.go index 52dd2d7b59f7ad6dffe999f56af84b75ed252bba..23052727ffcc103f62e14c5d41fad2fbcabfe244 100644 --- a/e2e/params.go +++ b/e2e/params.go @@ -22,17 +22,11 @@ type Params struct { // Delay between attempting to get kets KeyGeRetryDelay time.Duration - //Underlying cmix tags. - // Note: if critical is true, an alternative critical messages - // system within e2e will be used which preserves privacy - CMIX cmix.CMIXParams - - // cMix network params - Network cmix.Params - //Authorizes the message to use a key reserved for rekeying. Do not use //unless sending a rekey Rekey bool + + cmix.CMIXParams } func GetDefaultParams() Params { @@ -43,8 +37,8 @@ func GetDefaultParams() Params { KeyGetRetryCount: 10, KeyGeRetryDelay: 500 * time.Millisecond, - CMIX: cmix.GetDefaultCMIXParams(), - Rekey: false, + Rekey: false, + CMIXParams: cmix.GetDefaultCMIXParams(), } } func (e Params) Marshal() ([]byte, error) { diff --git a/e2e/sendE2E.go b/e2e/sendE2E.go index 0dcd4acdc4977b2ef8c4e0c42d3d2cb9a22e438d..e2f6ddeeb40fe4e1df555d69129674c0022f3865 100644 --- a/e2e/sendE2E.go +++ b/e2e/sendE2E.go @@ -27,12 +27,12 @@ func (m *manager) SendE2E(mt catalog.MessageType, recipient *id.ID, "sendE2E when network is not healthy") } - handleCritical := params.CMIX.Critical + handleCritical := params.Critical if handleCritical { m.crit.AddProcessing(mt, recipient, payload, params) // set critical to false so the network layer doesnt // make the messages critical as well - params.CMIX.Critical = false + params.Critical = false } rnds, msgID, t, err := m.sendE2E(mt, recipient, payload, params) @@ -85,7 +85,7 @@ func (m *manager) sendE2E(mt catalog.MessageType, recipient *id.ID, cmixParams cmix.CMIXParams) ( []id.Round, e2e.MessageID, time.Time, error) { par := GetDefaultParams() - par.CMIX = cmixParams + par.CMIXParams = cmixParams return m.SendE2E(mt, recipient, payload, par) } rekey.CheckKeyExchanges(m.net.GetInstance(), m.grp, rekeySendFunc, @@ -102,7 +102,7 @@ func (m *manager) sendE2E(mt catalog.MessageType, recipient *id.ID, // FIXME: remove this wait, it is weird. Why is it // here? we cant remember. key, err := waitForKey(keyGetter, params.KeyGetRetryCount, - params.KeyGeRetryDelay, params.CMIX.Stop, recipient, + params.KeyGeRetryDelay, params.Stop, recipient, format.DigestContents(p), i) if err != nil { err = errors.WithMessagef(err, @@ -133,7 +133,7 @@ func (m *manager) sendE2E(mt catalog.MessageType, recipient *id.ID, var err error roundIds[i], _, err = m.net.Send(recipient, key.Fingerprint(), s, contentsEnc, mac, - params.CMIX) + params.CMIXParams) if err != nil { errCh <- err } diff --git a/e2e/sendUnsafe.go b/e2e/sendUnsafe.go index db59de2d697778f1bfb277ea21f60c4aed9b8731..9ad2b48ad2191b42a97623e976a1a23d721133f8 100644 --- a/e2e/sendUnsafe.go +++ b/e2e/sendUnsafe.go @@ -64,7 +64,8 @@ func (m *manager) sendUnsafe(mt catalog.MessageType, recipient *id.ID, var err error roundIds[i], _, err = m.net.Send(recipient, fp, - srvc, payload, unencryptedMAC, params.CMIX) + srvc, payload, unencryptedMAC, + params.CMIXParams) if err != nil { errCh <- err } diff --git a/fileTransfer/sendE2e.go b/fileTransfer/sendE2e.go index 647f3d905fdea3f172a94bfca8c2e7638e846cbd..2f737bcaf9093ebad765d4ec3b4b8be5ec455689 100644 --- a/fileTransfer/sendE2e.go +++ b/fileTransfer/sendE2e.go @@ -65,7 +65,7 @@ func (m *manager) sendNewFileTransferMessage(recipient *id.ID, fileName, params := e2e.GetDefaultParams() params.ServiceTag = catalog.Silent params.LastServiceTag = catalog.Silent - params.CMIX.DebugTag = initialMessageDebugTag + params.DebugTag = initialMessageDebugTag _, _, _, err = m.e2e.SendE2E( catalog.NewFileTransfer, recipient, payload, params) @@ -85,7 +85,7 @@ func (m *manager) sendEndFileTransferMessage(recipient *id.ID) { if healthy { params := e2e.GetDefaultParams() params.LastServiceTag = catalog.EndFT - params.CMIX.DebugTag = lastMessageDebugTag + params.DebugTag = lastMessageDebugTag _, _, _, err := m.e2e.SendE2E( catalog.EndFileTransfer, recipient, nil, params) diff --git a/groupChat/sendRequests.go b/groupChat/sendRequests.go index 3bc201d41ecd77df369a85ba44a47056c456e22d..dba1231cde58c38d7159daadce4f7589369c2a0a 100644 --- a/groupChat/sendRequests.go +++ b/groupChat/sendRequests.go @@ -8,6 +8,8 @@ package groupChat import ( + "strings" + "github.com/golang/protobuf/proto" "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" @@ -16,7 +18,6 @@ import ( gs "gitlab.com/elixxir/client/groupChat/groupStore" "gitlab.com/elixxir/crypto/group" "gitlab.com/xx_network/primitives/id" - "strings" ) // Error messages. @@ -116,7 +117,7 @@ func (m Manager) sendRequests(g gs.Group) ([]id.Round, RequestStatus, error) { func (m Manager) sendRequest(memberID *id.ID, request []byte) ([]id.Round, error) { p := e2e.GetDefaultParams() p.LastServiceTag = catalog.GroupRq - p.CMIX.DebugTag = "group.Request" + p.DebugTag = "group.Request" rounds, _, _, err := m.e2e.SendE2E(catalog.GroupCreationRequest, memberID, request, p) if err != nil {