about summary refs log tree commit diff stats
path: root/src/command
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2014-01-13 20:38:19 +0000
committerJames Booth <boothj5@gmail.com>2014-01-13 20:38:19 +0000
commitecf323de317ffb541e03eab445e611058d4e67e9 (patch)
treea2e96c49004b983d321ad242daae8f5277934477 /src/command
parent60820007ee6b5a1bc634904d35f9f10292a04195 (diff)
downloadprofani-tty-ecf323de317ffb541e03eab445e611058d4e67e9.tar.gz
Implemented chat logging options for OTR messages
on - Log OTR messages as plaintext
off - Do not log OTR messages
redact - Log, but replace the text with '[redacted]'

Defaults to redact
Diffstat (limited to 'src/command')
-rw-r--r--src/command/command.c6
-rw-r--r--src/command/commands.c6
2 files changed, 10 insertions, 2 deletions
diff --git a/src/command/command.c b/src/command/command.c
index e582e2e7..d0d32fe7 100644
--- a/src/command/command.c
+++ b/src/command/command.c
@@ -1176,7 +1176,11 @@ cmd_execute_default(const char * const inp)
                         if (prefs_get_boolean(PREF_CHLOG)) {
                             const char *jid = jabber_get_fulljid();
                             Jid *jidp = jid_create(jid);
-                            chat_log_chat(jidp->barejid, recipient, inp, PROF_OUT_LOG, NULL);
+                            if (strcmp(prefs_get_string(PREF_OTR_LOG), "on") == 0) {
+                                chat_log_chat(jidp->barejid, recipient, inp, PROF_OUT_LOG, NULL);
+                            } else if (strcmp(prefs_get_string(PREF_OTR_LOG), "redact") == 0) {
+                                chat_log_chat(jidp->barejid, recipient, "[redacted]", PROF_OUT_LOG, NULL);
+                            }
                             jid_destroy(jidp);
                         }
 
diff --git a/src/command/commands.c b/src/command/commands.c
index 51296cd6..6285254c 100644
--- a/src/command/commands.c
+++ b/src/command/commands.c
@@ -929,7 +929,11 @@ cmd_msg(gchar **args, struct cmd_help_t help)
                     if (((win_type == WIN_CHAT) || (win_type == WIN_CONSOLE)) && prefs_get_boolean(PREF_CHLOG)) {
                         const char *jid = jabber_get_fulljid();
                         Jid *jidp = jid_create(jid);
-                        chat_log_chat(jidp->barejid, usr_jid, msg, PROF_OUT_LOG, NULL);
+                        if (strcmp(prefs_get_string(PREF_OTR_LOG), "on") == 0) {
+                            chat_log_chat(jidp->barejid, usr_jid, msg, PROF_OUT_LOG, NULL);
+                        } else if (strcmp(prefs_get_string(PREF_OTR_LOG), "redact") == 0) {
+                            chat_log_chat(jidp->barejid, usr_jid, "[redacted]", PROF_OUT_LOG, NULL);
+                        }
                         jid_destroy(jidp);
                     }
                 } else {