diff options
author | David Baker <dave@matrix.org> | 2019-10-04 11:43:40 +0100 |
---|---|---|
committer | David Baker <dave@matrix.org> | 2019-10-04 11:43:40 +0100 |
commit | b482321213e6e896d0981c266bed12f4e1f67441 (patch) | |
tree | ea8decd8eb2187ee049a2a3587ee28a2730c25fe /include | |
parent | e73a208fb2b70fb5d195a74956f22ea6557d361f (diff) |
Pass in a buffer to olm_session_describe
instead of having a static one, as that could end up taking up a
lot of memory if your app keeps olm sessions hanging about.
Diffstat (limited to 'include')
-rw-r--r-- | include/olm/olm.h | 8 | ||||
-rw-r--r-- | include/olm/session.hh | 14 |
2 files changed, 8 insertions, 14 deletions
diff --git a/include/olm/olm.h b/include/olm/olm.h index 242277a..a0ef46a 100644 --- a/include/olm/olm.h +++ b/include/olm/olm.h @@ -319,12 +319,10 @@ int olm_session_has_received_message( ); /** - * Return a string describing the internal state of an olm session, - * for debugging and logging purposes. The pointer returned points - * to an internal buffer and is valid until the next call to - * olm_session_describe on the same olm session object. + * Write a string describing the internal state of an olm session + * to the buffer provided for debugging and logging purposes. */ -const char * olm_session_describe(OlmSession * session); +void olm_session_describe(OlmSession * session, char *buf, size_t buflen); /** Checks if the PRE_KEY message is for this in-bound session. This can happen * if multiple messages are sent to this account before this account sends a diff --git a/include/olm/session.hh b/include/olm/session.hh index 86598dd..ce05fc8 100644 --- a/include/olm/session.hh +++ b/include/olm/session.hh @@ -17,8 +17,6 @@ #include "olm/ratchet.hh" -#define DESCRIBE_BUFFER_LEN 256 - namespace olm { struct Account; @@ -37,8 +35,6 @@ struct Session { bool received_message; - char describe_buffer[DESCRIBE_BUFFER_LEN]; - _olm_curve25519_public_key alice_identity_key; _olm_curve25519_public_key alice_base_key; _olm_curve25519_public_key bob_one_time_key; @@ -137,12 +133,12 @@ struct Session { ); /** - * Return a string describing this session and its state (not including the - * private key) - * The pointer returned refers to an internal buffer which will be valid - * up until the next time describe() is called. + * Write a string describing this session and its state (not including the + * private key) into the buffer provided. + * + * Takes a buffer to write to and the length of that buffer */ - const char *describe(); + void describe(char *buf, size_t buflen); }; |