From da913877cd0f80ff05a19c4dbed935b21e4b860c Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Thu, 12 May 2016 12:45:37 +0100 Subject: [PATCH] [Minor] Adjust hashes --- config.h.in | 4 ++++ src/libutil/shingles.c | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/config.h.in b/config.h.in index c837500f6..f7bdedbfb 100644 --- a/config.h.in +++ b/config.h.in @@ -323,8 +323,12 @@ typedef off_t goffset; # define RSPAMD_ALIGNED(x) __declspec(align(x)) #elif defined(__GNUC__) # define RSPAMD_ALIGNED(x) __attribute__((aligned(x))) +#ifndef __clang__ # define RSPAMD_OPTIMIZE(x) __attribute__((__optimize__ (x))) #else +# define RSPAMD_OPTIMIZE(x) +#endif +#else # define RSPAMD_ALIGNED(x) # define RSPAMD_OPTIMIZE(x) #endif diff --git a/src/libutil/shingles.c b/src/libutil/shingles.c index d00fb05b2..66f6b457c 100644 --- a/src/libutil/shingles.c +++ b/src/libutil/shingles.c @@ -109,7 +109,7 @@ rspamd_shingles_generate (GArray *input, ht = RSPAMD_CRYPTOBOX_MUMHASH; break; default: - ht = RSPAMD_CRYPTOBOX_HASHFAST; + ht = RSPAMD_CRYPTOBOX_HASHFAST_INDEPENDENT; break; } @@ -133,7 +133,7 @@ rspamd_shingles_generate (GArray *input, *(guint64 *)keys[j]); val = 0; for (k = 0; k < SHINGLES_WINDOW; k ++) { - val ^= res[j * SHINGLES_WINDOW + k] >> (8 * k); + val ^= res[j * SHINGLES_WINDOW + k] >> (8 * (SHINGLES_WINDOW - k - 1)); } g_assert (hlen > beg); -- 2.39.5