Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge upstream #14

Merged
merged 14 commits into from
Jan 15, 2024
Merged

Merge upstream #14

merged 14 commits into from
Jan 15, 2024

Conversation

neekolas
Copy link

Summary

Pull in the latest from openmls/openmls

securitykernel and others added 12 commits November 17, 2023 06:18
* update hpke-rs to 0.2.0
* update tls-codec to 0.4.0
* perf: cut down one iteration over the tree in 'free_leaf_index'

* perf: remove needless node clone in 'TreeSync::from_ratchet_tree'
In order to validate the credentials of the leaf node
in the optional update path of a staged commit, the
caller needs to be able to access it. They can now do so
using the new method `update_path_leaf_node`.

The test was added in mls_group instead of core_group, because
we need too much high-level functionality to do it with the
low-level API.

Co-authored-by: Jan Winkelmann (keks) <[email protected]>
Co-authored-by: Franziskus Kiefer <[email protected]>
Co-authored-by: raphaelrobert <[email protected]>
A StagedCommit can carry credentials in several different places,
all of which have to be verified. To make this easier on the caller,
we add the `credentials_to_verify` method on StagedCommit, which returns
an iterator over all the credentials in a StagedCommit that need to
be verified.

Also we add infrastructure in test_framework for letting the test code
decide which credentials would pass validation, by passing in a closure
that takes a &Credential and returns a bool.

Co-authored-by: Jan Winkelmann (keks) <[email protected]>
The current version of the two traits is the way it is because it attempted
to prevent the caller from being able to convert to the Type implementing
VerifiedStruct without checking the signature. However, the approach that
was taken does not work.

This commit refactors the two traits and performs the conversion in the
same method as the verification. Unfortunately, this means that the
verify method has to be defined per impl instead of being able to rely
on a default one. There probably is no straightforward way around that,
so this simple solution is preferred.


Co-authored-by: Konrad Kohbrok <[email protected]>
…#1473)

Add a method with_group_context_extensions to the group builders, that sets an arbitrary set of extensions. The set is of type Extensions, so we know that each extension is only set once.

Any RequiredCapability extension mentioned in that set will be overwritten, and if ExternalSenders is specified using the dedicated method, that one is preferred and the one provided using with_group_context_extensions is dropped.
Copy link

This PR is so big! Please, split it 😊

Copy link

This PR is so big! Please, split it 😊

Copy link

This PR is so big! Please, split it 😊

@neekolas neekolas merged commit ce07d17 into main Jan 15, 2024
50 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants