mirror of
https://git.jabber.space/devs/cproof.git
synced 2026-07-29 16:46:21 +00:00
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:
@@ -52,7 +52,8 @@ 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)
|
||||
{
|
||||
ProfAccount *new_account = malloc(sizeof(ProfAccount));
|
||||
@@ -139,6 +140,15 @@ account_new(const gchar *const name, const gchar *const jid,
|
||||
new_account->otr_opportunistic = otr_opportunistic;
|
||||
new_account->otr_always = otr_always;
|
||||
|
||||
if (omemo_policy) {
|
||||
new_account->omemo_policy = strdup(omemo_policy);
|
||||
} else {
|
||||
new_account->omemo_policy = NULL;
|
||||
}
|
||||
|
||||
new_account->omemo_enabled = omemo_enabled;
|
||||
new_account->omemo_disabled = omemo_disabled;
|
||||
|
||||
if (pgp_keyid != NULL) {
|
||||
new_account->pgp_keyid = strdup(pgp_keyid);
|
||||
} else {
|
||||
@@ -232,6 +242,7 @@ account_free(ProfAccount *account)
|
||||
free(account->muc_service);
|
||||
free(account->muc_nick);
|
||||
free(account->otr_policy);
|
||||
free(account->omemo_policy);
|
||||
free(account->pgp_keyid);
|
||||
free(account->startscript);
|
||||
free(account->theme);
|
||||
@@ -239,6 +250,8 @@ account_free(ProfAccount *account)
|
||||
g_list_free_full(account->otr_manual, g_free);
|
||||
g_list_free_full(account->otr_opportunistic, g_free);
|
||||
g_list_free_full(account->otr_always, g_free);
|
||||
g_list_free_full(account->omemo_enabled, g_free);
|
||||
g_list_free_full(account->omemo_disabled, g_free);
|
||||
free(account);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user