first commit
This commit is contained in:
23
etc_org/resolvconf/interface-order
Normal file
23
etc_org/resolvconf/interface-order
Normal file
@ -0,0 +1,23 @@
|
||||
# interface-order(5)
|
||||
lo.inet6
|
||||
lo.inet
|
||||
lo.@(dnsmasq|pdnsd)
|
||||
lo.!(pdns|pdns-recursor)
|
||||
lo
|
||||
tun*
|
||||
tap*
|
||||
hso*
|
||||
em+([0-9])?(_+([0-9]))*
|
||||
p+([0-9])p+([0-9])?(_+([0-9]))*
|
||||
@(br|eth)*([^.]).inet6
|
||||
@(br|eth)*([^.]).ip6.@(dhclient|dhcpcd|pump|udhcpc)
|
||||
@(br|eth)*([^.]).inet
|
||||
@(br|eth)*([^.]).@(dhclient|dhcpcd|pump|udhcpc)
|
||||
@(br|eth)*
|
||||
@(ath|wifi|wlan)*([^.]).inet6
|
||||
@(ath|wifi|wlan)*([^.]).ip6.@(dhclient|dhcpcd|pump|udhcpc)
|
||||
@(ath|wifi|wlan)*([^.]).inet
|
||||
@(ath|wifi|wlan)*([^.]).@(dhclient|dhcpcd|pump|udhcpc)
|
||||
@(ath|wifi|wlan)*
|
||||
ppp*
|
||||
*
|
0
etc_org/resolvconf/resolv.conf.d/base
Normal file
0
etc_org/resolvconf/resolv.conf.d/base
Normal file
2
etc_org/resolvconf/resolv.conf.d/head
Normal file
2
etc_org/resolvconf/resolv.conf.d/head
Normal file
@ -0,0 +1,2 @@
|
||||
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
|
||||
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
|
0
etc_org/resolvconf/resolv.conf.d/tail
Normal file
0
etc_org/resolvconf/resolv.conf.d/tail
Normal file
8
etc_org/resolvconf/update-libc.d/avahi-daemon
Executable file
8
etc_org/resolvconf/update-libc.d/avahi-daemon
Executable file
@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# If we have an unicast .local domain, we immediately disable avahi to avoid
|
||||
# conflicts with the multicast IP4LL .local domain
|
||||
|
||||
if [ -x /usr/lib/avahi/avahi-daemon-check-dns.sh ]; then
|
||||
exec /usr/lib/avahi/avahi-daemon-check-dns.sh
|
||||
fi
|
161
etc_org/resolvconf/update.d/libc
Executable file
161
etc_org/resolvconf/update.d/libc
Executable file
@ -0,0 +1,161 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Script to update resolv.conf, the libc resolver configuration file,
|
||||
# and to notify users of the libc resolver of changes
|
||||
#
|
||||
# Assumption: On entry, PWD contains the resolv.conf-type files.
|
||||
#
|
||||
# This script is part of the resolvconf package.
|
||||
#
|
||||
# Set REPORT_ABSENT_SYMLINK=no to inhibit warning message that
|
||||
# /etc/resolv.conf is not a symbolic link
|
||||
#
|
||||
# Set TRUNCATE_NAMESERVER_LIST_AFTER_LOOPBACK_ADDRESS=no
|
||||
# to allow additional nameserver addresses to be listed in
|
||||
# resolv.conf after an initial loopback address 127.* or ::1.
|
||||
#
|
||||
|
||||
set -e
|
||||
PATH=/sbin:/bin
|
||||
|
||||
[ -x /lib/resolvconf/list-records ] || exit 1
|
||||
|
||||
# Default override
|
||||
[ -r /etc/default/resolvconf ] && . /etc/default/resolvconf
|
||||
|
||||
ETC=/etc
|
||||
ETCRESOLVCONF="${ETC}/resolvconf"
|
||||
RESOLVCONFDIR="${ETCRESOLVCONF}/resolv.conf.d"
|
||||
BASEFILE="${RESOLVCONFDIR}/base"
|
||||
HEADFILE="${RESOLVCONFDIR}/head"
|
||||
TAILFILE="${RESOLVCONFDIR}/tail"
|
||||
DYNAMICRSLVCNFFILE="/run/resolvconf/resolv.conf"
|
||||
TMPFILE="${DYNAMICRSLVCNFFILE}_new.$$"
|
||||
|
||||
# Set unset variables to their defaults
|
||||
if [ -z "$REPORT_ABSENT_SYMLINK" ] ; then
|
||||
# '..._ALTERED_...' is the old deprecated name for this variable
|
||||
if [ "$REPORT_ALTERED_SYMLINK" ] ; then
|
||||
REPORT_ABSENT_SYMLINK="$REPORT_ALTERED_SYMLINK"
|
||||
else
|
||||
# Set to default value
|
||||
REPORT_ABSENT_SYMLINK=y
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "$TRUNCATE_NAMESERVER_LIST_AFTER_LOOPBACK_ADDRESS" ] ; then
|
||||
# '..._127' is the old deprecated name for this variable
|
||||
if [ "$TRUNCATE_NAMESERVER_LIST_AFTER_127" ] ; then
|
||||
TRUNCATE_NAMESERVER_LIST_AFTER_LOOPBACK_ADDRESS="$TRUNCATE_NAMESERVER_LIST_AFTER_127"
|
||||
else
|
||||
# Set to default value
|
||||
TRUNCATE_NAMESERVER_LIST_AFTER_LOOPBACK_ADDRESS=y
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
report_warning() { echo "$0: Warning: $*" >&2 ; }
|
||||
|
||||
resolv_conf_is_symlinked_to_dynamic_file() {
|
||||
[ -L ${ETC}/resolv.conf ] && [ "$(readlink -m ${ETC}/resolv.conf)" = "$DYNAMICRSLVCNFFILE" ]
|
||||
}
|
||||
|
||||
if ! resolv_conf_is_symlinked_to_dynamic_file ; then
|
||||
case "$REPORT_ABSENT_SYMLINK" in
|
||||
y|Y|yes|YES|Yes)
|
||||
report_warning "${ETC}/resolv.conf is not a symbolic link to $DYNAMICRSLVCNFFILE"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Args are candidate items not containing spaces
|
||||
# Returns RSLT -- space-separated list of items without duplicates
|
||||
#
|
||||
# Stores arguments (minus duplicates) in RSLT, separated by spaces
|
||||
uniquify()
|
||||
{
|
||||
RSLT=""
|
||||
local D
|
||||
while [ "$1" ] ; do
|
||||
# Remove the root domain suffix
|
||||
D="${1%.}"
|
||||
for E in $RSLT ; do
|
||||
[ "$D" = "$E" ] && { shift ; continue 2 ; }
|
||||
done
|
||||
RSLT="${RSLT:+$RSLT }$D"
|
||||
shift
|
||||
done
|
||||
}
|
||||
|
||||
# Args are candidate items not containing spaces
|
||||
# Returns NSMSRVS -- space-separate list of no more than 3 items,
|
||||
# without duplicates,
|
||||
# truncated after loopback address if TRUNCATE_NAMESERVER_LIST_AFTER_LOOPBACK_ADDRESS set affirmatively
|
||||
uniquify_nameserver_list()
|
||||
{
|
||||
NMSRVRS=""
|
||||
N=0
|
||||
while [ "$1" ] ; do
|
||||
for E in $NMSRVRS ; do
|
||||
[ "$1" = "$E" ] && { shift ; continue 2 ; }
|
||||
done
|
||||
NMSRVRS="${NMSRVRS:+$NMSRVRS }$1"
|
||||
case "$TRUNCATE_NAMESERVER_LIST_AFTER_LOOPBACK_ADDRESS" in (y|Y|yes|YES|Yes) case "$1" in (127.*|::1) return 0 ;; esac ;; esac
|
||||
N=$(($N + 1))
|
||||
[ "$N" = 3 ] && return 0
|
||||
shift
|
||||
done
|
||||
}
|
||||
|
||||
RSLVCNFFILES="$(/lib/resolvconf/list-records)"
|
||||
|
||||
[ -f "$BASEFILE" ] && RSLVCNFFILES="$RSLVCNFFILES
|
||||
$BASEFILE"
|
||||
|
||||
### Compile list of nameservers ###
|
||||
NMSRVRS=""
|
||||
if [ "$RSLVCNFFILES" ] ; then
|
||||
uniquify_nameserver_list $(sed -n 's/^[[:space:]]*nameserver[[:space:]]\+//p' $RSLVCNFFILES)
|
||||
fi
|
||||
|
||||
### Compile search list ###
|
||||
SRCHS=""
|
||||
if [ "$RSLVCNFFILES" ] ; then
|
||||
uniquify $(sed -n 's/^[[:space:]]*\(\(search\)\|\(domain\)\)[[:space:]]\+//p' $RSLVCNFFILES)
|
||||
SRCHS="$RSLT"
|
||||
fi
|
||||
|
||||
clean_up() { rm -f "$TMPFILE" ; }
|
||||
trap clean_up EXIT
|
||||
clean_up
|
||||
|
||||
### Make the file ###
|
||||
: > "$TMPFILE"
|
||||
[ -f "$HEADFILE" ] && cat "$HEADFILE" >> "$TMPFILE"
|
||||
for N in $NMSRVRS ; do echo "nameserver $N" >> "$TMPFILE" ; done
|
||||
[ "$SRCHS" ] && echo "search $SRCHS" >> "$TMPFILE"
|
||||
[ "$RSLVCNFFILES" ] && sed -e '/^[[:space:]]*$/d' -e '/^[[:space:]]*#/d' -e '/^[[:space:]]*\(\(nameserver\)\|\(search\)\|\(domain\)\)[[:space:]]/d' $RSLVCNFFILES >> "$TMPFILE" 2>/dev/null
|
||||
[ -f "$TAILFILE" ] && cat "$TAILFILE" >> "$TMPFILE"
|
||||
|
||||
### Put the file in place ###
|
||||
|
||||
if [ -f "$DYNAMICRSLVCNFFILE" ] && [ "$(cat $TMPFILE)" = "$(cat $DYNAMICRSLVCNFFILE)" ] ; then
|
||||
# The file has not changed
|
||||
rm -f "$TMPFILE"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# The file has changed
|
||||
mv -f "$TMPFILE" "$DYNAMICRSLVCNFFILE"
|
||||
|
||||
# Only notify users of /etc/resolv.conf if /etc/resolv.conf is actually
|
||||
# symlinked to the file we have just updated.
|
||||
resolv_conf_is_symlinked_to_dynamic_file || exit 0
|
||||
|
||||
# Notify users of the resolver
|
||||
if [ -d "${ETCRESOLVCONF}/update-libc.d" ] ; then
|
||||
exec run-parts "${ETCRESOLVCONF}/update-libc.d"
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
Reference in New Issue
Block a user