<<< Date Index >>>     <<< Thread Index >>>

[Mutt] #3046: Bug mangling mbox files on 1.4.2.3



#3046: Bug mangling mbox files on 1.4.2.3

 I just tickled a bug in mutt 1.4.2.3, but unfortunately I'm not entirely
 sure how. It involved copying a message to, then linking a thread (using
 the edit-threads patch) in an mbox file under a softlink which has a
 folder hook attached to it, then saving and leaving mutt.

 The end result is that a number of messages get mangled in the following
 two ways:

 * The 12th character (starting from 1) of the line starting with "From "
 got replaced with a newline, like (using a diff-like format):

 {{{
 -From email@xxxxxxxxxxx Mon Apr 14 23:20:10 2008
 +From email@
 +ddress.tld Mon Apr 14 23:20:10 2008
 }}}

 The place where it happens appears to be exactly at the 12th character and
 is not dependent on the actual content of the line.

 * The start of the body got mangled, like this:

 {{{
 -
 ---fXStkuK2IQBfcDe+
 +QBfcDe+
  Content-Type: text/plain; charset=us-ascii
  Content-Disposition: inline
 }}}

 Or

 {{{
 -This is a multi-part message in MIME format.
 +lti-part message in MIME format.
 }}}

 Most by far messages in that mbox contain attachments and I haven't
 spotted mangling of other messages (yet), but I cannot vouch for that not
 having happened, as this information was gathered after mbox
 reconstruction; the unmangled version was no longer available.

 The hook and the macro provided for completeness, I don't know if they
 have anything to do with it:
 {{{
 macro index @@m_markings "<tag-pattern>~F^M<tag-prefix><clear-flag>!<tag-
 prefix><clear-flag>*<collapse-all><tag-pattern>~d<2w!~v^M<tag-prefix
 ><flag-message><tag-prefix><clear-flag>*"

 folder-hook =mangledmbox push @@m_markings
 }}}

 And my version of mutt:

 {{{
 Mutt 1.4.2.3i (2007-05-26)
 Copyright (C) 1996-2002 Michael R. Elkins and others.
 Mutt comes with ABSOLUTELY NO WARRANTY; for details type `mutt -vv'.
 Mutt is free software, and you are welcome to redistribute it
 under certain conditions; type `mutt -vv' for details.

 System: FreeBSD 6.2-RELEASE-p5 (i386) [using ncurses 5.2]
 Compile options:
 -DOMAIN
 -DEBUG
 -HOMESPOOL  +USE_SETGID  +USE_DOTLOCK  +DL_STANDALONE
 -USE_FCNTL  +USE_FLOCK
 +USE_POP  +USE_IMAP  +IMAP_EDIT_THREADS  +USE_GSS  +USE_SSL  -USE_SASL
 +HAVE_REGCOMP  -USE_GNU_REGEX  +COMPRESSED
 +HAVE_COLOR  +HAVE_START_COLOR  +HAVE_TYPEAHEAD  +HAVE_BKGDSET
 +HAVE_CURS_SET  +HAVE_META  +HAVE_RESIZETERM
 +HAVE_PGP  -BUFFY_SIZE -EXACT_ADDRESS  -SUN_ATTACHMENT
 +ENABLE_NLS  -LOCALES_HACK  +HAVE_WC_FUNCS  +HAVE_LANGINFO_CODESET
 +HAVE_LANGINFO_YESEXPR
 +HAVE_ICONV  -ICONV_NONTRANS  +HAVE_GETSID  +HAVE_GETADDRINFO
 -ISPELL
 SENDMAIL="/usr/sbin/sendmail"
 MAILPATH="/var/mail"
 PKGDATADIR="/usr/local/share/mutt"
 SYSCONFDIR="/usr/local/etc"
 EXECSHELL="/bin/sh"
 -MIXMASTER
 To contact the developers, please mail to <mutt-dev@xxxxxxxx>.
 To report a bug, please use the flea(1) utility.

 patch-1.4.2.dw.pgp-menu-traditional.2-fix
 1.3.28.nr.threadcomplete
 1.4.2.3-jpd.pgp-shorten-more
 patch-1.4.0.cd.edit_threads.9.5
 pgp_shorten-1.3.27-sec-1
 patch-1.3.23.bj.current_shortcut.1
 vvv.initials
 rr.compressed
 }}}

 I can provide the precise patches as applied to stock 1.4.2.3 source, of
 course.

-- 
Ticket URL: <http://dev.mutt.org/trac/ticket/3046>