systemd/SOURCES/0935-resolved-close-UDP-soc...

27 lines
1.1 KiB
Diff

From 648fe0097229c7ae46a6b5911521cef27a726cbe Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
Date: Fri, 6 Nov 2020 14:31:56 +0100
Subject: [PATCH] resolved: close UDP socket when we received a network error
on it
(cherry picked from commit d68dbb37d7408c025e736181f294152e2a515bf1)
Related: #2156751
---
src/resolve/resolved-dns-transaction.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/resolve/resolved-dns-transaction.c b/src/resolve/resolved-dns-transaction.c
index 95aea21134..c975215468 100644
--- a/src/resolve/resolved-dns-transaction.c
+++ b/src/resolve/resolved-dns-transaction.c
@@ -1250,6 +1250,8 @@ static int on_dns_packet(sd_event_source *s, int fd, uint32_t revents, void *use
assert_se(sd_event_now(t->scope->manager->event, clock_boottime_or_monotonic(), &usec) >= 0);
dns_server_packet_lost(t->server, IPPROTO_UDP, t->current_feature_level);
+ dns_transaction_close_connection(t, /* use_graveyard = */ false);
+
dns_transaction_retry(t, true);
return 0;
}