GNOME Bugzilla – Bug 596157
Use "Message-ID" instead of "Message-Id"
Last modified: 2009-09-29 20:08:43 UTC
Created attachment 143871 [details] [review] Preliminary patch to fix the mentioned bug. I received a complaint from a USENET user who was reading mail using the Headliner <http://headliner.sourceforge.net/> news reader. They told me that threading was breaking because Evolution sends the header "Message-Id", not "Message-ID". Reading RFC 5322 <http://tools.ietf.org/html/rfc5322>, it consistently uses the capitalisation "Message-ID". Handling of headers with differing cases appears to be undefined in the specification; however, there is at least one known case where the current behaviour is breaking things. Along with the old adage "Be conservative with what you emit and be liberal with what you accept", I have attached a patch to send mail with the Message-ID header in the correct case. Before: To: jeremy@localhost Content-Type: text/plain Date: Thu, 24 Sep 2009 00:00:00 +1000 Message-Id: <censored> After: To: jeremy@localhost Content-Type: text/plain Date: Thu, 24 Sep 2009 00:00:00 +1000 Message-ID: <censored> Please be aware that I am very unfamiliar with Evolution code. While the patch works as advertised, I am not sure whether it would impact anything else.
Any quality mail or news reader should be doing case-insensitive comparisons of header names, but the RFC grammar does imply they're to be used exactly as printed. Patch looks correct. I think there's a couple more cases in Evolution itself, but I'll take care of that. Thanks for catching that.
We were getting this wrong in several packages. Committed to master only (2.29.1) just to be safe. Evolution-Data-Server: http://git.gnome.org/cgit/evolution-data-server/commit/?id=9701369983743115d7869a7f3d3ba21e4f836cc3 Evolution: http://git.gnome.org/cgit/evolution/commit/?id=0ca6e9ac602dc72286eedddb63b7f135532871ea Evolution-Exchange: http://git.gnome.org/cgit/evolution-exchange/commit/?id=e3ad48b318985f1f96581b0d96200360008c7a1b Evolution-MAPI: http://git.gnome.org/cgit/evolution-mapi/commit/?id=fc050bf3e7cc5f3b9ae69f0c4f6b73656665dba7
Thanks very much. :) Is there any possibility of this going into 2.28.1?
I'd like to wait a little while just to make sure this doesn't break anything. Seems straight-forward enough, but you never know. Ping me again in a week or so and if there haven't been any problems then we can add it for 2.28.1.
Will do.
No reports of problems. Seems safe to add this to the gnome-2-28 branch. http://git.gnome.org/cgit/evolution-data-server/commit/?h=gnome-2-28&id=c1d0ee1c5e50da9c9dab16f25427c891d58ccca0 http://git.gnome.org/cgit/evolution/commit/?h=gnome-2-28&id=4a3381c7b7d6f537b61c941b72128fd9bcf9ee29 http://git.gnome.org/cgit/evolution-exchange/commit/?h=gnome-2-28&id=59c2e3dc72b01d75b45e6599140e7ddf75db34d2 http://git.gnome.org/cgit/evolution-mapi/commit/?h=gnome-2-28&id=0ef18a53b8e151c82915a6fae392672357591e1a