network.subr: Fix infinite loop

When setting up carp tunnel, using a password consisting of only the
characters used as hexadecimal characters, i.e. abc-def, there will be
an infinite loop in the shell function ifalias_af_common_handler().
To circumvent this we test for " pass ".

PR:		268378
Reported by:	jyoung15@gmail.com
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D37748
This commit is contained in:
Cy Schubert 2022-12-14 13:41:10 -08:00
parent 87061d3bff
commit e3e57edf4a

View file

@ -1049,6 +1049,9 @@ ifalias_af_common_handler()
# Process the last component if any.
if [ -n "${_tmpargs}" ]; then
case $_tmpargs in
${_af}[[:space:]]pass[[:space:]]*)
${IFCONFIG_CMD} $_if $_tmpargs $_action && _ret=0
;;
${_af}[[:space:]]*[0-9a-fA-F]-*)
ifalias_af_common_handler $_if $_af $_action \
`ifalias_expand_addr $_af $_action ${_tmpargs#${_af}[[:space:]]}`