status-go/protocol/protobuf
Andrea Maria Piana 23f71c1125 Fix encryption id && rekey with a single message
This commit changes the format of the encryption id to be based off 3
things:

1) The group id
2) The timestamp
3) The actual key

Previously this was solely based on the timestamp and the group id, but
this might lead to conflicts. Moreover the format of the key was an
uint32 and so it would wrap periodically.

The migration is a bit tricky, so first we cleared the cache of keys,
that's easier than migrating, and second we set the new field hash_id to
the concatenation of group_id / key_id.
This might lead on some duplication in case keys are re-received, but it
should not have an impact on the correctness of the code.

I have added 2 tests covering compatibility between old/new clients, as
this should not be a breaking change.

It also adds a new message to rekey in a single go, instead of having to
send multiple messages
2023-10-24 20:48:54 +01:00
..
anon_metrics.pb.go Fix encryption id && rekey with a single message 2023-10-24 20:48:54 +01:00
anon_metrics.proto rename status-react to status-mobile 2022-07-17 15:37:14 +02:00
application_metadata_message.pb.go Fix encryption id && rekey with a single message 2023-10-24 20:48:54 +01:00
application_metadata_message.proto only sync decisions/state of AC notifications (#3979) 2023-10-22 17:41:20 +08:00
chat_identity.pb.go Fix encryption id && rekey with a single message 2023-10-24 20:48:54 +01:00
chat_identity.proto feat: add and distribute `chatIdentity.FirstMessageTimestamp` 2022-09-09 08:59:39 +02:00
chat_message.pb.go Fix encryption id && rekey with a single message 2023-10-24 20:48:54 +01:00
chat_message.proto feature: Unfurl status links (#4033) 2023-10-13 13:25:34 +01:00
command.pb.go Fix encryption id && rekey with a single message 2023-10-24 20:48:54 +01:00
command.proto Sync Communities (#2253) 2021-08-06 16:40:23 +01:00
communities.pb.go Fix encryption id && rekey with a single message 2023-10-24 20:48:54 +01:00
communities.proto Add queue for processing community description & configurable control node 2023-10-17 21:00:24 +01:00
community_privileged_user_sync_message.pb.go Fix encryption id && rekey with a single message 2023-10-24 20:48:54 +01:00
community_privileged_user_sync_message.proto feat: share requests to join and revealed addresses with privileged roles (#3951) 2023-09-20 10:37:46 +02:00
community_shard_key.pb.go Fix encryption id && rekey with a single message 2023-10-24 20:48:54 +01:00
community_shard_key.proto waku2: static shards (#3944) 2023-10-12 15:21:49 -04:00
community_token.pb.go Add queue for processing community description & configurable control node 2023-10-17 21:00:24 +01:00
community_update.pb.go Fix encryption id && rekey with a single message 2023-10-24 20:48:54 +01:00
community_update.proto feat: auto re-apply rejected community events 2023-08-11 12:46:45 +02:00
contact.pb.go Fix encryption id && rekey with a single message 2023-10-24 20:48:54 +01:00
contact.proto init currentMessageState when sync protobuf.ContactUpdate (#3332) 2023-03-28 11:45:54 +08:00
contact_verification.pb.go Fix encryption id && rekey with a single message 2023-10-24 20:48:54 +01:00
contact_verification.proto feat(ActivityCenter): Add missing AC notifications for verification requests (#3029) 2022-12-26 08:35:46 +04:00
emoji_reaction.pb.go Fix encryption id && rekey with a single message 2023-10-24 20:48:54 +01:00
emoji_reaction.proto Sync Communities (#2253) 2021-08-06 16:40:23 +01:00
enums.pb.go Add queue for processing community description & configurable control node 2023-10-17 21:00:24 +01:00
enums.proto feat(protobuf): introduce `CommunityTokenType` enum 2023-03-03 08:20:51 +01:00
group_chat_invitation.pb.go Fix encryption id && rekey with a single message 2023-10-24 20:48:54 +01:00
group_chat_invitation.proto Sync Communities (#2253) 2021-08-06 16:40:23 +01:00
membership_update_message.pb.go Fix encryption id && rekey with a single message 2023-10-24 20:48:54 +01:00
membership_update_message.proto feat: Handle image in group chat 2022-09-01 12:19:01 +02:00
pairing.pb.go Fix encryption id && rekey with a single message 2023-10-24 20:48:54 +01:00
pairing.proto feat: ensure unique control node across devices 2023-10-22 21:50:41 +02:00
pin_message.pb.go Fix encryption id && rekey with a single message 2023-10-24 20:48:54 +01:00
pin_message.proto Sync Communities (#2253) 2021-08-06 16:40:23 +01:00
pubkey.go Use goimports instead of gofmt 2020-01-06 10:17:23 +01:00
push_notifications.pb.go Fix encryption id && rekey with a single message 2023-10-24 20:48:54 +01:00
push_notifications.proto Make chat muting only works on one chat and not to completely block PNs from a user (#3647) 2023-06-22 08:06:32 +03:00
service.go waku2: static shards (#3944) 2023-10-12 15:21:49 -04:00
shard.pb.go Fix encryption id && rekey with a single message 2023-10-24 20:48:54 +01:00
shard.proto waku2: static shards (#3944) 2023-10-12 15:21:49 -04:00
status_update.pb.go Fix encryption id && rekey with a single message 2023-10-24 20:48:54 +01:00
status_update.proto Online Status Indicator (#2408) 2021-10-28 20:51:28 +05:30
sync_settings.pb.go Fix encryption id && rekey with a single message 2023-10-24 20:48:54 +01:00
sync_settings.proto feat: url unfurling settings (#4128) 2023-10-13 15:31:56 +01:00
url_data.pb.go Fix encryption id && rekey with a single message 2023-10-24 20:48:54 +01:00
url_data.proto waku2: static shards (#3944) 2023-10-12 15:21:49 -04:00