Telus decodes in such a way to introduce unknown headers in the MMS decode.
This patch enables mmsd to handle these headers.
---
 src/mmsutil.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/mmsutil.c b/src/mmsutil.c
index 5fcf358..ef72f20 100644
--- a/src/mmsutil.c
+++ b/src/mmsutil.c
@@ -732,10 +732,9 @@ static header_handler handler_for_type(enum mms_header 
header)
                return extract_text;
        case MMS_HEADER_INVALID:
        case __MMS_HEADER_MAX:
+       default:
                return NULL;
        }
-
-       return NULL;
 }
 
 struct header_handler_entry {
@@ -781,8 +780,17 @@ static gboolean mms_parse_headers(struct wsp_header_iter 
*iter,
 
                handler = handler_for_type(h);
                if (handler == NULL) {
-                       DBG("no handler for type %u", h);
-                       return FALSE;
+                   if(h == MMS_HEADER_INVALID) {
+                     DBG("no handler for type %u", h);
+                         return FALSE;
+                   } else if (h == __MMS_HEADER_MAX) {
+                     DBG("no handler for type %u", h);
+                         return FALSE;
+                   } else {
+                     /*  Telus has strange headers, so this handles it */
+                     DBG("type isn't a part of the standard? Skipping %u", h);
+                     continue;
+                  }
                }
 
                DBG("saw header of type %u", h);
-- 
2.30.0
_______________________________________________
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org

Reply via email to