mirror of
https://github.com/profanity-im/profanity.git
synced 2024-11-03 19:37:16 -05:00
message.c: Small code improvements
This commit is contained in:
parent
c66d3c6389
commit
0412ec9662
@ -1259,9 +1259,8 @@ _handle_carbons(xmpp_stanza_t *const stanza)
|
|||||||
|
|
||||||
// OX
|
// OX
|
||||||
xmpp_stanza_t *ox = xmpp_stanza_get_child_by_ns(message_stanza, STANZA_NS_OPENPGP_0);
|
xmpp_stanza_t *ox = xmpp_stanza_get_child_by_ns(message_stanza, STANZA_NS_OPENPGP_0);
|
||||||
if( ox ) {
|
if (ox) {
|
||||||
message->enc=PROF_MSG_ENC_OX;
|
_handle_ox_chat(message_stanza, message, FALSE);
|
||||||
_handle_ox_chat(message_stanza, message, FALSE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO: maybe also add is_carbon maybe even an enum with outgoing/incoming
|
//TODO: maybe also add is_carbon maybe even an enum with outgoing/incoming
|
||||||
@ -1320,22 +1319,27 @@ _handle_chat(xmpp_stanza_t *const stanza, gboolean is_mam)
|
|||||||
|
|
||||||
// standard chat message, use jid without resource
|
// standard chat message, use jid without resource
|
||||||
ProfMessage *message = message_init();
|
ProfMessage *message = message_init();
|
||||||
message->type = PROF_MSG_TYPE_CHAT;
|
|
||||||
message->from_jid = jid;
|
message->from_jid = jid;
|
||||||
|
message->is_mam = is_mam;
|
||||||
|
|
||||||
|
if (mucuser) {
|
||||||
|
message->type = PROF_MSG_TYPE_MUCPM;
|
||||||
|
} else {
|
||||||
|
message->type = PROF_MSG_TYPE_CHAT;
|
||||||
|
}
|
||||||
|
|
||||||
const gchar *to_text = xmpp_stanza_get_to(stanza);
|
const gchar *to_text = xmpp_stanza_get_to(stanza);
|
||||||
if (to_text) {
|
if (to_text) {
|
||||||
message->to_jid = jid_create(to_text);
|
message->to_jid = jid_create(to_text);
|
||||||
}
|
}
|
||||||
|
|
||||||
message->is_mam = is_mam;
|
|
||||||
|
|
||||||
// message stanza id
|
// message stanza id
|
||||||
const char *id = xmpp_stanza_get_id(stanza);
|
const char *id = xmpp_stanza_get_id(stanza);
|
||||||
if (id) {
|
if (id) {
|
||||||
message->id = strdup(id);
|
message->id = strdup(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// replace id for XEP-0308: Last Message Correction
|
||||||
xmpp_stanza_t *replace_id_stanza = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_LAST_MESSAGE_CORRECTION);
|
xmpp_stanza_t *replace_id_stanza = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_LAST_MESSAGE_CORRECTION);
|
||||||
if (replace_id_stanza) {
|
if (replace_id_stanza) {
|
||||||
const char *replace_id = xmpp_stanza_get_id(replace_id_stanza);
|
const char *replace_id = xmpp_stanza_get_id(replace_id_stanza);
|
||||||
@ -1344,10 +1348,7 @@ _handle_chat(xmpp_stanza_t *const stanza, gboolean is_mam)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mucuser) {
|
// timestamp or now
|
||||||
message->type = PROF_MSG_TYPE_MUCPM;
|
|
||||||
}
|
|
||||||
|
|
||||||
message->timestamp = stanza_get_delay(stanza);
|
message->timestamp = stanza_get_delay(stanza);
|
||||||
if (!message->timestamp) {
|
if (!message->timestamp) {
|
||||||
message->timestamp = g_date_time_new_now_local();
|
message->timestamp = g_date_time_new_now_local();
|
||||||
@ -1357,8 +1358,8 @@ _handle_chat(xmpp_stanza_t *const stanza, gboolean is_mam)
|
|||||||
message->body = xmpp_stanza_get_text(body);
|
message->body = xmpp_stanza_get_text(body);
|
||||||
}
|
}
|
||||||
|
|
||||||
// check omemo encryption
|
|
||||||
#ifdef HAVE_OMEMO
|
#ifdef HAVE_OMEMO
|
||||||
|
// check omemo encryption
|
||||||
message->plain = omemo_receive_message(stanza, &message->trusted);
|
message->plain = omemo_receive_message(stanza, &message->trusted);
|
||||||
if (message->plain != NULL) {
|
if (message->plain != NULL) {
|
||||||
message->enc = PROF_MSG_ENC_OMEMO;
|
message->enc = PROF_MSG_ENC_OMEMO;
|
||||||
@ -1371,9 +1372,8 @@ _handle_chat(xmpp_stanza_t *const stanza, gboolean is_mam)
|
|||||||
}
|
}
|
||||||
|
|
||||||
xmpp_stanza_t *ox = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_OPENPGP_0);
|
xmpp_stanza_t *ox = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_OPENPGP_0);
|
||||||
if( ox ) {
|
if (ox) {
|
||||||
message->enc=PROF_MSG_ENC_OX;
|
_handle_ox_chat(stanza,message, FALSE);
|
||||||
_handle_ox_chat(stanza,message, FALSE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (message->plain || message->body || message->encrypted) {
|
if (message->plain || message->body || message->encrypted) {
|
||||||
@ -1394,12 +1394,12 @@ _handle_chat(xmpp_stanza_t *const stanza, gboolean is_mam)
|
|||||||
|
|
||||||
/*!
|
/*!
|
||||||
* @brief Handle incoming XMMP-OX chat message.
|
* @brief Handle incoming XMMP-OX chat message.
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
_handle_ox_chat(xmpp_stanza_t *const stanza, ProfMessage *message, gboolean is_mam)
|
_handle_ox_chat(xmpp_stanza_t *const stanza, ProfMessage *message, gboolean is_mam)
|
||||||
{
|
{
|
||||||
|
message->enc=PROF_MSG_ENC_OX;
|
||||||
|
|
||||||
#ifdef HAVE_LIBGPGME
|
#ifdef HAVE_LIBGPGME
|
||||||
xmpp_stanza_t *ox = stanza_get_child_by_name_and_ns(stanza, "openpgp", STANZA_NS_OPENPGP_0);
|
xmpp_stanza_t *ox = stanza_get_child_by_name_and_ns(stanza, "openpgp", STANZA_NS_OPENPGP_0);
|
||||||
message->plain = p_ox_gpg_decrypt(xmpp_stanza_get_text(ox));
|
message->plain = p_ox_gpg_decrypt(xmpp_stanza_get_text(ox));
|
||||||
|
Loading…
Reference in New Issue
Block a user