From d1d47b28b63d04bb4010a1e459853f4766a92a13 Mon Sep 17 00:00:00 2001 From: Michael Poole Date: Mon, 10 Aug 2009 23:53:19 -0400 Subject: [PATCH] Fix mod-blacklist (really, all of SAR) not working on BSDs. Fixes SF bug #2817939, reported by sky5. src/sar.c (ipv4_pton): Set the sockaddr length field when it exists. (ipv6_pton): Likewise. --- src/sar.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/sar.c b/src/sar.c index 4b15001..0618ed4 100644 --- a/src/sar.c +++ b/src/sar.c @@ -1669,6 +1669,9 @@ ipv4_pton(struct sockaddr *sa, UNUSED_ARG(unsigned int socklen), unsigned int *b if (!pos) return 0; sa->sa_family = AF_INET; +#if defined(HAVE_SOCKADDR_SA_LEN) + sa->sa_len = sizeof(struct sockaddr_in); +#endif return pos; } @@ -1902,6 +1905,9 @@ ipv6_pton(struct sockaddr *sa, UNUSED_ARG(unsigned int socklen), unsigned int *b sin6->sin6_addr.s6_addr[cpos + jj] = 0; } sa->sa_family = AF_INET6; +#if defined(HAVE_SOCKADDR_SA_LEN) + sa->sa_len = sizeof(struct sockaddr_in6); +#endif return pos; } -- 2.20.1