From 99c9f150f68ae7087e51f217ebd62010fcf07c16 Mon Sep 17 00:00:00 2001 From: John Hernandez <129467592+H3rnand3zzz@users.noreply.github.com> Date: Fri, 31 Mar 2023 02:48:20 +0200 Subject: [PATCH 1/2] Fix PGP Fix of PGP and potentially other encryption methods by calling correct function that would initiate them in case if someone writes. --- src/event/server_events.c | 7 +++---- src/otr/otr.c | 2 +- src/ui/core.c | 14 ++++++-------- 3 files changed, 10 insertions(+), 13 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 From 407905cfc5a60e90ccf149929eb9517e8287ae57 Mon Sep 17 00:00:00 2001 From: John Hernandez <129467592+H3rnand3zzz@users.noreply.github.com> Date: Fri, 31 Mar 2023 10:41:41 +0200 Subject: [PATCH 2/2] Fix OTR Fix OTR: carbon in stanza breaks OTR and prevents it from starting and working properly. --- src/xmpp/message.c | 4 ---- 1 file changed, 4 deletions(-) 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); }