OMEMO - trust mode (#1506)

Add OMEMO trust mode capabilities.

* ToFu / first usage
* blind trust
* manual
This commit is contained in:
Stefan
2021-04-17 13:28:54 +02:00
committed by GitHub
parent c79979401b
commit 3ba38eafa8
7 changed files with 94 additions and 0 deletions

View File

@@ -193,6 +193,7 @@ static Autocomplete otr_sendfile_ac;
static Autocomplete omemo_ac;
static Autocomplete omemo_log_ac;
static Autocomplete omemo_policy_ac;
static Autocomplete omemo_trustmode_ac;
#endif
static Autocomplete connect_property_ac;
static Autocomplete tls_property_ac;
@@ -682,6 +683,7 @@ cmd_ac_init(void)
autocomplete_add(omemo_ac, "fingerprint");
autocomplete_add(omemo_ac, "clear_device_list");
autocomplete_add(omemo_ac, "policy");
autocomplete_add(omemo_ac, "trustmode");
autocomplete_add(omemo_ac, "char");
omemo_log_ac = autocomplete_new();
@@ -693,6 +695,12 @@ cmd_ac_init(void)
autocomplete_add(omemo_policy_ac, "manual");
autocomplete_add(omemo_policy_ac, "automatic");
autocomplete_add(omemo_policy_ac, "always");
// Autocomplete OMEMO trustmode
omemo_trustmode_ac = autocomplete_new();
autocomplete_add(omemo_trustmode_ac, "manual");
autocomplete_add(omemo_trustmode_ac, "firstusage");
autocomplete_add(omemo_trustmode_ac, "blind");
#endif
connect_property_ac = autocomplete_new();
@@ -1295,6 +1303,7 @@ cmd_ac_reset(ProfWin* window)
autocomplete_reset(omemo_ac);
autocomplete_reset(omemo_log_ac);
autocomplete_reset(omemo_policy_ac);
autocomplete_reset(omemo_trustmode_ac);
#endif
autocomplete_reset(connect_property_ac);
autocomplete_reset(tls_property_ac);
@@ -1453,6 +1462,7 @@ cmd_ac_uninit(void)
autocomplete_free(omemo_ac);
autocomplete_free(omemo_log_ac);
autocomplete_free(omemo_policy_ac);
autocomplete_free(omemo_trustmode_ac);
#endif
autocomplete_free(connect_property_ac);
autocomplete_free(tls_property_ac);
@@ -2519,6 +2529,11 @@ _omemo_autocomplete(ProfWin* window, const char* const input, gboolean previous)
return found;
}
found = autocomplete_param_with_ac(input, "/omemo trustmode", omemo_trustmode_ac, TRUE, previous);
if (found) {
return found;
}
jabber_conn_status_t conn_status = connection_get_status();
if (conn_status == JABBER_CONNECTED) {