+dnsmasq_ignore_opt() {
+ local opt="$1"
+
+ if [ -z "$dnsmasq_features" ]; then
+ dnsmasq_features="$(dnsmasq --version | grep -m1 'Compile time options:' | cut -d: -f2) "
+ [ "${dnsmasq_features#* DHCP }" = "$dnsmasq_features" ] || dnsmasq_has_dhcp=1
+ [ "${dnsmasq_features#* DHCPv6 }" = "$dnsmasq_features" ] || dnsmasq_has_dhcp6=1
+ [ "${dnsmasq_features#* DNSSEC }" = "$dnsmasq_features" ] || dnsmasq_has_dnssec=1
+ [ "${dnsmasq_features#* TFTP }" = "$dnsmasq_features" ] || dnsmasq_has_tftp=1
+ [ "${dnsmasq_features#* ipset }" = "$dnsmasq_features" ] || dnsmasq_has_ipset=1
+ fi
+
+ case "$opt" in
+ dhcp-duid|\
+ ra-param)
+ [ -z "$dnsmasq_has_dhcp6" ] ;;
+ dhcp-*|\
+ bootp-*|\
+ pxe-*)
+ [ -z "$dnsmasq_has_dhcp" ] ;;
+ dnssec*|\
+ trust-anchor)
+ if [ -z "$dnsmasq_has_dnssec" ]; then
+ echo "dnsmasq: \"$opt\" requested, but dnssec support is not available" >&2
+ exit 1
+ fi
+ return 1
+ ;;
+ tftp-*)
+ [ -z "$dnsmasq_has_tftp" ] ;;
+ ipset)
+ [ -z "$dnsmasq_has_ipset" ] ;;
+ *)
+ return 1
+ esac
+}
+