about summary refs log tree commit diff stats
path: root/src/omemo/omemo.h
diff options
context:
space:
mode:
authorPaul Fariello <paul@fariello.eu>2019-04-15 22:09:47 +0200
committerPaul Fariello <paul@fariello.eu>2019-04-17 14:03:14 +0200
commit5f015e32b263de6ebcaf9a3c6c2ffcad238410a0 (patch)
treea1aed9f92fe491d6e0af30b1c35b46c748ac8796 /src/omemo/omemo.h
parent9574127177a8e975add3cef523e85f6e75fe4585 (diff)
downloadprofani-tty-5f015e32b263de6ebcaf9a3c6c2ffcad238410a0.tar.gz
Add OMEMO policy
There is 3 policy:

- manual: OMEMO session are only started manually
- automatic: OMEMO session are only started if they have been started
  manually before
- always: OMEMO session are always started unless they have been ended
  manually before

Closes #1040 and fixes #1052
Diffstat (limited to 'src/omemo/omemo.h')
-rw-r--r--src/omemo/omemo.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/omemo/omemo.h b/src/omemo/omemo.h
index 166a5292..8268491c 100644
--- a/src/omemo/omemo.h
+++ b/src/omemo/omemo.h
@@ -6,6 +6,12 @@
 #define OMEMO_ERR_UNSUPPORTED_CRYPTO -10000
 #define OMEMO_ERR_GCRYPT -20000
 
+typedef enum {
+    PROF_OMEMOPOLICY_MANUAL,
+    PROF_OMEMOPOLICY_AUTOMATIC,
+    PROF_OMEMOPOLICY_ALWAYS
+} prof_omemopolicy_t;
+
 typedef struct omemo_context_t omemo_context;
 
 typedef struct omemo_key {
@@ -40,10 +46,10 @@ char *omemo_own_fingerprint(gboolean formatted);
 void omemo_trust(const char *const jid, const char *const fingerprint);
 void omemo_untrust(const char *const jid, const char *const fingerprint);
 GList *omemo_known_device_identities(const char *const jid);
-gboolean omemo_is_trusted_jid(const char *const jid);
 gboolean omemo_is_trusted_identity(const char *const jid, const char *const fingerprint);
 char *omemo_fingerprint_autocomplete(const char *const search_str, gboolean previous);
 void omemo_fingerprint_autocomplete_reset(void);
+gboolean omemo_automatic_start(const char *const recipient);
 
 void omemo_start_sessions(void);
 void omemo_start_session(const char *const barejid);