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
This commit is contained in:
Paul Fariello
2019-04-15 22:09:47 +02:00
parent 9574127177
commit 5f015e32b2
17 changed files with 253 additions and 23 deletions

View File

@@ -59,6 +59,9 @@ typedef struct prof_account_t {
GList *otr_manual;
GList *otr_opportunistic;
GList *otr_always;
gchar *omemo_policy;
GList *omemo_enabled;
GList *omemo_disabled;
gchar *pgp_keyid;
gchar *startscript;
gchar *theme;
@@ -72,7 +75,8 @@ ProfAccount* account_new(const gchar *const name, const gchar *const jid,
int priority_away, int priority_xa, int priority_dnd,
const gchar *const muc_service, const gchar *const muc_nick,
const gchar *const otr_policy, GList *otr_manual, GList *otr_opportunistic,
GList *otr_always, const gchar *const pgp_keyid, const char *const startscript,
GList *otr_always, const gchar *const omemo_policy, GList *omemo_enabled,
GList *omemo_disabled, const gchar *const pgp_keyid, const char *const startscript,
const char *const theme, gchar *tls_policy);
char* account_create_connect_jid(ProfAccount *account);
gboolean account_eval_password(ProfAccount *account);