Index: src/main-ban.c
--- src/main-ban.c.orig
+++ src/main-ban.c
@@ -447,10 +447,10 @@ static bool test_local_ipv6(struct sockaddr_in6 *remot
 	unsigned int index = 0;
 
 	for (index = 0; index < 4; index++) {
-		uint32_t l = local->sin6_addr.s6_addr32[index] &
-			     network->sin6_addr.s6_addr32[index];
-		uint32_t r = remote->sin6_addr.s6_addr32[index] &
-			     network->sin6_addr.s6_addr32[index];
+		uint32_t l = local->sin6_addr.__u6_addr.__u6_addr32[index] &
+			     network->sin6_addr.__u6_addr.__u6_addr32[index];
+		uint32_t r = remote->sin6_addr.__u6_addr.__u6_addr32[index] &
+			     network->sin6_addr.__u6_addr.__u6_addr32[index];
 
 		if (l != r)
 			return false;
