diff --git a/src/command/cmd_funcs.c b/src/command/cmd_funcs.c index 1c13d12f..d184e56e 100644 --- a/src/command/cmd_funcs.c +++ b/src/command/cmd_funcs.c @@ -2187,24 +2187,13 @@ cmd_msg(ProfWin *window, const char *const command, gchar **args) } ui_focus_win((ProfWin*)chatwin); -#ifdef HAVE_OMEMO -#ifndef HAVE_LIBOTR - if (omemo_automatic_start(barejid)) { - omemo_start_session(barejid); - chatwin->is_omemo = TRUE; - } - - if (msg) { - cl_ev_send_msg(chatwin, msg, NULL); - } - - return TRUE; -#endif -#endif - -#ifdef HAVE_OMEMO + gboolean is_otr_secure = FALSE; #ifdef HAVE_LIBOTR - if (omemo_automatic_start(barejid) && otr_is_secure(barejid)) { + is_otr_secure = otr_is_secure(barejid); +#endif // HAVE_LIBOTR + + + if (omemo_automatic_start(barejid) && is_otr_secure) { win_println(window, THEME_DEFAULT, "!", "Chat could be either OMEMO or OTR encrypted. Use '/omemo start %s' or '/otr start %s' to start a session.", usr, usr); return TRUE; } else if (omemo_automatic_start(barejid)) { @@ -2215,39 +2204,14 @@ cmd_msg(ProfWin *window, const char *const command, gchar **args) if (msg) { cl_ev_send_msg(chatwin, msg, NULL); } else { - if (otr_is_secure(barejid)) { - chatwin_otr_secured(chatwin, otr_is_trusted(barejid)); - } - } - - return TRUE; -#endif -#endif - -#ifndef HAVE_OMEMO #ifdef HAVE_LIBOTR - if (msg) { - cl_ev_send_msg(chatwin, msg, NULL); - } else { if (otr_is_secure(barejid)) { chatwin_otr_secured(chatwin, otr_is_trusted(barejid)); } +#endif // HAVE_LIBOTR } return TRUE; -#endif -#endif - -#ifndef HAVE_OMEMO -#ifndef HAVE_LIBOTR - if (msg) { - cl_ev_send_msg(chatwin, msg, NULL); - } - - return TRUE; -#endif -#endif - } } diff --git a/src/event/client_events.c b/src/event/client_events.c index 96098ae0..177a6559 100644 --- a/src/event/client_events.c +++ b/src/event/client_events.c @@ -131,181 +131,27 @@ cl_ev_send_msg_correct(ProfChatWin *chatwin, const char *const msg, const char * replace_id = chatwin->last_msg_id; } -// OTR suported, PGP supported, OMEMO unsupported -#ifdef HAVE_LIBOTR -#ifdef HAVE_LIBGPGME -#ifndef HAVE_OMEMO - if (chatwin->pgp_send) { - char *id = message_send_chat_pgp(chatwin->barejid, plugin_msg, request_receipt, replace_id); - chat_log_pgp_msg_out(chatwin->barejid, plugin_msg, NULL); - log_database_add_outgoing_chat(id, chatwin->barejid, plugin_msg, replace_id, PROF_MSG_ENC_PGP); - chatwin_outgoing_msg(chatwin, plugin_msg, id, PROF_MSG_ENC_PGP, request_receipt, replace_id); - free(id); - } else { - gboolean handled = otr_on_message_send(chatwin, plugin_msg, request_receipt, replace_id); - if (!handled) { - char *id = message_send_chat(chatwin->barejid, plugin_msg, oob_url, request_receipt, replace_id); - chat_log_msg_out(chatwin->barejid, plugin_msg, NULL); - log_database_add_outgoing_chat(id, chatwin->barejid, plugin_msg, replace_id, PROF_MSG_ENC_NONE); - chatwin_outgoing_msg(chatwin, plugin_msg, id, PROF_MSG_ENC_NONE, request_receipt, replace_id); - free(id); - } - } - - plugins_post_chat_message_send(chatwin->barejid, plugin_msg); - free(plugin_msg); - return; -#endif -#endif -#endif - -// OTR supported, PGP unsupported, OMEMO unsupported -#ifdef HAVE_LIBOTR -#ifndef HAVE_LIBGPGME -#ifndef HAVE_OMEMO - gboolean handled = otr_on_message_send(chatwin, plugin_msg, request_receipt, replace_id); - if (!handled) { - char *id = message_send_chat(chatwin->barejid, plugin_msg, oob_url, request_receipt, replace_id); - chat_log_msg_out(chatwin->barejid, plugin_msg, NULL); - log_database_add_outgoing_chat(id, chatwin->barejid, plugin_msg, replace_id, PROF_MSG_ENC_NONE); - chatwin_outgoing_msg(chatwin, plugin_msg, id, PROF_MSG_ENC_NONE, request_receipt); - free(id); - } - - plugins_post_chat_message_send(chatwin->barejid, plugin_msg); - free(plugin_msg); - return; -#endif -#endif -#endif - -// OTR unsupported, PGP supported, OMEMO unsupported -#ifndef HAVE_LIBOTR -#ifdef HAVE_LIBGPGME -#ifndef HAVE_OMEMO - if (chatwin->pgp_send) { - char *id = message_send_chat_pgp(chatwin->barejid, plugin_msg, request_receipt, replace_id); - chat_log_pgp_msg_out(chatwin->barejid, plugin_msg, NULL); - log_database_add_outgoing_chat(id, chatwin->barejid, plugin_msg, replace_id, PROF_MSG_ENC_PGP); - chatwin_outgoing_msg(chatwin, plugin_msg, id, PROF_MSG_ENC_PGP, request_receipt, replace_id); - free(id); - } else { - char *id = message_send_chat(chatwin->barejid, plugin_msg, oob_url, request_receipt, replace_id); - chat_log_msg_out(chatwin->barejid, plugin_msg, NULL); - log_database_add_outgoing_chat(id, chatwin->barejid, plugin_msg, replace_id, PROF_MSG_ENC_NONE); - chatwin_outgoing_msg(chatwin, plugin_msg, id, PROF_MSG_ENC_NONE, request_receipt, replace_id); - free(id); - } - - plugins_post_chat_message_send(chatwin->barejid, plugin_msg); - free(plugin_msg); - return; -#endif -#endif -#endif - -// OTR unsupported, PGP unsupported, OMEMO supported -#ifndef HAVE_LIBOTR -#ifndef HAVE_LIBGPGME -#ifdef HAVE_OMEMO if (chatwin->is_omemo) { +#ifdef HAVE_OMEMO char *id = omemo_on_message_send((ProfWin *)chatwin, plugin_msg, request_receipt, FALSE, replace_id); chat_log_omemo_msg_out(chatwin->barejid, plugin_msg, NULL); log_database_add_outgoing_chat(id, chatwin->barejid, plugin_msg, replace_id, PROF_MSG_ENC_OMEMO); chatwin_outgoing_msg(chatwin, plugin_msg, id, PROF_MSG_ENC_OMEMO, request_receipt, replace_id); free(id); - } else { - char *id = message_send_chat(chatwin->barejid, plugin_msg, oob_url, request_receipt, replace_id); - chat_log_msg_out(chatwin->barejid, plugin_msg, NULL); - log_database_add_outgoing_chat(id, chatwin->barejid, plugin_msg, replace_id, PROF_MSG_ENC_NONE); - chatwin_outgoing_msg(chatwin, plugin_msg, id, PROF_MSG_ENC_NONE, request_receipt, replace_id); - free(id); - } - - plugins_post_chat_message_send(chatwin->barejid, plugin_msg); - free(plugin_msg); - return; #endif -#endif -#endif - -// OTR supported, PGP unsupported, OMEMO supported -#ifdef HAVE_LIBOTR -#ifndef HAVE_LIBGPGME -#ifdef HAVE_OMEMO - if (chatwin->is_omemo) { - char *id = omemo_on_message_send((ProfWin *)chatwin, plugin_msg, request_receipt, FALSE, replace_id); - chat_log_omemo_msg_out(chatwin->barejid, plugin_msg, NULL); - log_database_add_outgoing_chat(id, chatwin->barejid, plugin_msg, replace_id, PROF_MSG_ENC_OMEMO); - chatwin_outgoing_msg(chatwin, plugin_msg, id, PROF_MSG_ENC_OMEMO, request_receipt, replace_id); - free(id); - } else { - gboolean handled = otr_on_message_send(chatwin, plugin_msg, request_receipt, replace_id); - if (!handled) { - char *id = message_send_chat(chatwin->barejid, plugin_msg, oob_url, request_receipt, replace_id); - chat_log_msg_out(chatwin->barejid, plugin_msg, NULL); - log_database_add_outgoing_chat(id, chatwin->barejid, plugin_msg, replace_id, PROF_MSG_ENC_NONE); - chatwin_outgoing_msg(chatwin, plugin_msg, id, PROF_MSG_ENC_NONE, request_receipt, replace_id); - free(id); - } - } - - plugins_post_chat_message_send(chatwin->barejid, plugin_msg); - free(plugin_msg); - return; -#endif -#endif -#endif - -// OTR unsupported, PGP supported, OMEMO supported -#ifndef HAVE_LIBOTR -#ifdef HAVE_LIBGPGME -#ifdef HAVE_OMEMO - if (chatwin->is_omemo) { - char *id = omemo_on_message_send((ProfWin *)chatwin, plugin_msg, request_receipt, FALSE, replace_id); - chat_log_omemo_msg_out(chatwin->barejid, plugin_msg, NULL); - log_database_add_outgoing_chat(id, chatwin->barejid, plugin_msg, replace_id, PROF_MSG_ENC_OMEMO); - chatwin_outgoing_msg(chatwin, plugin_msg, id, PROF_MSG_ENC_OMEMO, request_receipt, replace_id); - free(id); } else if (chatwin->pgp_send) { - char *id = message_send_chat_pgp(chatwin->barejid, plugin_msg, request_receipt, replace_id); - chat_log_pgp_msg_out(chatwin->barejid, plugin_msg, NULL); - log_database_add_outgoing_chat(id, chatwin->barejid, plugin_msg, replace_id, PROF_MSG_ENC_PGP); - chatwin_outgoing_msg(chatwin, plugin_msg, id, PROF_MSG_ENC_PGP, request_receipt, replace_id); - free(id); - } else { - char *id = message_send_chat(chatwin->barejid, plugin_msg, oob_url, request_receipt, replace_id); - chat_log_msg_out(chatwin->barejid, plugin_msg, NULL); - log_database_add_outgoing_chat(id, chatwin->barejid, plugin_msg, replace_id, PROF_MSG_ENC_NONE); - chatwin_outgoing_msg(chatwin, plugin_msg, id, PROF_MSG_ENC_NONE, request_receipt, replace_id); - free(id); - } - - plugins_post_chat_message_send(chatwin->barejid, plugin_msg); - free(plugin_msg); - return; -#endif -#endif -#endif - -// OTR supported, PGP supported, OMEMO supported -#ifdef HAVE_LIBOTR #ifdef HAVE_LIBGPGME -#ifdef HAVE_OMEMO - if (chatwin->is_omemo) { - char *id = omemo_on_message_send((ProfWin *)chatwin, plugin_msg, request_receipt, FALSE, replace_id); - chat_log_omemo_msg_out(chatwin->barejid, plugin_msg, NULL); - log_database_add_outgoing_chat(id, chatwin->barejid, plugin_msg, replace_id, PROF_MSG_ENC_OMEMO); - chatwin_outgoing_msg(chatwin, plugin_msg, id, PROF_MSG_ENC_OMEMO, request_receipt, replace_id); - free(id); - } else if (chatwin->pgp_send) { char *id = message_send_chat_pgp(chatwin->barejid, plugin_msg, request_receipt, replace_id); chat_log_pgp_msg_out(chatwin->barejid, plugin_msg, NULL); log_database_add_outgoing_chat(id, chatwin->barejid, plugin_msg, replace_id, PROF_MSG_ENC_PGP); chatwin_outgoing_msg(chatwin, plugin_msg, id, PROF_MSG_ENC_PGP, request_receipt, replace_id); free(id); +#endif } else { - gboolean handled = otr_on_message_send(chatwin, plugin_msg, request_receipt, replace_id); + gboolean handled = FALSE; +#ifdef HAVE_LIBOTR + handled = otr_on_message_send(chatwin, plugin_msg, request_receipt, replace_id); +#endif if (!handled) { char *id = message_send_chat(chatwin->barejid, plugin_msg, oob_url, request_receipt, replace_id); chat_log_msg_out(chatwin->barejid, plugin_msg, NULL); @@ -318,26 +164,6 @@ cl_ev_send_msg_correct(ProfChatWin *chatwin, const char *const msg, const char * plugins_post_chat_message_send(chatwin->barejid, plugin_msg); free(plugin_msg); return; -#endif -#endif -#endif - -// OTR unsupported, PGP unsupported, OMEMO unsupported -#ifndef HAVE_LIBOTR -#ifndef HAVE_LIBGPGME -#ifndef HAVE_OMEMO - char *id = message_send_chat(chatwin->barejid, plugin_msg, oob_url, request_receipt, replace_id); - chat_log_msg_out(chatwin->barejid, plugin_msg, NULL); - log_database_add_outgoing_chat(id, chatwin->barejid, plugin_msg, replace_id, PROF_MSG_ENC_NONE); - chatwin_outgoing_msg(chatwin, plugin_msg, id, PROF_MSG_ENC_NONE, request_receipt, replace_id); - free(id); - - plugins_post_chat_message_send(chatwin->barejid, plugin_msg); - free(plugin_msg); - return; -#endif -#endif -#endif } void diff --git a/src/event/server_events.c b/src/event/server_events.c index 44fef42c..1684a7d2 100644 --- a/src/event/server_events.c +++ b/src/event/server_events.c @@ -457,49 +457,10 @@ sv_ev_outgoing_carbon(ProfMessage *message) log_database_add_incoming(message); } -#ifdef HAVE_LIBGPGME -#ifndef HAVE_OMEMO - if (message->encrypted) { - message->plain = p_gpg_decrypt(message->encrypted); - if (message->plain) { - message->enc = PROF_MSG_ENC_PGP; - chatwin_outgoing_carbon(chatwin, message); - } else { - if (!message->body) { - log_error("Couldn't decrypt GPG message and body was empty"); - return; - } - message->enc = PROF_MSG_ENC_NONE; - message->plain = strdup(message->body); - chatwin_outgoing_carbon(chatwin, message); - } - } else { - message->enc = PROF_MSG_ENC_NONE; - message->plain = strdup(message->body); - chatwin_outgoing_carbon(chatwin, message); - } - return; -#endif -#endif - -#ifndef HAVE_LIBGPGME -#ifdef HAVE_OMEMO - if (message->enc == PROF_MSG_ENC_OMEMO) { - chatwin_outgoing_carbon(chatwin, message); - } else { - message->enc = PROF_MSG_ENC_NONE; - message->plain = strdup(message->body); - chatwin_outgoing_carbon(chatwin, message); - } - return; -#endif -#endif - -#ifdef HAVE_LIBGPGME -#ifdef HAVE_OMEMO if (message->enc == PROF_MSG_ENC_OMEMO) { chatwin_outgoing_carbon(chatwin, message); } else if (message->encrypted) { +#ifdef HAVE_LIBGPGME message->plain = p_gpg_decrypt(message->encrypted); if (message->plain) { message->enc = PROF_MSG_ENC_PGP; @@ -513,30 +474,20 @@ sv_ev_outgoing_carbon(ProfMessage *message) message->plain = strdup(message->body); chatwin_outgoing_carbon(chatwin, message); } +#endif } else { message->enc = PROF_MSG_ENC_NONE; message->plain = strdup(message->body); chatwin_outgoing_carbon(chatwin, message); } return; -#endif -#endif -#ifndef HAVE_LIBGPGME -#ifndef HAVE_OMEMO - if (message->body) { - message->enc = PROF_MSG_ENC_NONE; - message->plain = strdup(message->body); - chatwin_outgoing_carbon(chatwin, message); - } -#endif -#endif } -#ifdef HAVE_LIBGPGME static void _sv_ev_incoming_pgp(ProfChatWin *chatwin, gboolean new_win, ProfMessage *message, gboolean logit) { +#ifdef HAVE_LIBGPGME message->plain = p_gpg_decrypt(message->encrypted); if (message->plain) { message->enc = PROF_MSG_ENC_PGP; @@ -562,13 +513,13 @@ _sv_ev_incoming_pgp(ProfChatWin *chatwin, gboolean new_win, ProfMessage *message chat_log_msg_in(message); chatwin->pgp_recv = FALSE; } -} #endif +} -#ifdef HAVE_LIBOTR static void _sv_ev_incoming_otr(ProfChatWin *chatwin, gboolean new_win, ProfMessage *message) { +#ifdef HAVE_LIBOTR gboolean decrypted = FALSE; message->plain = otr_on_message_recv(message->from_jid->barejid, message->from_jid->resourcepart, message->body, &decrypted); if (message->plain) { @@ -588,13 +539,13 @@ _sv_ev_incoming_otr(ProfChatWin *chatwin, gboolean new_win, ProfMessage *message message->plain = NULL; chatwin->pgp_recv = FALSE; } -} #endif +} -#ifdef HAVE_OMEMO static void _sv_ev_incoming_omemo(ProfChatWin *chatwin, gboolean new_win, ProfMessage *message, gboolean logit) { +#ifdef HAVE_OMEMO _clean_incoming_message(message); chatwin_incoming_msg(chatwin, message, new_win); log_database_add_incoming(message); @@ -602,8 +553,8 @@ _sv_ev_incoming_omemo(ProfChatWin *chatwin, gboolean new_win, ProfMessage *messa chat_log_omemo_msg_in(message); } chatwin->pgp_recv = FALSE; -} #endif +} static void _sv_ev_incoming_plain(ProfChatWin *chatwin, gboolean new_win, ProfMessage *message, gboolean logit) @@ -653,55 +604,6 @@ sv_ev_incoming_message(ProfMessage *message) #endif } -// OTR suported, PGP supported, OMEMO unsupported -#ifdef HAVE_LIBOTR -#ifdef HAVE_LIBGPGME -#ifndef HAVE_OMEMO - if (message->encrypted) { - if (chatwin->is_otr) { - win_println((ProfWin*)chatwin, THEME_DEFAULT, "-", "PGP encrypted message received whilst in OTR session."); - } else { - _sv_ev_incoming_pgp(chatwin, new_win, message, TRUE); - } - } else { - _sv_ev_incoming_otr(chatwin, new_win, message); - } - rosterwin_roster(); - return; -#endif -#endif -#endif - -// OTR supported, PGP unsupported, OMEMO unsupported -#ifdef HAVE_LIBOTR -#ifndef HAVE_LIBGPGME -#ifndef HAVE_OMEMO - _sv_ev_incoming_otr(chatwin, new_win, message); - rosterwin_roster(); - return; -#endif -#endif -#endif - -// OTR unsupported, PGP supported, OMEMO unsupported -#ifndef HAVE_LIBOTR -#ifdef HAVE_LIBGPGME -#ifndef HAVE_OMEMO - if (message->encrypted) { - _sv_ev_incoming_pgp(chatwin, new_win, message, TRUE); - } else { - _sv_ev_incoming_plain(chatwin, new_win, message, TRUE); - } - rosterwin_roster(); - return; -#endif -#endif -#endif - -// OTR suported, PGP supported, OMEMO supported -#ifdef HAVE_LIBOTR -#ifdef HAVE_LIBGPGME -#ifdef HAVE_OMEMO if (message->encrypted) { if (chatwin->is_otr) { win_println((ProfWin*)chatwin, THEME_DEFAULT, "-", "PGP encrypted message received whilst in OTR session."); @@ -715,67 +617,7 @@ sv_ev_incoming_message(ProfMessage *message) } rosterwin_roster(); return; -#endif -#endif -#endif -// OTR supported, PGP unsupported, OMEMO supported -#ifdef HAVE_LIBOTR -#ifndef HAVE_LIBGPGME -#ifdef HAVE_OMEMO - if (message->enc == PROF_MSG_ENC_OMEMO) { - _sv_ev_incoming_omemo(chatwin, new_win, message, TRUE); - } else { - _sv_ev_incoming_otr(chatwin, new_win, message); - } - rosterwin_roster(); - return; -#endif -#endif -#endif - -// OTR unsupported, PGP supported, OMEMO supported -#ifndef HAVE_LIBOTR -#ifdef HAVE_LIBGPGME -#ifdef HAVE_OMEMO - if (message->encrypted) { - _sv_ev_incoming_pgp(chatwin, new_win, message, TRUE); - } else if (message->enc == PROF_MSG_ENC_OMEMO) { - _sv_ev_incoming_omemo(chatwin, new_win, message, TRUE); - } else { - _sv_ev_incoming_plain(chatwin, new_win, message, TRUE); - } - rosterwin_roster(); - return; -#endif -#endif -#endif - -// OTR unsupported, PGP unsupported, OMEMO supported -#ifndef HAVE_LIBOTR -#ifndef HAVE_LIBGPGME -#ifdef HAVE_OMEMO - if (message->enc == PROF_MSG_ENC_OMEMO) { - _sv_ev_incoming_omemo(chatwin, new_win, message, TRUE); - } else { - _sv_ev_incoming_plain(chatwin, new_win, message, TRUE); - } - rosterwin_roster(); - return; -#endif -#endif -#endif - -// OTR unsupported, PGP unsupported, OMEMO unsupported -#ifndef HAVE_LIBOTR -#ifndef HAVE_LIBGPGME -#ifndef HAVE_OMEMO - _sv_ev_incoming_plain(chatwin, new_win, message, TRUE); - rosterwin_roster(); - return; -#endif -#endif -#endif } void @@ -796,20 +638,6 @@ sv_ev_incoming_carbon(ProfMessage *message) #endif } -#ifdef HAVE_LIBGPGME -#ifndef HAVE_OMEMO - if (message->encrypted) { - _sv_ev_incoming_pgp(chatwin, new_win, message, FALSE); - } else { - _sv_ev_incoming_plain(chatwin, new_win, message, FALSE); - } - rosterwin_roster(); - return; -#endif -#endif - -#ifdef HAVE_LIBGPGME -#ifdef HAVE_OMEMO if (message->encrypted) { _sv_ev_incoming_pgp(chatwin, new_win, message, FALSE); } else if (message->enc == PROF_MSG_ENC_OMEMO) { @@ -819,28 +647,7 @@ sv_ev_incoming_carbon(ProfMessage *message) } rosterwin_roster(); return; -#endif -#endif -#ifndef HAVE_LIBGPGME -#ifdef HAVE_OMEMO - if (message->enc == PROF_MSG_ENC_OMEMO) { - _sv_ev_incoming_omemo(chatwin, new_win, message, FALSE); - } else { - _sv_ev_incoming_plain(chatwin, new_win, message, FALSE); - } - rosterwin_roster(); - return; -#endif -#endif - -#ifndef HAVE_LIBGPGME -#ifndef HAVE_OMEMO - _sv_ev_incoming_plain(chatwin, new_win, message, FALSE); - rosterwin_roster(); - return; -#endif -#endif } void