]> source.dussan.org Git - rspamd.git/commitdiff
Add method to check if a map looks like a map
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Mon, 15 Feb 2016 17:09:58 +0000 (17:09 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Mon, 15 Feb 2016 17:09:58 +0000 (17:09 +0000)
src/libutil/map.c
src/libutil/map.h

index 8050866339f3b382a4de080905d958c31263f296..07558c2966e3637245e870c2f8aa8f0bbb5a6dde 100644 (file)
@@ -542,6 +542,29 @@ rspamd_map_check_proto (struct rspamd_config *cfg,
        return pos;
 }
 
+gboolean
+rspamd_map_is_map (const gchar *map_line)
+{
+       gboolean ret = FALSE;
+
+       g_assert (map_line != NULL);
+
+       if (map_line[0] == '/') {
+               ret = TRUE;
+       }
+       else if (g_ascii_strncasecmp (map_line, "sign+", sizeof ("sign+") - 1) == 0) {
+               ret = TRUE;
+       }
+       else if (g_ascii_strncasecmp (map_line, "file://", sizeof ("file://") - 1) == 0) {
+               ret = TRUE;
+       }
+       else if (g_ascii_strncasecmp (map_line, "http://", sizeof ("file://") - 1) == 0) {
+               ret = TRUE;
+       }
+
+       return ret;
+}
+
 gboolean
 rspamd_map_add (struct rspamd_config *cfg,
        const gchar *map_line,
index 13590581ed182da8ed640b5fc7fe752a0022ff40..56933a1ccecbd939ac034effcaf2cb5dfbfad4d6 100644 (file)
@@ -37,6 +37,13 @@ struct map_cb_data {
        void *cur_data;
 };
 
+/**
+ * Returns TRUE if line looks like a map definition
+ * @param map_line
+ * @return
+ */
+gboolean rspamd_map_is_map (const gchar *map_line);
+
 /**
  * Add map from line
  */