[exim-dev] [Bug 1974] New: Handle missing final CRLF in chu…

Top Page
Delete this message
Reply to this message
Author: admin
Date:  
To: exim-dev
New-Topics: [exim-dev] [Bug 1974] Handle missing final CRLF in chunked/BDAT transferred messages, resulting in a missing final LF in spool files, [exim-dev] [Bug 1974] Handle missing final CRLF in chunked/BDAT transferred messages, resulting in a missing final LF in spool files, [exim-dev] [Bug 1974] Handle missing final CRLF in chunked/BDAT transferred messages, resulting in a missing final LF in spool files, [exim-dev] [Bug 1974] Handle missing final CRLF in chunked/BDAT transferred messages, resulting in a missing final LF in spool files, [exim-dev] [Bug 1974] Handle missing final CRLF in chunked/BDAT transferred messages, resulting in a missing final LF in spool files, [exim-dev] [Bug 1974] Handle missing final CRLF in chunked/BDAT transferred messages, resulting in a missing final LF in spool files, [exim-dev] [Bug 1974] Handle missing final CRLF in chunked/BDAT transferred messages, resulting in a missing final LF in spool files, [exim-dev] [Bug 1974] Handle missing final CRLF in chunked/BDAT transferred messages, resulting in a missing final LF in spool files, [exim-dev] [Bug 1974] Handle missing final CRLF in chunked/BDAT transferred messages, resulting in a missing final LF in spool files, [exim-dev] [Bug 1974] Handle missing final CRLF in chunked/BDAT transferred messages, resulting in a missing final LF in spool files, [exim-dev] [Bug 1974] Handle missing final CRLF in chunked/BDAT transferred messages, resulting in a missing final LF in spool files, [exim-dev] [Bug 1974] Handle missing final CRLF in chunked/BDAT transferred messages, resulting in a missing final LF in spool files
Subject: [exim-dev] [Bug 1974] New: Handle missing final CRLF in chunked/BDAT transferred messages, resulting in a missing final LF in spool files
https://bugs.exim.org/show_bug.cgi?id=1974

            Bug ID: 1974
           Summary: Handle missing final CRLF in chunked/BDAT transferred
                    messages, resulting in a missing final LF in spool
                    files
           Product: Exim
           Version: 4.87
          Hardware: x86
                OS: Linux
            Status: NEW
          Severity: bug
          Priority: medium
         Component: Transports
          Assignee: nigel@???
          Reporter: hs@???
                CC: exim-dev@???


Created attachment 938
--> https://bugs.exim.org/attachment.cgi?id=938&action=edit
perl script to reproduce the missing newline bug for chunked data

Mail that arrives via the BDAT SMTP extension may miss the final newline.
Currently Exim spools the incoming data and doesn't append the final newline.

This causes transport problems to hosts that do not support CHUNKED
transportation, as the final DOT is sent as part of the very last line of the
spooled data.

Solutions:

    a) silently fix the missing CRLF during message reception, as it
    *should* be there.


     From RFC1830:
     particular, text messages sent with the BDAT command must be sent
     in the canonical MIME format with lines delimited with a <CR><LF>.
     It may not be possible to convert the entire message to the canonical


    b) add an ACL verification, about this way


    verify = bodyformat/final-crlf


    c) just don't accept messages with a broken body format


    d) fix it during forwarding of the message



Simple reproducer:
$ nc 0 587
EHLO ME
250-ssl.schlittermann.de Hello localhost [127.0.0.1]
250-SIZE 52428800
250-8BITMIME
250-PIPELINING
250-AUTH PLAIN LOGIN
250-CHUNKING
250-STARTTLS
250 HELP
MAIL FROM:<>
250 OK
RCPT TO:<hs@???>
250 Accepted
BDAT 12
From: <ax>

250 12 byte chunk received
BDAT 3 LAST
abcQUIT
250- 3 byte chunk, total 17
250 OK id=1cDvwm-0000zH-L9
221 ssl.schlittermann.de closing connection

Another reproducer is the attached perl script.

--
You are receiving this mail because:
You are on the CC list for the bug.