]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Minor] Static maps have pre-defined content, so use it to get id
authorVsevolod Stakhov <vsevolod@rspamd.com>
Mon, 24 Mar 2025 13:42:34 +0000 (13:42 +0000)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Mon, 24 Mar 2025 13:42:34 +0000 (13:42 +0000)
src/libserver/maps/map.c

index a5e891c347739e758bf47652bcba51d363c39664..7a8bcfb7ffa119b935305d73892ab80780529c45 100644 (file)
@@ -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);
        }