diff options
author | John Klug <john.klug@multitech.com> | 2017-10-24 09:56:34 -0500 |
---|---|---|
committer | John Klug <john.klug@multitech.com> | 2017-10-24 09:56:34 -0500 |
commit | 6efed559a73c9534943f43f983c745e3cf5f091e (patch) | |
tree | 5a92e759c326dd5d715b141d5b3150f6210c6479 /recipes-support/dnsmasq/files/dnsmasq-resolvconf-helper | |
parent | c15e2a1ca6f9abaaa751a9712de7b3b24bec64c8 (diff) | |
download | meta-mlinux-6efed559a73c9534943f43f983c745e3cf5f091e.tar.gz meta-mlinux-6efed559a73c9534943f43f983c745e3cf5f091e.tar.bz2 meta-mlinux-6efed559a73c9534943f43f983c745e3cf5f091e.zip |
New dnsmasq fixing CVE-2017-13704, 14491-14496
Diffstat (limited to 'recipes-support/dnsmasq/files/dnsmasq-resolvconf-helper')
-rw-r--r-- | recipes-support/dnsmasq/files/dnsmasq-resolvconf-helper | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/recipes-support/dnsmasq/files/dnsmasq-resolvconf-helper b/recipes-support/dnsmasq/files/dnsmasq-resolvconf-helper new file mode 100644 index 0000000..db54d46 --- /dev/null +++ b/recipes-support/dnsmasq/files/dnsmasq-resolvconf-helper @@ -0,0 +1,62 @@ +#!/bin/bash +# +# Borrowing heavily from the dnsmasq initscript's version of support for +# resolvconf, intended for use in systemd-only configurations. +# +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/sbin/dnsmasq +NAME=dnsmasq + +# Most configuration options in /etc/default/dnsmasq are deprecated +# but still honoured. +if [ -r /etc/default/$NAME ]; then + . /etc/default/$NAME +fi + +start_resolvconf() +{ + # If interface "lo" is explicitly disabled in /etc/default/dnsmasq + # Then dnsmasq won't be providing local DNS, so don't add it to + # the resolvconf server set. + for interface in $DNSMASQ_EXCEPT + do + [ $interface = lo ] && return + done + + if [ -x /sbin/resolvconf ] ; then + echo "nameserver 127.0.0.1" | + /sbin/resolvconf -a lo.$NAME + fi + return 0 +} + +stop_resolvconf() +{ + if [ -x /sbin/resolvconf ] ; then + /sbin/resolvconf -d lo.$NAME + fi + return 0 +} + +case "$1" in + start) + start_resolvconf + exit 0 + ;; + stop) + stop_resolvconf + exit 0 + ;; + restart) + stop_resolvconf + start_resolvconf + exit 0 + ;; + *) + echo "Usage: /etc/init.d/$NAME {start|stop|restart}" >&2 + exit 3 + ;; +esac + +exit 0 + |