df07d98243
The current code is inefficient when dealing with replies exceeding the PACKETSZ default size. This commit adds an EDNS0 footer to the DNS query informing the DNS server how big our buffer is. We choose a larger buffer than the old PACKETSZ so more will fit before a Virtual Circuit (TCP socket) is required. The choice is based on IPv6 requirements for the minimum MTU. Any network incapable of transmitting frames with that big a payload must support fragmenting and reassembly at the Layer 2 level, below IP. Ethernet MTU is usually 1500, so we leave a bit on the table, but this avoids having to discover our Path MTU to the DNS server. This is incomplete: DNS queries above the 1232-byte limit still perform the same query four times. Change-Id: I3e3bfef633af4130a03afffd175e72f7fbc9265d Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> |
||
---|---|---|
.github/workflows | ||
bin | ||
cmake | ||
coin | ||
config.tests | ||
dist | ||
doc | ||
examples | ||
lib | ||
libexec | ||
LICENSES | ||
mkspecs | ||
qmake | ||
src | ||
tests | ||
util | ||
.cmake.conf | ||
.gitattributes | ||
.gitignore | ||
.lgtm.yml | ||
.tag | ||
CMakeLists.txt | ||
conanfile.py | ||
config_help.txt | ||
configure | ||
configure.bat | ||
configure.cmake | ||
dependencies.yaml | ||
qt_cmdline.cmake | ||
sync.profile |