]> git.ipfire.org Git - thirdparty/systemd.git/commit
resolved: instead of closing DNS UDP transaction fds right-away, add them to a socket...
authorLennart Poettering <lennart@poettering.net>
Fri, 6 Nov 2020 12:32:53 +0000 (13:32 +0100)
committerLennart Poettering <lennart@poettering.net>
Mon, 15 Feb 2021 22:14:32 +0000 (23:14 +0100)
commit80710ade03d971a8877fde8ce9d42eb2b07f4c47
treeda07a32bb5416b4b26a20b5b1a3217a970726f9b
parent0886999416a299beeafdf91233eeb52512b1fbb9
resolved: instead of closing DNS UDP transaction fds right-away, add them to a socket "graveyard"

The "socket graveyard" shall contain sockets we have sent a question out
of, but not received a reply. If we'd close thus sockets immediately
when we are not interested anymore, we'd trigger ICMP port unreachable
messages once we after all *do* get a reply. Let's avoid that, by
leaving the fds open for a bit longer, until a timeout is reached or a
reply datagram received.

Fixes: #17421
src/resolve/meson.build
src/resolve/resolved-dns-transaction.c
src/resolve/resolved-manager.c
src/resolve/resolved-manager.h
src/resolve/resolved-socket-graveyard.c [new file with mode: 0644]
src/resolve/resolved-socket-graveyard.h [new file with mode: 0644]