]> source.dussan.org Git - rspamd.git/commitdiff
Add global limit for mime regular expressions.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 19 Mar 2015 18:24:09 +0000 (18:24 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 19 Mar 2015 18:24:09 +0000 (18:24 +0000)
src/libmime/mime_expressions.c
src/libmime/mime_expressions.h

index acc2caf0ad48bcd616929f6a89c02544f78fbdfb..ad2f5e34b3cc732ecc145608c92dbd681aa9ca55 100644 (file)
@@ -143,6 +143,7 @@ static struct _fl *list_ptr = &rspamd_functions_list[0];
 static guint32 functions_number = sizeof (rspamd_functions_list) /
        sizeof (struct _fl);
 static gboolean list_allocated = FALSE;
+static guint max_re_data = 0;
 
 /* Bsearch routine */
 static gint
@@ -1257,3 +1258,12 @@ rspamd_has_fake_html (struct rspamd_task * task, GList * args, void *unused)
        return res;
 
 }
+
+guint
+rspamd_mime_expression_set_re_limit (guint limit)
+{
+       guint ret = max_re_data;
+
+       max_re_data = limit;
+       return ret;
+}
index ea00bc278692cece38ba6929a8c416cfc6602bd4..27050ed1925491d47bddf276e7e5102ed8ed43a1 100644 (file)
@@ -57,4 +57,11 @@ void task_cache_add (struct rspamd_task *task,
  */
 gint32 task_cache_check (struct rspamd_task *task, struct rspamd_regexp_element *re);
 
+/**
+ * Set global limit of regexp data size to be processed
+ * @param limit new limit in bytes
+ * @return old limit value
+ */
+guint rspamd_mime_expression_set_re_limit (guint limit);
+
 #endif