You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Freeman Fang (JIRA)" <ji...@apache.org> on 2017/10/16 03:16:03 UTC

[jira] [Created] (CXF-7530) AttachmentSerializer miss a CRLF before the multipart-body per spec rfc2046

Freeman Fang created CXF-7530:
---------------------------------

             Summary: AttachmentSerializer miss a CRLF before the multipart-body per spec rfc2046
                 Key: CXF-7530
                 URL: https://issues.apache.org/jira/browse/CXF-7530
             Project: CXF
          Issue Type: Bug
            Reporter: Freeman Fang


In rfc2046[1], the MIME message should be
{code}
Appendix A -- Collected Grammar

   This appendix contains the complete BNF grammar for all the syntax
   specified by this document.

   By itself, however, this grammar is incomplete.  It refers by name to
   several syntax rules that are defined by RFC 822.  Rather than
   reproduce those definitions here, and risk unintentional differences
   between the two, this document simply refers the reader to RFC 822
   for the remaining definitions. Wherever a term is undefined, it
   refers to the RFC 822 definition.

     boundary := 0*69<bchars> bcharsnospace

     bchars := bcharsnospace / " "

     bcharsnospace := DIGIT / ALPHA / "'" / "(" / ")" /
                      "+" / "_" / "," / "-" / "." /
                      "/" / ":" / "=" / "?"

     body-part := <"message" as defined in RFC 822, with all
                   header fields optional, not starting with the
                   specified dash-boundary, and with the
                   delimiter not occurring anywhere in the
                   body part.  Note that the semantics of a
                   part differ from the semantics of a message,
                   as described in the text.>

     close-delimiter := delimiter "--"

     dash-boundary := "--" boundary
                      ; boundary taken from the value of
                      ; boundary parameter of the
                      ; Content-Type field.

     delimiter := CRLF dash-boundary

     discard-text := *(*text CRLF)
                     ; May be ignored or discarded.

     encapsulation := delimiter transport-padding
                      CRLF body-part

     epilogue := discard-text

     multipart-body := [preamble CRLF]
                       dash-boundary transport-padding CRLF
                       body-part *encapsulation



Freed & Borenstein          Standards Track                    [Page 43]

RFC 2046                      Media Types                  November 1996


                       close-delimiter transport-padding
                       [CRLF epilogue]

     preamble := discard-text

     transport-padding := *LWSP-char
                          ; Composers MUST NOT generate
                          ; non-zero length transport
                          ; padding, but receivers MUST
                          ; be able to handle padding
                          ; added by message transports.
{code}

So the
{code}
     multipart-body := [preamble CRLF]
preamble := discard-text
{code}

[1]https://www.ietf.org/rfc/rfc2046.txt



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)