1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2024-10-27 01:55:32 +03:00

resolved: tweak sections we add answer RRs to

Previously we'd stick all answer sections RRs we acquired into
the authoritative section if we didn't find them directly answering our
question. Let's put them into additional instead. The authoritative
section should hence only include what comes from the upstream
authoritative section, and nothing else.
This commit is contained in:
Lennart Poettering 2021-03-24 22:02:55 +01:00
parent 8640566ac4
commit d451f0e84b

View File

@ -323,16 +323,8 @@ static int dns_stub_assign_sections(
if (r < 0)
return r;
/* Include all RRs that originate from the answer or authority sections, and aren't listed in the
/* Include all RRs that originate from the authority sections, and aren't already listed in the
* answer section, in the authority section */
r = dns_stub_collect_answer_by_section(
&q->reply_authoritative,
q->answer,
DNS_ANSWER_SECTION_ANSWER,
q->reply_answer, NULL,
edns0_do);
if (r < 0)
return r;
r = dns_stub_collect_answer_by_section(
&q->reply_authoritative,
q->answer,
@ -342,8 +334,16 @@ static int dns_stub_assign_sections(
if (r < 0)
return r;
/* Include all RRs that originate from the additional sections in the additional section (except if
* already listed in the other two sections). Also add all RRs with no section marking. */
/* Include all RRs that originate from the answer or additional sections in the additional section
* (except if already listed in the other two sections). Also add all RRs with no section marking. */
r = dns_stub_collect_answer_by_section(
&q->reply_additional,
q->answer,
DNS_ANSWER_SECTION_ANSWER,
q->reply_answer, q->reply_authoritative,
edns0_do);
if (r < 0)
return r;
r = dns_stub_collect_answer_by_section(
&q->reply_additional,
q->answer,