mirror of
https://github.com/bol-van/zapret.git
synced 2024-11-30 05:50:53 +03:00
fixing -Wstrict-aliasing (try 2)
This commit is contained in:
parent
1224206f40
commit
479ff56a6b
@ -167,9 +167,13 @@ bool saconvmapped(struct sockaddr_storage *a)
|
||||
|
||||
bool is_localnet(const struct sockaddr *a)
|
||||
{
|
||||
// 127.0.0.0/8, ::1 = localhost
|
||||
return (a->sa_family==AF_INET && IN_LOOPBACK(((struct sockaddr_in *)a)->sin_addr.s_addr)) ||
|
||||
(a->sa_family==AF_INET6 && IN6_IS_ADDR_LOOPBACK(((struct sockaddr_in6 *)a)->sin6_addr.s6_addr));
|
||||
// match 127.0.0.0/8, 0.0.0.0, ::1, ::0, :ffff:127.0.0.0/104, :ffff:0.0.0.0
|
||||
return (a->sa_family==AF_INET && (IN_LOOPBACK(((struct sockaddr_in *)a)->sin_addr.s_addr) ||
|
||||
INADDR_ANY == (((struct sockaddr_in *)a)->sin_addr.s_addr))) ||
|
||||
(a->sa_family==AF_INET6 && ((IN6_IS_ADDR_LOOPBACK(((struct sockaddr_in6 *)a)->sin6_addr.s6_addr)) ||
|
||||
IN6_IS_ADDR_UNSPECIFIED((((struct sockaddr_in6 *)a)->sin6_addr.s6_addr)) ||
|
||||
(saismapped((struct sockaddr_in6 *)a) && (IN_LOOPBACK(IN6_EXTRACT_MAP4(((struct sockaddr_in6*)a)->sin6_addr.s6_addr)) ||
|
||||
INADDR_ANY == IN6_EXTRACT_MAP4(((struct sockaddr_in6*)a)->sin6_addr.s6_addr)))));
|
||||
}
|
||||
bool is_linklocal(const struct sockaddr_in6 *a)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user