summaryrefslogtreecommitdiffstats
path: root/src/resolve/resolved-dns-packet.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2015-12-09 17:45:00 +0100
committerLennart Poettering <lennart@poettering.net>2015-12-10 11:35:52 +0100
commit8b5b5649474ca1d4c1f27f41ed767f16a7a2f14c (patch)
treea24fef5d4231675e7a3bcfa8aea0a31e59ffacdb /src/resolve/resolved-dns-packet.c
parentresolved: when parsing DNS packets, handle OPT RR specially (diff)
downloadsystemd-8b5b5649474ca1d4c1f27f41ed767f16a7a2f14c.tar.xz
systemd-8b5b5649474ca1d4c1f27f41ed767f16a7a2f14c.zip
resolved: IXFR and AXFR cannot be the type of RRs, only of RR keys
Enforce this while parsing RRs.
Diffstat (limited to 'src/resolve/resolved-dns-packet.c')
-rw-r--r--src/resolve/resolved-dns-packet.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/resolve/resolved-dns-packet.c b/src/resolve/resolved-dns-packet.c
index d20814651e..b9c2dee557 100644
--- a/src/resolve/resolved-dns-packet.c
+++ b/src/resolve/resolved-dns-packet.c
@@ -1526,7 +1526,9 @@ int dns_packet_read_rr(DnsPacket *p, DnsResourceRecord **ret, size_t *start) {
goto fail;
if (key->class == DNS_CLASS_ANY ||
- key->type == DNS_TYPE_ANY) {
+ key->type == DNS_TYPE_ANY ||
+ key->type == DNS_TYPE_AXFR ||
+ key->type == DNS_TYPE_IXFR) {
r = -EBADMSG;
goto fail;
}