Merge branch 'master' into pgp

Conflicts:
	src/xmpp/message.c
This commit is contained in:
James Booth
2015-04-28 23:57:28 +01:00
15 changed files with 341 additions and 291 deletions

View File

@@ -329,7 +329,7 @@ _message_error_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza,
g_string_free(log_msg, TRUE);
srv_message_error(jid, type, err_msg);
sv_ev_message_error(jid, type, err_msg);
free(err_msg);
@@ -376,7 +376,7 @@ _muc_user_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza,
password = xmpp_stanza_get_text(password_st);
}
srv_room_invite(INVITE_MEDIATED, invitor, room, reason, password);
sv_ev_room_invite(INVITE_MEDIATED, invitor, room, reason, password);
jid_destroy(jidp);
if (reason) {
xmpp_free(ctx, reason);
@@ -420,7 +420,7 @@ _conference_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza,
reason = xmpp_stanza_get_attribute(xns_conference, STANZA_ATTR_REASON);
password = xmpp_stanza_get_attribute(xns_conference, STANZA_ATTR_PASSWORD);
srv_room_invite(INVITE_DIRECT, invitor, room, reason, password);
sv_ev_room_invite(INVITE_DIRECT, invitor, room, reason, password);
jid_destroy(jidp);
@@ -444,7 +444,7 @@ _captcha_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza,
if (body != NULL) {
char *message = xmpp_stanza_get_text(body);
if (message != NULL) {
srv_room_broadcast(from, message);
sv_ev_room_broadcast(from, message);
xmpp_free(ctx, message);
}
}
@@ -465,7 +465,7 @@ _groupchat_handler(xmpp_conn_t * const conn,
xmpp_stanza_t *subject = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_SUBJECT);
if (subject != NULL) {
message = xmpp_stanza_get_text(subject);
srv_room_subject(jid->barejid, jid->resourcepart, message);
sv_ev_room_subject(jid->barejid, jid->resourcepart, message);
xmpp_free(ctx, message);
jid_destroy(jid);
@@ -478,7 +478,7 @@ _groupchat_handler(xmpp_conn_t * const conn,
if (body != NULL) {
message = xmpp_stanza_get_text(body);
if (message != NULL) {
srv_room_broadcast(room_jid, message);
sv_ev_room_broadcast(room_jid, message);
xmpp_free(ctx, message);
}
}
@@ -510,9 +510,9 @@ _groupchat_handler(xmpp_conn_t * const conn,
message = xmpp_stanza_get_text(body);
if (message != NULL) {
if (delayed) {
srv_room_history(jid->barejid, jid->resourcepart, tv_stamp, message);
sv_ev_room_history(jid->barejid, jid->resourcepart, tv_stamp, message);
} else {
srv_room_message(jid->barejid, jid->resourcepart, message);
sv_ev_room_message(jid->barejid, jid->resourcepart, message);
}
xmpp_free(ctx, message);
}
@@ -566,7 +566,7 @@ _chat_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza,
char *fulljid = xmpp_stanza_get_attribute(stanza, STANZA_ATTR_FROM);
if (fulljid) {
Jid *jidp = jid_create(fulljid);
srv_message_receipt(jidp->barejid, id);
sv_ev_message_receipt(jidp->barejid, id);
jid_destroy(jidp);
return 1;
}
@@ -603,11 +603,11 @@ _chat_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza,
if (message != NULL) {
// if we are the recipient, treat as standard incoming message
if(g_strcmp0(my_jid->barejid, jid_to->barejid) == 0){
srv_incoming_message(jid_from->barejid, jid_from->resourcepart, message);
sv_ev_incoming_message(jid_from->barejid, jid_from->resourcepart, message);
}
// else treat as a sent message
else{
srv_carbon(jid_to->barejid, message);
sv_ev_carbon(jid_to->barejid, message);
}
xmpp_free(ctx, message);
}
@@ -645,9 +645,9 @@ _chat_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza,
char *message = xmpp_stanza_get_text(body);
if (message != NULL) {
if (delayed) {
srv_delayed_private_message(jid->str, message, tv_stamp);
sv_ev_delayed_private_message(jid->str, message, tv_stamp);
} else {
srv_incoming_private_message(jid->str, message);
sv_ev_incoming_private_message(jid->str, message);
}
xmpp_free(ctx, message);
}
@@ -669,7 +669,7 @@ _chat_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza,
char *message = xmpp_stanza_get_text(body);
if (message != NULL) {
if (delayed) {
srv_delayed_message(jid->barejid, message, tv_stamp);
sv_ev_delayed_message(jid->barejid, message, tv_stamp);
} else {
#ifdef HAVE_LIBGPGME
gboolean handled = FALSE;
@@ -678,15 +678,15 @@ _chat_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza,
char *enc_message = xmpp_stanza_get_text(x);
char *decrypted = p_gpg_decrypt(jid->barejid, enc_message);
if (decrypted) {
srv_incoming_message(jid->barejid, jid->resourcepart, decrypted);
sv_ev_incoming_message(jid->barejid, jid->resourcepart, decrypted);
handled = TRUE;
}
}
if (!handled) {
srv_incoming_message(jid->barejid, jid->resourcepart, message);
sv_ev_incoming_message(jid->barejid, jid->resourcepart, message);
}
#else
srv_incoming_message(jid->barejid, jid->resourcepart, message);
sv_ev_incoming_message(jid->barejid, jid->resourcepart, message);
#endif
}
if (id && prefs_get_boolean(PREF_RECEIPTS_SEND)) {
@@ -709,17 +709,17 @@ _chat_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza,
gboolean paused = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_PAUSED) != NULL;
gboolean inactive = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_INACTIVE) != NULL;
if (gone) {
srv_gone(jid->barejid, jid->resourcepart);
sv_ev_gone(jid->barejid, jid->resourcepart);
} else if (typing) {
srv_typing(jid->barejid, jid->resourcepart);
sv_ev_typing(jid->barejid, jid->resourcepart);
} else if (paused) {
srv_paused(jid->barejid, jid->resourcepart);
sv_ev_paused(jid->barejid, jid->resourcepart);
} else if (inactive) {
srv_inactive(jid->barejid, jid->resourcepart);
sv_ev_inactive(jid->barejid, jid->resourcepart);
} else if (stanza_contains_chat_state(stanza)) {
srv_activity(jid->barejid, jid->resourcepart, TRUE);
sv_ev_activity(jid->barejid, jid->resourcepart, TRUE);
} else {
srv_activity(jid->barejid, jid->resourcepart, FALSE);
sv_ev_activity(jid->barejid, jid->resourcepart, FALSE);
}
}