From: Vsevolod Stakhov Date: Mon, 14 Dec 2015 12:48:45 +0000 (+0000) Subject: Exclude ports from ip address hash X-Git-Tag: 1.1.0~315 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3275d56ba6dd235e9b79b498ec7ea05fe466205d;p=thirdparty%2Frspamd.git Exclude ports from ip address hash --- diff --git a/src/libutil/addr.c b/src/libutil/addr.c index 1da69e1141..185f6a2bcb 100644 --- a/src/libutil/addr.c +++ b/src/libutil/addr.c @@ -1293,7 +1293,15 @@ rspamd_inet_address_hash (gconstpointer a) XXH64_update (&st, addr->u.un, sizeof (*addr->u.un)); } else { - XXH64_update (&st, &addr->u.in.addr, addr->slen); + /* We ignore port part here */ + if (addr->af == AF_INET) { + XXH64_update (&st, &addr->u.in.addr.s4.sin_addr, + sizeof (addr->u.in.addr.s4.sin_addr)); + } + else { + XXH64_update (&st, &addr->u.in.addr.s6.sin6_addr, + sizeof (addr->u.in.addr.s6.sin6_addr)); + } } return XXH64_digest (&st);