mutt/2094: ESMTP patch: newline conversion and faulty error checking
>Number: 2094
>Notify-List:
>Category: mutt
>Synopsis: ESMTP patch: newline conversion and faulty error checking
>Confidential: no
>Severity: normal
>Priority: medium
>Responsible: mutt-dev
>State: open
>Keywords:
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Sep 27 11:33:40 +0200 2005
>Originator: Ralf Wildenhues
>Release: CVS HEAD + patch-1.5.11.bc.smtp.10
>Organization:
>Environment:
x86_64-unknown-linux-gnu
>Description:
The ESMTP patch proposed for mutt writes out the mail
header+body with plain \n instead of \r\n. qmail does
not accept it. Snippet from strace output:
write(4, "DATA\r\n", 6) = 6
read(4, "354 go ahead\r\n", 1024) = 14
fstat(5, {st_dev=makedev(8, 5), st_ino=16476, st_mode=S_IFREG|0600, st_nlink=1,
st_uid=1032, st_gid=1030, st_blksize=4096, st_blocks=16, st_size=387,
st_atime=2005/09/27-10:50:54, st_mtime=2005/09/mmap(NULL, 4096,
PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaaad4e5000
read(5, "Date: Tue, 27 Sep 2005 10:50:54 +0200\nFrom: Ralf Wildenhues
<wildenhues@xxxxxxxxxxxxxxx>\nTo: Ralf Wildenhues
<wildenhues@xxxxxxxxxxxxxxx>\nSubject: test8\nMessage-ID: <20050927085054.GA8
write(4, "Date: Tue, 27 Sep 2005 10:50:54 +0200\n", 38) = 38
lseek(5, 0, SEEK_CUR) = 387
write(4, "From: Ralf Wildenhues <wildenhues@xxxxxxxxxxxxxxx>\n", 51) = 51
write(4, "To: Ralf Wildenhues <wildenhues@xxxxxxxxxxxxxxx>\n", 49) = 49
write(4, "Subject: test8\n", 15) = 15
write(4, "Message-ID: <20050927085054.GA832@xxxxxxxxxxxxxxx>\n", 51) = 51
write(4, "MIME-Version: 1.0\n", 18) = 18
write(4, "Content-Type: text/plain; charset=us-ascii\n", 43) = 43
*snip*
write(4, ".\r\n", 3) = 3
read(4, "451 See http://pobox.com/~djb/docs/smtplf.html.\r\n", 1024) = 49
After the send failure, I can edit/postpone the message,
but it is also wrongly stored in Fcc.
Is it ok, by the way, to use GNATS for not (yet?) accepted
patches?
>How-To-Repeat:
If desirable or necessary, I can produce a config file +
command sequence to reproduce this.
>Fix:
Unknown
>Add-To-Audit-Trail:
>Unformatted: