diff --git a/api/send.go b/api/send.go index dc100912f93804e0d553fca906e1428da89818ed..84256b206d71db926818cc5c93b8e0269ce14eef 100644 --- a/api/send.go +++ b/api/send.go @@ -62,6 +62,6 @@ func (c *Client) NewCMIXMessage(recipient *id.ID, return format.Message{}, errors.New("Contents to long for cmix") } msg.SetContents(contents) - msg.SetEphemeralRID(recipient.Bytes()) + msg.SetRecipientID(recipient) return msg, nil } diff --git a/auth/confirm.go b/auth/confirm.go index 1f328d04e7204e354aea6fea0130026b5f9de5c0..a58306c2da8dce6017c96af1d10888652f67ea73 100644 --- a/auth/confirm.go +++ b/auth/confirm.go @@ -99,7 +99,7 @@ func ConfirmRequestAuth(partner contact.Contact, rng io.Reader, cmixMsg.SetKeyFP(fp) cmixMsg.SetMac(mac) cmixMsg.SetContents(baseFmt.Marshal()) - cmixMsg.SetEphemeralRID(partner.ID.Bytes()) + cmixMsg.SetRecipientID(partner.ID) // fixme: channel can get into a bricked state if the first save occurs and // the second does not or the two occur and the storage into critical diff --git a/auth/request.go b/auth/request.go index fecf318eb1e4f30cc4be52229279e19f9fa15350..906aa953995afd3af8b24cc028fe7aaac7dec5e0 100644 --- a/auth/request.go +++ b/auth/request.go @@ -132,7 +132,7 @@ func RequestAuth(partner, me contact.Contact, message string, rng io.Reader, cmixMsg.SetKeyFP(requestfp) cmixMsg.SetMac(mac) cmixMsg.SetContents(baseFmt.Marshal()) - cmixMsg.SetEphemeralRID(partner.ID.Bytes()) + cmixMsg.SetRecipientID(partner.ID) jww.INFO.Printf("PARTNER ID: %s", partner.ID) /*store state*/ @@ -149,7 +149,7 @@ func RequestAuth(partner, me contact.Contact, message string, rng io.Reader, //jww.INFO.Printf("CMIX MESSAGE 1: %s, %v, %v, %v", cmixMsg.GetRecipientID(), // cmixMsg.GetKeyFP(), cmixMsg.GetMac(), cmixMsg.GetContents()) - jww.INFO.Printf("CMIX MESSAGE FP: %s, %v", cmixMsg.GetEphemeralRID(), + jww.INFO.Printf("CMIX MESSAGE FP: %s, %v", cmixMsg.GetRecipientID(), cmixMsg.GetKeyFP()) /*send message*/ diff --git a/network/follow.go b/network/follow.go index 623afc54c8ef35ec2c2ae3cbdd9e30b614c34880..fdde482420c16384e9e061636522f46c6a28ebc0 100644 --- a/network/follow.go +++ b/network/follow.go @@ -85,6 +85,7 @@ func (m *manager) follow(rng csprng.Source, comms followNetworkComms) { Hash: m.Instance.GetPartialNdf().GetHash(), }, LastUpdate: uint64(m.Instance.GetLastUpdateID()), + ClientID: m.Uid.Bytes(), } jww.TRACE.Printf("Polling %s for NDF...", gwHost) pollResp, err := comms.SendPoll(gwHost, &pollReq) @@ -102,7 +103,7 @@ func (m *manager) follow(rng csprng.Source, comms followNetworkComms) { return } var filterList []*bloom.Ring - for _, f := range pollResp.Filters.Filters { + for _, f := range pollResp.BloomFilters { jww.DEBUG.Printf("Bloom Filter size: %d, hashes: %d", bloomFilterSize, bloomFilterHashes) filter, err := bloom.InitByParameters(bloomFilterSize, @@ -112,7 +113,7 @@ func (m *manager) follow(rng csprng.Source, comms followNetworkComms) { jww.FATAL.Panicf("Unable to create a bloom filter: %+v", err) } - if err := filter.UnmarshalBinary(f.Filter); err != nil { + if err := filter.UnmarshalBinary(f); err != nil { jww.WARN.Printf("Failed to unmarshal filter: %+v", err) jww.INFO.Printf("Bloom Filter Unmarshal Data: %v", f) continue diff --git a/network/message/handler.go b/network/message/handler.go index 4dbfc014a31dc614829a4625214e4ccfc68c43ee..6a3d5bb2ae73e3806316e14f21b2db28a1fad2d2 100644 --- a/network/message/handler.go +++ b/network/message/handler.go @@ -72,14 +72,10 @@ func (m *Manager) handleMessage(ecrMsg format.Message) { // if it doesnt match any form of encrypted, hear it as a raw message // and add it to garbled messages to be handled later msg = ecrMsg - sendID, err := id.Unmarshal(msg.GetEphemeralRID()) - if err != nil { - jww.FATAL.Panicf("%+v", err) - } raw := message.Receive{ Payload: msg.Marshal(), MessageType: message.Raw, - Sender: sendID, + Sender: msg.GetRecipientID(), Timestamp: time.Time{}, Encryption: message.None, } diff --git a/network/message/sendCmix.go b/network/message/sendCmix.go index b3879db1702203faac02ac5241b3bbbff4ef42fe..4addcb7e8998f00301d0c8d9800e6e92b6c37fd8 100644 --- a/network/message/sendCmix.go +++ b/network/message/sendCmix.go @@ -97,7 +97,7 @@ func (m *Manager) SendCMIX(msg format.Message, param params.CMIX) (id.Round, err return 0, errors.WithMessage(err, "Failed to generate "+ "salt, this should never happen") } - jww.INFO.Printf("RECIPIENTIDPRE_ENCRYPT: %s", msg.GetEphemeralRID()) + jww.INFO.Printf("RECIPIENTIDPRE_ENCRYPT: %s", msg.GetRecipientID()) encMsg, kmacs := roundKeys.Encrypt(msg, salt) //build the message payload diff --git a/network/message/sendE2E.go b/network/message/sendE2E.go index 915d16f2c474d70a5792a461de28bb7e83b6daa2..04e24e8e435d7871c6512b0a90abb329c2efa101 100644 --- a/network/message/sendE2E.go +++ b/network/message/sendE2E.go @@ -51,7 +51,7 @@ func (m *Manager) SendE2E(msg message.Send, param params.E2E) ([]id.Round, e2e.M //create the cmix message msgCmix := format.NewMessage(m.Session.Cmix().GetGroup().GetP().ByteLen()) msgCmix.SetContents(p) - msgCmix.SetEphemeralRID(msg.Recipient.Bytes()) + msgCmix.SetRecipientID(msg.Recipient) //get a key to end to end encrypt key, err := partner.GetKeyForSending(param.Type) diff --git a/network/message/sendUnsafe.go b/network/message/sendUnsafe.go index 89476f4bab67b149c3d3931dc2be47cf9582a7ab..c313ef8c57f27c74bd5575c3e080da907d3a011d 100644 --- a/network/message/sendUnsafe.go +++ b/network/message/sendUnsafe.go @@ -51,7 +51,7 @@ func (m *Manager) SendUnsafe(msg message.Send, param params.Unsafe) ([]id.Round, for i, p := range partitions { msgCmix := format.NewMessage(m.Session.Cmix().GetGroup().GetP().ByteLen()) msgCmix.SetContents(p) - msgCmix.SetEphemeralRID(msg.Recipient.Bytes()) + msgCmix.SetRecipientID(msg.Recipient) e2e.SetUnencrypted(msgCmix, m.Session.User().GetCryptographicIdentity().GetUserID()) wg.Add(1) go func(i int) {