summaryrefslogtreecommitdiffstats
path: root/src/resolve/resolved-manager.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2020-11-06 17:30:58 +0100
committerLennart Poettering <lennart@poettering.net>2021-02-15 16:27:40 +0100
commitbde69bbd893941d3480d647f3c3bdd898af85400 (patch)
treea7cc4e986525ac0039e769eecaffe84e5311fb01 /src/resolve/resolved-manager.c
parentresolved: allow DNS_PACKET_DATA() argument to be const (diff)
downloadsystemd-bde69bbd893941d3480d647f3c3bdd898af85400.tar.xz
systemd-bde69bbd893941d3480d647f3c3bdd898af85400.zip
resolved: filter repeated stub queries
Let's suppress repeated stub queries coming in, to minimize resource usage. Many DNS clients are pretty aggressive regarding repeating DNS requests, hence let's find them and suppress the follow-ups should we need more time to fulfill the queries.
Diffstat (limited to 'src/resolve/resolved-manager.c')
-rw-r--r--src/resolve/resolved-manager.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/resolve/resolved-manager.c b/src/resolve/resolved-manager.c
index b41308204e..a099770054 100644
--- a/src/resolve/resolved-manager.c
+++ b/src/resolve/resolved-manager.c
@@ -739,6 +739,8 @@ Manager *manager_free(Manager *m) {
while (m->dns_queries)
dns_query_free(m->dns_queries);
+ m->stub_queries_by_packet = hashmap_free(m->stub_queries_by_packet);
+
dns_scope_free(m->unicast_scope);
/* At this point only orphaned streams should remain. All others should have been freed already by their