about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorMichael Vetter <jubalh@iodoru.org>2023-03-31 13:21:16 +0200
committerGitHub <noreply@github.com>2023-03-31 13:21:16 +0200
commit2e1d5d03dc1d8d817532fd71d9e6489f56118415 (patch)
tree9d3945225d6bf15faad9613fa72689612ecde776
parent2093fe417f6a1d7f8741613a83ed81e18ae272c9 (diff)
parent407905cfc5a60e90ccf149929eb9517e8287ae57 (diff)
downloadprofani-tty-2e1d5d03dc1d8d817532fd71d9e6489f56118415.tar.gz
Merge pull request #1802 from H3rnand3zzz/pgp-fix
Security fix of OTR, PGP and other
-rw-r--r--src/event/server_events.c7
-rw-r--r--src/otr/otr.c2
-rw-r--r--src/ui/core.c14
-rw-r--r--src/xmpp/message.c4
4 files changed, 10 insertions, 17 deletions
diff --git a/src/event/server_events.c b/src/event/server_events.c
index b4845b11..eb3e96e7 100644
--- a/src/event/server_events.c
+++ b/src/event/server_events.c
@@ -645,8 +645,8 @@ sv_ev_incoming_message(ProfMessage* message)
     chatwin = wins_get_chat(looking_for_jid);
 
     if (!chatwin) {
-        ProfWin* window = wins_new_chat(looking_for_jid);
-        chatwin = (ProfChatWin*)window;
+        chatwin = chatwin_new(looking_for_jid);
+        ProfWin* window = (ProfWin*)chatwin;
         new_win = TRUE;
 
         if (prefs_get_boolean(PREF_MAM)) {
@@ -689,8 +689,7 @@ sv_ev_incoming_carbon(ProfMessage* message)
     gboolean new_win = FALSE;
     ProfChatWin* chatwin = wins_get_chat(message->from_jid->barejid);
     if (!chatwin) {
-        ProfWin* window = wins_new_chat(message->from_jid->barejid);
-        chatwin = (ProfChatWin*)window;
+        chatwin = chatwin_new(message->from_jid->barejid);
         new_win = TRUE;
 
 #ifdef HAVE_OMEMO
diff --git a/src/otr/otr.c b/src/otr/otr.c
index 3297ce57..bbad51d5 100644
--- a/src/otr/otr.c
+++ b/src/otr/otr.c
@@ -151,7 +151,7 @@ cb_gone_secure(void* opdata, ConnContext* context)
 {
     ProfChatWin* chatwin = wins_get_chat(context->username);
     if (!chatwin) {
-        chatwin = (ProfChatWin*)wins_new_chat(context->username);
+        chatwin = chatwin_new(context->username);
     }
 
     chatwin_otr_secured(chatwin, otr_is_trusted(context->username));
diff --git a/src/ui/core.c b/src/ui/core.c
index 5ce42e50..7bcac08b 100644
--- a/src/ui/core.c
+++ b/src/ui/core.c
@@ -768,20 +768,18 @@ ui_print_system_msg_from_recipient(const char* const barejid, const char* messag
         return;
 
     ProfChatWin* chatwin = wins_get_chat(barejid);
-    ProfWin* window = (ProfWin*)chatwin;
-    if (window == NULL) {
-        window = wins_new_chat(barejid);
-        if (window) {
-            chatwin = (ProfChatWin*)window;
-            int num = wins_get_num(window);
+    if (chatwin == NULL) {
+        chatwin = chatwin_new(barejid);
+        if (chatwin) {
+            int num = wins_get_num((ProfWin*)chatwin);
             status_bar_active(num, WIN_CHAT, chatwin->barejid);
         } else {
-            window = wins_get_console();
+            chatwin = (ProfChatWin*)wins_get_console();
             status_bar_active(1, WIN_CONSOLE, "console");
         }
     }
 
-    win_println(window, THEME_DEFAULT, "-", "*%s %s", barejid, message);
+    win_println((ProfWin*)chatwin, THEME_DEFAULT, "-", "*%s %s", barejid, message);
 }
 
 void
diff --git a/src/xmpp/message.c b/src/xmpp/message.c
index 015d4157..28997474 100644
--- a/src/xmpp/message.c
+++ b/src/xmpp/message.c
@@ -598,10 +598,6 @@ message_send_chat_otr(const char* const barejid, const char* const msg, gboolean
         stanza_attach_state(ctx, message, state);
     }
 
-    stanza_attach_carbons_private(ctx, message);
-    stanza_attach_hints_no_copy(ctx, message);
-    stanza_attach_hints_no_store(ctx, message);
-
     if (request_receipt) {
         stanza_attach_receipt_request(ctx, message);
     }