Hello Jijo,
It seems like the decode_mime_type is a somehow broken. The comma is very well allowed in boundary, as you said. The BNF specified in RFC2046 permits it. But, the decode_mime_type function ignores everything coming after comma. More than that, it notifies the function caller that this content type has multiple mime types. I think the author of the function thought of something like:
Content-Type: text/html, image/jpeg // very weird, though
This is wrong, hence the comma can be in a parameter (like in your case). I think the best fix, as you said is to remove that check, hence a non-NULL return value doesn't mean anything (that the content type has multiple mime types). Another fix is to write a "good" decode_mime_type, that checks if the comma is inside a parameter. I don't know if effort is worth it.
One thing we need to do is to check if there are any functions in Kamailio that call decode_mime_type and also perform this check (ret != end).
Cheers, Marius
________________________________ From: Jijo realjijo@gmail.com To: sr-users@lists.sip-router.org; sr-dev@lists.sip-router.org Sent: Wednesday, August 17, 2011 10:54 AM Subject: [SR-Users] decode_mime_type error
Hi All,
The function parse_content_type_hdr() is failing in decode_mime_type() when Content-Type parameter "boundary" has value comma as below. The error message is "ERROR:parse_content_type_hdr: CONTENT_TYPE hdr contains " "more then one mime type :-(!
Content Type Header is as below, It works fine if the boundary value is without comma.
Content-Type: multipart/mixed;boundary=",AW"
The parse_content_type_hdr() is failing in the following code,
ret = decode_mime_type(msg->content_type->body.s, end , &mime); if (ret==0) goto error; if (ret!=end) {
LOG(L_INFO,"ERROR:parse_content_type_hdr: CONTENT_TYPE hdr contains " "more then one mime type :-(!\n"); goto error ; }
I thought of fixing this issue by commenting the code for condition ret !=end. I'm not sure why we we need that check, as mime variable has the information to process the content.
Please let me know if you see any impact.
Thanks Jijo
_______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users