correct endian

pull/90/head
Jeff Becker 6 years ago
parent 7bc3d94895
commit 34e65a3e9a
No known key found for this signature in database
GPG Key ID: F357B3B42F6F9B05

@ -240,19 +240,13 @@ namespace llarp
bool
Contains(const huint32_t& ip) const
{
// TODO: do this "better"
return (addr & netmask_bits) == (ip & netmask_bits);
}
friend std::ostream&
operator<<(std::ostream& out, const IPRange& a)
{
char strbuf[32] = {0};
char netbuf[32] = {0};
inet_ntop(AF_INET, (void*)&a.addr, strbuf, sizeof(strbuf));
inet_ntop(AF_INET, (void*)&a.netmask_bits, netbuf, sizeof(netbuf));
out << std::string(strbuf) + "/" + std::string(netbuf);
return out;
return out << a.addr << "/" << a.netmask_bits;
}
};
@ -261,7 +255,7 @@ namespace llarp
__netmask_ipv4_bits(uint32_t numset)
{
return (32 - numset)
? (1 << (32 - (numset + 1))) | __netmask_ipv4_bits(numset + 1)
? (1 << numset) | __netmask_ipv4_bits(numset + 1)
: 0;
}
@ -275,7 +269,11 @@ namespace llarp
constexpr huint32_t
ipaddr_ipv4_bits(uint32_t a, uint32_t b, uint32_t c, uint32_t d)
{
#if __BYTE_ORDER == __ORDER_BIG_ENDIAN__
return huint32_t{(a) | (b << 8) | (c << 16) | (d << 24)};
#else
return huint32_t{(d) | (c << 8) | (b << 16) | (a << 24)};
#endif
}
constexpr IPRange

@ -462,7 +462,7 @@ handle_recvfrom(llarp_buffer_t buffer, dnsd_question_request *request)
llarp::LogDebug("HOOKED: Not sending a response");
return;
}
if(intercept->dontLookUp == true && intercept->returnThis.h)
if(intercept->dontLookUp && intercept->returnThis.h)
{
llarp::LogDebug("HOOKED: sending an immediate override");
// told that hook will handle overrides

@ -104,7 +104,7 @@ TEST_F(NetTest, TestinAddrH32)
TEST_F(NetTest, TestRangeContains8)
{
ASSERT_TRUE(llarp::iprange_ipv4(10, 0, 0, 0, 8)
ASSERT_TRUE(llarp::iprange_ipv4(10, 0, 0, 1, 8)
.Contains(llarp::ipaddr_ipv4_bits(10, 40, 11, 6)));
}
@ -123,8 +123,10 @@ TEST_F(NetTest, TestRangeContainsFail)
TEST_F(NetTest, TestIPv4Netmask)
{
ASSERT_TRUE(llarp::xhtonl(llarp::netmask_ipv4_bits(8))
== llarp::nuint32_t{0xFF000000});
ASSERT_TRUE(llarp::netmask_ipv4_bits(8)
== llarp::huint32_t{0xFF000000});
ASSERT_TRUE(llarp::netmask_ipv4_bits(24)
== llarp::huint32_t{0xFFFFFF00});
};
TEST_F(NetTest, TestBogon_10_8)

Loading…
Cancel
Save