Thanks Dale for having compiled this list. My view is that these examples provide incorrect guidance to the reader as I'm in favour of the most conservative interpretation you have mentioned in one of your previous emails, i.e., that Content-Length is only allowed in "top level" bodies.
Strictly speaking I think Content-Length is a protocol header only (HTTP and SIP) rather than a MIME header. It is not listed as a MIME header in http://www.iana.org/assignments/message-headers/perm-headers.html), contrary to e.g. Content-Disposition that is registered both as an HTTP header and a MIME header. Also, Content Length does not appear in RFC4021. Also RFC3261 always refer to content-length as giving the length of the whole message body (e.g. clause 4, 7.5., 20.4). So, I think, this header should just be ignored if received between body parts. Bruno > -----Message d'origine----- > De : Worley, Dale R (Dale) [mailto:[email protected]] > Envoyé : jeudi 29 mars 2012 23:03 > À : CHATRAS Bruno RD-CORE-ISS; [email protected]; > [email protected] > Objet : Content-Length in multipart bodies -- What should we do? > > Bruno Chatras has pointed out that a number of examples in various SIP- > related > RFCs show Content-Length header fields in the headers of body-parts of > multipart > entities. As Dale Moberg has pointed out, that might not be truly > incorrect. > But given that MIME multipart already frames the body-parts, Content- > Length > headers on body-parts are never necessary. > > So it seems to me that we should decide on a "best practices" for the > use of > Content-Length in the headers of a body part, to clarify the > ambiguities in the > specifications, and to state whether it's preferable to include such a > Content-Length > or not. > > I've appended a list of all the examples carrying such Content-Length > headers > that I could find by automated means. > > Dale > ----------------------------------------------------------------------- > --------------------------------- > RFC 2848 > > The PINT Service Protocol: > Extensions to SIP and SDP for IP Access to Telephone Call Services > > Suspicious line at rfc2848.txt:2195: Content-Length: 236 > Suspicious line at rfc2848.txt:2209: Content-Length:50 > Suspicious line at rfc2848.txt:2268: Content-Length: 316 > Suspicious line at rfc2848.txt:2284: Content-Length: 172 > Suspicious line at rfc2848.txt:2372: Content-Length: 325 > Suspicious line at rfc2848.txt:2387: Content-Length: 352 > > Several of these body-part headers are not separated from the > body-part contents by CR-LF-CR-LF. > > RFC 3261 > > SIP: Session Initiation Protocol > > Suspicious line at rfc3261.txt:11846: Content-Length: 231 > > RFC 3892 > > The Session Initiation Protocol (SIP) Referred-By Mechanism > > Suspicious line at rfc3892.txt:642: Content-Length: (appropriate > value) > Suspicious line at rfc3892.txt:687: Content-Length: (appropriate > value) > Suspicious line at rfc3892.txt:702: Content-Length: (appropriate > value) > Suspicious line at rfc3892.txt:879: Content-Length: (appropriate > value) > Suspicious line at rfc3892.txt:887: Content-Length: (appropriate > value) > Suspicious line at rfc3892.txt:938: Content-Length: (appropriate > value) > Suspicious line at rfc3892.txt:964: Content-Length: (appropriate > value) > Suspicious line at rfc3892.txt:972: Content-Length: (appropriate > value) > Suspicious line at rfc3892.txt:1056: Content-Length: (appropriate > value) > Suspicious line at rfc3892.txt:1106: Content-Length: (appropriate > value) > Suspicious line at rfc3892.txt:1168: Content-Length: (appropriate > value) > Suspicious line at rfc3892.txt:1196: Content-Length: (appropriate > value) > > RFC 3893 > > Session Initiation Protocol (SIP) > Authenticated Identity Body (AIB) Format > > Suspicious line at rfc3893.txt:249: Content-Length: 147 > (This has an extra CR-LF before the body-part headers.) > Suspicious line at rfc3893.txt:263: Content-Length: 608 > > RFC 4463 > > A Media Resource Control Protocol (MRCP) > Developed by Cisco, Nuance, and Speechworks > > Suspicious line at rfc4463.txt:1705: Content-Length:176 > Suspicious line at rfc4463.txt:1714: Content-Length:104 > Suspicious line at rfc4463.txt:2977: Content-Length:176 > (Also missing the CR-LF after the body part headers.) > Suspicious line at rfc4463.txt:2985: Content-Length:104 > > RFC 5547 > > A Session Description Protocol (SDP) Offer/Answer Mechanism > to Enable File Transfer > > Suspicious line at rfc5547.txt:1645: Content-Length: [length of SDP] > Suspicious line at rfc5547.txt:1670: Content-Length: [length of > image] > Suspicious line at rfc5547.txt:2093: Content-Length: [length of SDP] > Suspicious line at rfc5547.txt:2118: Content-Length: [length of > image] > > RFC 5589 > > Session Initiation Protocol (SIP) Call Control - Transfer > > Suspicious line at rfc5589.txt:2609: Content-Length: 2961 > (An extra CR-LF in the middle of the body part headers.) > Suspicious line at rfc5589.txt:2677: Content-Length: 156 > (An extra CR-LF in the middle of the body part headers.) > Suspicious line at rfc5589.txt:2696: Content-Length: 2961 > > RFC 6086 > > Session Initiation Protocol (SIP) INFO Method and Package Framework > > Suspicious line at rfc6086.txt:1594: Content-length: 59 > Suspicious line at rfc6086.txt:1620: Content-length: 59 > Suspicious line at rfc6086.txt:1637: Content-length: 59 > Suspicious line at rfc6086.txt:1664: Content-length: 59 _______________________________________________ Sip-implementors mailing list [email protected] https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
