Updated API Protocol (markdown)

Moxie Marlinspike 2014-04-02 12:17:29 -07:00
parent 2bed362f99
commit b0c42255e4
1 changed files with 36 additions and 9 deletions

@ -296,18 +296,26 @@ struct {
opaque iv[16];
opaque ciphertext[...]; // The IncomingPushMessageSignal
opaque mac[10];
}
```
The IncomingPushMessageSignal protocol buffer:
```
message OutgoingMessageSignal {
optional uint32 type = 1;
message IncomingPushMessageSignal {
enum Type {
UNKNOWN = 0;
CIPHERTEXT = 1;
KEY_EXCHANGE = 2;
PREKEY_BUNDLE = 3;
PLAINTEXT = 4;
}
optional Type type = 1;
optional string source = 2;
optional uint32 sourceDevice = 7;
optional string relay = 3;
repeated string destinations = 4;
optional uint64 timestamp = 5;
optional bytes message = 6; // Encrypted PushMessageContent (above)
optional bytes message = 6; // Contains an encrypted PushMessageContent
}
```
@ -317,15 +325,34 @@ Recall that a push message is transmitted as the following structure:
```
message PushMessageContent {
optional string body = 1;
message AttachmentPointer {
optional fixed64 id = 1;
optional string contentType = 2;
optional bytes key = 3;
optional fixed64 id = 1;
optional string contentType = 2;
optional bytes key = 3;
}
message GroupContext {
enum Type {
UNKNOWN = 0;
UPDATE = 1;
DELIVER = 2;
QUIT = 3;
}
optional bytes id = 1;
optional Type type = 2;
optional string name = 3;
repeated string members = 4;
optional AttachmentPointer avatar = 5;
}
enum Flags {
END_SESSION = 1;
}
optional string body = 1;
repeated AttachmentPointer attachments = 2;
optional GroupContext group = 3;
optional Flags flags = 4;
}
```