diff --git a/Mailbox-Properties-Client.md b/Mailbox-Properties-Client.md index fae6822..2702550 100644 --- a/Mailbox-Properties-Client.md +++ b/Mailbox-Properties-Client.md @@ -11,7 +11,9 @@ The client uses a separate BSP group for communicating with each contact. The [g ### Message types -**UPDATE** - The message body is a BDF list with two elements: `version` (int), and `properties` (dictionary). `version` is incremented whenever the properties change. The keys of the `properties` dictionary are strings. +**UPDATE** - The message body is a BDF list with 4 elements: `version` (int), `properties` (dictionary), `briarSupports` (list), and `mailboxSupports` (list). + +`version` is incremented whenever the properties change. The keys of the `properties` dictionary are strings. For major version 0, the `properties` dictionary of a well-formed update contains either no (0) entries, which means for the receiver that there is no mailbox available. Or, it contains all of the following entries: @@ -20,6 +22,10 @@ For major version 0, the `properties` dictionary of a well-formed update contain * "inboxId" : byte[32] -- folder id used when receiving data from the mailbox * "outboxId" : byte[32] -- folder id used when delivering data to the mailbox +`briarSupports` is a list of Mailbox versions that this Briar instance supports (can communicate with). It must not be empty. Each element is a list with 2 elements: `maj` (int), `min` (int). + +`mailboxSupports` is a list of Briar versions that the mailbox supports. It must be empty if `properties` is empty (there is no mailbox). Each element is a list with 2 elements: `maj` (int), `min` (int). + ### Validity policy * An update is valid if it is well-formed.