]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Use a more strict pattern for tld lookup
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 19 Mar 2020 13:37:31 +0000 (13:37 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 19 Mar 2020 13:37:31 +0000 (13:37 +0000)
src/libutil/multipattern.c

index f243c1d8ab351ecd14e2b06b78236a29496c31b6..c348ac6b28e4a68a1515a3de673b4f549e6a89c4 100644 (file)
@@ -97,13 +97,13 @@ rspamd_multipattern_escape_tld_hyperscan (const gchar *pattern, gsize slen,
                gsize *dst_len)
 {
        gsize len;
-       const gchar *p, *prefix;
+       const gchar *p, *prefix, *suffix;
        gchar *res;
 
        /*
         * We understand the following cases
-        * 1) blah -> .blah
-        * 2) *.blah -> ..*\\.blah
+        * 1) blah -> .blah\b
+        * 2) *.blah -> ..*\\.blah\b
         * 3) ???
         */
 
@@ -127,9 +127,13 @@ rspamd_multipattern_escape_tld_hyperscan (const gchar *pattern, gsize slen,
                len = slen + strlen (prefix);
        }
 
+       suffix = "\\b";
+       len += strlen (suffix);
+
        res = g_malloc (len + 1);
        slen = rspamd_strlcpy (res, prefix, len + 1);
        slen += rspamd_strlcpy (res + slen, p, len + 1 - slen);
+       slen += rspamd_strlcpy (res + slen, suffix, len + 1 - slen);
 
        *dst_len = slen;