changeset 1869:fe385f2cfb93

Partial update for XEP-0184 v1.1 Added 'id' attribute to <received/> element
author Mikael Berthe <mikael@lilotux.net>
date Sun, 04 Apr 2010 10:31:38 +0200
parents fdb2f88b908b
children ac7c5bde6c35
files mcabber/mcabber/xmpp.c
diffstat 1 files changed, 8 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/mcabber/mcabber/xmpp.c	Sun Apr 04 00:15:53 2010 +0200
+++ b/mcabber/mcabber/xmpp.c	Sun Apr 04 10:31:38 2010 +0200
@@ -1272,11 +1272,15 @@
                lm_message_node_find_xmlns(m->node, NS_SIGNED));
   // Report received message if message receipt was requested
   if (lm_message_node_get_child(m->node, "request")) {
+    const gchar *mid;
+    LmMessageNode *y;
     LmMessage *rcvd = lm_message_new(from, LM_MESSAGE_TYPE_MESSAGE);
-    lm_message_node_set_attribute(rcvd->node, "id", lm_message_get_id(m));
-    lm_message_node_set_attribute
-            (lm_message_node_add_child(rcvd->node, "received", NULL),
-             "xmlns", NS_RECEIPTS);
+    mid = lm_message_get_id(m);
+    // For backward compatibility (XEP184 < v.1.1):
+    lm_message_node_set_attribute(rcvd->node, "id", mid);
+    y = lm_message_node_add_child(rcvd->node, "received", NULL);
+    lm_message_node_set_attribute(y, "xmlns", NS_RECEIPTS);
+    lm_message_node_set_attribute(y, "id", mid);
     lm_connection_send(connection, rcvd, NULL);
     lm_message_unref(rcvd);
   }