g_anyToTcp = ::arg().mustDo("any-to-tcp");
g_addSuperfluousNSEC3 = ::arg().mustDo("add-superfluous-nsec3-for-old-bind");
- DNSPacket::s_udpTruncationThreshold = ::arg().asNum("udp-truncation-threshold");
+ DNSPacket::s_udpTruncationThreshold = std::max(512, ::arg().asNum("udp-truncation-threshold"));
DNSPacket::s_doEDNSSubnetProcessing = ::arg().mustDo("edns-subnet-processing");
#ifndef WIN32
if(!opts.empty() || d_haveednssection || d_dnssecOk)
{
- pw.addOpt(2800, 0, d_dnssecOk ? EDNSOpts::DNSSECOK : 0, opts);
+ pw.addOpt(s_udpTruncationThreshold, 0, d_dnssecOk ? EDNSOpts::DNSSECOK : 0, opts);
pw.commit();
}
}
ComboAddress remote;
extern StatBag S;
int len=-1;
- char mesg[512];
+ char mesg[DNSPacket::s_udpTruncationThreshold];
Utility::sock_t sock=-1;
-
+
struct msghdr msgh;
struct iovec iov;
char cbuf[256];