From 6971f54feac2464b53f2b5db8466d75075e0dc9e Mon Sep 17 00:00:00 2001 From: Mark Haines Date: Tue, 13 Sep 2016 16:39:43 +0100 Subject: Add a olm_inbound_group_session_id method --- src/inbound_group_session.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src') diff --git a/src/inbound_group_session.c b/src/inbound_group_session.c index 82ff66f..65c6018 100644 --- a/src/inbound_group_session.c +++ b/src/inbound_group_session.c @@ -29,6 +29,7 @@ #define OLM_PROTOCOL_VERSION 3 +#define GROUP_SESSION_ID_LENGTH ED25519_PUBLIC_KEY_LENGTH #define PICKLE_VERSION 1 #define SESSION_KEY_VERSION 2 @@ -364,3 +365,23 @@ size_t olm_group_decrypt( plaintext, max_plaintext_length ); } + +size_t olm_inbound_group_session_id_length( + const OlmInboundGroupSession *session +) { + return _olm_encode_base64_length(GROUP_SESSION_ID_LENGTH); +} + +size_t olm_inbound_group_session_id( + OlmInboundGroupSession *session, + uint8_t * id, size_t id_length +) { + if (id_length < olm_inbound_group_session_id_length(session)) { + session->last_error = OLM_OUTPUT_BUFFER_TOO_SMALL; + return (size_t)-1; + } + + return _olm_encode_base64( + session->signing_key.public_key, GROUP_SESSION_ID_LENGTH, id + ); +} -- cgit v1.2.3