]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Wed Mar 4 13:35:37 CST 2009 Fabio Margarido <fabiomargarido AT gmail DOT com>
authorMichael Jerris <mike@jerris.com>
Tue, 10 Mar 2009 19:50:46 +0000 (19:50 +0000)
committerMichael Jerris <mike@jerris.com>
Tue, 10 Mar 2009 19:50:46 +0000 (19:50 +0000)
  * msg: allow compact headers inside multipart payload

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@12550 d0543943-73ff-0310-b7d9-9358b9ac24b2

libs/sofia-sip/.update
libs/sofia-sip/libsofia-sip-ua/msg/Makefile.am
libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mime.h
libs/sofia-sip/libsofia-sip-ua/msg/test_msg.c

index 17a0784e0eeb7cd87a511afb986db458fefb68e4..20709f845f95ef91a4656aa293c8a3fd8d2fb593 100644 (file)
@@ -1 +1 @@
-Wed Mar  4 14:42:12 CST 2009
+Tue Mar 10 14:49:50 CDT 2009
index 707b8d564f485bafb60a76db77dad9d593852596..33f139bc231fcabf031bfe03fc087c009c2a1acc 100644 (file)
@@ -87,7 +87,7 @@ MSG_PARSER_AWK = $(srcdir)/msg_parser.awk
 
 AWK_MSG_AWK = LC_ALL=C $(AWK) -f $(MSG_PARSER_AWK)
 
-${GENERATED_HC}: ${MSG_PARSER_AWK}
+${GENERATED_HC}: ${MSG_PARSER_AWK} Makefile.am
 
 TEST_CLASS_H = ${srcdir}/test_class.h
 
index b000af757c2c9d6edba613dc56eff47d49e89535..4a9f234dec89ec3d9edc46ced8ee46537b72dd2b 100644 (file)
@@ -168,13 +168,13 @@ struct msg_multipart_s
   msg_error_t            *mp_error;
 
   /* === Headers start here */
-  msg_content_type_t     *mp_content_type;     /**< Content-Type */
+  msg_content_type_t     *mp_content_type;     /**< Content-Type (c) */
   msg_content_disposition_t *mp_content_disposition;
                                                 /**< Content-Disposition */
   msg_content_location_t *mp_content_location; /**< Content-Location */
   msg_content_id_t       *mp_content_id;        /**< Content-ID */
   msg_content_language_t *mp_content_language; /**< Content-Language */
-  msg_content_encoding_t *mp_content_encoding; /**< Content-Encoding */
+  msg_content_encoding_t *mp_content_encoding; /**< Content-Encoding (e) */
   msg_content_transfer_encoding_t *mp_content_transfer_encoding;
                                         /**< Content-Transfer-Encoding */
 #if 0
index 78ed94b2e1e4528ed54fc6989faf1e63c945b3f4..d5c1d5bcf09f09c7324fe03464ff40f1bc9d67da 100644 (file)
@@ -1193,8 +1193,15 @@ int test_mime(void)
     CRLF                       /* 13 */
 #define BODY3 "<html><body>part 3</body></html>" CRLF
     BODY3                      /* 14 */
-    CRLF                       /* 15 */
-    "--LaGqGt4BI6Ho--" CRLF;
+    CRLF "--LaGqGt4BI6Ho"      /* 15 */
+    "c: text/html" CRLF                /* 16 */
+    "l: 9" CRLF                        /* 17 */
+    "e: identity" CRLF         /* 18 */
+    CRLF                       /* 19 */
+#define BODY4 "<html/>" CRLF
+    BODY4                        /* 20 */
+    CRLF "--LaGqGt4BI6Ho--"      /* 21 */
+    CRLF;
 
   BEGIN();
 
@@ -1275,6 +1282,18 @@ int test_mime(void)
   TEST_SIZE(strlen(BODY3), pl->pl_len);
   TEST(memcmp(pl->pl_data, BODY3, pl->pl_len), 0);
 
+  TEST_1(mp = mp->mp_next);
+
+  TEST_1(mp->mp_data);
+  TEST_M(mp->mp_data, CRLF "--" "LaGqGt4BI6Ho" CRLF, mp->mp_len);
+
+  TEST_1(mp->mp_content_encoding);
+  TEST_1(mp->mp_content_type);
+
+  TEST_1(pl = mp->mp_payload); TEST_1(pl->pl_data);
+  TEST_SIZE(strlen(BODY4), pl->pl_len);
+  TEST(memcmp(pl->pl_data, BODY4, pl->pl_len), 0);
+
   mpX = mp;
 
   TEST_1(!(mp = mp->mp_next));
@@ -1293,7 +1312,7 @@ int test_mime(void)
     h->sh_succ = NULL;
   }
 
-  TEST(n, 15);
+  TEST(n, 21);
 
   head = NULL;
   TEST_1(h = msg_multipart_serialize(&head, mp0));
@@ -1304,7 +1323,7 @@ int test_mime(void)
     h_succ = h->sh_succ;
   }
 
-  TEST(n, 15);
+  TEST(n, 21);
 
   /* Add a new part to multipart */
   mpnew = su_zalloc(home, sizeof(*mpnew)); TEST_1(mpnew);
@@ -1324,7 +1343,7 @@ int test_mime(void)
     TEST_1(h != removed);
   }
 
-  TEST(n, 19);
+  TEST(n, 21 + 4);
 
 #define remove(h) \
   (((*((msg_header_t*)(h))->sh_prev = ((msg_header_t*)(h))->sh_succ) ? \
@@ -1336,7 +1355,7 @@ int test_mime(void)
   remove(mp0->mp_separator);
   remove(mp0->mp_next->mp_payload);
   remove(mp0->mp_next->mp_next->mp_content_type);
-  remove(mp0->mp_next->mp_next->mp_next->mp_close_delim);
+  remove(mp0->mp_next->mp_next->mp_next->mp_next->mp_close_delim);
 
   TEST_1(!msg_chain_errors((msg_header_t *)mp0));
 
@@ -1352,7 +1371,7 @@ int test_mime(void)
     TEST_1(h != removed);
   }
 
-  TEST(n, 19);
+  TEST(n, 21 + 4);
 
   /* Add an recursive multipart */
   mpnew = su_zalloc(home, sizeof(*mpnew)); TEST_1(mpnew);
@@ -1371,7 +1390,7 @@ int test_mime(void)
   for (h = (msg_header_t *)mp0, n = 0; h; h = h_succ, n++)
     h_succ = h->sh_succ;
 
-  TEST(n, 24);
+  TEST(n, 21 + 9);
 
   su_home_check(home);
   su_home_zap(home);