mirror of
https://github.com/3proxy/3proxy.git
synced 2025-02-23 10:35:40 +08:00
attempt to support IPv6 in netfilter transparent redirection
This commit is contained in:
parent
bf4ef2284b
commit
5471e0faf4
@ -42,7 +42,12 @@ static FILTER_ACTION transparent_filter_client(void *fo, struct clientparam * pa
|
|||||||
|
|
||||||
#ifdef WITH_NETFILTER
|
#ifdef WITH_NETFILTER
|
||||||
#ifdef SO_ORIGINAL_DST
|
#ifdef SO_ORIGINAL_DST
|
||||||
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)))){
|
|
||||||
|
if(getsockopt(param->clisock,
|
||||||
|
#ifdef SOL_IPV6
|
||||||
|
*SAFAMILY(¶m->sincr) == AF_INET6?SOL_IPV6:
|
||||||
|
#endif
|
||||||
|
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;
|
return PASS;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
Loading…
Reference in New Issue
Block a user