]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Adjust hashes
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 12 May 2016 11:45:37 +0000 (12:45 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 12 May 2016 11:45:37 +0000 (12:45 +0100)
config.h.in
src/libutil/shingles.c

index c837500f67ddbcb3c8c767607e0f0a78fe0e7fe9..f7bdedbfb846c99f399bd1d22b2a9fbff58ca818 100644 (file)
@@ -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
index d00fb05b2597319ba73a808772b7906c6a9ba567..66f6b457cf2b7ece2da55248bd858e7203c3183c 100644 (file)
@@ -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);