diff options
author | kulikov <kulikov@yandex-team.ru> | 2022-02-10 16:49:34 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:49:34 +0300 |
commit | 65e5266709e7ff94b14ae128309e229de714b0df (patch) | |
tree | d4901f06e56d95f5e5d36bd1806bcc144d03bf41 /util/network | |
parent | 0041d99876ae3dccc3f0fa8787131d85ddfd486b (diff) | |
download | ydb-65e5266709e7ff94b14ae128309e229de714b0df.tar.gz |
Restoring authorship annotation for <kulikov@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'util/network')
-rw-r--r-- | util/network/address.cpp | 48 | ||||
-rw-r--r-- | util/network/address.h | 6 | ||||
-rw-r--r-- | util/network/endpoint.h | 2 | ||||
-rw-r--r-- | util/network/endpoint_ut.cpp | 26 |
4 files changed, 41 insertions, 41 deletions
diff --git a/util/network/address.cpp b/util/network/address.cpp index a81a9e6994..267c2f9092 100644 --- a/util/network/address.cpp +++ b/util/network/address.cpp @@ -139,7 +139,7 @@ IRemoteAddrPtr NAddr::GetSockAddr(SOCKET s) { return addr; } - + IRemoteAddrPtr NAddr::GetPeerAddr(SOCKET s) { auto addr = MakeHolder<TOpaqueAddr>(); @@ -150,41 +150,41 @@ IRemoteAddrPtr NAddr::GetPeerAddr(SOCKET s) { return addr; } -static const in_addr& InAddr(const IRemoteAddr& addr) { - return ((const sockaddr_in*)addr.Addr())->sin_addr; -} - -static const in6_addr& In6Addr(const IRemoteAddr& addr) { - return ((const sockaddr_in6*)addr.Addr())->sin6_addr; -} - -bool NAddr::IsLoopback(const IRemoteAddr& addr) { - if (addr.Addr()->sa_family == AF_INET) { +static const in_addr& InAddr(const IRemoteAddr& addr) { + return ((const sockaddr_in*)addr.Addr())->sin_addr; +} + +static const in6_addr& In6Addr(const IRemoteAddr& addr) { + return ((const sockaddr_in6*)addr.Addr())->sin6_addr; +} + +bool NAddr::IsLoopback(const IRemoteAddr& addr) { + if (addr.Addr()->sa_family == AF_INET) { return ((ntohl(InAddr(addr).s_addr) >> 24) & 0xff) == 127; } if (addr.Addr()->sa_family == AF_INET6) { - return 0 == memcmp(&In6Addr(addr), &in6addr_loopback, sizeof(in6_addr)); - } + return 0 == memcmp(&In6Addr(addr), &in6addr_loopback, sizeof(in6_addr)); + } return false; -} - -bool NAddr::IsSame(const IRemoteAddr& lhs, const IRemoteAddr& rhs) { - if (lhs.Addr()->sa_family != rhs.Addr()->sa_family) { - return false; +} + +bool NAddr::IsSame(const IRemoteAddr& lhs, const IRemoteAddr& rhs) { + if (lhs.Addr()->sa_family != rhs.Addr()->sa_family) { + return false; } if (lhs.Addr()->sa_family == AF_INET) { - return InAddr(lhs).s_addr == InAddr(rhs).s_addr; + return InAddr(lhs).s_addr == InAddr(rhs).s_addr; } if (lhs.Addr()->sa_family == AF_INET6) { - return 0 == memcmp(&In6Addr(lhs), &In6Addr(rhs), sizeof(in6_addr)); - } - - ythrow yexception() << "unsupported addr family: " << lhs.Addr()->sa_family; -} + return 0 == memcmp(&In6Addr(lhs), &In6Addr(rhs), sizeof(in6_addr)); + } + + ythrow yexception() << "unsupported addr family: " << lhs.Addr()->sa_family; +} socklen_t NAddr::SockAddrLength(const sockaddr* addr) { switch (addr->sa_family) { diff --git a/util/network/address.h b/util/network/address.h index 448fcac0c9..b88c3558fc 100644 --- a/util/network/address.h +++ b/util/network/address.h @@ -25,9 +25,9 @@ namespace NAddr { TString PrintHost(const IRemoteAddr& addr); TString PrintHostAndPort(const IRemoteAddr& addr); - bool IsLoopback(const IRemoteAddr& addr); - bool IsSame(const IRemoteAddr& lhs, const IRemoteAddr& rhs); - + bool IsLoopback(const IRemoteAddr& addr); + bool IsSame(const IRemoteAddr& lhs, const IRemoteAddr& rhs); + socklen_t SockAddrLength(const sockaddr* addr); //for accept, recvfrom - see LenPtr() diff --git a/util/network/endpoint.h b/util/network/endpoint.h index a3e59b4925..959b14d394 100644 --- a/util/network/endpoint.h +++ b/util/network/endpoint.h @@ -54,7 +54,7 @@ struct THash<TEndpoint> { inline bool operator==(const TEndpoint& l, const TEndpoint& r) { try { - return NAddr::IsSame(*l.Addr(), *r.Addr()) && l.Port() == r.Port(); + return NAddr::IsSame(*l.Addr(), *r.Addr()) && l.Port() == r.Port(); } catch (...) { return false; } diff --git a/util/network/endpoint_ut.cpp b/util/network/endpoint_ut.cpp index d5e40dd6e1..ed26b111cf 100644 --- a/util/network/endpoint_ut.cpp +++ b/util/network/endpoint_ut.cpp @@ -85,27 +85,27 @@ Y_UNIT_TEST_SUITE(TEndpointTest) { UNIT_ASSERT_VALUES_EQUAL(5u, he.size()); } - + Y_UNIT_TEST(TestEqual) { const TString ip1 = "2a02:6b8:0:1410::5f6c:f3c2"; const TString ip2 = "2a02:6b8:0:1410::5f6c:f3c3"; TNetworkAddress na1(ip1, 24242); - TEndpoint ep1(new NAddr::TAddrInfo(&*na1.Begin())); - + TEndpoint ep1(new NAddr::TAddrInfo(&*na1.Begin())); + TNetworkAddress na2(ip1, 24242); - TEndpoint ep2(new NAddr::TAddrInfo(&*na2.Begin())); - + TEndpoint ep2(new NAddr::TAddrInfo(&*na2.Begin())); + TNetworkAddress na3(ip2, 24242); - TEndpoint ep3(new NAddr::TAddrInfo(&*na3.Begin())); - + TEndpoint ep3(new NAddr::TAddrInfo(&*na3.Begin())); + TNetworkAddress na4(ip2, 24243); - TEndpoint ep4(new NAddr::TAddrInfo(&*na4.Begin())); - - UNIT_ASSERT(ep1 == ep2); - UNIT_ASSERT(!(ep1 == ep3)); - UNIT_ASSERT(!(ep1 == ep4)); - } + TEndpoint ep4(new NAddr::TAddrInfo(&*na4.Begin())); + + UNIT_ASSERT(ep1 == ep2); + UNIT_ASSERT(!(ep1 == ep3)); + UNIT_ASSERT(!(ep1 == ep4)); + } Y_UNIT_TEST(TestIsUnixSocket) { TNetworkAddress na1(TUnixSocketPath("/tmp/unixsocket")); |