Skip to content

deb/4.9.13

@pcapriotti pcapriotti tagged this 07 Apr 09:43
* Add MLS message API stub

* Migration to add conversation epoch

* Load and store epoch number

* Execute add proposals

* Update client membership when executing a proposal

When an Add proposal is executed, we check if the list of clients in the
conversation consists of exactly the MLS-enabled clients of the given
user, and fail the request otherwise.

Galley needs to make a request to Brig to fetch an up-to-date list of
MLS-enabled clients. This is not yet implemented.

Also, all federation behaviour is stubbed out for now.

* Stub test for adding a user to an MLS conversation

* Simplify conv → group ID mapping

Use SHA256, as we are already using it for 1-1 conversations, and there
is no need for the length of the group ID to be random.

* Pass group id to crypto-cli in base64

* fixup! Update client membership when executing a proposal

* Add internal endpoint for fetching mls clients

* Test adding unconnected users

* Check that join events are returned

* Extract client setup in test

* Extract group setup in tests

* Create more than one client in MLS messaging setup

* Test partially adding a user to a conversation

* Save MLS clients after adding members

This accomplishes two things:

 - it makes sure that the member records exist before setting the
   corresponding `mls_clients` field
 - it prevents clients from being set for members that could not be
   added to a conversation (for authorisation reasons, say).

Also add a test for the case where a new client of an already-present
user is added to a conversation.

* Clean up Swagger of MLS endpoints

* WIP: check message epoch against conversation

* Make it possible to setup a proteus conv in tests

* Test conversation protocol check

* Change endpoint name to `POST /mls/messages`

* Fix internal client creation query

We need the new `--group-out` option to be able to update the group
state after a commit.
Assets 2
Loading