- support nested VLANs + fix few clang warnings

This commit is contained in:
2022-05-05 13:34:17 +03:00
parent aeedeb0626
commit 621afead4b
5 changed files with 43 additions and 15 deletions

View File

@@ -24,7 +24,7 @@
# include <ws2tcpip.h>
#else
# include <netinet/in.h>
# if /*defined(TARGET_LINUX) || */ defined(TARGET_ANDROID)
# include <linux/in6.h>
# endif
@@ -465,15 +465,15 @@ unsigned char* NetworkAddress::ipBytes() const
#endif
case AF_INET6:
#ifdef TARGET_WIN
return (unsigned char*)mAddr6.sin6_addr.u.Byte;
#elif defined(TARGET_OSX) || defined(TARGET_IOS)
return (unsigned char*)&mAddr6.sin6_addr.__u6_addr.__u6_addr8;
#elif defined(TARGET_OPENWRT) || defined(TARGET_MUSL)
return (unsigned char*)&mAddr6.sin6_addr.__in6_union.__s6_addr;
#elif defined(TARGET_LINUX)
return (unsigned char*)&mAddr6.sin6_addr.__in6_u.__u6_addr8;
#elif defined(TARGET_ANDROID)
return (unsigned char*)&mAddr6.sin6_addr.in6_u.u6_addr8;
return (unsigned char*)mAddr6.sin6_addr.u.Byte;
#elif defined(TARGET_OSX) || defined(TARGET_IOS)
return (unsigned char*)&mAddr6.sin6_addr.__u6_addr.__u6_addr8;
#elif defined(TARGET_OPENWRT) || defined(TARGET_MUSL)
return (unsigned char*)&mAddr6.sin6_addr.__in6_union.__s6_addr;
#elif defined(TARGET_LINUX)
return (unsigned char*)&mAddr6.sin6_addr.__in6_u.__u6_addr8;
#elif defined(TARGET_ANDROID)
return (unsigned char*)&mAddr6.sin6_addr.in6_u.u6_addr8;
#endif
}
assert(0);
@@ -783,3 +783,12 @@ bool NetworkAddress::isSame(const NetworkAddress& a1, const NetworkAddress& a2)
}
return false;
}
NetworkAddress& NetworkAddress::operator = (const NetworkAddress& src)
{
this->mInitialized = src.mInitialized;
this->mRelayed = src.mRelayed;
this->mAddr6 = src.mAddr6;
return *this;
}

View File

@@ -75,7 +75,9 @@ namespace ice
static bool isSameHost(const NetworkAddress& a1, const NetworkAddress& a2);
static bool isSame(const NetworkAddress& a1, const NetworkAddress& a2);
NetworkAddress& operator = (const NetworkAddress& src);
bool operator == (const NetworkAddress& rhs) const;
bool operator != (const NetworkAddress& rhs) const;
bool operator < (const NetworkAddress& rhs) const;