From 3c28e2762da2b76483e3fef560b309acd22996ab Mon Sep 17 00:00:00 2001 From: akwizgran Date: Sun, 29 Apr 2018 14:11:34 +0000 Subject: [PATCH] Update Forum Client --- Forum-Client.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Forum-Client.md b/Forum-Client.md index 969e8ec..3fdc11a 100644 --- a/Forum-Client.md +++ b/Forum-Client.md @@ -1,10 +1,14 @@ -The forum client is a [BSP client](BSP) that synchronises forum posts among groups of devices. Any subscriber can post to a forum. Posts are signed by their authors. +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). -### Group identifiers +Any user who subscribes to a forum can post messages. Posts are signed by their authors. -The forum client's identifier is `org.briarproject.briar.forum`. +### Identifier -Each forum has its own BSP group. The [group descriptor](BSP#group-identifiers) 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. +The client's identifier is `org.briarproject.briar.forum`. The major version is 0. + +### Groups + +Each forum is represented by a separate BSP group. The [group descriptor](BSP#group-identifiers) 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. ### Message types @@ -12,7 +16,7 @@ Each forum has its own BSP group. The [group descriptor](BSP#group-identifiers) `parentId` is the optional ID of a post in the same forum to which this post replies. `author` is a list with three elements: `formatVersion` (int), `nickname` (string), and `publicKey` (raw). This identifies the author of the post. -The signature covers a BDF list with five elements: `groupId` (unique ID), `timestamp` (int), `parentId` (unique ID or null), `author` (list), and `content` (string). The group ID and timestamp are taken from the message header. +The signature covers a BDF list with five elements: `groupId` (unique ID), `timestamp` (int), `parentId` (unique ID or null), `author` (list), and `content` (string). The group ID and timestamp are taken from the message header. The public key from `author` is used to verify the signature. The signature label is `org.briarproject.briar.forum/POST`. ### Validity policy