diff --git a/Blog-Client.md b/Blog-Client.md index def7580..c535a67 100644 --- a/Blog-Client.md +++ b/Blog-Client.md @@ -1,4 +1,4 @@ -The blog client is a [BSP client](BSP) that synchronises blog posts among groups of devices. It is used in conjunction with the [blog sharing client](blog sharing client). +The blog client is a [BSP client](https://code.briarproject.org/briar/briar-spec/blob/master/BSP.md) that synchronises blog posts among groups of devices. It is used in conjunction with the [blog sharing client](blog sharing client). The creator of a blog is the only user who can post messages. Posts and comments from other blogs can be reblogged with optional comments. @@ -10,7 +10,7 @@ The client's identifier is `org.briarproject.briar.blog`. The major version is 0 ### Groups -Each blog is represented by a separate BSP group. The [group descriptor](https://code.briarproject.org/briar/briar-spec/blob/master/protocols/BSP.md#23-groups) is a [BDF list](BDF) with two elements: `author` (list) and `rss` (boolean). +Each blog is represented by a separate BSP group. 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) with two elements: `author` (list) and `rss` (boolean). `author` is a list with three elements: `formatVersion` (int), `nickname` (string) and `publicKey` (raw). This identifies the user who publishes the blog. diff --git a/Blog-Sharing-Client.md b/Blog-Sharing-Client.md index 79fb1c9..7d46e77 100644 --- a/Blog-Sharing-Client.md +++ b/Blog-Sharing-Client.md @@ -1,4 +1,4 @@ -The blog sharing client is a [BSP client](BSP) that allows users to share blogs with their contacts, who may accept or decline the invitations. It is used in conjunction with the [blog client](blog client). +The blog sharing client is a [BSP client](https://code.briarproject.org/briar/briar-spec/blob/master/BSP.md) that allows users to share blogs with their contacts, who may accept or decline the invitations. It is used in conjunction with the [blog client](blog client). ### Identifier @@ -6,7 +6,7 @@ The client's identifier is `org.briarproject.briar.blog.sharing`. The major vers ### 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](BDF) containing the unique IDs of the contacts' identities, sorted in ascending order as byte strings. +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. ### Roles diff --git a/Client-API-Notes.md b/Client-API-Notes.md index a080c6b..5570db1 100644 --- a/Client-API-Notes.md +++ b/Client-API-Notes.md @@ -1,4 +1,4 @@ -[BSP](BSP) clients may need to store their own metadata as well as the data they sync via BSP. Metadata may have been extracted from the data (e.g. the subject line of a message), or it may describe the state of the client (e.g. whether the user has starred a message). It may refer to a single message or the relationships between messages. +[BSP](https://code.briarproject.org/briar/briar-spec/blob/master/BSP.md) clients may need to store their own metadata as well as the data they sync via BSP. Metadata may have been extracted from the data (e.g. the subject line of a message), or it may describe the state of the client (e.g. whether the user has starred a message). It may refer to a single message or the relationships between messages. We have to decide whether the metadata should be stored in the same database as the data, and if so, what the API for storing and querying metadata should look like. diff --git a/Forum-Client.md b/Forum-Client.md index 5bbc95e..4768572 100644 --- a/Forum-Client.md +++ b/Forum-Client.md @@ -1,4 +1,4 @@ -The forum client is a [BSP client](BSP) that synchronises forum posts among groups of devices. It is used in conjunction with the [forum sharing client](forum sharing client). +The forum client is a [BSP client](https://code.briarproject.org/briar/briar-spec/blob/master/BSP.md) that synchronises forum posts among groups of devices. It is used in conjunction with the [forum sharing client](forum sharing client). Any user who subscribes to a forum can post messages. Posts are signed by their authors. @@ -8,7 +8,7 @@ The client's identifier is `org.briarproject.briar.forum`. The major version is ### Groups -Each forum is represented by a separate BSP group. The [group descriptor](https://code.briarproject.org/briar/briar-spec/blob/master/protocols/BSP.md#23-groups) is a [BDF list](BDF) with two elements: `name` (string) and `salt` (raw). The salt is 32 random bytes, to prevent collisions between forums with the same name. +Each forum is represented by a separate BSP group. 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) with two elements: `name` (string) and `salt` (raw). The salt is 32 random bytes, to prevent collisions between forums with the same name. ### Message types diff --git a/Forum-Sharing-Client.md b/Forum-Sharing-Client.md index d6a0ee9..18cff46 100644 --- a/Forum-Sharing-Client.md +++ b/Forum-Sharing-Client.md @@ -1,4 +1,4 @@ -The forum sharing client is a [BSP client](BSP) that allows users to share forums with their contacts, who may accept or decline the invitations. It is used in conjunction with the [forum client](forum client). +The forum sharing client is a [BSP client](https://code.briarproject.org/briar/briar-spec/blob/master/BSP.md) that allows users to share forums with their contacts, who may accept or decline the invitations. It is used in conjunction with the [forum client](forum client). ### Identifier @@ -6,7 +6,7 @@ The client's identifier is `org.briarproject.briar.forum.sharing`. The major ver ### 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](BDF) containing the unique IDs of the contacts' identities, sorted in ascending order as byte strings. +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. ### Roles diff --git a/Introduction-Client.md b/Introduction-Client.md index 5f90b36..5323d28 100644 --- a/Introduction-Client.md +++ b/Introduction-Client.md @@ -1,4 +1,4 @@ -The introduction client is a [BSP client](BSP) that allows a user to introduce two contacts to each other. Each contact may accept or decline the introduction. If both contacts accept, they become each other's contacts. +The introduction client is a [BSP client](https://code.briarproject.org/briar/briar-spec/blob/master/BSP.md) that allows a user to introduce two contacts to each other. Each contact may accept or decline the introduction. If both contacts accept, they become each other's contacts. ### Identifier @@ -6,7 +6,7 @@ The client's identifier is `org.briarproject.briar.introduction`. The major vers ### 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](BDF) containing the unique IDs of the contacts' identities, sorted in ascending order as byte strings. +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. ### Roles diff --git a/Messaging-Client.md b/Messaging-Client.md index 3f2f55f..fc15891 100644 --- a/Messaging-Client.md +++ b/Messaging-Client.md @@ -1,4 +1,4 @@ -The messaging client is a [BSP client](BSP) that synchronises private messages between pairs of devices. +The messaging client is a [BSP client](https://code.briarproject.org/briar/briar-spec/blob/master/BSP.md) that synchronises private messages between pairs of devices. ### Identifier @@ -6,7 +6,7 @@ The client's identifier is `org.briarproject.briar.messaging`. The major version ### 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](BDF) containing the unique IDs of the contacts' identities, sorted in ascending order as byte strings. +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 diff --git a/Private-Group-Client.md b/Private-Group-Client.md index 09c2d22..f1a6569 100644 --- a/Private-Group-Client.md +++ b/Private-Group-Client.md @@ -1,4 +1,4 @@ -The private group client is a [BSP client](BSP) that synchronises messages among groups of devices. It is used in conjunction with the [private group sharing client](private group sharing client). +The private group client is a [BSP client](https://code.briarproject.org/briar/briar-spec/blob/master/BSP.md) that synchronises messages among groups of devices. It is used in conjunction with the [private group sharing client](private group sharing client). The creator of each private group is the only user who can invite other members. Any member can post messages to a group. Messages are signed by their authors. @@ -8,7 +8,7 @@ The client's identifier is `org.briarproject.briar.privategroup`. The major vers ### Groups -Each private group is represented by a separate BSP group. The [group descriptor](https://code.briarproject.org/briar/briar-spec/blob/master/protocols/BSP.md#23-groups) is a [BDF list](BDF) with three elements: `creator` (list), `name` (string), and `salt` (raw). +Each private group is represented by a separate BSP group. 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) with three elements: `creator` (list), `name` (string), and `salt` (raw). `creator` is a list with three elements: `formatVersion` (int), `nickname` (string), and `publicKey` (raw). This identifies the user who created the private group. The salt is 32 random bytes, to prevent collisions between private groups with the same creator and name. diff --git a/Private-Group-Sharing-Client.md b/Private-Group-Sharing-Client.md index 99b2130..73d4016 100644 --- a/Private-Group-Sharing-Client.md +++ b/Private-Group-Sharing-Client.md @@ -1,4 +1,4 @@ -The private group sharing client is a [BSP client](BSP) that allows users to share private groups with their contacts, who may accept or decline the invitations. It is used in conjunction with the [private group client](private group client). +The private group sharing client is a [BSP client](https://code.briarproject.org/briar/briar-spec/blob/master/BSP.md) that allows users to share private groups with their contacts, who may accept or decline the invitations. It is used in conjunction with the [private group client](private group client). ### Identifier @@ -6,7 +6,7 @@ The client's identifier is `org.briarproject.briar.privategroup.invitation`. The ### 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](BDF) containing the unique IDs of the contacts' identities, sorted in ascending order as byte strings. +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. ### Roles diff --git a/RPC-Notes.md b/RPC-Notes.md index 6bcb92b..aaf911c 100644 --- a/RPC-Notes.md +++ b/RPC-Notes.md @@ -1,4 +1,4 @@ -Current thoughts on how RPC could be implemented as a [BSP](BSP) client: +Current thoughts on how RPC could be implemented as a [BSP](https://code.briarproject.org/briar/briar-spec/blob/master/BSP.md) client: * Each procedure call is encoded as a message * The arguments may be marshalled into the message itself (pass by value) or its dependencies (pass by reference) diff --git a/Transport-Properties-Client.md b/Transport-Properties-Client.md index 6a0305c..87ce626 100644 --- a/Transport-Properties-Client.md +++ b/Transport-Properties-Client.md @@ -1,4 +1,4 @@ -The transport properties client is a [BSP client](BSP) that synchronises transport properties between pairs of devices. Transport properties describe how to connect to a device over various transports. +The transport properties client is a [BSP client](https://code.briarproject.org/briar/briar-spec/blob/master/BSP.md) that synchronises transport properties between pairs of devices. Transport properties describe how to connect to a device over various transports. ### Identifier @@ -6,7 +6,7 @@ The client's identifier is `org.briarproject.bramble.transport`. The major versi ### 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](BDF) containing the unique IDs of the contacts' identities, sorted in ascending order as byte strings. +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. The client also uses a group with an empty descriptor for storing local transport properties. This group is not shared with any contacts.