Add remove member
This commit is contained in:
parent
f8e5969244
commit
4749075b59
|
@ -146,7 +146,20 @@ So, if Alice wants to ban Denys, she had to propose a vote with the sequence num
|
|||
5. When we are sure that someone is synched, remove erased=time::now() and sync with other user's devices
|
||||
6. All devices owned by the user can now erase the repository and related files
|
||||
|
||||
**TODO, determine how this will work**
|
||||
## Remove a device from a conversation
|
||||
|
||||
This is the only part that MUST have a consensus to avoid conversation's split, like if two members kick each others from the conversation, what will see the third one?
|
||||
|
||||
This is needed to detect revoked devices, or simply avoid to get unwanted people present in a public room. The process is pretty similar between a member and a device:
|
||||
|
||||
*Alice removes Bob*
|
||||
|
||||
Note: Alice MUST be admins to vote
|
||||
|
||||
+ First, she votes for ban Bob. To do that, she creates the file in /votes/members/uri_bob/uri_alice (members can be replaced by devices for a device) and commit
|
||||
+ Then she checks if the vote is resolved. This means that >50% of the admins agree to ban Bob (if she is alone, it's sure it's more than 50%).
|
||||
+ If the vote is resolved, files into /votes can be removed, all files for Bob in /members, /admins, /CRLs, /devices can be removed (or only in /devices if it's a device that is banned) and Bob's certificate can be placed into /banned/members/bob_uri.crt (or /banned/devices/uri.crt if a device is banned) and committed to the repo
|
||||
+ Then, Alice informs other users (outside Bob)
|
||||
|
||||
# Used protocols
|
||||
|
||||
|
@ -180,12 +193,18 @@ Moreover editing messages will be possible! (`commit --fixup`)
|
|||
|
||||
```
|
||||
/
|
||||
- Admins (public keys)
|
||||
- Members (public keys)
|
||||
- Devices (certificates of authors to verify commits)
|
||||
- Banned
|
||||
- Devices
|
||||
- Accounts
|
||||
- invited
|
||||
- admins (public keys)
|
||||
- members (public keys)
|
||||
- devices (certificates of authors to verify commits)
|
||||
- banned
|
||||
- devices
|
||||
- members
|
||||
- votes
|
||||
- members
|
||||
- uri
|
||||
- devices
|
||||
- uri
|
||||
- CRLs
|
||||
```
|
||||
|
||||
|
|
Loading…
Reference in New Issue