Update 'MultiDeviceInitializationGroups'

emdee 2022-09-22 21:25:08 +02:00
parent edf11e9ca2
commit d5704e562c

@ -0,0 +1,17 @@
In the initialization process we described in [[MultiDeviceInitialization]] we simply copy a profile to a new devices and change the public/private keys as a starting point.
But we are left with as special problem with NGC groups.
The code is assumed to have been modified to handle Personas and and first glance, NGC groups become groups of Personas. But the group structure in the profile has a copy of the founder's shared_state.founder_public_key (group_pack.c#L293)
So if the profile being copied is the profile of the founder, then this key would need to be updated too. (Conversely, does that mean if I copy a profile and update the shared_state.founder_public_key with my own key, do I become the group's founder?)
Besides the group keypair in #L351-2
bin_pack_bin(bp, chat->chat_public_key, EXT_PUBLIC_KEY_SIZE); // 1
bin_pack_bin(bp, chat->chat_secret_key, EXT_SECRET_KEY_SIZE); // 2
it seems also that self's keypair are saved to the group:
* self_public_key #L353
* self_secret_key #L354
Are these the pub/private keypair of the new profile owner? Would these keys have to be updated with the new keypair of the new profile?