]> git.ipfire.org Git - thirdparty/pdns.git/blame - pdns/dnsdist-protobuf.cc
More licensing everywhere
[thirdparty/pdns.git] / pdns / dnsdist-protobuf.cc
CommitLineData
ec469dd7
RG
1
2#include "config.h"
3
4#include "dnsdist.hh"
85c7ca75 5#include "gettime.hh"
ec469dd7
RG
6
7#include "dnsparser.hh"
8#include "dnsdist-protobuf.hh"
9
10#ifdef HAVE_PROTOBUF
11#include "dnsmessage.pb.h"
12
d9d3f9c1 13DNSDistProtoBufMessage::DNSDistProtoBufMessage(DNSProtoBufMessageType type, const DNSQuestion& dq): DNSProtoBufMessage(type, dq.uniqueId, dq.remote, dq.local, *dq.qname, dq.qtype, dq.qclass, dq.dh->id, dq.tcp, dq.len)
ec469dd7 14{
d9d3f9c1
RG
15 if (type == Response) {
16 PBDNSMessage_DNSResponse* response = d_message.mutable_response();
17 if (response) {
18 response->set_rcode(dq.dh->rcode);
ec469dd7 19 }
d9d3f9c1 20 addRRsFromPacket((const char*) dq.dh, dq.len);
ec469dd7 21 }
d9d3f9c1 22};
ec469dd7 23
58307a85
RG
24DNSDistProtoBufMessage::DNSDistProtoBufMessage(const DNSResponse& dr): DNSProtoBufMessage(Response, dr.uniqueId, dr.remote, dr.local, *dr.qname, dr.qtype, dr.qclass, dr.dh->id, dr.tcp, dr.len)
25{
26 setQueryTime(dr.queryTime->tv_sec, dr.queryTime->tv_nsec / 1000);
27 setResponseCode(dr.dh->rcode);
28 addRRsFromPacket((const char*) dr.dh, dr.len);
29};
30
ec469dd7 31#endif /* HAVE_PROTOBUF */