diff options
author | Stefan <79058696+StefanKropp@users.noreply.github.com> | 2021-04-17 13:28:54 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-17 13:28:54 +0200 |
commit | 3ba38eafa8ff0a53937fafebc0f8754944d57601 (patch) | |
tree | 73daec63c0830b8393e4a906c02b7fbcd4f33cfd /src/command/cmd_funcs.c | |
parent | c79979401b316e66ae13eba89f3d552fbe95780b (diff) | |
download | profani-tty-3ba38eafa8ff0a53937fafebc0f8754944d57601.tar.gz |
OMEMO - trust mode (#1506)
Add OMEMO trust mode capabilities. * ToFu / first usage * blind trust * manual
Diffstat (limited to 'src/command/cmd_funcs.c')
-rw-r--r-- | src/command/cmd_funcs.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/command/cmd_funcs.c b/src/command/cmd_funcs.c index 9d8fec50..351f7b98 100644 --- a/src/command/cmd_funcs.c +++ b/src/command/cmd_funcs.c @@ -8475,6 +8475,37 @@ cmd_omemo_start(ProfWin* window, const char* const command, gchar** args) } gboolean +cmd_omemo_trust_mode(ProfWin* window, const char* const command, gchar** args) +{ +#ifdef HAVE_OMEMO + + if (!args[1]) { + cons_show("Current trust mode is %s", prefs_get_string(PREF_OMEMO_TRUST_MODE)); + return TRUE; + } + + if (g_strcmp0(args[1], "manual") == 0) { + cons_show("Current trust mode is %s - setting to %s", prefs_get_string(PREF_OMEMO_TRUST_MODE), args[1]); + cons_show("You need to trust all OMEMO fingerprints manually"); + } else if (g_strcmp0(args[1], "firstusage") == 0) { + cons_show("Current trust mode is %s - setting to %s", prefs_get_string(PREF_OMEMO_TRUST_MODE), args[1]); + cons_show("The first seen OMEMO fingerprints will be trusted automatically - new keys must be trusted manually"); + } else if (g_strcmp0(args[1], "blind") == 0) { + cons_show("Current trust mode is %s - setting to %s", prefs_get_string(PREF_OMEMO_TRUST_MODE), args[1]); + cons_show("ALL OMEMO fingerprints will be trusted automatically"); + } else { + cons_bad_cmd_usage(command); + return TRUE; + } + prefs_set_string(PREF_OMEMO_TRUST_MODE, args[1]); + +#else + cons_show("This version of Profanity has not been built with OMEMO support enabled"); +#endif + return TRUE; +} + +gboolean cmd_omemo_char(ProfWin* window, const char* const command, gchar** args) { #ifdef HAVE_OMEMO |