From: Victor Julien Date: Tue, 27 Mar 2012 08:38:15 +0000 (+0200) Subject: host: convert host hash to use lookup3.c X-Git-Tag: suricata-1.3beta1~45 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cfd4d07dd029d09125c869f4ec6ddac834f83f40;p=thirdparty%2Fsuricata.git host: convert host hash to use lookup3.c --- diff --git a/src/host.c b/src/host.c index f0136ca740..7d98278270 100644 --- a/src/host.c +++ b/src/host.c @@ -38,6 +38,8 @@ #include "detect-tag.h" #include "detect-engine-threshold.h" +#include "util-hash-lookup3.h" + static Host *HostGetUsedHost(void); /** queue with spare hosts */ @@ -286,11 +288,11 @@ uint32_t HostGetKey(Address *a) { uint32_t key; if (a->family == AF_INET) { - key = (host_config.hash_rand + a->addr_data32[0]) % host_config.hash_size; + uint32_t hash = hashword(&a->addr_data32[0], 1, host_config.hash_rand); + key = hash % host_config.hash_size; } else if (a->family == AF_INET6) { - key = (host_config.hash_rand + a->addr_data32[0] + \ - a->addr_data32[1] + a->addr_data32[2] + \ - a->addr_data32[3]) % host_config.hash_size; + uint32_t hash = hashword(a->addr_data32, 4, host_config.hash_rand); + key = hash % host_config.hash_size; } else key = 0;