]> source.dussan.org Git - rspamd.git/commitdiff
[Fix] Fix charset normalisation
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Sun, 18 Dec 2016 16:30:26 +0000 (16:30 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Sun, 18 Dec 2016 16:30:26 +0000 (16:30 +0000)
src/libmime/mime_encoding.c

index 6790cd8e69a8dd66cfa779ffb57e6ed948f23183..ca916c01541c0eedc3b7f24294fdb14769742bdd 100644 (file)
@@ -104,7 +104,9 @@ rspamd_mime_detect_charset (const rspamd_ftok_t *in, rspamd_mempool_t *pool)
        ret = rspamd_mempool_ftokdup (pool, in);
        rspamd_charset_normalize (ret);
 
-       if (memchr (in->begin, '-', in->len) != NULL) {
+       if ((in->len > 3 && rspamd_lc_cmp (in->begin, "cp-", 3) == 0) ||
+                       (in->len > 4 && (rspamd_lc_cmp (in->begin, "ibm-", 4) == 0 ||
+                                       rspamd_lc_cmp (in->begin, "iso-", 4) == 0) )) {
                /* Try to remove '-' chars from encoding: e.g. CP-100 to CP100 */
                h = ret;
                t = ret;