diff options
Diffstat (limited to 'protocols/Tox/toxcore/docs/Group-Chats.md')
-rw-r--r-- | protocols/Tox/toxcore/docs/Group-Chats.md | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/protocols/Tox/toxcore/docs/Group-Chats.md b/protocols/Tox/toxcore/docs/Group-Chats.md deleted file mode 100644 index 5e00b550cc..0000000000 --- a/protocols/Tox/toxcore/docs/Group-Chats.md +++ /dev/null @@ -1,71 +0,0 @@ -Massive public group chats. - -Note that not all this document has been implemented: only private (invite only) group chats are currently implemented. - -Everyone generates a short term public private key pair right before joining -the chat. - -Note that for public group chats it is impossible to protect the chat from -being spied on by a very dedicated attacker, encryption is therefor used as a -form of spam/access control. - -## Joining the chats - - -## Protocol - - -Node format: -See DHT, currently uses the IPv6 Node_format. - -Get nodes (Request): -Packet contents: -``` -[char with a value of 48][Bob's (The receiver's) Public key (client_id) (32 bytes))][Alice's (The sender's) Public key (client_id) (32 bytes)][Random nonce (24 bytes)][Encrypted with the nonce, private key of the sender and public key of the receiver:[char with a value of 48][random 8 byte (ping_id)] -``` -Valid replies: a send_nodes packet - -Send_nodes (response): -``` -[char with a value of 48][Bob's (The receiver's) Public key (client_id) (32 bytes))][Alice's (The sender's) Public key (client_id) (32 bytes)][Random nonce (24 bytes)][Encrypted with the nonce, private key of the sender and public key of the receiver:[char with a value of 49][random 8 byte (ping_id)][Nodes in node format, length=40 * (number of nodes (maximum of 6 nodes)) bytes]] -``` - -Broadcast packet: -``` -[char with a value of 48][Bob's (The receiver's) Public key (client_id) (32 bytes))][Alice's (The sender's) Public key (client_id) (32 bytes)][nonce][Encrypted with the nonce, private key of the sender and public key of the receiver:[char with a value of 50][Data to send to everyone]] -``` - - -Data to send to everyone: -TODO: signing and spam control + permissions. -[client_id of sender][uint32_t message number][char with a value representing id of message][data] - -Note: the message number is increased by 1 for each sent message. - -message ids: -0 - ping -sent every ~60 seconds by every peer. -No data. - -16 - new_peer -Tell everyone about a new peer in the chat. -[uint8_t public_key[public_key_len]] - -17 - ban_peer -Ban a peer -[uint8_t public_key[public_key_len]] - -18 - topic change -[uint8_t topic[topiclen]] - -48 - name change -[uint8_t name[namelen]] - -49 - status change -[uint8_t (status id)] - -64 - chat message -[uint8_t message[messagelen]] - -65 - action (/me) -[uint8_t message[messagelen]] |