|
|
|
|
|
The mailbox properties client is a [BSP client](https://code.briarproject.org/briar/briar-spec/blob/master/protocols/BSP.md) that synchronises mailbox properties between pairs of devices. Mailbox properties describe how to connect to a mailbox associated with a device.
|
|
|
The mailbox properties (or updates) client is a [BSP client](https://code.briarproject.org/briar/briar-spec/blob/master/protocols/BSP.md) that synchronises mailbox properties and supported mailbox api versions between pairs of devices. The properties describe how to connect to a mailbox associated with a device.
|
|
|
|
|
|
### Identifier
|
|
|
|
|
|
The client's identifier is `org.briarproject.bramble.mailbox`. The major version is 1.
|
|
|
The client's identifier is `org.briarproject.bramble.mailbox.properties`. The major version is 1.
|
|
|
|
|
|
### Groups
|
|
|
|
... | ... | @@ -13,11 +13,11 @@ The client uses a separate BSP group for communicating with each contact. The [g |
|
|
|
|
|
**UPDATE** - The message body is a BDF list with 4 elements: `version` (int), `clientSupports` (list), and `serverSupports` (list), `properties` (dictionary).
|
|
|
|
|
|
`version` is incremented whenever the properties change.
|
|
|
`version` is incremented with each new update message.
|
|
|
|
|
|
`clientSupports` is a non-empty list of Mailbox API versions that the sender can talk to as a client. Each element (a version) is a list with 2 elements: `major` (int), `minor` (int).
|
|
|
`clientSupports` is a non-empty list of Mailbox API versions that the sender's Briar instance can talk to as a client. Each element (a version) is a list with 2 elements: `major` (int), `minor` (int).
|
|
|
|
|
|
`serverSupports` is a list of Mailbox API versions that the sender's mailbox supports. The list must be empty if `properties` is empty (there is no mailbox), otherwise it must be non-empty. Each element (a version) is a list with 2 elements: `maj` (int), `min` (int).
|
|
|
`serverSupports` is a list of Mailbox API versions that the sender's Mailbox supports. The list must be empty if `properties` is empty (there is no mailbox), otherwise it must be non-empty. Each element (a version) is a list with 2 elements: `maj` (int), `min` (int).
|
|
|
|
|
|
The keys of the `properties` dictionary are strings. The 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:
|
|
|
|
... | ... | |