Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
briar
briar
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 679
    • Issues 679
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 12
    • Merge Requests 12
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • briar
  • briarbriar
  • Wiki
  • Forum Client

Last edited by akwizgran Oct 16, 2018
Page history

Forum Client

The forum client is a BSP client that synchronises forum posts among groups of devices. It is used in conjunction with the forum sharing client.

Any user who subscribes to a forum can post messages. Posts are signed by their authors.

Identifier

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 is a BDF list 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

POST - The message body is a BDF list with four elements: parentId (unique ID or null), author (list), text (string), and signature (raw).

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 text (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

  • A post is valid if it is well-formed, has a valid signature, and its parent (if any) is valid.

Storage policy

  • All messages are stored.

Sharing policy

  • All messages are shared.
Clone repository
  • A Quick Overview of the Protocol Stack
  • Android Power Management
  • BDF
  • BQP
  • BSP
  • BTP
  • Blog Client
  • Blog Sharing Client
  • Client API Notes
  • Design options for multi block messages
  • Development schedule for private message deletion
  • FAQ
  • Forum Client
  • Forum Sharing Client
  • Fundamental Problems
View All Pages