Skip to content

Commit 7fd9215

Browse files
committed
Notifications rehaul
Main areas: - Notification payloads are fully specified in case of `file` resources or shareType (`user`, etc.) recipients - Request to share is now a notification - Reshare operations are better explained, including the fact that access must always happen to the owner's server, not via third parties Still missing: - The format of a notification response when successful is left unspecified - A `FEDERATION_REMOVED` notification is not specified, do we need it?
1 parent 92d7626 commit 7fd9215

3 files changed

Lines changed: 316 additions & 248 deletions

File tree

IETF-OCM-MLS.md

Lines changed: 51 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -735,10 +735,14 @@ added user.
735735
~~~ json
736736
{
737737
"notificationType": "MLS_WELCOME",
738+
"senderDomain": "othercloud.example.org",
739+
"resourceType": "federation",
738740
"notification": {
739-
"mlsGroupId": "<base64url MLS group ID>",
740-
"userId": "bob@othercloud.example.org",
741-
"content": "<base64url MLS Welcome wire format>"
741+
"federation": {
742+
"mlsGroupId": "<base64url MLS group ID>",
743+
"userId": "bob@othercloud.example.org",
744+
"content": "<base64url MLS Welcome wire format>"
745+
}
742746
}
743747
}
744748
~~~
@@ -775,9 +779,13 @@ act on it.
775779
~~~ json
776780
{
777781
"notificationType": "MLS_PROPOSAL",
782+
"senderDomain": "cloud.example.org",
783+
"resourceType": "federation",
778784
"notification": {
779-
"mlsGroupId": "<base64url MLS group ID>",
780-
"content": "<base64url MLS PublicMessage carrying the Proposal>"
785+
"federation": {
786+
"mlsGroupId": "<base64url MLS group ID>",
787+
"content": "<base64url MLS PublicMessage carrying the Proposal>"
788+
}
781789
}
782790
}
783791
~~~
@@ -803,10 +811,16 @@ data, per [RFC9420] Section 15.2.
803811
~~~ json
804812
{
805813
"notificationType": "MLS_COMMIT",
814+
"senderDomain": "cloud.example.org",
815+
"resourceType": "federation",
806816
"notification": {
807-
"mlsGroupId": "<base64url MLS group ID>",
808-
"proposals": ["<base64url MLS PublicMessage carrying a Proposal>"],
809-
"content": "<base64url MLS PublicMessage carrying the Commit>"
817+
"federation": {
818+
"mlsGroupId": "<base64url MLS group ID>",
819+
"proposals": [
820+
"<base64url MLS PublicMessage carrying a Proposal>"
821+
],
822+
"content": "<base64url MLS PublicMessage carrying the Commit>"
823+
}
810824
}
811825
}
812826
~~~
@@ -849,9 +863,13 @@ epoch ([RFC9420] Section 15).
849863
~~~ json
850864
{
851865
"notificationType": "MLS_APPLICATION",
866+
"senderDomain": "cloud.example.org",
867+
"resourceType": "federation",
852868
"notification": {
853-
"mlsGroupId": "<base64url MLS group ID>",
854-
"content": "<base64url MLS PrivateMessage wire format>"
869+
"federation": {
870+
"mlsGroupId": "<base64url MLS group ID>",
871+
"content": "<base64url MLS PrivateMessage wire format>"
872+
}
855873
}
856874
}
857875
~~~
@@ -890,16 +908,20 @@ by the KeyPackage endpoint.
890908
~~~ json
891909
{
892910
"notificationType": "MLS_REJOIN",
911+
"senderDomain": "othercloud.example.org",
912+
"resourceType": "federation",
893913
"notification": {
894-
"mlsGroupId": "<base64url MLS group ID>",
895-
"keyPackages": [
896-
{
897-
"userId": "bob@othercloud.example.org",
898-
"mediaType": "message/mls",
899-
"encoding": "base64url",
900-
"content": "<base64url-encoded MLS KeyPackage>"
901-
}
902-
]
914+
"federation": {
915+
"mlsGroupId": "<base64url MLS group ID>",
916+
"keyPackages": [
917+
{
918+
"userId": "bob@othercloud.example.org",
919+
"mediaType": "message/mls",
920+
"encoding": "base64url",
921+
"content": "<base64url-encoded MLS KeyPackage>"
922+
}
923+
]
924+
}
903925
}
904926
}
905927
~~~
@@ -1880,19 +1902,18 @@ defined in [RFC9420] Section 17.3:
18801902

18811903
The following notification types are to be registered in the "OCM
18821904
Notification Types" registry defined in [OCM], within the "Open Cloud
1883-
Mesh (OCM) Parameters" group. All are group-scoped and therefore omit
1884-
the "providerId" field (see {{mls-notification-types}}):
1905+
Mesh (OCM) Parameters" group:
18851906

18861907
~~~
1887-
+===================+=======+========+===============+
1888-
| Notification Type | Scope | Status | Reference |
1889-
+===================+=======+========+===============+
1890-
| MLS_WELCOME | Group | active | This document |
1891-
| MLS_PROPOSAL | Group | active | This document |
1892-
| MLS_COMMIT | Group | active | This document |
1893-
| MLS_APPLICATION | Group | active | This document |
1894-
| MLS_REJOIN | Group | active | This document |
1895-
+===================+=======+========+===============+
1908+
+===================+===========+===============+
1909+
| Notification Type | Scope | Reference |
1910+
+===================+===========+===============+
1911+
| MLS_WELCOME | Recipient | This document |
1912+
| MLS_PROPOSAL | Recipient | This document |
1913+
| MLS_COMMIT | Recipient | This document |
1914+
| MLS_APPLICATION | Recipient | This document |
1915+
| MLS_REJOIN | Recipient | This document |
1916+
+===================+===========+===============+
18961917
~~~
18971918

18981919
The following entry is to be registered in the "OCM Share Types"

0 commit comments

Comments
 (0)