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

Add support for last resort key packages #184

Merged
merged 1 commit into from
Aug 20, 2024

Conversation

mgeisler
Copy link
Contributor

Description of changes:

This introduces a LastResortKeyPackageExt extension which corresponds to the last resort key package extension described here:

https://datatracker.ietf.org/doc/html/draft-ietf-mls-extensions-04#name-last-resort-keypackages

The new code is hidden behind a last_resort_key_package_ext Cargo feature.

There is not yet a super convenient way to set the extension on a single key package: the key package extensions are fixed when the client is created, so one has to create a temporary throw-away client for this. This can be addressed in a future PR, if needed.

Call-outs:

I created the new LastResortKeyPackageExt type for consistency with the other extensions — but it's not strictly needed since the extension carries no data.

Testing:

New tests were added.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT license.

@mgeisler mgeisler requested a review from a team as a code owner August 16, 2024 15:36
mls-rs/Cargo.toml Outdated Show resolved Hide resolved
mls-rs/src/extension.rs Outdated Show resolved Hide resolved
@mgeisler mgeisler force-pushed the last-resort-key-package branch 2 times, most recently from d83e621 to c43fb08 Compare August 19, 2024 09:48
@mgeisler
Copy link
Contributor Author

I think I've traced down the small build failures now 😄 Can I get a retry of the CI pipelines?

This introduces a `LastResortKeyPackageExt` extension which
corresponds to the last resort key package extension described here:

  https://datatracker.ietf.org/doc/html/draft-ietf-mls-extensions-04#name-last-resort-keypackages

The new code is hidden behind a `last_resort_key_package_ext` Cargo
feature.

There is not yet a super convenient way to set the extension on a
single key package: the key package extensions are fixed when the
client is created, so one has to create a temporary throw-away client
for this. This can be addressed in a future PR, if needed.
@mulmarta mulmarta merged commit e6e02a3 into awslabs:main Aug 20, 2024
17 checks passed
@mgeisler
Copy link
Contributor Author

Thanks a lot @mulmarta and @stefunctional for the review! Would you be able to make a new release with this in the next days? That will make it easier for me to start using the new functionality (we typically don't vendor the source code based on Git commits).

@mulmarta
Copy link
Contributor

Thanks a lot @mulmarta and @stefunctional for the review! Would you be able to make a new release with this in the next days? That will make it easier for me to start using the new functionality (we typically don't vendor the source code based on Git commits).

Would you be willing to bump the versions? I think minor versions are sufficient since you only added a function. Then I can publish to crates.io

@mgeisler mgeisler deleted the last-resort-key-package branch August 22, 2024 08:51
@mgeisler
Copy link
Contributor Author

Sure, I'm happy to send a PR! I agree with you that this is a simple backwards compatible change.

mgeisler added a commit to mgeisler/mls-rs that referenced this pull request Aug 23, 2024
This is for the last-resort key package functionality (awslabs#184) and
detached commit functionality (awslabs#180).
mgeisler added a commit to mgeisler/mls-rs that referenced this pull request Aug 23, 2024
This is for the last-resort key package functionality (awslabs#184) and
detached commit functionality (awslabs#180).
mulmarta pushed a commit that referenced this pull request Aug 23, 2024
This is for the last-resort key package functionality (#184) and
detached commit functionality (#180).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants