mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-15 04:18:53 +01:00
Add mailbox props client, WIP
30
Mailbox-Properties-Client.md
Normal file
30
Mailbox-Properties-Client.md
Normal file
@@ -0,0 +1,30 @@
|
||||
|
||||
# WORK IN PROGRESS
|
||||
|
||||
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.
|
||||
|
||||
### Identifier
|
||||
|
||||
The client's identifier is `org.briarproject.bramble.mailbox`. The major version is 0.
|
||||
|
||||
### Groups
|
||||
|
||||
The client uses a separate BSP group for communicating with each contact. The [group descriptor](https://code.briarproject.org/briar/briar-spec/blob/master/protocols/BSP.md#23-groups) is a [BDF list](https://code.briarproject.org/briar/briar-spec/blob/master/BDF.md) containing the unique IDs of the contacts' identities, sorted in ascending order as byte strings.
|
||||
|
||||
### 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 and values of the `properties` dictionary are strings. Typical keys in this dictionary are: *onionAddress*, *token*, *inboxId*, *outboxId*. An empty dictionary would mean for the receiver that there is no mailbox available for use.
|
||||
|
||||
### Validity policy
|
||||
|
||||
* An update is valid if it is well-formed.
|
||||
|
||||
### Storage policy
|
||||
|
||||
* In the groups shared with contacts:
|
||||
* The local message with the highest version is stored.
|
||||
* The remote message with the highest version is stored.
|
||||
|
||||
### Sharing policy
|
||||
|
||||
* In the groups shared with contacts, all local messages are shared.
|
||||
Reference in New Issue
Block a user