From 930a959779aee60eaa3e0fbcc7647c7d8b052db4 Mon Sep 17 00:00:00 2001 From: z3APA3A <3APA3A@3proxy.ru> Date: Mon, 30 Oct 2017 18:20:14 +0300 Subject: [PATCH] Do not use SAISNULL in plugin --- src/plugins/TransparentPlugin/transparent_plugin.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/plugins/TransparentPlugin/transparent_plugin.c b/src/plugins/TransparentPlugin/transparent_plugin.c index cc8b06a..c0fce07 100644 --- a/src/plugins/TransparentPlugin/transparent_plugin.c +++ b/src/plugins/TransparentPlugin/transparent_plugin.c @@ -23,7 +23,6 @@ extern "C" { #endif -static char* NULLADDR="\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"; static struct pluginlink * pl; @@ -43,7 +42,7 @@ static FILTER_ACTION transparent_filter_client(void *fo, struct clientparam * pa #ifdef WITH_NETFILTER #ifdef SO_ORIGINAL_DST - if(getsockopt(param->clisock, SOL_IP, SO_ORIGINAL_DST,(struct sockaddr *) ¶m->req, &len) || SAISNULL(¶m->req)){ + if(getsockopt(param->clisock, SOL_IP, SO_ORIGINAL_DST,(struct sockaddr *) ¶m->req, &len) || (!memcmp(((struct sockaddr_in *)¶m->req)->sin_family == AF_INET6? (char *)&((struct sockaddr_in6 *)¶m->req)->sin6_addr : (char *)&((struct sockaddr_in *)¶m->req)->sin_addr.s_addr, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", (((struct sockaddr_in *)¶m->req)->sin_family == AF_INET6? 16:4)))){ return PASS; } #else