ecsRange = Netmask(g_vm["ecs"].as<string>());
if (!ecsRange.empty()) {
- if (!ecsRange.isIpv4()) {
+ if (!ecsRange.isIPv4()) {
cerr<<"Only IPv4 ranges are supported for ECS at the moment!"<<endl;
return EXIT_FAILURE;
}
{
// this is an upper bound
optsize += EDNS_OPTION_CODE_SIZE + EDNS_OPTION_LENGTH_SIZE + 2 + 1 + 1; // code+len+family+src len+scope len
- optsize += d_eso.source.isIpv4() ? 4 : 16;
+ optsize += d_eso.source.isIPv4() ? 4 : 16;
}
if (d_trc.d_algoName.countLabels())
const ComboAddress getMaskedNetwork() const
{
ComboAddress result(d_network);
- if(isIpv4()) {
+ if(isIPv4()) {
result.sin4.sin_addr.s_addr = htonl(ntohl(result.sin4.sin_addr.s_addr) & d_mask);
}
else if(isIPv6()) {
{
return d_network.sin6.sin6_family == AF_INET6;
}
- bool isIpv4() const
+ bool isIPv4() const
{
return d_network.sin4.sin_family == AF_INET;
}
d_lw->writeFunction("newNetmask", [](const string& s) { return Netmask(s); });
d_lw->registerFunction<ComboAddress(Netmask::*)()>("getNetwork", [](const Netmask& nm) { return nm.getNetwork(); } ); // const reference makes this necessary
d_lw->registerFunction<ComboAddress(Netmask::*)()>("getMaskedNetwork", [](const Netmask& nm) { return nm.getMaskedNetwork(); } );
- d_lw->registerFunction("isIpv4", &Netmask::isIpv4);
+ d_lw->registerFunction("isIpv4", &Netmask::isIPv4);
+ d_lw->registerFunction("isIPv4", &Netmask::isIPv4);
d_lw->registerFunction("isIpv6", &Netmask::isIPv6);
d_lw->registerFunction("isIPv6", &Netmask::isIPv6);
d_lw->registerFunction("getBits", &Netmask::getBits);
const ComboAddress& requestor = requestorNM.getMaskedNetwork();
RecProtoBufMessage message(DNSProtoBufMessage::Query, uniqueId, &requestor, &local, qname, qtype, qclass, id, tcp, len);
message.setServerIdentity(SyncRes::s_serverID);
- message.setEDNSSubnet(ednssubnet, ednssubnet.isIpv4() ? maskV4 : maskV6);
+ message.setEDNSSubnet(ednssubnet, ednssubnet.isIPv4() ? maskV4 : maskV6);
message.setRequestorId(requestorId);
message.setDeviceId(deviceId);
message.setDeviceName(deviceName);
const ComboAddress& requestor = requestorNM.getMaskedNetwork();
pbMessage = RecProtoBufMessage(RecProtoBufMessage::Response, dc->d_uuid, &requestor, &dc->d_destination, dc->d_mdp.d_qname, dc->d_mdp.d_qtype, dc->d_mdp.d_qclass, dc->d_mdp.d_header.id, dc->d_tcp, 0);
pbMessage->setServerIdentity(SyncRes::s_serverID);
- pbMessage->setEDNSSubnet(dc->d_ednssubnet.source, dc->d_ednssubnet.source.isIpv4() ? luaconfsLocal->protobufMaskV4 : luaconfsLocal->protobufMaskV6);
+ pbMessage->setEDNSSubnet(dc->d_ednssubnet.source, dc->d_ednssubnet.source.isIPv4() ? luaconfsLocal->protobufMaskV4 : luaconfsLocal->protobufMaskV6);
}
#endif /* HAVE_PROTOBUF */
Netmask requestorNM(source, source.sin4.sin_family == AF_INET ? luaconfsLocal->protobufMaskV4 : luaconfsLocal->protobufMaskV6);
const ComboAddress& requestor = requestorNM.getMaskedNetwork();
pbMessage->update(uniqueId, &requestor, &destination, false, dh->id);
- pbMessage->setEDNSSubnet(ednssubnet.source, ednssubnet.source.isIpv4() ? luaconfsLocal->protobufMaskV4 : luaconfsLocal->protobufMaskV6);
+ pbMessage->setEDNSSubnet(ednssubnet.source, ednssubnet.source.isIPv4() ? luaconfsLocal->protobufMaskV4 : luaconfsLocal->protobufMaskV6);
if (g_useKernelTimestamp && tv.tv_sec) {
pbMessage->setQueryTime(tv.tv_sec, tv.tv_usec);
}
if (i->first.place == DNSResourceRecord::ANSWER && ednsmask) {
// If ednsmask is relevant, we do not want to cache if the scope prefix length is large and TTL is small
if (SyncRes::s_ecscachelimitttl > 0) {
- bool manyMaskBits = (ednsmask->isIpv4() && ednsmask->getBits() > SyncRes::s_ecsipv4cachelimit) ||
+ bool manyMaskBits = (ednsmask->isIPv4() && ednsmask->getBits() > SyncRes::s_ecsipv4cachelimit) ||
(ednsmask->isIPv6() && ednsmask->getBits() > SyncRes::s_ecsipv6cachelimit);
if (manyMaskBits) {
s_ecsresponses++;
LOG(prefix<<qname<<": Received EDNS Client Subnet Mask "<<ednsmask->toString()<<" on response"<<endl);
if (ednsmask->getBits() > 0) {
- if (ednsmask->isIpv4()) {
+ if (ednsmask->isIPv4()) {
++SyncRes::s_ecsResponsesBySubnetSize4.at(ednsmask->getBits()-1);
}
else {
if (incomingECS && incomingECS->source.getBits() > 0) {
d_cacheRemote = incomingECS->source.getMaskedNetwork();
- uint8_t bits = std::min(incomingECS->source.getBits(), (incomingECS->source.isIpv4() ? s_ecsipv4limit : s_ecsipv6limit));
+ uint8_t bits = std::min(incomingECS->source.getBits(), (incomingECS->source.isIPv4() ? s_ecsipv4limit : s_ecsipv6limit));
ComboAddress trunc = incomingECS->source.getNetwork();
trunc.truncate(bits);
d_outgoingECSNetwork = boost::optional<Netmask>(Netmask(trunc, bits));
BOOST_CHECK(nm.getBits() == 24);
BOOST_CHECK(nm.match(local));
BOOST_CHECK(!nm.match(remote));
- BOOST_CHECK(nm.isIpv4());
+ BOOST_CHECK(nm.isIPv4());
BOOST_CHECK(!nm.isIPv6());
Netmask nm6("fe80::92fb:a6ff:fe4a:51da/64");
BOOST_CHECK(nm6.getBits() == 64);
BOOST_CHECK(nm6.match("fe80::92fb:a6ff:fe4a:51db"));
BOOST_CHECK(!nm6.match("fe81::92fb:a6ff:fe4a:51db"));
- BOOST_CHECK(!nm6.isIpv4());
+ BOOST_CHECK(!nm6.isIPv4());
BOOST_CHECK(nm6.isIPv6());
Netmask nmp("130.161.252.29/32");