aboutsummaryrefslogtreecommitdiff
path: root/src/inbound_group_session.c
diff options
context:
space:
mode:
authorRichard van der Hoff <richard@matrix.org>2016-05-24 14:54:01 +0100
committerRichard van der Hoff <richard@matrix.org>2016-05-24 14:54:01 +0100
commita919a149fbb192e3fae7aba921ca28e02d9c0d10 (patch)
tree482f05d70d330d21934d296ec1d26e126b1a1732 /src/inbound_group_session.c
parentfa1e9446ac2b4d26dd592813ce0a372565df4c93 (diff)
Update megolm_cipher as a global struct
Initialise megolm_cipher via the preprocessor macro, instead of with a function.
Diffstat (limited to 'src/inbound_group_session.c')
-rw-r--r--src/inbound_group_session.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/inbound_group_session.c b/src/inbound_group_session.c
index 6cded75..b6894c1 100644
--- a/src/inbound_group_session.c
+++ b/src/inbound_group_session.c
@@ -168,7 +168,6 @@ size_t olm_group_decrypt_max_plaintext_length(
uint8_t * message, size_t message_length
) {
size_t r;
- const struct _olm_cipher *cipher = megolm_cipher();
struct _OlmDecodeGroupMessageResults decoded_results;
r = _olm_decode_base64(message, message_length, message);
@@ -179,7 +178,7 @@ size_t olm_group_decrypt_max_plaintext_length(
_olm_decode_group_message(
message, message_length,
- cipher->ops->mac_length(cipher),
+ megolm_cipher->ops->mac_length(megolm_cipher),
&decoded_results);
if (decoded_results.version != OLM_PROTOCOL_VERSION) {
@@ -192,8 +191,8 @@ size_t olm_group_decrypt_max_plaintext_length(
return (size_t)-1;
}
- return cipher->ops->decrypt_max_plaintext_length(
- cipher, decoded_results.ciphertext_length);
+ return megolm_cipher->ops->decrypt_max_plaintext_length(
+ megolm_cipher, decoded_results.ciphertext_length);
}
@@ -203,7 +202,6 @@ size_t olm_group_decrypt(
uint8_t * plaintext, size_t max_plaintext_length
) {
struct _OlmDecodeGroupMessageResults decoded_results;
- const struct _olm_cipher *cipher = megolm_cipher();
size_t max_length, raw_message_length, r;
Megolm *megolm;
Megolm tmp_megolm;
@@ -216,7 +214,7 @@ size_t olm_group_decrypt(
_olm_decode_group_message(
message, raw_message_length,
- cipher->ops->mac_length(cipher),
+ megolm_cipher->ops->mac_length(megolm_cipher),
&decoded_results);
if (decoded_results.version != OLM_PROTOCOL_VERSION) {
@@ -231,8 +229,8 @@ size_t olm_group_decrypt(
return (size_t)-1;
}
- max_length = cipher->ops->decrypt_max_plaintext_length(
- cipher,
+ max_length = megolm_cipher->ops->decrypt_max_plaintext_length(
+ megolm_cipher,
decoded_results.ciphertext_length
);
if (max_plaintext_length < max_length) {
@@ -258,8 +256,8 @@ size_t olm_group_decrypt(
megolm_advance_to(megolm, decoded_results.message_index);
/* now try checking the mac, and decrypting */
- r = cipher->ops->decrypt(
- cipher,
+ r = megolm_cipher->ops->decrypt(
+ megolm_cipher,
megolm_get_data(megolm), MEGOLM_RATCHET_LENGTH,
message, raw_message_length,
decoded_results.ciphertext, decoded_results.ciphertext_length,