Author: pfg
Date: Wed Nov 20 22:25:49 2019
New Revision: 354920
URL: https://svnweb.freebsd.org/changeset/base/354920

Log:
  Tag openresolv 3.9.2.
  
  More information at: https://roy.marples.name/projects/openresolv

Added:
  vendor/openresolv/3.9.2/
     - copied from r354918, vendor/openresolv/dist/
  vendor/openresolv/3.9.2/LICENSE
     - copied unchanged from r354919, vendor/openresolv/dist/LICENSE
  vendor/openresolv/3.9.2/README.md
     - copied unchanged from r354919, vendor/openresolv/dist/README.md
Replaced:
  vendor/openresolv/3.9.2/Makefile
     - copied unchanged from r354919, vendor/openresolv/dist/Makefile
  vendor/openresolv/3.9.2/configure
     - copied unchanged from r354919, vendor/openresolv/dist/configure
  vendor/openresolv/3.9.2/dnsmasq.in
     - copied unchanged from r354919, vendor/openresolv/dist/dnsmasq.in
  vendor/openresolv/3.9.2/libc.in
     - copied unchanged from r354919, vendor/openresolv/dist/libc.in
  vendor/openresolv/3.9.2/named.in
     - copied unchanged from r354919, vendor/openresolv/dist/named.in
  vendor/openresolv/3.9.2/pdns_recursor.in
     - copied unchanged from r354919, vendor/openresolv/dist/pdns_recursor.in
  vendor/openresolv/3.9.2/pdnsd.in
     - copied unchanged from r354919, vendor/openresolv/dist/pdnsd.in
  vendor/openresolv/3.9.2/resolvconf.conf
     - copied unchanged from r354919, vendor/openresolv/dist/resolvconf.conf
  vendor/openresolv/3.9.2/resolvconf.conf.5.in
     - copied unchanged from r354919, 
vendor/openresolv/dist/resolvconf.conf.5.in
  vendor/openresolv/3.9.2/resolvconf.in
     - copied unchanged from r354919, vendor/openresolv/dist/resolvconf.in
  vendor/openresolv/3.9.2/unbound.in
     - copied unchanged from r354919, vendor/openresolv/dist/unbound.in
Deleted:
  vendor/openresolv/3.9.2/README

Copied: vendor/openresolv/3.9.2/LICENSE (from r354919, 
vendor/openresolv/dist/LICENSE)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ vendor/openresolv/3.9.2/LICENSE     Wed Nov 20 22:25:49 2019        
(r354920, copy of r354919, vendor/openresolv/dist/LICENSE)
@@ -0,0 +1,23 @@
+Copyright (c) 2007-2019 Roy Marples <r...@marples.name>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.

Copied: vendor/openresolv/3.9.2/Makefile (from r354919, 
vendor/openresolv/dist/Makefile)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ vendor/openresolv/3.9.2/Makefile    Wed Nov 20 22:25:49 2019        
(r354920, copy of r354919, vendor/openresolv/dist/Makefile)
@@ -0,0 +1,118 @@
+PKG=           openresolv
+
+# Nasty hack so that make clean works without configure being run
+_CONFIG_MK!=   test -e config.mk && echo config.mk || echo config-null.mk
+CONFIG_MK?=    ${_CONFIG_MK}
+include                ${CONFIG_MK}
+
+SBINDIR?=      /sbin
+SYSCONFDIR?=   /etc
+LIBEXECDIR?=   /libexec/resolvconf
+VARDIR?=       /var/run/resolvconf
+
+ECHO?=         echo
+INSTALL?=      install
+SED?=          sed
+
+VERSION!=      ${SED} -n 's/OPENRESOLV_VERSION="\(.*\)".*/\1/p' resolvconf.in
+
+BINMODE?=      0755
+DOCMODE?=      0644
+MANMODE?=      0444
+
+RESOLVCONF=    resolvconf resolvconf.8 resolvconf.conf.5
+SUBSCRIBERS=   libc dnsmasq named pdnsd pdns_recursor unbound
+TARGET=                ${RESOLVCONF} ${SUBSCRIBERS}
+SRCS=          ${TARGET:C,$,.in,} # pmake
+SRCS:=         ${TARGET:=.in} # gmake
+
+SED_SBINDIR=           -e 's:@SBINDIR@:${SBINDIR}:g'
+SED_SYSCONFDIR=                -e 's:@SYSCONFDIR@:${SYSCONFDIR}:g'
+SED_LIBEXECDIR=                -e 's:@LIBEXECDIR@:${LIBEXECDIR}:g'
+SED_VARDIR=            -e 's:@VARDIR@:${VARDIR}:g'
+SED_RCDIR=             -e 's:@RCDIR@:${RCDIR}:g'
+SED_RESTARTCMD=                -e 's:@RESTARTCMD@:${RESTARTCMD}:g'
+SED_RCDIR=             -e 's:@RCDIR@:${RCDIR}:g'
+SED_STATUSARG=         -e 's:@STATUSARG@:${STATUSARG}:g'
+
+DISTPREFIX?=   ${PKG}-${VERSION}
+DISTFILEGZ?=   ${DISTPREFIX}.tar.gz
+DISTFILE?=     ${DISTPREFIX}.tar.xz
+DISTINFO=      ${DISTFILE}.distinfo
+DISTINFOSIGN=  ${DISTINFO}.asc
+CKSUM?=                cksum -a SHA256
+PGP?=          netpgp
+
+GITREF?=       HEAD
+
+.SUFFIXES: .in
+
+all: ${TARGET}
+
+.in: Makefile ${CONFIG_MK}
+       ${SED}  ${SED_SBINDIR} ${SED_SYSCONFDIR} ${SED_LIBEXECDIR} \
+               ${SED_VARDIR} \
+               ${SED_RCDIR} ${SED_RESTARTCMD} ${SED_RCDIR} ${SED_STATUSARG} \
+               $< > $@
+
+clean:
+       rm -f ${TARGET}
+
+distclean: clean
+       rm -f config.mk ${DISTFILE} ${DISTINFO} ${DISTINFOSIGN}
+
+installdirs:
+
+proginstall: ${TARGET}
+       ${INSTALL} -d ${DESTDIR}${SBINDIR}
+       ${INSTALL} -m ${BINMODE} resolvconf ${DESTDIR}${SBINDIR}
+       ${INSTALL} -d ${DESTDIR}${SYSCONFDIR}
+       test -e ${DESTDIR}${SYSCONFDIR}/resolvconf.conf || \
+       ${INSTALL} -m ${DOCMODE} resolvconf.conf ${DESTDIR}${SYSCONFDIR}
+       ${INSTALL} -d ${DESTDIR}${LIBEXECDIR}
+       ${INSTALL} -m ${DOCMODE} ${SUBSCRIBERS} ${DESTDIR}${LIBEXECDIR}
+
+maninstall:
+       ${INSTALL} -d ${DESTDIR}${MANDIR}/man8
+       ${INSTALL} -m ${MANMODE} resolvconf.8 ${DESTDIR}${MANDIR}/man8
+       ${INSTALL} -d ${DESTDIR}${MANDIR}/man5
+       ${INSTALL} -m ${MANMODE} resolvconf.conf.5 ${DESTDIR}${MANDIR}/man5
+
+install: proginstall maninstall
+
+dist-git:
+       git archive --prefix=${DISTPREFIX}/ ${GITREF} | xz >${DISTFILE}
+
+dist-inst:
+       mkdir /tmp/${DISTPREFIX}
+       cp -RPp * /tmp/${DISTPREFIX}
+       (cd /tmp/${DISTPREFIX}; make clean)
+       tar -cvjpf ${DISTFILE} -C /tmp ${DISTPREFIX}
+       rm -rf /tmp/${DISTPREFIX}
+
+dist: dist-git
+
+distinfo: dist
+       rm -f ${DISTINFO} ${DISTINFOSIGN}
+       ${CKSUM} ${DISTFILE} >${DISTINFO}
+       #printf "SIZE (${DISTFILE}) = %s\n" $$(wc -c <${DISTFILE}) >>${DISTINFO}
+       ${PGP} --clearsign --output=${DISTINFOSIGN} ${DISTINFO}
+       chmod 644 ${DISTINFOSIGN}
+       ls -l ${DISTFILE} ${DISTINFO} ${DISTINFOSIGN}
+
+import: dist
+       rm -rf /tmp/${DISTPREFIX}
+       ${INSTALL} -d /tmp/${DISTPREFIX}
+       tar xvJpf ${DISTFILE} -C /tmp
+
+_import-src:
+       rm -rf ${DESTDIR}/*
+       ${INSTALL} -d ${DESTDIR}
+       cp LICENSE README.md ${SRCS} resolvconf.conf ${DESTDIR};
+       cp resolvconf.8.in resolvconf.conf.5.in ${DESTDIR};
+       @${ECHO}
+       @${ECHO} "============================================================="
+       @${ECHO} "openresolv-${VERSION} imported to ${DESTDIR}"
+
+import-src:
+       ${MAKE} _import-src DESTDIR=`if [ -n "${DESTDIR}" ]; then echo 
"${DESTDIR}"; else  echo /tmp/${DISTPREFIX}; fi`

Copied: vendor/openresolv/3.9.2/README.md (from r354919, 
vendor/openresolv/dist/README.md)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ vendor/openresolv/3.9.2/README.md   Wed Nov 20 22:25:49 2019        
(r354920, copy of r354919, vendor/openresolv/dist/README.md)
@@ -0,0 +1,64 @@
+# openresolv
+
+openresolv is a [resolvconf](https://en.wikipedia.org/wiki/Resolvconf)
+implementation which manages `/etc/resolv.conf`.
+
+`/etc/resolv.conf` is a file that holds the configuration for the local
+resolution of domain names.
+Normally this file is either static or maintained by a local daemon,
+normally a DHCP daemon. But what happens if more than one thing wants to
+control the file?
+Say you have wired and wireless interfaces to different subnets and run a VPN
+or two on top of that, how do you say which one controls the file?
+It's also not as easy as just adding and removing the nameservers each client
+knows about as different clients could add the same nameservers.
+
+Enter resolvconf, the middleman between the network configuration services and
+`/etc/resolv.conf`.
+resolvconf itself is just a script that stores, removes and lists a full
+`resolv.conf` generated for the interface. It then calls all the helper scripts
+it knows about so it can configure the real `/etc/resolv.conf` and optionally
+any local nameservers other than libc.
+
+## Reasons for using openresolv
+
+Why openresolv over the
+[Debian 
implementation](http://qref.sourceforge.net/Debian/reference/ch-gateway.en.html#s-dns-resolvconf)?
+Here's some reasons:
+  *  Works with
+  [POSIX shell and userland](http://www.opengroup.org/onlinepubs/009695399)
+  *  Does not need awk, grep or sed which means we can work without `/usr`
+  mounted
+  *  Works with other init systems than Debians' out of the box
+  *  Available as a 2 clause
+  [BSD license](http://www.freebsd.org/copyright/freebsd-license.html)
+  *  Prefer configs via IF_METRIC for dynamic ordering
+  *  Configures zones for local resolvers other than libc
+
+The last point is quite important, especially when running VPN systems.
+Take the following resolv.conf files which have been generated by a
+[DHCP client](../dhcpcd) and sent to resolvconf:
+
+```
+# resolv.conf from bge0
+search foo.com
+nameserver 1.2.3.4
+
+# resolv.conf from tap0
+domain bar.org
+nameserver 5.6.7.8
+```
+
+In this instance, queries for foo.com will go to 1.2.3.4 and queries for
+bar.org will go to 5.6.7.8.
+This does require the resolvers to be configured to pickup the resolvconf
+generated configuration for them though.
+openresolv ships with helpers for:
+  *  [unbound](http://www.unbound.net/)
+  *  [dnsmasq](http://www.thekelleys.org.uk/dnsmasq/doc.html)
+  *  [ISC BIND](http://www.isc.org/software/bind)
+  *  [PowerDNS Recursor](http://wiki.powerdns.com/trac)
+
+See the
+[configuration section](https://roy.marples.name/projects/openresolv/config)
+for more details.

Copied: vendor/openresolv/3.9.2/configure (from r354919, 
vendor/openresolv/dist/configure)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ vendor/openresolv/3.9.2/configure   Wed Nov 20 22:25:49 2019        
(r354920, copy of r354919, vendor/openresolv/dist/configure)
@@ -0,0 +1,167 @@
+#!/bin/sh
+# Try and be like autotools configure, but without autotools
+
+# Ensure that we do not inherit these from env
+OS=
+BUILD=
+HOST=
+TARGET=
+RESTARTCMD=
+RCDIR=
+STATUSARG=
+
+for x do
+       opt=${x%%=*}
+       var=${x#*=}
+       case "$opt" in
+       --os|OS) OS=$var;;
+       --with-cc|CC) CC=$var;;
+       --debug) DEBUG=$var;;
+       --disable-debug) DEBUG=no;;
+       --enable-debug) DEBUG=yes;;
+       --prefix) PREFIX=$var;;
+       --sysconfdir) SYSCONFDIR=$var;;
+       --bindir|--sbindir) SBINDIR=$var;;
+       --libexecdir) LIBEXECDIR=$var;;
+       --statedir|--localstatedir) STATEDIR=$var;;
+       --dbdir) DBDIR=$var;;
+       --rundir) RUNDIR=$var;;
+       --mandir) MANDIR=$var;;
+       --with-ccopts|CFLAGS) CFLAGS=$var;;
+       CPPFLAGS) CPPFLAGS=$var;;
+       --build) BUILD=$var;;
+       --host) HOST=$var;;
+       --target) TARGET=$var;;
+       --libdir) LIBDIR=$var;;
+       --restartcmd) RESTARTCMD=$var;;
+       --rcdir) RCDIR=$var;;
+       --statusarg) STATUSARG=$var;;
+       --includedir) eval INCLUDEDIR="$INCLUDEDIR${INCLUDEDIR:+ }$var";;
+       --datadir|--infodir) ;; # ignore autotools
+       --disable-maintainer-mode|--disable-dependency-tracking) ;;
+       --help) echo "See the README file for available options"; exit 0;;
+       *) echo "$0: WARNING: unknown option $opt" >&2;;
+       esac
+done
+
+: ${SED:=sed}
+
+CONFIG_MK=config.mk
+
+if [ -z "$BUILD" ]; then
+       # autoconf target triplet: cpu-vendor-os
+       BUILD=$(uname -m)-unknown-$(uname -s | tr '[:upper:]' '[:lower:]')
+fi
+: ${HOST:=$BUILD}
+
+if [ -z "$OS" ]; then
+       echo "Deriving operating system from ... $HOST"
+       # Derive OS from cpu-vendor-[kernel-]os
+       CPU=${HOST%%-*}
+       REST=${HOST#*-}
+       if [ "$CPU" != "$REST" ]; then
+               VENDOR=${REST%%-*}
+               REST=${REST#*-}
+               if [ "$VENDOR" != "$REST" ]; then
+                       # Use kernel if given, otherwise os
+                       OS=${REST%%-*}
+               else
+                       # 2 tupple
+                       OS=$VENDOR
+                       VENDOR=
+               fi
+       fi
+
+        # Work with cpu-kernel-os, ie Debian
+       case "$VENDOR" in
+       linux*|kfreebsd*) OS=$VENDOR; VENDOR= ;;
+       esac
+       # Special case
+       case "$OS" in
+       gnu*) OS=hurd;; # No HURD support as yet
+       esac
+fi
+
+echo "Configuring openresolv for ... $OS"
+rm -rf $CONFIG_MK
+echo "# $OS" >$CONFIG_MK
+
+case "$OS" in
+dragonfly*)
+       # This means /usr HAS to be mounted not via dhcpcd
+       : ${LIBEXECDIR:=${PREFIX:-/usr}/libexec/resolvconf}
+       ;;
+linux*)
+       # cksum does't support -a and netpgp is rare
+       echo "CKSUM=            sha256sum --tag" >>$CONFIG_MK
+       echo "PGP=              gpg2" >>$CONFIG_MK
+       ;;
+esac
+
+case "$OS" in
+dragonfly*|freebsd*)
+       # On FreeBSD, /etc/init.d/foo status returns 0 if foo is not enabled
+       # regardless of if it's not running.
+       # So we force onestatus to work around this silly bug.
+       if [ -z "$STATUSARG" ]; then
+               STATUSARG="onestatus"
+       fi
+       ;;
+esac
+
+
+if [ -z "$LIBEXECDIR" ]; then
+       printf "Checking for directory /libexec ... "
+       if [ -d /libexec ]; then
+               echo "yes"
+               LIBEXECDIR=$PREFIX/libexec/resolvconf
+       else
+               echo "no"
+               LIBEXECDIR=$PREFIX/lib/resolvconf
+       fi
+fi
+if [ -z "$RUNDIR" ]; then
+       printf "Checking for directory /run ... "
+       if [ -d /run ]; then
+               echo "yes"
+               RUNDIR=/run
+       else
+               echo "no"
+               RUNDIR=/var/run
+       fi
+fi
+
+: ${SYSCONFDIR:=$PREFIX/etc}
+: ${SBINDIR:=$PREFIX/sbin}
+: ${LIBEXECDIR:=$PREFIX/libexec/resolvconf}
+: ${STATEDIR:=/var}
+: ${RUNDIR:=$STATEDIR/run}
+: ${MANDIR:=${PREFIX:-/usr}/share/man}
+
+eval SYSCONFDIR="$SYSCONFDIR"
+eval SBINDIR="$SBINDIR"
+eval LIBEXECDIR="$LIBEXECDIR"
+eval VARDIR="$RUNDIR/resolvconf"
+eval MANDIR="$MANDIR"
+
+for x in SYSCONFDIR SBINDIR LIBEXECDIR VARDIR MANDIR RESTARTCMD RCDIR STATUSARG
+do
+       eval v=\$$x
+       # Make files look nice for import
+       l=$((10 - ${#x}))
+       unset t
+       [ $l -gt 3 ] && t="     "
+       echo "$x=$t     $v" >>$CONFIG_MK
+done
+
+echo
+echo "   SYSCONFDIR =          $SYSCONFDIR"
+echo "   SBINDIR =             $SBINDIR"
+echo "   LIBEXECDIR =          $LIBEXECDIR"
+echo "   VARDIR =              $RUNDIR"
+echo "   MANDIR =              $MANDIR"
+echo
+echo "   RESTARTCMD =          $RESTARTCMD"
+echo "   RCDIR =               $RCDIR"
+echo "   STATUSARG =           $STATUSARG"
+echo

Copied: vendor/openresolv/3.9.2/dnsmasq.in (from r354919, 
vendor/openresolv/dist/dnsmasq.in)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ vendor/openresolv/3.9.2/dnsmasq.in  Wed Nov 20 22:25:49 2019        
(r354920, copy of r354919, vendor/openresolv/dist/dnsmasq.in)
@@ -0,0 +1,211 @@
+#!/bin/sh
+# Copyright (c) 2007-2019 Roy Marples
+# All rights reserved
+
+# dnsmasq subscriber for resolvconf
+
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#     * Redistributions of source code must retain the above copyright
+#       notice, this list of conditions and the following disclaimer.
+#     * Redistributions in binary form must reproduce the above
+#       copyright notice, this list of conditions and the following
+#       disclaimer in the documentation and/or other materials provided
+#       with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+[ -f "@SYSCONFDIR@"/resolvconf.conf ] || exit 0
+. "@SYSCONFDIR@/resolvconf.conf" || exit 1
+[ -z "${dnsmasq_conf}${dnsmasq_resolv}" ] && exit 0
+[ -z "$RESOLVCONF" ] && eval "$(@SBINDIR@/resolvconf -v)"
+NL="
+"
+
+: ${dnsmasq_pid:=/var/run/dnsmasq.pid}
+[ -s "$dnsmasq_pid" ] || dnsmasq_pid=/var/run/dnsmasq/dnsmasq.pid
+[ -s "$dnsmasq_pid" ] || unset dnsmasq_pid
+: ${dnsmasq_service:=dnsmasq}
+newconf="# Generated by resolvconf$NL"
+newresolv="$newconf"
+
+# Using dbus means that we never have to restart the daemon
+# This is important as it means we should not drop DNS queries
+# whilst changing DNS options around. However, dbus support is optional
+# so we need to validate a few things first.
+# Check for DBus support in the binary
+dbus=false
+dbus_ex=false
+dbus_introspect=$(dbus-send --print-reply --system \
+       --dest=uk.org.thekelleys.dnsmasq \
+       /uk/org/thekelleys/dnsmasq \
+       org.freedesktop.DBus.Introspectable.Introspect \
+       2>/dev/null)
+if [ $? = 0 ]; then
+       dbus=true
+       if printf %s "$dbus_introspect" | \
+           grep -q '<method name="SetDomainServers">'
+       then
+               dbus_ex=true
+       fi
+fi
+
+for n in $NAMESERVERS; do
+       newresolv="${newresolv}nameserver $n$NL"
+done
+
+dbusdest=
+dbusdest_ex=
+conf=
+for d in $DOMAINS; do
+       dn="${d%%:*}"
+       ns="${d#*:}"
+       while [ -n "$ns" ]; do
+               n="${ns%%,*}"
+               if $dbus && ! $dbus_ex; then
+                       case "$n" in
+                       *.*.*.*)
+                               SIFS=${IFS-y} OIFS=$IFS
+                               IFS=.
+                               set -- $n
+                               num="0x$(printf %02x $1 $2 $3 $4)"
+                               if [ "$SIFS" = y ]; then
+                                       unset IFS
+                               else
+                                       IFS=$OIFS
+                               fi
+                               dbusdest="$dbusdest uint32:$(printf %u $num)"
+                               dbusdest="$dbusdest string:$dn"
+                               ;;
+                       *:*%*)
+                               # This version of dnsmasq won't accept
+                               # scoped IPv6 addresses
+                               dbus=false
+                               ;;
+                       *:*)
+                               SIFS=${IFS-y} OIFS=$IFS bytes= front= back=
+                               empty=false i=0
+                               IFS=:
+                               set -- $n
+                               while [ -n "$1" ] || [ -n "$2" ]; do
+                                       addr="$1"
+                                       shift
+                                       if [ -z "$addr" ]; then
+                                               empty=true
+                                               continue
+                                       fi
+                                       i=$(($i + 1))
+                                       while [ ${#addr} -lt 4 ]; do
+                                               addr="0${addr}"
+                                       done
+                                       byte1="$(printf %d 0x${addr%??})"
+                                       byte2="$(printf %d 0x${addr#??})"
+                                       if $empty; then
+                                               back="$back byte:$byte1 
byte:$byte2"
+                                       else
+                                               front="$front byte:$byte1 
byte:$byte2"
+                                       fi
+                               done
+                               while [ $i != 8 ]; do
+                               i=$(($i + 1))
+                                       front="$front byte:0 byte:0"
+                               done
+                               front="${front}$back"
+                               if [ "$SIFS" = y ]; then
+                                       unset IFS
+                               else
+                                       IFS=$OIFS
+                               fi
+                               dbusdest="${dbusdest}$front string:$dn"
+                               ;;
+                       *)
+                               if ! $dbus_ex; then
+                                       dbus=false
+                               fi
+                               ;;
+                       esac
+               fi
+               dbusdest_ex="$dbusdest_ex${dbusdest_ex:+,}/$dn/$n"
+               conf="${conf}server=/$dn/$n$NL"
+               [ "$ns" = "${ns#*,}" ] && break
+               ns="${ns#*,}"
+       done
+done
+
+if $dbus; then
+       newconf="$newconf$NL# Domain specific servers will"
+       newconf="$newconf be sent over dbus${NL}"
+else
+       newconf="$newconf$conf"
+fi
+
+# Try to ensure that config dirs exist
+if type config_mkdirs >/dev/null 2>&1; then
+       config_mkdirs "$dnsmasq_conf" "$dnsmasq_resolv"
+else
+       @SBINDIR@/resolvconf -D "$dnsmasq_conf" "$dnsmasq_resolv"
+fi
+
+changed=false
+if [ -n "$dnsmasq_conf" ]; then
+       if [ ! -f "$dnsmasq_conf" ] || \
+               [ "$(cat "$dnsmasq_conf")" != "$(printf %s "$newconf")" ]
+       then
+               changed=true
+               printf %s "$newconf" >"$dnsmasq_conf"
+       fi
+fi
+if [ -n "$dnsmasq_resolv" ]; then
+       # dnsmasq polls this file so no need to set changed=true
+       if [ -f "$dnsmasq_resolv" ]; then
+               if [ "$(cat "$dnsmasq_resolv")" != "$(printf %s "$newresolv")" ]
+               then
+                       printf %s "$newresolv" >"$dnsmasq_resolv"
+               fi
+       else
+               printf %s "$newresolv" >"$dnsmasq_resolv"
+       fi
+fi
+
+if $changed; then
+       # dnsmasq does not re-read the configuration file on SIGHUP
+       if [ -n "$dnsmasq_restart" ]; then
+               eval $dnsmasq_restart
+       elif [ -n "$RESTARTCMD" ]; then
+               set -- ${dnsmasq_service}
+               eval "$RESTARTCMD"
+       else
+               @SBINDIR@/resolvconf -r ${dnsmasq_service}
+       fi
+fi
+if $dbus; then
+       if [ -s "$dnsmasq_pid" ]; then
+               $changed || kill -HUP $(cat "$dnsmasq_pid")
+       fi
+       # Send even if empty so old servers are cleared
+       if $dbus_ex; then
+               method=SetDomainServers
+               if [ -n "$dbusdest_ex" ]; then
+                       dbusdest_ex="array:string:$dbusdest_ex"
+               fi
+               dbusdest="$dbusdest_ex"
+       else
+               method=SetServers
+       fi
+       dbus-send --system --dest=uk.org.thekelleys.dnsmasq \
+               /uk/org/thekelleys/dnsmasq uk.org.thekelleys.$method \
+               $dbusdest
+       dbus-send --system --dest=uk.org.thekelleys.dnsmasq \
+               /uk/org/thekelleys/dnsmasq uk.org.thekelleys.ClearCache
+fi

Copied: vendor/openresolv/3.9.2/libc.in (from r354919, 
vendor/openresolv/dist/libc.in)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ vendor/openresolv/3.9.2/libc.in     Wed Nov 20 22:25:49 2019        
(r354920, copy of r354919, vendor/openresolv/dist/libc.in)
@@ -0,0 +1,252 @@
+#!/bin/sh
+# Copyright (c) 2007-2019 Roy Marples
+# All rights reserved
+
+# libc subscriber for resolvconf
+
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#     * Redistributions of source code must retain the above copyright
+#       notice, this list of conditions and the following disclaimer.
+#     * Redistributions in binary form must reproduce the above
+#       copyright notice, this list of conditions and the following
+#       disclaimer in the documentation and/or other materials provided
+#       with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+SYSCONFDIR=@SYSCONFDIR@
+LIBEXECDIR=@LIBEXECDIR@
+VARDIR=@VARDIR@
+IFACEDIR="$VARDIR/interfaces"
+NL="
+"
+
+# sed may not be available, and this is faster on small files
+key_get_value()
+{
+       key="$1"
+       shift
+
+       if [ $# -eq 0 ]; then
+               while read -r line; do
+                       case "$line" in
+                       "$key"*) echo "${line##$key}";;
+                       esac
+               done
+       else
+               for x do
+                       while read -r line; do
+                               case "$line" in
+                               "$key"*) echo "${line##$key}";;
+                               esac
+                       done < "$x"
+               done
+       fi
+}
+
+keys_remove()
+{
+       while read -r line; do
+               found=false
+               for key do
+                       case "$line" in
+                       "$key"*|"#"*|" "*|"     "*|"") found=true;;
+                       esac
+                       $found && break
+               done
+               $found || echo "$line"
+       done
+}
+
+local_nameservers="127.* 0.0.0.0 255.255.255.255 ::1"
+
+# Support original resolvconf configuration layout
+# as well as the openresolv config file
+if [ -f "$SYSCONFDIR"/resolvconf.conf ]; then
+       . "$SYSCONFDIR"/resolvconf.conf
+elif [ -d "$SYSCONFDIR"/resolvconf ]; then
+       SYSCONFDIR="$SYSCONFDIR/resolvconf"
+       base="$SYSCONFDIR/resolv.conf.d/base"
+       if [ -f "$base" ]; then
+               prepend_nameservers="$(key_get_value "nameserver " "$base")"
+               domain="$(key_get_value "domain " "$base")"
+               prepend_search="$(key_get_value "search " "$base")"
+               resolv_conf_options="$(key_get_value "options " "$base")"
+               resolv_conf_sortlist="$(key_get_value "sortlist " "$base")"
+       fi
+       if [ -f "$SYSCONFDIR"/resolv.conf.d/head ]; then
+               resolv_conf_head="$(cat "${SYSCONFDIR}"/resolv.conf.d/head)"
+       fi
+       if [ -f "$SYSCONFDIR"/resolv.conf.d/tail ]; then
+               resolv_conf_tail="$(cat "$SYSCONFDIR"/resolv.conf.d/tail)"
+       fi
+fi
+: ${resolv_conf:=/etc/resolv.conf}
+: ${libc_service:=nscd}
+: ${list_resolv:=@SBINDIR@/resolvconf -l}
+if [ "${resolv_conf_head-x}" = x ] && [ -f "$SYSCONFDIR"/resolv.conf.head ]
+then
+       resolv_conf_head="$(cat "${SYSCONFDIR}"/resolv.conf.head)"
+fi
+if [ "${resolv_conf_tail-x}" = x ] && [ -f "$SYSCONFDIR"/resolv.conf.tail ]
+then
+       resolv_conf_tail="$(cat "$SYSCONFDIR"/resolv.conf.tail)"
+fi
+
+backup=true
+signature="# Generated by resolvconf"
+ 
+uniqify()
+{
+       result=
+       while [ -n "$1" ]; do
+               case " $result " in
+               *" $1 "*);;
+               *) result="$result $1";;
+               esac
+               shift
+       done
+       echo "${result# *}"
+}
+
+case "${resolv_conf_passthrough:-NO}" in
+[Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1)
+       backup=false
+       newest=
+       for conf in "$IFACEDIR"/*; do
+               if [ -z "$newest" ] || [ "$conf" -nt "$newest" ]; then
+                       newest="$conf"
+               fi
+       done
+       [ -z "$newest" ] && exit 0
+       newconf="$(cat "$newest")$NL"
+       ;;
+/dev/null|[Nn][Uu][Ll][Ll])
+       : ${resolv_conf_local_only:=NO}
+       if [ "$local_nameservers" = "127.* 0.0.0.0 255.255.255.255 ::1" ]; then
+               local_nameservers=
+       fi
+       # Need to overwrite our variables.
+       eval "$(@SBINDIR@/resolvconf -V)"
+       ;;
+
+*)
+       [ -z "$RESOLVCONF" ] && eval "$(@SBINDIR@/resolvconf -v)"
+       ;;
+esac
+case "${resolv_conf_passthrough:-NO}" in
+[Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) ;;
+*)
+       : ${domain:=$DOMAIN}
+       newsearch="$(uniqify $prepend_search $SEARCH $append_search)"
+       NS="$LOCALNAMESERVERS $NAMESERVERS"
+       newns=
+       gotlocal=false
+       for n in $(uniqify $prepend_nameservers $NS $append_nameservers); do
+               add=true
+               islocal=false
+               for l in $local_nameservers; do
+                       case "$n" in
+                       $l) islocal=true; gotlocal=true; break;;
+                       esac
+               done
+               if ! $islocal; then
+                       case "${resolv_conf_local_only:-YES}" in
+                       [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1)
+                               $gotlocal && add=false;;
+                       esac
+               fi
+               $add && newns="$newns $n"
+       done
+
+       # Hold our new resolv.conf in a variable to save on temporary files
+       newconf="$signature$NL"
+       if [ -n "$resolv_conf_head" ]; then
+               newconf="$newconf$resolv_conf_head$NL"
+       fi
+
+       [ -n "$domain" ] && newconf="${newconf}domain $domain$NL"
+       if [ -n "$newsearch" ] && [ "$newsearch" != "$domain" ]; then
+               newconf="${newconf}search $newsearch$NL"
+       fi
+       for n in $newns; do
+               newconf="${newconf}nameserver $n$NL"
+       done
+
+       # Now add anything we don't care about such as sortlist and options
+       stuff="$($list_resolv | keys_remove nameserver domain search)"
+       if [ -n "$stuff" ]; then
+               newconf="$newconf$stuff$NL"
+       fi
+
+       # Append any user defined ones
+       if [ -n "$resolv_conf_options" ]; then
+               newconf="${newconf}options $resolv_conf_options$NL"
+       fi
+       if [ -n "$resolv_conf_sortlist" ]; then
+               newconf="${newconf}sortlist $resolv_conf_sortlist$NL"
+       fi
+
+       if [ -n "$resolv_conf_tail" ]; then
+               newconf="$newconf$resolv_conf_tail$NL"
+       fi
+       ;;
+esac
+
+# Check if the file has actually changed or not
+if [ -e "$resolv_conf" ]; then
+       [ "$(cat "$resolv_conf")" = "$(printf %s "$newconf")" ] && exit 0
+fi
+
+# Change is good.
+# If the old file does not have our signature, back it up.
+# If the new file just has our signature, restore the backup.
+if $backup; then
+       if [ "$newconf" = "$signature$NL" ]; then
+               if [ -e "$resolv_conf.bak" ]; then
+                       newconf="$(cat "$resolv_conf.bak")$NL"
+               fi
+       elif [ -e "$resolv_conf" ]; then
+               read line <"$resolv_conf"
+               if [ "$line" != "$signature" ]; then
+                       cp "$resolv_conf" "$resolv_conf.bak"
+               fi
+       fi
+fi
+
+# Create our resolv.conf now
+(umask 022; printf %s "$newconf" >"$resolv_conf")
+if [ -n "$libc_restart" ]; then
+       eval $libc_restart
+elif [ -n "$RESTARTCMD" ]; then
+       set -- ${libc_service}
+       eval "$RESTARTCMD"
+else
+       @SBINDIR@/resolvconf -r ${libc_service}
+fi
+
+retval=0
+# Notify users of the resolver
+for script in "$LIBEXECDIR"/libc.d/*; do
+       if [ -f "$script" ]; then
+               if [ -x "$script" ]; then
+                       "$script" "$@"
+               else
+                       (. "$script")
+               fi
+               retval=$(($retval + $?))
+       fi
+done
+exit $retval

Copied: vendor/openresolv/3.9.2/named.in (from r354919, 
vendor/openresolv/dist/named.in)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ vendor/openresolv/3.9.2/named.in    Wed Nov 20 22:25:49 2019        
(r354920, copy of r354919, vendor/openresolv/dist/named.in)
@@ -0,0 +1,118 @@
+#!/bin/sh
+# Copyright (c) 2007-2016 Roy Marples
+# All rights reserved
+
+# named subscriber for resolvconf
+
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#     * Redistributions of source code must retain the above copyright
+#       notice, this list of conditions and the following disclaimer.
+#     * Redistributions in binary form must reproduce the above
+#       copyright notice, this list of conditions and the following
+#       disclaimer in the documentation and/or other materials provided
+#       with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+[ -f "@SYSCONFDIR@"/resolvconf.conf ] || exit 0
+. "@SYSCONFDIR@/resolvconf.conf" || exit 1
+[ -z "${named_zones}${named_options}" ] && exit 0
+[ -z "$RESOLVCONF" ] && eval "$(@SBINDIR@/resolvconf -v)"
+NL="
+"
+
+# Platform specific kludges
+if [ -z "${named_service}${named_restart}" ] &&
+   [ -d "$RCDIR" ] && ! [ -x "$RCDIR"/named ]
+then
+       if [ -x "$RCDIR"/bind9 ]; then
+               # Debian and derivatives
+               named_service=bind9
+       elif [ -x "$RCDIR"/rc.bind ]; then
+               # Slackware
+               named_service=rc.bind
+       fi
+fi
+: ${named_service:=named}
+
+: ${named_pid:=/var/run/$named_service.pid}
+[ -s "$named_pid" ] || named_pid=/var/run/$named_service/$named_service.pid
+[ -s "$named_pid" ] || unset named_pid
+
+newoptions="# Generated by resolvconf$NL"
+newzones="$newoptions"
+
+forward=
+for n in $NAMESERVERS; do
+       case "$forward" in
+       *"$NL   $n;"*);;
+       *) forward="$forward$NL $n;";;
+       esac
+done
+if [ -n "$forward" ]; then
+       newoptions="${newoptions}forward first;${NL}forwarders 
{$forward${NL}};$NL"
+fi
+
+for d in $DOMAINS; do
+       newzones="${newzones}zone \"${d%%:*}\" {$NL"
+       newzones="$newzones     type forward;$NL"
+       newzones="$newzones     forward first;$NL       forwarders {$NL"
+       ns="${d#*:}"
+       while [ -n "$ns" ]; do
+               newzones="$newzones             ${ns%%,*};$NL"
+               [ "$ns" = "${ns#*,}" ] && break
+               ns="${ns#*,}"
+       done
+       newzones="$newzones     };$NL};$NL"
+done
+
+# Try to ensure that config dirs exist
+if type config_mkdirs >/dev/null 2>&1; then
+       config_mkdirs "$named_options" "$named_zones"
+else
+       @SBINDIR@/resolvconf -D "$named_options" "$named_zones"
+fi
+
+# No point in changing files or reloading bind if the end result has not
+# changed
+changed=false
+if [ -n "$named_options" ]; then
+       if [ ! -f "$named_options" ] || \
+               [ "$(cat "$named_options")" != "$(printf %s "$newoptions")" ]
+       then
+               printf %s "$newoptions" >"$named_options"
+               changed=true
+       fi
+fi
+if [ -n "$named_zones" ]; then
+       if [ ! -f "$named_zones" ] || \
+               [ "$(cat "$named_zones")" != "$(printf %s "$newzones")" ]
+       then
+               printf %s "$newzones" >"$named_zones"
+               changed=true
+       fi
+fi
+
+# named does not seem to work with SIGHUP which is a same
+if $changed; then
+       if [ -n "$named_restart" ]; then
+               eval $named_restart
+       elif [ -n "$RESTARTCMD" ]; then
+               set -- ${named_service}
+               eval "$RESTARTCMD"
+       else
+               @SBINDIR@/resolvconf -r ${named_service}
+       fi
+fi

Copied: vendor/openresolv/3.9.2/pdns_recursor.in (from r354919, 
vendor/openresolv/dist/pdns_recursor.in)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ vendor/openresolv/3.9.2/pdns_recursor.in    Wed Nov 20 22:25:49 2019        
(r354920, copy of r354919, vendor/openresolv/dist/pdns_recursor.in)
@@ -0,0 +1,75 @@
+#!/bin/sh
+# Copyright (c) 2009-2019 Roy Marples
+# All rights reserved
+
+# PowerDNS Recursor subscriber for resolvconf
+
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#     * Redistributions of source code must retain the above copyright
+#       notice, this list of conditions and the following disclaimer.
+#     * Redistributions in binary form must reproduce the above
+#       copyright notice, this list of conditions and the following
+#       disclaimer in the documentation and/or other materials provided
+#       with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to