diff options
author | Paul Fariello <paul@fariello.eu> | 2019-02-26 20:33:06 +0140 |
---|---|---|
committer | Paul Fariello <paul@fariello.eu> | 2019-04-10 16:03:50 +0200 |
commit | 0fb27dc4961608eb9b088ca659eb087dd2c1cae7 (patch) | |
tree | caf8fd8ac5d330e98376b98f471115303b8cc523 /src/omemo/omemo.h | |
parent | b1ae220aa47ff503fe368e4802061be159dfb42b (diff) | |
download | profani-tty-0fb27dc4961608eb9b088ca659eb087dd2c1cae7.tar.gz |
Add OMEMO message encryption and decryption
Diffstat (limited to 'src/omemo/omemo.h')
-rw-r--r-- | src/omemo/omemo.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/omemo/omemo.h b/src/omemo/omemo.h index bf42b3e3..eb9569a3 100644 --- a/src/omemo/omemo.h +++ b/src/omemo/omemo.h @@ -1,9 +1,19 @@ #include <glib.h> +#include "ui/ui.h" #include "config/account.h" +#define OMEMO_ERR_UNSUPPORTED_CRYPTO -10000 + typedef struct omemo_context_t omemo_context; +typedef struct omemo_key { + const unsigned char *data; + size_t length; + gboolean prekey; + uint32_t device_id; +} omemo_key_t; + void omemo_init(void); void omemo_generate_crypto_materials(ProfAccount *account); @@ -18,3 +28,5 @@ void omemo_start_session(const char *const barejid); void omemo_start_device_session(const char *const jid, uint32_t device_id, uint32_t prekey_id, const unsigned char *const prekey, size_t prekey_len, uint32_t signed_prekey_id, const unsigned char *const signed_prekey, size_t signed_prekey_len, const unsigned char *const signature, size_t signature_len, const unsigned char *const identity_key, size_t identity_key_len); gboolean omemo_loaded(void); +gboolean omemo_on_message_send(ProfChatWin *chatwin, const char *const message, gboolean request_receipt); +char * omemo_on_message_recv(const char *const from, uint32_t sid, const unsigned char *const iv, size_t iv_len, GList *keys, const unsigned char *const payload, size_t payload_len); |