requestor.setPort(remote.getPort());
pdns::ProtoZero::Message m{128, std::string::size_type(policyTags.empty() ? 0 : 64)}; // XXX guesses at sizes
- m.request(uniqueId, requestor, local, qname, qtype, qclass, id, tcp, len);
+ m.setRequest(uniqueId, requestor, local, qname, qtype, qclass, id, tcp, len);
m.setServerIdentity(SyncRes::s_serverID);
m.setEDNSSubnet(ednssubnet, ednssubnet.isIPv4() ? maskV4 : maskV6);
m.setRequestorId(requestorId);
#ifdef HAVE_PROTOBUF
if (checkProtobufExport(luaconfsLocal)) {
pbMessage = make_unique<pdns::ProtoZero::Message>(128, 128); // XXX guess at sizes
- pbMessage->response(dc->d_mdp.d_qname, dc->d_mdp.d_qtype, dc->d_mdp.d_qclass);
+ pbMessage->setResponse(dc->d_mdp.d_qname, dc->d_mdp.d_qtype, dc->d_mdp.d_qclass);
pbMessage->setServerIdentity(SyncRes::s_serverID);
// RRSets added below
}
needCommit = true;
-#ifdef NOD_ENABLED
bool udr = false;
+#ifdef NOD_ENABLED
if (g_udrEnabled) {
udr = udrCheckUniqueDNSRecord(dc->d_mdp.d_qname, dc->d_mdp.d_qtype, *i);
if (!hasUDR && udr)
hasUDR = true;
}
-#endif /* NOD ENABLED */
+#endif /* NOD ENABLED */
#ifdef HAVE_PROTOBUF
if (t_protobufServers) {
-#ifdef NOD_ENABLED
- // if (g_udrEnabled) ?
pbMessage->addRR(*i, luaconfsLocal->protobufExportConfig.exportTypes, udr);
-#else
- pbMessage->addRR(*i, luaconfsLocal->protobufExportConfig.exportTypes);
-#endif /* NOD_ENABLED */
}
#endif
}
// leaving the block will cause the sub writer to compute how much was written based on the new size and update the size accordingly
}
-void pdns::ProtoZero::Message::request(const boost::uuids::uuid& uniqueId, const ComboAddress& requestor, const ComboAddress& local, const DNSName& qname, uint16_t qtype, uint16_t qclass, uint16_t id, bool tcp, size_t len)
+void pdns::ProtoZero::Message::setRequest(const boost::uuids::uuid& uniqueId, const ComboAddress& requestor, const ComboAddress& local, const DNSName& qname, uint16_t qtype, uint16_t qclass, uint16_t id, bool tcp, size_t len)
{
setType(1);
setMessageIdentity(uniqueId);
setToPort(local.getPort());
}
-void pdns::ProtoZero::Message::response(const DNSName& qname, uint16_t qtype, uint16_t qclass)
+void pdns::ProtoZero::Message::setResponse(const DNSName& qname, uint16_t qtype, uint16_t qclass)
{
setType(2);
setQuestion(qname, qtype, qclass);
}
-#ifdef NOD_ENABLED
void pdns::ProtoZero::Message::addRR(const DNSRecord& record, const std::set<uint16_t>& exportTypes, bool udr)
-#else
-void pdns::ProtoZero::Message::addRR(const DNSRecord& record, const std::set<uint16_t>& exportTypes)
-#endif /* NOD_ENABLED */
{
if (record.d_place != DNSResourceRecord::ANSWER || record.d_class != QClass::IN) {
return;
namespace ProtoZero {
class Message {
public:
- // Start a new messagebug, constaining separate data for the response part
+ // Start a new messagebuf, containing separate data for the response part
Message(std::string::size_type sz1, std::string::size_type sz2) : d_message{d_msgbuf}, d_response{d_rspbuf}
{
// This is extra space in addition to what's already there
void encodeComboAddress(protozero::pbf_tag_type type, const ComboAddress& ca);
void encodeNetmask(protozero::pbf_tag_type type, const Netmask& subnet, uint8_t mask);
void encodeDNSName(protozero::pbf_writer& pbf, std::string& buffer, protozero::pbf_tag_type type, const DNSName& name);
- void request(const boost::uuids::uuid& uniqueId, const ComboAddress& requestor, const ComboAddress& local, const DNSName& qname, uint16_t qtype, uint16_t qclass, uint16_t id, bool tcp, size_t len);
- void response(const DNSName& qname, uint16_t qtype, uint16_t qclass);
+ void setRequest(const boost::uuids::uuid& uniqueId, const ComboAddress& requestor, const ComboAddress& local, const DNSName& qname, uint16_t qtype, uint16_t qclass, uint16_t id, bool tcp, size_t len);
+ void setResponse(const DNSName& qname, uint16_t qtype, uint16_t qclass);
void setType(int mtype)
{
{
d_response.add_uint32(1, rcode);
}
-#ifdef NOD_ENABLED
+
void addRR(const DNSRecord& record, const std::set<uint16_t>& exportTypes, bool udr);
-#else
- void addRR(const DNSRecord& record, const std::set<uint16_t>& exportTypes);
-#endif
+
void setAppliedPolicy(const std::string& policy)
{
d_response.add_string(3, policy);