aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@rspamd.com>2025-03-24 13:42:34 +0000
committerVsevolod Stakhov <vsevolod@rspamd.com>2025-03-24 13:42:34 +0000
commit91e8bbf79897f13072302216ce2ca516785d31f5 (patch)
treef65a02caef4a83acc490eebaa28ff722de19cbb4
parent65e27b20f650b76244274c76787c20fb475a6996 (diff)
downloadrspamd-91e8bbf79897f13072302216ce2ca516785d31f5.tar.gz
rspamd-91e8bbf79897f13072302216ce2ca516785d31f5.zip
[Minor] Static maps have pre-defined content, so use it to get id
-rw-r--r--src/libserver/maps/map.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/libserver/maps/map.c b/src/libserver/maps/map.c
index a5e891c34..7a8bcfb7f 100644
--- a/src/libserver/maps/map.c
+++ b/src/libserver/maps/map.c
@@ -2843,6 +2843,13 @@ rspamd_map_calculate_hash(struct rspamd_map *map)
rspamd_cryptobox_fast_hash_init(&hst, 0);
rspamd_cryptobox_fast_hash_update(&hst, bk->uri, strlen(bk->uri));
rspamd_cryptobox_fast_hash_update(&hst, map->tag, sizeof(map->tag));
+
+ if (bk->protocol == MAP_PROTO_STATIC) {
+ /* Static maps content is pre-defined */
+ rspamd_cryptobox_fast_hash_update(&hst, bk->data.sd->data,
+ bk->data.sd->len);
+ }
+
/* We use only 52 bits to be compatible with other numbers representation */
bk->id = rspamd_cryptobox_fast_hash_final(&hst) & ~(0xFFFULL << 52);
}