You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
If a serviced query is in UDP_EDNS_FRAG mode, and EDNS_ADVERTISED_SIZE is 1232 (the default) or less, then the retry will have the same edns udp payload size with the same result.
This patch will, if the advertised udp payload size is not smaller, increase the retry count and continue until answer or no more targets to forward to.
I used this conf to test and the following firewall rule to drop responses and cause timeout net event.
$ cat example.conf
server:
username: ""
chroot: ""
directory: "/tmp"
do-daemonize: no
use-syslog: no
module-config: "iterator"
ip-freebind: yes
interface: lo
infra-keep-probing: yes
forward-zone:
name: "."
forward-addr: 8.8.8.8
$ sudo iptables-legacy -I INPUT -p udp -s 8.8.8.8 --sport 53 -j DROP
I have added pre and post patch pcap files in pcapfiles.tar.gz. The pre file has 9 (I was expecting 10) requests to 8.8.8.8 and the post file has the expected 5 requests before servfail.
If serviced query is in UDP_EDNS_FRAG mode, and EDNS_ADVERTISED_SIZE
is 1232 (the default) or more, then the retry will have the same edns
udp payload size with the same result.
The reason will be displayed to describe this comment to others. Learn more.
The code is neat and well written. The reuse of the function makes is easier to read. Moving to retry at a smaller size that then is going to be the same value as before, is not useful for resolving the query. So this code change looks good to have.
Thank you for the patch! That should avoid unnecessary retries, since the flag day changes made the default edns size drop from 4096 to 1232, the size is not smaller in that retry any more. The code has been merged into the code repository.
* nlnet/master: (40 commits)
- Fix unit test for NLnetLabs#987 change in udp1xxx retry packet send.
Changelog note for NLnetLabs#987 - Merge NLnetLabs#987: skip edns frag retry if advertised udp payload size is not smaller.
skip edns frag retry if advertised udp payload size is not smaller
- Remove unneeded newlines and improve indentation in remote control code.
- FixNLnetLabs#983: Sha1 runtime insecure change was incomplete.
Changelog note for NLnetLabs#985. - Merge NLnetLabs#985: Add DoH and DoT to dnstap message.
Changelog note for NLnetLabs#979 and NLnetLabs#980. - Merge NLnetLabs#980: DoH: reject non-h2 early. To fixNLnetLabs#979: Improve errors for non-HTTP/2 DoH clients.
Add DoH and DoT to dnstap message
- Update example.conf with cookie options.
DoH: reject non-h2 early
Fixup doc/Changelog.
- Fix root_zonemd unit test, it checks that the root ZONEMD verifies, now that the root has a valid ZONEMD.
Changelog note for NLnetLabs#975 - Merge NLnetLabs#975: Fixed some syntax errors in rpl files.
Fixed some syntax errors in rpl files.
- FixNLnetLabs#974: doc: default number of outgoing ports without libevent.
- Use the origin (DNAME) TTL for syntesized CNAMEs as per RFC 6672.
- Fix tests to use new common.sh functions, wait_logfile and kill_from_pidfile.
- Update test script file common.sh.
- Updated IPv4 and IPv6 address for b.root-servers.net in root hints.
- iana portlist update.
...
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hi,
If a serviced query is in UDP_EDNS_FRAG mode, and EDNS_ADVERTISED_SIZE is 1232 (the default) or less, then the retry will have the same edns udp payload size with the same result.
This patch will, if the advertised udp payload size is not smaller, increase the retry count and continue until answer or no more targets to forward to.
I used this conf to test and the following firewall rule to drop responses and cause timeout net event.
I have added pre and post patch pcap files in pcapfiles.tar.gz. The pre file has 9 (I was expecting 10) requests to 8.8.8.8 and the post file has the expected 5 requests before servfail.
Kind regards and a happy new year 2024!