mirror of
https://github.com/openwrt/packages.git
synced 2025-12-26 11:16:31 +04:00
unbound: bugfix init race condition invalid FQDN
options 'add_local_fqdn' and 'add_wan_fqdn' can be affected by race conditions when they are at level 4. Interface name may not be returned by network tools. The conf file has bad record formats and Unbound just will not load. Detect this and fall back to only the host FQDN (level 3). squash: improve documentation wording and format codes. Signed-off-by: Eric Luehrsen <ericluehrsen@hotmail.com>
This commit is contained in:
@@ -115,7 +115,6 @@ create_interface_dns() {
|
||||
|
||||
if [ "$ignore" -gt 0 ] ; then
|
||||
mode="$UNBOUND_D_WAN_FQDN"
|
||||
|
||||
else
|
||||
mode="$UNBOUND_D_LAN_FQDN"
|
||||
fi
|
||||
@@ -128,8 +127,15 @@ create_interface_dns() {
|
||||
;;
|
||||
|
||||
4)
|
||||
mode_ptr="$if_fqdn"
|
||||
names="$if_fqdn $host_fqdn $UNBOUND_TXT_HOSTNAME"
|
||||
if [ -z "$ifdashname" ] ; then
|
||||
# race conditions at init can rarely cause a blank device return
|
||||
# the record format is invalid and Unbound won't load the conf file
|
||||
mode_ptr="$host_fqdn"
|
||||
names="$host_fqdn $UNBOUND_TXT_HOSTNAME"
|
||||
else
|
||||
mode_ptr="$if_fqdn"
|
||||
names="$if_fqdn $host_fqdn $UNBOUND_TXT_HOSTNAME"
|
||||
fi
|
||||
;;
|
||||
|
||||
*)
|
||||
@@ -297,14 +303,14 @@ unbound_mkdir() {
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if [ -f $UNBOUND_KEYFILE.keep ] ; then
|
||||
# root.key.keep is reused if newest
|
||||
cp -u $UNBOUND_KEYFILE.keep $UNBOUND_KEYFILE
|
||||
rm -f $UNBOUND_KEYFILE.keep
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
# Ensure access and prepare to jail
|
||||
chown -R unbound:unbound $UNBOUND_VARDIR
|
||||
chmod 775 $UNBOUND_VARDIR
|
||||
|
||||
Reference in New Issue
Block a user