---
 src/mmsutil.c |   22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/src/mmsutil.c b/src/mmsutil.c
index a9a12eb..7042276 100644
--- a/src/mmsutil.c
+++ b/src/mmsutil.c
@@ -964,6 +964,24 @@ static gboolean decode_send_req(struct wsp_header_iter 
*iter,
        return TRUE;
 }
 
+static gboolean decode_delivery_ind(struct wsp_header_iter *iter,
+                                               struct mms_message *out)
+{
+       return mms_parse_headers(iter, MMS_HEADER_MMS_VERSION,
+                               HEADER_FLAG_MANDATORY | HEADER_FLAG_PRESET_POS,
+                               &out->version,
+                               MMS_HEADER_MESSAGE_ID,
+                               HEADER_FLAG_MANDATORY, &out->di.msgid,
+                               MMS_HEADER_TO,
+                               HEADER_FLAG_MANDATORY, &out->di.to,
+                               MMS_HEADER_DATE,
+                               HEADER_FLAG_MANDATORY, &out->di.date,
+                               MMS_HEADER_STATUS,
+                               HEADER_FLAG_MANDATORY, &out->di.dr_status,
+                               MMS_HEADER_INVALID);
+}
+
+
 #define CHECK_WELL_KNOWN_HDR(hdr)                      \
        if (wsp_header_iter_next(&iter) == FALSE)       \
                return FALSE;                           \
@@ -1016,7 +1034,7 @@ gboolean mms_message_decode(const unsigned char *pdu,
        case MMS_MESSAGE_TYPE_ACKNOWLEDGE_IND:
                return FALSE;
        case MMS_MESSAGE_TYPE_DELIVERY_IND:
-               return FALSE;
+               return decode_delivery_ind(&iter, out);
        }
 
        return FALSE;
@@ -1051,6 +1069,8 @@ void mms_message_free(struct mms_message *msg)
        case MMS_MESSAGE_TYPE_ACKNOWLEDGE_IND:
                break;
        case MMS_MESSAGE_TYPE_DELIVERY_IND:
+               g_free(msg->di.msgid);
+               g_free(msg->di.to);
                break;
        }
 
-- 
1.7.9.5

_______________________________________________
ofono mailing list
[email protected]
http://lists.ofono.org/listinfo/ofono

Reply via email to