about summary refs log tree commit diff stats
path: root/src/event/server_events.c
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2015-08-30 01:32:13 +0100
committerJames Booth <boothj5@gmail.com>2015-08-30 01:32:13 +0100
commitb4722632b6fa447386b7d786efc8dafd22a3671c (patch)
tree6a6d3e243415ef982a13412503890b4e6ae19565 /src/event/server_events.c
parent1484e94b355dc8f41d7285206b114a3e8251a1d9 (diff)
downloadprofani-tty-b4722632b6fa447386b7d786efc8dafd22a3671c.tar.gz
Split PGP incoming and outgoing message handling
Diffstat (limited to 'src/event/server_events.c')
-rw-r--r--src/event/server_events.c36
1 files changed, 16 insertions, 20 deletions
diff --git a/src/event/server_events.c b/src/event/server_events.c
index ae85d32a..74aa4d74 100644
--- a/src/event/server_events.c
+++ b/src/event/server_events.c
@@ -187,7 +187,7 @@ sv_ev_incoming_carbon(char *barejid, char *resource, char *message)
         new_win = TRUE;
     }
 
-    ui_incoming_msg(chatwin, resource, message, NULL, new_win, PROF_ENC_NONE);
+    ui_incoming_msg(chatwin, resource, message, NULL, new_win, PROF_MSG_PLAIN);
     chat_log_msg_in(barejid, message);
 }
 
@@ -197,17 +197,14 @@ _sv_ev_incoming_pgp(ProfChatWin *chatwin, gboolean new_win, char *barejid, char
 {
     char *decrypted = p_gpg_decrypt(pgp_message);
     if (decrypted) {
-        if (chatwin->enc_mode == PROF_ENC_NONE) {
-            win_println((ProfWin*)chatwin, 0, "PGP encryption enabled.");
-        }
-        ui_incoming_msg(chatwin, resource, decrypted, NULL, new_win, PROF_ENC_PGP);
+        ui_incoming_msg(chatwin, resource, decrypted, NULL, new_win, PROF_MSG_PGP);
         chat_log_pgp_msg_in(barejid, decrypted);
-        chatwin->enc_mode = PROF_ENC_PGP;
+        chatwin->pgp_recv = TRUE;
         p_gpg_free_decrypted(decrypted);
     } else {
-        ui_incoming_msg(chatwin, resource, message, NULL, new_win, PROF_ENC_NONE);
+        ui_incoming_msg(chatwin, resource, message, NULL, new_win, PROF_MSG_PLAIN);
         chat_log_msg_in(barejid, message);
-        chatwin->enc_mode = PROF_ENC_NONE;
+        chatwin->pgp_recv = FALSE;
     }
 }
 #endif
@@ -220,23 +217,27 @@ _sv_ev_incoming_otr(ProfChatWin *chatwin, gboolean new_win, char *barejid, char
     char *otr_res = otr_on_message_recv(barejid, resource, message, &decrypted);
     if (otr_res) {
         if (decrypted) {
-            ui_incoming_msg(chatwin, resource, otr_res, NULL, new_win, PROF_ENC_OTR);
+            ui_incoming_msg(chatwin, resource, otr_res, NULL, new_win, PROF_MSG_OTR);
+            chatwin->pgp_send = FALSE;
         } else {
-            ui_incoming_msg(chatwin, resource, otr_res, NULL, new_win, PROF_ENC_NONE);
+            ui_incoming_msg(chatwin, resource, otr_res, NULL, new_win, PROF_MSG_PLAIN);
         }
         chat_log_otr_msg_in(barejid, otr_res, decrypted);
         otr_free_message(otr_res);
+        chatwin->pgp_recv = FALSE;
     }
 }
 #endif
 
+#ifndef HAVE_LIBOTR
 static void
 _sv_ev_incoming_plain(ProfChatWin *chatwin, gboolean new_win, char *barejid, char *resource, char *message)
 {
-    ui_incoming_msg(chatwin, resource, message, NULL, new_win, PROF_ENC_NONE);
+    ui_incoming_msg(chatwin, resource, message, NULL, new_win, PROF_MSG_PLAIN);
     chat_log_msg_in(barejid, message);
-    chatwin->enc_mode = PROF_ENC_NONE;
+    chatwin->pgp_recv = FALSE;
 }
+#endif
 
 void
 sv_ev_incoming_message(char *barejid, char *resource, char *message, char *pgp_message)
@@ -253,18 +254,13 @@ sv_ev_incoming_message(char *barejid, char *resource, char *message, char *pgp_m
 #ifdef HAVE_LIBOTR
 #ifdef HAVE_LIBGPGME
     if (pgp_message) {
-        if (chatwin->enc_mode == PROF_ENC_OTR) {
+        if (chatwin->is_otr) {
             win_println((ProfWin*)chatwin, 0, "PGP encrypted message received whilst in OTR session.");
         } else { // PROF_ENC_NONE, PROF_ENC_PGP
             _sv_ev_incoming_pgp(chatwin, new_win, barejid, resource, message, pgp_message);
         }
     } else {
-        if (chatwin->enc_mode == PROF_ENC_PGP) {
-            win_println((ProfWin*)chatwin, 0, "PGP encryption disabled.");
-            _sv_ev_incoming_plain(chatwin, new_win, barejid, resource, message);
-        } else {
-            _sv_ev_incoming_otr(chatwin, new_win, barejid, resource, message);
-        }
+        _sv_ev_incoming_otr(chatwin, new_win, barejid, resource, message);
     }
     return;
 #endif
@@ -316,7 +312,7 @@ sv_ev_delayed_message(char *barejid, char *message, GDateTime *timestamp)
         new_win = TRUE;
     }
 
-    ui_incoming_msg(chatwin, NULL, message, timestamp, new_win, PROF_ENC_NONE);
+    ui_incoming_msg(chatwin, NULL, message, timestamp, new_win, PROF_MSG_PLAIN);
     chat_log_msg_in_delayed(barejid, message, timestamp);
 }