Skip to content

Commit 3220b68

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 repsonse when successful is left unspecified - A `FEDERATION_REMOVED` notification is not specified, do we need it?
1 parent 92d7626 commit 3220b68

3 files changed

Lines changed: 310 additions & 248 deletions

File tree

IETF-OCM-MLS.md

Lines changed: 49 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,14 @@ 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": ["<base64url MLS PublicMessage carrying a Proposal>"],
820+
"content": "<base64url MLS PublicMessage carrying the Commit>"
821+
}
810822
}
811823
}
812824
~~~
@@ -849,9 +861,13 @@ epoch ([RFC9420] Section 15).
849861
~~~ json
850862
{
851863
"notificationType": "MLS_APPLICATION",
864+
"senderDomain": "cloud.example.org",
865+
"resourceType": "federation",
852866
"notification": {
853-
"mlsGroupId": "<base64url MLS group ID>",
854-
"content": "<base64url MLS PrivateMessage wire format>"
867+
"federation": {
868+
"mlsGroupId": "<base64url MLS group ID>",
869+
"content": "<base64url MLS PrivateMessage wire format>"
870+
}
855871
}
856872
}
857873
~~~
@@ -890,16 +906,20 @@ by the KeyPackage endpoint.
890906
~~~ json
891907
{
892908
"notificationType": "MLS_REJOIN",
909+
"senderDomain": "othercloud.example.org",
910+
"resourceType": "federation",
893911
"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-
]
912+
"federation": {
913+
"mlsGroupId": "<base64url MLS group ID>",
914+
"keyPackages": [
915+
{
916+
"userId": "bob@othercloud.example.org",
917+
"mediaType": "message/mls",
918+
"encoding": "base64url",
919+
"content": "<base64url-encoded MLS KeyPackage>"
920+
}
921+
]
922+
}
903923
}
904924
}
905925
~~~
@@ -1880,19 +1900,18 @@ defined in [RFC9420] Section 17.3:
18801900

18811901
The following notification types are to be registered in the "OCM
18821902
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}}):
1903+
Mesh (OCM) Parameters" group:
18851904

18861905
~~~
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-
+===================+=======+========+===============+
1906+
+===================+===========+===============+
1907+
| Notification Type | Scope | Reference |
1908+
+===================+===========+===============+
1909+
| MLS_WELCOME | Recipient | This document |
1910+
| MLS_PROPOSAL | Recipient | This document |
1911+
| MLS_COMMIT | Recipient | This document |
1912+
| MLS_APPLICATION | Recipient | This document |
1913+
| MLS_REJOIN | Recipient | This document |
1914+
+===================+===========+===============+
18961915
~~~
18971916

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

0 commit comments

Comments
 (0)