]> source.dussan.org Git - rspamd.git/commitdiff
Include checksum in a map struct.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Sun, 5 Jan 2014 18:18:37 +0000 (18:18 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Sun, 5 Jan 2014 18:18:37 +0000 (18:18 +0000)
src/map.c
src/map.h

index 2af883a7a37a5be78dc126b588bfdf6e23b0060b..ea5b1a35a534fe78003980db7b6c70d996d384f6 100644 (file)
--- a/src/map.c
+++ b/src/map.c
@@ -396,6 +396,7 @@ read_http_sync (struct rspamd_map *map, struct http_map_data *data)
        write_http_request (map, data, fd);
 
        cbdata.state = 0;
+       cbdata.map = map;
        cbdata.prev_data = *map->user_data;
        cbdata.cur_data = NULL;
 
@@ -442,6 +443,7 @@ read_map_file (struct rspamd_map *map, struct file_map_data *data)
        cbdata.state = 0;
        cbdata.prev_data = *map->user_data;
        cbdata.cur_data = NULL;
+       cbdata.map = map;
 
        rlen = 0;
        while ((r = read (fd, buf + rlen, sizeof (buf) - rlen - 1)) > 0) {
@@ -836,6 +838,7 @@ http_async_callback (gint fd, short what, void *ud)
                        cbd->cbdata.state = 0;
                        cbd->cbdata.prev_data = *cbd->map->user_data;
                        cbd->cbdata.cur_data = NULL;
+                       cbd->cbdata.map = cbd->map;
                        cbd->data->rlen = 0;
                        cbd->data->chunk = 0;
                        cbd->data->chunk_remain = 0;
index ec35f848628703eeba7224c5488e0dea8077e943..ac7338247c0bb2a933890d46fe8f204f90102bd3 100644 (file)
--- a/src/map.h
+++ b/src/map.h
@@ -16,15 +16,6 @@ enum fetch_proto {
        MAP_PROTO_HTTP,
 };
 
-/**
- * Callback data for async load
- */
-struct map_cb_data {
-       gint state;
-       void *prev_data;
-       void *cur_data;
-};
-
 /**
  * Data specific to file maps
  */
@@ -49,6 +40,8 @@ struct http_map_data {
        guint32 chunk_remain;
 };
 
+struct map_cb_data;
+
 /**
  * Callback types
  */
@@ -73,10 +66,22 @@ struct rspamd_map {
        gchar *uri;
        gchar *description;
        guint32 id;
+       guint32 checksum;
        /* Shared lock for temporary disabling of map reading (e.g. when this map is written by UI) */
        gint *locked;
 };
 
+/**
+ * Callback data for async load
+ */
+struct map_cb_data {
+       struct rspamd_map *map;
+       gint state;
+       void *prev_data;
+       void *cur_data;
+};
+
+
 /**
  * Check map protocol
  */