From d40e1233ceb97d57736f5833a74015256e6f6a4e Mon Sep 17 00:00:00 2001 From: Aki Tuomi Date: Wed, 14 Nov 2018 13:19:39 +0200 Subject: [PATCH] geoipbackend: Allow empty content for ENT record Fixes #7195 --- modules/geoipbackend/geoipbackend.cc | 2 +- modules/geoipbackend/regression-tests/ent-resolution/command | 3 +++ .../geoipbackend/regression-tests/ent-resolution/description | 1 + .../regression-tests/ent-resolution/expected_result | 3 +++ 4 files changed, 8 insertions(+), 1 deletion(-) create mode 100755 modules/geoipbackend/regression-tests/ent-resolution/command create mode 100644 modules/geoipbackend/regression-tests/ent-resolution/description create mode 100644 modules/geoipbackend/regression-tests/ent-resolution/expected_result diff --git a/modules/geoipbackend/geoipbackend.cc b/modules/geoipbackend/geoipbackend.cc index de1d2ffa60..5ed467b6dd 100644 --- a/modules/geoipbackend/geoipbackend.cc +++ b/modules/geoipbackend/geoipbackend.cc @@ -321,7 +321,7 @@ bool GeoIPBackend::lookup_static(const GeoIPDomain &dom, const DNSName &search, } if (qtype == QType::ANY || rr.qtype == qtype) { const string& content = format2str(rr.content, ip, v6, gl); - if (rr.qtype != QType::TXT && content.empty()) continue; + if (rr.qtype != QType::ENT && rr.qtype != QType::TXT && content.empty()) continue; d_result.push_back(rr); d_result.back().content = content; d_result.back().qname = qdomain; diff --git a/modules/geoipbackend/regression-tests/ent-resolution/command b/modules/geoipbackend/regression-tests/ent-resolution/command new file mode 100755 index 0000000000..6f14024a4e --- /dev/null +++ b/modules/geoipbackend/regression-tests/ent-resolution/command @@ -0,0 +1,3 @@ +#!/bin/sh + +cleandig o1.city.geo.example.com A diff --git a/modules/geoipbackend/regression-tests/ent-resolution/description b/modules/geoipbackend/regression-tests/ent-resolution/description new file mode 100644 index 0000000000..781bb70949 --- /dev/null +++ b/modules/geoipbackend/regression-tests/ent-resolution/description @@ -0,0 +1 @@ +This test ensures that non-empty terminals are processed correctly. diff --git a/modules/geoipbackend/regression-tests/ent-resolution/expected_result b/modules/geoipbackend/regression-tests/ent-resolution/expected_result new file mode 100644 index 0000000000..1c333a888e --- /dev/null +++ b/modules/geoipbackend/regression-tests/ent-resolution/expected_result @@ -0,0 +1,3 @@ +1 geo.example.com. IN SOA 30 ns1.example.com. hostmaster.example.com. 2014090125 7200 3600 1209600 3600 +Rcode: 0 (No Error), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 +Reply to question for qname='o1.city.geo.example.com.', qtype=A -- 2.47.2