This commit is contained in:
Loïc Blot 2019-02-15 12:27:29 +01:00
parent 88c68ce8ec
commit 3dafc007a9
2 changed files with 7 additions and 6 deletions

@ -272,7 +272,8 @@ void Address::print(std::ostream *s) const
*s << serializeString() << ":" << m_port; *s << serializeString() << ":" << m_port;
} }
bool Address::isLocalhost() const { bool Address::isLocalhost() const
{
if (isIPv6()) { if (isIPv6()) {
static const unsigned char localhost_bytes[] = { static const unsigned char localhost_bytes[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1};
@ -281,8 +282,10 @@ bool Address::isLocalhost() const {
auto addr = m_address.ipv6.sin6_addr.s6_addr; auto addr = m_address.ipv6.sin6_addr.s6_addr;
// clang-format off
return memcmp(addr, localhost_bytes, 16) == 0 || return memcmp(addr, localhost_bytes, 16) == 0 ||
memcmp(addr, mapped_ipv4_localhost, 13) == 0; memcmp(addr, mapped_ipv4_localhost, 13) == 0;
// clang-format on
} }
return (m_address.ipv4.sin_addr.s_addr & 0xFF) == 0x7f; return (m_address.ipv4.sin_addr.s_addr & 0xFF) == 0x7f;

@ -23,12 +23,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "settings.h" #include "settings.h"
#include "network/socket.h" #include "network/socket.h"
class TestAddress : public TestBase { class TestAddress : public TestBase
{
public: public:
TestAddress() TestAddress() { TestManager::registerTestModule(this); }
{
TestManager::registerTestModule(this);
}
const char *getName() { return "TestAddress"; } const char *getName() { return "TestAddress"; }