MFV r296164:
Update openresolve to version 3.7.3 including: * Save the initial working directory and change to it just before running any scripts. This avoids scripts putting files accidently where they shouldn't. * Strip trailing dot from search and domain names. * man page improvements. Relnotes: yes
This commit is contained in:
parent
6dd3382ff8
commit
0f231ca034
@ -1,5 +1,5 @@
|
|||||||
PKG= openresolv
|
PKG= openresolv
|
||||||
VERSION= 3.7.1
|
VERSION= 3.7.3
|
||||||
|
|
||||||
# Nasty hack so that make clean works without configure being run
|
# 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!= test -e config.mk && echo config.mk || echo config-null.mk
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
.\" Copyright (c) 2009-2015 Roy Marples
|
.\" Copyright (c) 2009-2016 Roy Marples
|
||||||
.\" All rights reserved
|
.\" All rights reserved
|
||||||
.\"
|
.\"
|
||||||
.\" Redistribution and use in source and binary forms, with or without
|
.\" Redistribution and use in source and binary forms, with or without
|
||||||
@ -22,7 +22,7 @@
|
|||||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
.\" SUCH DAMAGE.
|
.\" SUCH DAMAGE.
|
||||||
.\"
|
.\"
|
||||||
.Dd May 14, 2015
|
.Dd February 21, 2016
|
||||||
.Dt RESOLVCONF.CONF 5
|
.Dt RESOLVCONF.CONF 5
|
||||||
.Os
|
.Os
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
@ -42,8 +42,11 @@ must contain valid shell commands.
|
|||||||
Listed below are the standard
|
Listed below are the standard
|
||||||
.Nm
|
.Nm
|
||||||
variables that may be set.
|
variables that may be set.
|
||||||
If the values contain white space for special shell characters,
|
If the values contain whitespace, wildcards or other special shell characters,
|
||||||
ensure they are quoted and escaped correctly.
|
ensure they are quoted and escaped correctly.
|
||||||
|
See the
|
||||||
|
.Sy replace
|
||||||
|
variable for an example on quoting.
|
||||||
.Pp
|
.Pp
|
||||||
After updating this file, you may wish to run
|
After updating this file, you may wish to run
|
||||||
.Nm resolvconf -u
|
.Nm resolvconf -u
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# Copyright (c) 2007-2015 Roy Marples
|
# Copyright (c) 2007-2016 Roy Marples
|
||||||
# All rights reserved
|
# All rights reserved
|
||||||
|
|
||||||
# Redistribution and use in source and binary forms, with or without
|
# Redistribution and use in source and binary forms, with or without
|
||||||
@ -55,6 +55,7 @@ METRICDIR="$VARDIR/metrics"
|
|||||||
PRIVATEDIR="$VARDIR/private"
|
PRIVATEDIR="$VARDIR/private"
|
||||||
EXCLUSIVEDIR="$VARDIR/exclusive"
|
EXCLUSIVEDIR="$VARDIR/exclusive"
|
||||||
LOCKDIR="$VARDIR/lock"
|
LOCKDIR="$VARDIR/lock"
|
||||||
|
_PWD="$PWD"
|
||||||
|
|
||||||
warn()
|
warn()
|
||||||
{
|
{
|
||||||
@ -119,6 +120,21 @@ echo_resolv()
|
|||||||
IFS="$OIFS"
|
IFS="$OIFS"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Strip any trailing dot from each name as a FQDN does not belong
|
||||||
|
# in resolv.conf(5)
|
||||||
|
# If you think otherwise, capture a DNS trace and you'll see libc
|
||||||
|
# will strip it regardless.
|
||||||
|
# This also solves setting up duplicate zones in our subscribers.
|
||||||
|
strip_trailing_dots()
|
||||||
|
{
|
||||||
|
local n=
|
||||||
|
|
||||||
|
for n; do
|
||||||
|
printf "%s" "${n%.}"
|
||||||
|
done
|
||||||
|
printf "\n"
|
||||||
|
}
|
||||||
|
|
||||||
# Parse resolv.conf's and make variables
|
# Parse resolv.conf's and make variables
|
||||||
# for domain name servers, search name servers and global nameservers
|
# for domain name servers, search name servers and global nameservers
|
||||||
parse_resolv()
|
parse_resolv()
|
||||||
@ -162,14 +178,14 @@ parse_resolv()
|
|||||||
$islocal || ns="$ns${line#* } "
|
$islocal || ns="$ns${line#* } "
|
||||||
;;
|
;;
|
||||||
"domain "*)
|
"domain "*)
|
||||||
|
search="$(strip_trailing_dots ${line#* })"
|
||||||
if [ -z "$domain" ]; then
|
if [ -z "$domain" ]; then
|
||||||
domain="${line#* }"
|
domain="$search"
|
||||||
echo "DOMAIN=\"$domain\""
|
echo "DOMAIN=\"$domain\""
|
||||||
fi
|
fi
|
||||||
search="${line#* }"
|
|
||||||
;;
|
;;
|
||||||
"search "*)
|
"search "*)
|
||||||
search="${line#* }"
|
search="$(strip_trailing_dots ${line#* })"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
[ -n "$line" ] && continue
|
[ -n "$line" ] && continue
|
||||||
@ -752,6 +768,10 @@ eval "$(make_vars)"
|
|||||||
export RESOLVCONF DOMAINS SEARCH NAMESERVERS LOCALNAMESERVERS
|
export RESOLVCONF DOMAINS SEARCH NAMESERVERS LOCALNAMESERVERS
|
||||||
: ${list_resolv:=list_resolv -l}
|
: ${list_resolv:=list_resolv -l}
|
||||||
retval=0
|
retval=0
|
||||||
|
|
||||||
|
# Run scripts in the same directory resolvconf is run from
|
||||||
|
# in case any scripts accidently dump files in the wrong place.
|
||||||
|
cd "$_PWD"
|
||||||
for script in "$LIBEXECDIR"/*; do
|
for script in "$LIBEXECDIR"/*; do
|
||||||
if [ -f "$script" ]; then
|
if [ -f "$script" ]; then
|
||||||
eval script_enabled="\$${script##*/}"
|
eval script_enabled="\$${script##*/}"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user