]> mj.ucw.cz Git - checkmail.git/commitdiff
Relaxed parsing of encoded MIME headers
authorMartin Mares <mj@ucw.cz>
Sun, 9 Feb 2014 23:51:10 +0000 (00:51 +0100)
committerMartin Mares <mj@ucw.cz>
Sun, 9 Feb 2014 23:51:10 +0000 (00:51 +0100)
charset.c

index 0f766706fcf79ebe4bdd4735e51336acf6b71376..c80ce9e0dfbbb2b5e9bbb4b958e227b1d40774e6 100644 (file)
--- a/charset.c
+++ b/charset.c
@@ -232,7 +232,8 @@ static const char *find_encoded_word (const char *s, const char **x)
       ;
     if (q[0] != '?' || !strchr ("BbQq", q[1]) || q[2] != '?')
       continue;
-    for (q = q + 3; 0x20 < *q && *q < 0x7f && *q != '?'; q++)
+    /* non-strict check since many MUAs will not encode spaces and question marks */
+    for (q = q + 3; 0x20 <= *q && *q < 0x7f && (*q != '?' || q[1] != '='); q++)
       ;
     if (q[0] != '?' || q[1] != '=')
     {