Revert patch that seems to cause problems with dns resolution

This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2021-03-24 11:46:41 +01:00
parent 6384abb1d1
commit 65248cc181
2 changed files with 62 additions and 1 deletions

View File

@ -0,0 +1,55 @@
From 9ac47d37a59142a66ac13f58bef197117ff53141 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Wed, 24 Mar 2021 11:42:39 +0100
Subject: [PATCH] Revert "resolved: gracefully handle with packets with too
large RR count"
This reverts commit 18674159ebbf622a9e6e5a45cc36b38f74dae315.
There are multiple reports that this breaks lookups for people, and reverting
this commit, even on the main branch (approx. v248-rc4), fixes the issue.
https://github.com/systemd/systemd/issues/18917#issuecomment-799421587
https://bodhi.fedoraproject.org/updates/FEDORA-2021-1c1a870ceb
---
src/resolve/resolved-dns-packet.c | 16 +---------------
1 file changed, 1 insertion(+), 15 deletions(-)
diff --git a/src/resolve/resolved-dns-packet.c b/src/resolve/resolved-dns-packet.c
index abc978ab83..15c8123f6a 100644
--- a/src/resolve/resolved-dns-packet.c
+++ b/src/resolve/resolved-dns-packet.c
@@ -2271,18 +2271,6 @@ static int dns_packet_extract_answer(DnsPacket *p, DnsAnswer **ret_answer) {
bool cache_flush = false;
size_t start;
- if (p->rindex == p->size) {
- /* If we reached the end of the packet already, but there are still more RRs
- * declared, then that's a corrupt packet. Let's accept the packet anyway, since it's
- * apparently a common bug in routers. Let's however suppress OPT support in this
- * case, so that we force the rest of the logic into lowest DNS baseline support. Or
- * to say this differently: if the DNS server doesn't even get the RR counts right,
- * it's highly unlikely it gets EDNS right. */
- log_debug("More resource records declared in packet than included, suppressing OPT.");
- bad_opt = true;
- break;
- }
-
r = dns_packet_read_rr(p, &rr, &cache_flush, &start);
if (r < 0)
return r;
@@ -2382,10 +2370,8 @@ static int dns_packet_extract_answer(DnsPacket *p, DnsAnswer **ret_answer) {
previous = dns_resource_record_ref(rr);
}
- if (bad_opt) {
+ if (bad_opt)
p->opt = dns_resource_record_unref(p->opt);
- p->opt_start = p->opt_size = SIZE_MAX;
- }
*ret_answer = TAKE_PTR(answer);
--
2.30.2

View File

@ -21,7 +21,7 @@
Name: systemd
Url: https://www.freedesktop.org/wiki/Software/systemd
Version: 248~rc4
Release: 3%{?dist}
Release: 4%{?dist}
# For a breakdown of the licensing, see README
License: LGPLv2+ and MIT and GPLv2+
Summary: System and Service Manager
@ -89,6 +89,8 @@ Patch0004: https://github.com/systemd/systemd/commit/5cdb3f70ebe035323f4f07
Patch0005: https://github.com/systemd/systemd/commit/f9b3afae96c72564cd4cd766555845f17e3c12a9.patch
Patch0006: https://github.com/systemd/systemd/commit/0e557eef37c9ebcc8f5c19fc6fc44b6fd617cc5d.patch
Patch0007: 0001-Revert-resolved-gracefully-handle-with-packets-with-.patch
# Downstream-only patches (50009999)
# https://bugzilla.redhat.com/show_bug.cgi?id=1738828
Patch0500: use-bfq-scheduler.patch
@ -966,6 +968,10 @@ getent passwd systemd-network &>/dev/null || useradd -r -u 192 -l -g systemd-net
%files standalone-sysusers -f .file-list-standalone-sysusers
%changelog
* Wed Mar 24 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 248~rc4-4
- Revert patch that seems to cause problems with dns resolution
(see comments on https://bodhi.fedoraproject.org/updates/FEDORA-2021-1c1a870ceb)
* Mon Mar 22 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 248~rc4-3
- Fix hang when processing timers during DST switch in Europe/Dublin timezone (#1941335)
- Fix returning combined IPv4/IPv6 responses from systemd-resolved cache (#1940715)