[PATCH] do not decode supersedes header

Dennis Preiser <[email protected]> Mon, 29 Apr 2013 19:19:16 +0200
Newsgroups gmane.network.tin.devel
Message-ID <[email protected]>
--MGYHOYXEY6WxJCY8
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hello,

tin displays a decoded version of the Supersedes:-header of this
article (Supersedes in news_headers_to_display or after
PageToggleAllHeaders '*'):

| From: Guido Hennecke <[email protected]>
| Newsgroups: de.sci.physik,de.comm.software.newsreader
| Date: Fri, 26 Apr 2013 23:36:05 +0200
| Subject: Re: Das Garagen-Paradox der ART
| Supersedes: =?UTF-8?Q?=3Cslrnknlsl6=2Epb4=2Enospam=2D2012=2Dremove=2Dthi?=
|  =?UTF-8?Q?s=40msgid=2Eusenet=2Edebian=2Edyndns=2Eorg=3E?=
| Message-ID: <slrnknlsq5.pb4.nospam-2012-remove-this@msgid.usenet.debian.dyndns.o
rg>

This header is broken (encoded, folded), but displaying a decoded
version seems not the best choice to me. With the attached patch tin no
longer decodes the Supersede:-headers before displaying.

Dennis

--MGYHOYXEY6WxJCY8
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="2013-04-29.diff"

diff -urp tin-2.1.2_r4/src/cook.c tin-2.1.2_r5/src/cook.c
--- tin-2.1.2_r4/src/cook.c	2012-12-24 11:22:00.000000000 +0100
+++ tin-2.1.2_r5/src/cook.c	2013-04-29 17:50:02.000000000 +0200
@@ -872,7 +872,7 @@ cook_article(
 			} while (!found && *(++strptr) != 0);
 
 			/* unstructured but must not be decoded */
-			if (l == NULL && (!strncasecmp(line, "References: ", 12) || !strncasecmp(line, "Message-ID: ", 12) || !strncasecmp(line, "Date: ", 6) || !strncasecmp(line, "Newsgroups: ", 12) || !strncasecmp(line, "Distribution: ", 14) || !strncasecmp(line, "Followup-To: ", 13) || !strncasecmp(line, "X-Face: ", 8) || !strncasecmp(line, "Cancel-Lock: ", 13) || !strncasecmp(line, "Cancel-Key: ", 12)))
+			if (l == NULL && (!strncasecmp(line, "References: ", 12) || !strncasecmp(line, "Message-ID: ", 12) || !strncasecmp(line, "Date: ", 6) || !strncasecmp(line, "Newsgroups: ", 12) || !strncasecmp(line, "Distribution: ", 14) || !strncasecmp(line, "Followup-To: ", 13) || !strncasecmp(line, "X-Face: ", 8) || !strncasecmp(line, "Cancel-Lock: ", 13) || !strncasecmp(line, "Cancel-Key: ", 12) || !strncasecmp(line, "Supersedes: ", 12)))
 				l = my_strdup(line);
 
 			if (l == NULL)

--MGYHOYXEY6WxJCY8--