Ticket #1935 (closed defect: fixed)

Opened 4 years ago

Last modified 3 months ago

Threading breaks for Replies to mails with "broken" Message-IDs

Reported by: "Ralph Angenendt" <ralph+flea@…> Owned by: mutt-dev
Priority: minor Milestone: 1.6
Component: mutt Version: 1.5.6i
Keywords: #1116. Cc:

Description (last modified by brendan) (diff)

Package: mutt
Version: mutt-1.5.6-5.fc2.ra
Severity: normal

-- Please type your report below this line

Mutt seems to have a problem with threading, when someone replies to a 
mail which has a "broken" Message-ID.

Example:

Person A sends a mail to a mailing list, the mail has the following 
Message-ID: <1099390213556.>  (Yes, this is broken).

Person B sends a reply to that mail, which includes the following headers:

References: <1099390213556.>
In-Reply-To: <1099390213556.>

This seems to be pretty normal.

This is what I see in the index:

  7879   L 11/02 Person A        (2.8K) ├*> My Subject
  7880   L 11/02 Person B        (3.0K) └*> Re: My Subject

Yes, Person A's mailer is broken in more than one way. 

This is, what I'd expect to see:

  7879   L 11/02 Person A        (2.8K) ├*> My Subject
  7880   L 11/02 Person B        (3.0K)   └-> Re: My Subject

This only seems to happen, when the Message-ID of person a doesn't include
a Hostname (or an @), so I am not really sure if *this* or the Message-ID
qualifies as a bug.

Ralph

-- System Information
System Version: Linux localhorst.br.de 2.6.8-1.521 #1 Mon Aug 16 09:01:18 EDT 2004 i686 i686 i386 GNU/Linux
RedHat Release: Fedora Core release 2 (Tettnang)

-- Build environment information

(Note: This is the build environment installed on the system
muttbug is run on.  Information may or may not match the environment
used to build mutt.)

- gcc version information
gcc
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --disable-libunwind-exceptions --with-system-zlib --enable-__cxa_atexit --host=i386-redhat-linux
Thread model: posix
gcc version 3.3.3 20040412 (Red Hat Linux 3.3.3-7)

- CFLAGS
-O2 -g -pipe -march=i386 -mcpu=i686

-- Mutt Version Information

Mutt 1.5.6i (2004-02-01)
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: Linux 2.6.8-1.521 (i686) [using ncurses 5.4] [using libidn 0.5.2 (compiled with 0.5.2)]
Compile options:
-DOMAIN
-DEBUG
-HOMESPOOL  +USE_SETGID  +USE_DOTLOCK  +DL_STANDALONE  
+USE_FCNTL  -USE_FLOCK
+USE_POP  +USE_IMAP  +USE_GSS  +USE_SSL  +USE_SASL  -USE_SASL2  
+HAVE_REGCOMP  -USE_GNU_REGEX  
+HAVE_COLOR  +HAVE_START_COLOR  +HAVE_TYPEAHEAD  +HAVE_BKGDSET  
+HAVE_CURS_SET  +HAVE_META  +HAVE_RESIZETERM  
+CRYPT_BACKEND_CLASSIC_PGP  +CRYPT_BACKEND_CLASSIC_SMIME  -CRYPT_BACKEND_GPGME  -BUFFY_SIZE -EXACT_ADDRESS  -SUN_ATTACHMENT  
+ENABLE_NLS  -LOCALES_HACK  +HAVE_WC_FUNCS  +HAVE_LANGINFO_CODESET  +HAVE_LANGINFO_YESEXPR  
+HAVE_ICONV  -ICONV_NONTRANS  +HAVE_LIBIDN  +HAVE_GETSID  +HAVE_GETADDRINFO  +USE_HCACHE  
ISPELL="/usr/bin/ispell"
SENDMAIL="/usr/sbin/sendmail"
MAILPATH="/var/mail"
PKGDATADIR="/usr/share/mutt"
SYSCONFDIR="/etc"
EXECSHELL="/bin/sh"
-MIXMASTER
To contact the developers, please mail to <mutt-dev@mutt.org>.
To report a bug, please use the flea(1) utility.

mutt-cvs-header-cache.23

--- Begin /etc/Muttrc
ignore "from " received content- mime-version status x-status message-id
ignore sender references return-path lines
macro index \eb '/~b ' 'search in message bodies'
macro index \cb |urlview\n 'call urlview to extract URLs out of a message'
macro pager \cb |urlview\n 'call urlview to extract URLs out of a message'
macro generic <f1> "!less /usr/share/doc/mutt-1.5.6/manual.txt\n" "Show Mutt documentation"
macro index   <f1> "!less /usr/share/doc/mutt-1.5.6/manual.txt\n" "Show Mutt documentation"
macro pager   <f1> "!less /usr/share/doc/mutt-1.5.6/manual.txt\n" "Show Mutt documentation"
set pgp_decode_command="/usr/bin/gpg  --charset utf-8   %?p?--passphrase-fd 0? --no-verbose --quiet  --batch  --output - %f"
set pgp_verify_command="/usr/bin/gpg   --no-verbose --quiet  --batch  --output - --verify %s %f"
set pgp_decrypt_command="/usr/bin/gpg   --passphrase-fd 0 --no-verbose --quiet  --batch  --output - %f"
set pgp_sign_command="/usr/bin/gpg    --no-verbose --batch --quiet   --output - --passphrase-fd 0 --armor --detach-sign --textmode %?a?-u %a? %f"
set pgp_clearsign_command="/usr/bin/gpg   --charset utf-8 --no-verbose --batch --quiet   --output - --passphrase-fd 0 --armor --textmode --clearsign %?a?-u %a? %f"
set pgp_encrypt_only_command="pgpewrap /usr/bin/gpg  --charset utf-8    --batch  --quiet  --no-verbose --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f"
set pgp_encrypt_sign_command="pgpewrap /usr/bin/gpg  --charset utf-8 --passphrase-fd 0  --batch --quiet  --no-verbose  --textmode --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f"
set pgp_import_command="/usr/bin/gpg  --no-verbose --import -v %f"
set pgp_export_command="/usr/bin/gpg   --no-verbose --export --armor %r"
set pgp_verify_key_command="/usr/bin/gpg   --verbose --batch  --fingerprint --check-sigs %r"
set pgp_list_pubring_command="/usr/bin/gpg   --no-verbose --batch --quiet   --with-colons --list-keys %r" 
set pgp_list_secring_command="/usr/bin/gpg   --no-verbose --batch --quiet   --with-colons --list-secret-keys %r" 
set pgp_good_sign="`gettext -d gnupg -s 'Good signature from "' | tr -d '"'`"
color hdrdefault red default
color quoted brightblue default
color signature red default
color indicator brightyellow red
color error brightred default
color status yellow blue
color tree magenta default	# the thread tree in the index menu
color tilde magenta default
color message brightcyan default
color markers brightcyan default
color attachment brightmagenta default
color search default green	# how to hilite search patterns in the pager
color header brightred default ^(From|Subject):
color body magenta default "(ftp|http)://[^ ]+"	# point out URLs
color body magenta default [-a-z_0-9.]+@[-a-z_0-9.]+	# e-mail addresses
color underline brightgreen default
mono quoted bold
set ispell="/usr/bin/aspell --mode=email check"
--- End /etc/Muttrc



>How-To-Repeat:
>Fix:

Attachments

fix-1935.diff (0.9 kB) - added by pdmef 5 months ago.

Change History

Changed 3 years ago by brendan

Cross-reference with #1116.

Changed 6 months ago by pdmef

When parsing References:, mutt requires valid entries to be enclosed in <> and contain an @. I'm not sure we should remove the @-requirement.

Changed 5 months ago by pdmef

Changed 5 months ago by pdmef

  • milestone set to 1.6

Attach patch accepting anything from References but being as strict as before for In-Reply-To. The code in mutt_parse_references() contains this comment:

/*
 * some mail clients add other garbage besides message-ids, so do a quick
 * check to make sure this looks like a valid message-id
 * some idiotic clients also break their message-ids between lines, deal
 * with that too (give up if it's more than two lines, though)
 */

so I'm not sure what the side-effects from this change are. I hope at worst mutt inserts marks for missing messages into the thread for garbage it accepts with this patch not being a message-id (but ignored before). That'd still be better than not threading messages at all having message-ids/references with 0 or more than 1 "@" symbol.

This does correctly link some threads for me (even on mutt-users) after wiping hcache.

Changed 3 months ago by brendan

  • status changed from new to closed
  • resolution set to fixed
  • description modified (diff)

Fixed in [00ce81d778bf].

Note: See TracTickets for help on using tickets.