- olm_clear_outbound_group_session
size_t olm_clear_outbound_group_session(OlmOutboundGroupSession* session)
Clears the memory used to back this group session
- olm_group_encrypt
size_t olm_group_encrypt(OlmOutboundGroupSession* session, const(char)* plaintext, size_t plaintext_length, char* message, size_t message_length)
Encrypt some plain-text. Returns the length of the encrypted message or
olm_error() on failure. On failure last_error will be set with an
error code. The last_error will be OUTPUT_BUFFER_TOO_SMALL if the output
buffer is too small.
- olm_group_encrypt_message_length
size_t olm_group_encrypt_message_length(OlmOutboundGroupSession* session, size_t plaintext_length)
The number of bytes that will be created by encrypting a message
- olm_init_outbound_group_session
size_t olm_init_outbound_group_session(OlmOutboundGroupSession* session, char* random, size_t random_length)
Start a new outbound group session. Returns olm_error() on failure. On
failure last_error will be set with an error code. The last_error will be
NOT_ENOUGH_RANDOM if the number of random bytes was too small.
- olm_init_outbound_group_session_random_length
size_t olm_init_outbound_group_session_random_length(OlmOutboundGroupSession* session)
The number of random bytes needed to create an outbound group session
- olm_outbound_group_session
OlmOutboundGroupSession* olm_outbound_group_session(void* memory)
Initialise an outbound group session object using the supplied memory
The supplied memory should be at least olm_outbound_group_session_size()
bytes.
- olm_outbound_group_session_id
size_t olm_outbound_group_session_id(OlmOutboundGroupSession* session, char* id, size_t id_length)
Get a base64-encoded identifier for this session.
- olm_outbound_group_session_id_length
size_t olm_outbound_group_session_id_length(OlmOutboundGroupSession* session)
Get the number of bytes returned by olm_outbound_group_session_id()
- olm_outbound_group_session_key
size_t olm_outbound_group_session_key(OlmOutboundGroupSession* session, char* key, size_t key_length)
Get the base64-encoded current ratchet key for this session.
- olm_outbound_group_session_key_length
size_t olm_outbound_group_session_key_length(OlmOutboundGroupSession* session)
Get the number of bytes returned by olm_outbound_group_session_key()
- olm_outbound_group_session_last_error
const(char)* olm_outbound_group_session_last_error(OlmOutboundGroupSession* session)
* A null terminated string describing the most recent error to happen to a
* group session
- olm_outbound_group_session_message_index
uint olm_outbound_group_session_message_index(OlmOutboundGroupSession* session)
Get the current message index for this session.
- olm_outbound_group_session_size
size_t olm_outbound_group_session_size()
get the size of an outbound group session, in bytes.
- olm_pickle_outbound_group_session
size_t olm_pickle_outbound_group_session(OlmOutboundGroupSession* session, const(void)* key, size_t key_length, void* pickled, size_t pickled_length)
Stores a group session as a base64 string. Encrypts the session using the
supplied key. Returns the length of the session on success.
- olm_pickle_outbound_group_session_length
size_t olm_pickle_outbound_group_session_length(OlmOutboundGroupSession* session)
Returns the number of bytes needed to store an outbound group session
- olm_unpickle_outbound_group_session
size_t olm_unpickle_outbound_group_session(OlmOutboundGroupSession* session, const(void)* key, size_t key_length, void* pickled, size_t pickled_length)
Loads a group session from a pickled base64 string. Decrypts the session
using the supplied key.