From 39920581f19e6659ba2db2d2ce5afcfd3695aec2 Mon Sep 17 00:00:00 2001 From: akwizgran Date: Fri, 24 Apr 2015 19:36:20 +0000 Subject: [PATCH] Blog signature must cover the client ID --- BlogClient.markdown | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/BlogClient.markdown b/BlogClient.markdown index 576af63..135a86f 100644 --- a/BlogClient.markdown +++ b/BlogClient.markdown @@ -1,4 +1,6 @@ -BlogClient is a [BSP client](BSP) that synchronises blog posts among groups of devices. Any subscriber to a blog can invite new subscribers, but only the creator of the blog can write posts. +BlogClient is a [BSP client](BSP) that synchronises blog posts among groups of devices. Any subscriber to a blog can invite new subscribers, but only the creator of the blog can post. + +> Implementation note: We propose to use Ed25519 for signatures. ### Channel identifiers @@ -19,9 +21,9 @@ The descriptor for a blog channel is a list with two elements: `title` (string) **3: POST** - The content is a list with two elements: `content` (list) and `signature` (raw). -`content` is a list with three elements: `parent_id` (raw or null), `body` (string), and `attachments` (dictionary or null). `parent_id` is the identifier of a post to which this is a follow-up. Each key in `attachments` is the name of an attachment, and the value is a list with two elements: `mime_type` (string) and `message_id` (raw). +`content` is a list with four elements: `parent_id` (raw or null), `subject` (string), `body` (string), and `attachments` (dictionary or null). `parent_id` is the identifier of a post to which this is a follow-up. Each key in `attachments` is the name of an attachment, and the value is a list with two elements: `mime_type` (string) and `message_id` (raw). -`signature` is a signature over a list with three elements: `channel_id` (raw), `timestamp` (int), and `content` (list). `channel_id` and `timestamp` are taken from the [message header](BSP#message-format). `content` is described above. +`signature` is a signature over a list with four elements: `channel_id` (raw), `salt` (raw), `timestamp` (int), and `content` (list). `channel_id`, `salt` and `timestamp` are taken from the [message header](BSP#message-format). `content` is described above. **4: ATTACHMENT** - The content is raw data.