Skip to content

Commit d56a940

Browse files
committed
Merge remote-tracking branch 'upstream/main' into 10-08-merge_upstream
2 parents d85aa56 + 2849f05 commit d56a940

102 files changed

Lines changed: 3227 additions & 1843 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,37 +3,43 @@ name: Bug report
33
about: Create a report to help us improve
44
title: "[Bug]"
55
labels: bug
6-
assignees: ''
7-
6+
assignees: ""
87
---
98

109
<!-- The issue tracker is ONLY used for reporting bugs, feature requests, and spec changes. For support or discussions please use https://github.com/openmls/openmls/discussions or https://openmls.zulipchat.com/. -->
1110

1211
**Describe the bug**
12+
1313
<!-- A clear and concise description of what the bug is. -->
1414

1515
**To Reproduce**
16-
<!--
16+
17+
<!--
1718
Steps to reproduce the behavior:
1819
1. Use the following API call/function: ...
1920
2. See error
2021
-->
2122

2223
**Expected behavior**
24+
2325
<!-- A clear and concise description of what you expected to happen. -->
2426

2527
**Actual behavior**
28+
2629
<!-- A brief explanation of what happens instead. -->
2730

2831
**Screenshots or debug log**
32+
2933
<!-- If applicable, add screenshots or debug logs to help explain your problem. -->
3034

3135
**Platform (please complete the following information):**
32-
<!--
36+
37+
<!--
3338
- OS & OS version: [e.g. macOS 11.0.1]
3439
- Architecture [e.g. x86_64]
3540
- Version [e.g. v0.2]
3641
-->
3742

3843
**Additional context**
44+
3945
<!-- Add any other context about the problem here. -->

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,23 @@ name: Feature request
33
about: Suggest an idea for this project
44
title: "[Feature request]"
55
labels: enhancement
6-
assignees: ''
7-
6+
assignees: ""
87
---
98

109
<!-- The issue tracker is ONLY used for reporting bugs, feature requests, and spec changes. For support or discussions please use https://github.com/openmls/openmls/discussions or https://openmls.zulipchat.com/. -->
1110

1211
**Is your feature request related to a problem? Please describe.**
12+
1313
<!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->
1414

1515
**Describe the solution you'd like**
16+
1617
<!-- A clear and concise description of what you want to happen. -->
1718

1819
**Describe alternatives you've considered**
20+
1921
<!-- A clear and concise description of any alternative solutions or features you've considered. -->
2022

2123
**Additional context**
24+
2225
<!-- Add any other context or screenshots about the feature request here. -->

.github/ISSUE_TEMPLATE/mls-spec-change.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@ name: MLS spec change
33
about: Changes in the MLS protocol/architecture document
44
title: "[MLS Spec change]"
55
labels: mls-spec change
6-
assignees: ''
7-
6+
assignees: ""
87
---
98

109
<!-- The issue tracker is ONLY used for reporting bugs, feature requests, and spec changes. For support or discussions please use https://github.com/openmls/openmls/discussions or https://openmls.zulipchat.com/. -->
1110

1211
**Description of the changes**
12+
1313
<!-- Explain what the changes are about. -->
1414

1515
**Link to the exact changes**
16+
1617
<!-- Please provide a link to the PR on [https://github.com/mlswg] -->

CHANGELOG.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## Unreleased
99

10+
## 0.7.1 (2025-09-24)
11+
1012
### Added
13+
1114
- [#1801](https://github.com/openmls/openmls/pull/1801): Added `MlsGroup::external_commit_builder`.
1215
- [#1814](https://github.com/openmls/openmls/pull/1814): Allow disabling leaf node lifetime validation in the ratchet tree when joining a group.
1316
- `StagedWelcome::build_from_welcome`: Alternative to `new_from_welcome` in a builder style that allows disabling lifetime validation of the incoming ratchet tree.
@@ -17,12 +20,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1720
- [#1840](https://github.com/openmls/openmls/pull/1840): Add `has_pending_proposals` getter method to `MlsGroup`.
1821

1922
### Fixed
23+
2024
- [#1846](https://github.com/openmls/openmls/pull/1846): Fix persistence during message processing by properly persisting the secret tree after processing private messages and improve forward secrecy within epochs.
2125

2226
### Changed
27+
2328
- [#1846](https://github.com/openmls/openmls/pull/1846): Processing messages in `MlsGroup` and `PublicGroup` now returns two different error types: `ProcessMessageError` and `PublicProcessMessageError`. `ProcessMessageError` now includes a storage error variant and `PublicProcessMessageError` no longer includes the `GroupStateError` variant.
29+
- [#1851](https://github.com/openmls/openmls/pull/1851): The GroupInfos in Welcome messages no longer contain an ExternalPub extension. This extension is generally useless for new group members, as its only purpose is to facilitate external joins.
2430

2531
### Deprecated
32+
2633
- [#1801](https://github.com/openmls/openmls/pull/1801): Deprecated `MlsGroup::join_by_external_commit` in favor of `MlsGroup::external_commit_builder`.
2734

2835
## 0.7.0 (2025-07-17)
@@ -85,7 +92,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
8592

8693
- [#1641](https://github.com/openmls/openmls/pull/1641): Fixed missing storage of queued proposals & clearing of the queued proposals.
8794

88-
## 0.6.0-pre.1 (2024-07-22)
95+
## 0.6.0 (2024-07-22)
8996

9097
### Added
9198

CONTRIBUTING.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,14 +47,17 @@ Issue priorities are reflected with labels.
4747

4848
### Patches
4949

50-
Sometimes, you have to work on another crate (e.g. [hpke-rs](https://crates.io/crates/hpke-rs)) alongside openmls. The
51-
recommended way to proceed while developing locally is to patch openmls by adding the following to the root [Cargo.toml](./Cargo.toml):
50+
Sometimes, you have to work on another crate (e.g. [hpke-rs](https://crates.io/crates/hpke-rs)) alongside openmls. The
51+
recommended way to proceed while developing locally is to patch openmls by adding the following to the root [Cargo.toml](./Cargo.toml):
52+
5253
```toml
5354
[patch.crates-io.hpke-rs]
5455
path = "../hpke-rs" # local path to the project
5556
```
57+
5658
Once you are done with your changes and feel it's ready to be submitted, you will have to make your patch point to a
5759
remote branch in order for the CI to succeed:
60+
5861
```toml
5962
[patch.crates-io.hpke-rs]
6063
git = "https://github.com/my-fork/hpke-rs"

Cargo.toml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,14 @@ resolver = "2"
2121
[workspace.dependencies]
2222
tls_codec = { version = "0.4.2", features = ["derive", "serde", "mls"] }
2323

24-
openmls = { version = "0.7.0", path = "openmls" }
24+
openmls = { version = "0.7.1", path = "openmls" }
2525

26-
openmls_traits = { version = "0.4.0", path = "traits" }
27-
openmls_test = { version = "0.2.0", path = "openmls_test" }
28-
openmls_basic_credential = { version = "0.4.0", path = "basic_credential" }
26+
openmls_traits = { version = "0.4.1", path = "traits" }
27+
openmls_test = { version = "0.2.1", path = "openmls_test" }
28+
openmls_basic_credential = { version = "0.4.1", path = "basic_credential" }
2929

30-
openmls_rust_crypto = { version = "0.4.0", path = "openmls_rust_crypto" }
31-
openmls_libcrux_crypto = { version = "0.2.0", path = "libcrux_crypto" }
30+
openmls_rust_crypto = { version = "0.4.1", path = "openmls_rust_crypto" }
31+
openmls_libcrux_crypto = { version = "0.2.1", path = "libcrux_crypto" }
3232

33-
openmls_memory_storage = { version = "0.4.0", path = "memory_storage" }
34-
openmls_sqlite_storage = { version = "0.1.0", path = "sqlite_storage" }
33+
openmls_memory_storage = { version = "0.4.1", path = "memory_storage" }
34+
openmls_sqlite_storage = { version = "0.1.1", path = "sqlite_storage" }

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
[![Book][book-release-badge]][book-release-link]
1111
![Rust Version][rustc-image]
1212

13-
*OpenMLS* is a Rust implementation of the Messaging Layer Security (MLS) protocol, as specified in [RFC 9420](https://datatracker.ietf.org/doc/html/rfc9420).
13+
_OpenMLS_ is a Rust implementation of the Messaging Layer Security (MLS) protocol, as specified in [RFC 9420](https://datatracker.ietf.org/doc/html/rfc9420).
14+
1415
<!-- The introduction of the book imports the lines up until here (line 13), excluding the headline and separately the lines below (starting from line 19, "Supported ciphersuite"). If the line numbers change here, please modify the imported lines in the book.-->
1516

1617
It is a software library that can serve as a building block in applications that require end-to-end encryption of messages.
@@ -57,9 +58,11 @@ can bring their own implementation. See [traits](https://github.com/openmls/open
5758
details.
5859

5960
## Working on OpenMLS
61+
6062
For more details when working on OpenMLS itself please see the [Developer.md].
6163

6264
## Maintenance & Support
65+
6366
OpenMLS is maintained and developed by [Phoenix R&D] and [Cryspen].
6467

6568
## Acknowledgements
@@ -83,4 +86,3 @@ OpenMLS is maintained and developed by [Phoenix R&D] and [Cryspen].
8386
[Phoenix R&D]: https://phnx.im
8487
[Cryspen]: https://cryspen.com
8588
[Zulip]: https://zulip.com/
86-

basic_credential/CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## 0.4.1 (2025-09-24)

basic_credential/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "openmls_basic_credential"
3-
version = "0.4.0"
3+
version = "0.4.1"
44
authors = ["OpenMLS Authors"]
55
edition = "2021"
66
description = "A Basic Credential implementation for OpenMLS"

book/src/app_validation.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,15 @@
1010

1111
> The application using MLS is responsible for specifying which identifiers
1212
> it finds acceptable for each member in a group. In other words, following
13-
> the model that [[RFC6125]] describes for TLS, the application maintains a list
13+
> the model that [RFC6125][] describes for TLS, the application maintains a list
1414
> of "reference identifiers" for the members of a group, and the credentials
1515
> provide "presented identifiers". A member of a group is authenticated by first
1616
> validating that the member's credential legitimately represents some presented
1717
> identifiers, and then ensuring that the reference identifiers for the member
1818
> are authenticated by those presented identifiers
1919
>
2020
> -- [RFC9420, Section 5.3.1](https://www.rfc-editor.org/rfc/rfc9420.html#section-5.3.1-1)
21-
>
21+
2222
### Validity of Updated Presented Identifiers
2323

2424
> In cases where a member's credential is being replaced, such as the Update and
@@ -28,7 +28,7 @@
2828
>
2929
> -- [RFC9420, Section 5.3.1](https://www.rfc-editor.org/rfc/rfc9420.html#section-5.3.1-5)
3030
31-
### Application ID is Not Authenticed by AS
31+
### Application ID is Not Authenticated by AS
3232

3333
> However, applications MUST NOT rely on the data in an application_id extension
3434
> as if it were authenticated by the Authentication Service, and SHOULD gracefully
@@ -44,7 +44,7 @@
4444
> LeafNode, and reject any LeafNode where the total lifetime is longer than this
4545
> duration. In order to avoid disagreements about whether a LeafNode has a valid
4646
> lifetime, the clients in a group SHOULD maintain time synchronization (e.g.,
47-
> using the Network Time Protocol [[RFC5905]]).
47+
> using the Network Time Protocol [RFC5905][]).
4848
>
4949
> -- [RFC9420, Section 7.2](https://www.rfc-editor.org/rfc/rfc9420.html#section-7.2-10)
5050
@@ -55,7 +55,7 @@
5555
> It is up to the application to decide what authenticated_data to provide and
5656
> how much padding to add to a given message (if any). The overall size of the
5757
> AAD and ciphertext MUST fit within the limits established for the group's AEAD
58-
> algorithm in [[CFRG-AEAD-LIMITS]].
58+
> algorithm in [CFRG-AEAD-LIMITS][].
5959
>
6060
> -- [RFC9420, Section 6.3.1](https://www.rfc-editor.org/rfc/rfc9420.html#section-6.3.1-11)
6161

0 commit comments

Comments
 (0)