]> source.dussan.org Git - rspamd.git/commitdiff
Adopt xxhash invocation.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Sun, 17 May 2015 15:11:12 +0000 (16:11 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Sun, 17 May 2015 15:11:12 +0000 (16:11 +0100)
src/libutil/bloom.c
src/libutil/fuzzy.c
src/libutil/uthash_strcase.h

index 044cdaa1076c08d05f3c053a087dbcbb4abbd93b..c3e8b4c8eff8c0818c14d34f831b0b9736ce31e1 100644 (file)
@@ -116,7 +116,7 @@ rspamd_bloom_add (rspamd_bloom_filter_t * bloom, const gchar *s)
        }
        len = strlen (s);
        for (n = 0; n < bloom->nfuncs; ++n) {
-               v = XXH32 (s, len, bloom->seeds[n]) % bloom->asize;
+               v = XXH64 (s, len, bloom->seeds[n]) % bloom->asize;
                INCBIT (bloom->a, v, t);
        }
 
index a15be12e2d064dec556674bc1d89c0d48cde6400..218065b77e8bf6523c20583c99a8cda624f88ec9 100644 (file)
@@ -524,13 +524,14 @@ guint
 rspamd_fuzzy_hash (gconstpointer key)
 {
        rspamd_fuzzy_t *fh = (rspamd_fuzzy_t *)key;
-       void *st;
+       XXH64_state_t xxh;
 
-       st = XXH32_init (0xdeadbeef);
-       XXH32_update (st, &fh->block_size, sizeof (fh->block_size));
-       XXH32_update (st, fh->hash_pipe, rspamd_fuzzy_len (fh));
+       XXH64_reset (&xxh, rspamd_hash_seed ());
 
-       return XXH32_digest (st);
+       XXH64_update (&xxh, &fh->block_size, sizeof (fh->block_size));
+       XXH64_update (&xxh, fh->hash_pipe, rspamd_fuzzy_len (fh));
+
+       return XXH64_digest (&xxh);
 }
 
 gboolean
index 4e28f31105882afce5b4aa277db185a7ac68f36c..55fae4d7e68063c83b5701c0b8bb64f82ae216a7 100644 (file)
 #define HASH_KEYCMP(a,b,len) memcmp(a,b,len)
 #else
 #define HASH_FUNCTION(key,keylen,num_bkts,hashv,bkt) do {\
-       void *xxh = XXH32_init(0xdead); \
+       XXH32_state_t xxh; \
+       XXH32_reset(&xxh, 0xdead);      \
        unsigned char *p = (unsigned char *)key, t;     \
        for (unsigned int i = 0; i < keylen; i ++) {    \
                t = g_ascii_tolower(p[i]);      \
-               XXH32_update(xxh, &t, 1);       \
+               XXH32_update(&xxh, &t, 1);      \
        }       \
-       hashv = XXH32_digest(xxh);      \
+       hashv = XXH32_digest(&xxh);     \
        bkt = (hashv) & (num_bkts-1);   \
 } while (0)
 #define HASH_KEYCMP(a,b,len) strncasecmp(a,b,len)