Browse Source

- use specific patterns when looping over /etc/hostname.if files

to skip backup or temp files.
- test if the patterns matched actual files
- warn if ifcreate() fails on an interface and continue with the
subsequent interfaces in the list instead of return'ing
OK dlg sthen tb
OPENBSD_6_3
rpe 6 years ago
parent
commit
988ee6a06b
1 changed files with 7 additions and 5 deletions
  1. +7
    -5
      src/etc/netstart

+ 7
- 5
src/etc/netstart View File

@ -1,6 +1,6 @@
#!/bin/sh - #!/bin/sh -
# #
# $OpenBSD: netstart,v 1.192 2018/02/17 13:11:03 rpe Exp $
# $OpenBSD: netstart,v 1.193 2018/02/19 21:47:43 rpe Exp $
# Turn off Strict Bourne shell mode. # Turn off Strict Bourne shell mode.
set +o sh set +o sh
@ -84,11 +84,13 @@ vifscreate() {
local _vif _hn _if local _vif _hn _if
for _vif in $(ifconfig -C); do for _vif in $(ifconfig -C); do
for _hn in /etc/hostname.${_vif}*; do
for _hn in /etc/hostname.${_vif}+([[:digit:]]); do
[[ -f $_hn ]] || continue [[ -f $_hn ]] || continue
_if=${_hn#/etc/hostname.} _if=${_hn#/etc/hostname.}
ifcreate $_if || return
if ! ifcreate $_if; then
echo "${0##*/}: create for '$_if' failed."
fi
done done
done done
} }
@ -149,9 +151,9 @@ ifmstart() {
local _sifs=$1 _xifs=$2 _hn _if _sif _xif local _sifs=$1 _xifs=$2 _hn _if _sif _xif
for _sif in ${_sifs:-ALL}; do for _sif in ${_sifs:-ALL}; do
for _hn in /etc/hostname.*; do
for _hn in /etc/hostname.+([[:alpha:]])+([[:digit:]]); do
[[ -f $_hn ]] || continue
_if=${_hn#/etc/hostname.} _if=${_hn#/etc/hostname.}
[[ $_if == '*' ]] && continue
# Skip unwanted ifs. # Skip unwanted ifs.
for _xif in $_xifs; do for _xif in $_xifs; do


Loading…
Cancel
Save