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

@@ -44,6 +44,25 @@
#include "ui/window.h"
#include "ui/win_types.h"
#include "ui/window_list.h"
#ifdef HAVE_OMEMO
#include "omemo/omemo.h"
#endif
ProfMucWin*
mucwin_new(const char *const barejid)
{
ProfWin *window = wins_new_muc(barejid);
ProfMucWin *mucwin = (ProfMucWin *)window;
#ifdef HAVE_OMEMO
if (omemo_automatic_start(barejid)) {
omemo_start_muc_sessions(barejid);
mucwin->is_omemo = TRUE;
}
#endif
return mucwin;
}
void
mucwin_role_change(ProfMucWin *mucwin, const char *const role, const char *const actor, const char *const reason)