From 80d1a5ff2ed2a6b2682aeaf44938f223be7e2d46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A1n=20Tomko?= Date: Tue, 14 Dec 2021 17:36:23 +0100 Subject: [PATCH] util: dnsmasq: mandate at least version 2.67 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit All the capabilities should be supported in 2.67. Make this the minimum version, since even the oldest distros we support have moved on: Debian 8: 2.72 CentOS 7: 2.76 Ubuntu 18.04: 2.79 Signed-off-by: Ján Tomko Reviewed-by: Laine Stump --- src/util/virdnsmasq.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/util/virdnsmasq.c b/src/util/virdnsmasq.c index 90a1ea35b6..f7743953e6 100644 --- a/src/util/virdnsmasq.c +++ b/src/util/virdnsmasq.c @@ -49,6 +49,9 @@ VIR_LOG_INIT("util.dnsmasq"); #define DNSMASQ_HOSTSFILE_SUFFIX "hostsfile" #define DNSMASQ_ADDNHOSTSFILE_SUFFIX "addnhosts" +#define DNSMASQ_MIN_MAJOR 2 +#define DNSMASQ_MIN_MINOR 67 + static void dhcphostFreeContent(dnsmasqDhcpHost *host) { @@ -627,6 +630,15 @@ dnsmasqCapsSetFromBuffer(dnsmasqCaps *caps, const char *buf) if (virParseVersionString(p, &caps->version, true) < 0) goto error; + if (caps->version < DNSMASQ_MIN_MAJOR * 1000000 + DNSMASQ_MIN_MINOR * 1000) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("dnsmasq version >= %u.%u required but %lu.%lu found"), + DNSMASQ_MIN_MAJOR, DNSMASQ_MIN_MINOR, + caps->version / 1000000, + caps->version % 1000000 / 1000); + goto error; + } + if (strstr(buf, "--bind-dynamic")) dnsmasqCapsSet(caps, DNSMASQ_CAPS_BIND_DYNAMIC);