]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Lowercase content-type as specified in rfc2045
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 25 Jun 2019 10:11:52 +0000 (11:11 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 25 Jun 2019 10:11:52 +0000 (11:11 +0100)
src/libmime/content_type.c

index d092c0dc46524c4ddd46abbe970a6fb5664e2d42..11fa8cd653bf31a8a267c3fc9662a7d45b5c7b43 100644 (file)
@@ -597,8 +597,26 @@ rspamd_content_type_parser (gchar *in, gsize len, rspamd_mempool_t *pool)
        }
 
        if (val.type.len > 0) {
+               gchar *tmp;
+
                res = rspamd_mempool_alloc (pool, sizeof (val));
                memcpy (res, &val, sizeof (val));
+
+               /*
+                * Lowercase type and subtype as they are specified as case insensitive
+                * in rfc2045 section 5.1
+                */
+               tmp = rspamd_mempool_alloc (pool, val.type.len);
+               memcpy (tmp, val.type.begin, val.type.len);
+               rspamd_str_lc (tmp, val.type.len);
+               res->type.begin = tmp;
+
+               if (val.subtype.len > 0) {
+                       tmp = rspamd_mempool_alloc (pool, val.subtype.len);
+                       memcpy (tmp, val.subtype.begin, val.subtype.len);
+                       rspamd_str_lc (tmp, val.subtype.len);
+                       res->subtype.begin = tmp;
+               }
        }
 
        return res;