diff --git a/external/bsd/dhcpcd/dist/hooks/01-test b/external/bsd/dhcpcd/dist/hooks/01-test index 6732af79e607..99499425e00d 100644 --- a/external/bsd/dhcpcd/dist/hooks/01-test +++ b/external/bsd/dhcpcd/dist/hooks/01-test @@ -1,9 +1,37 @@ # Echo the interface flags, reason and message options if [ "$reason" = "TEST" ]; then - set | grep \ - "^\(interface\|pid\|reason\|protocol\|profile\|skip_hooks\)=" | sort - set | grep "^if\(carrier\|flags\|mtu\|wireless\|ssid\)=" | sort - set | grep "^\(new_\|old_\|nd[0-9]*_\)" | sort + # General variables at the top + set | while read line; do + case "$line" in + interface=*|pid=*|reason=*|protocol=*|profile=*|skip_hooks=*) + echo "$line";; + esac + done + # Interface flags + set | while read line; do + case "$line" in + ifcarrier=*|ifflags=*|ifmetric=*|ifmtu=*|ifwireless=*|ifssid=*) + echo "$line";; + esac + done + # Old lease + set | while read line; do + case "$line" in + old_*) echo "$line";; + esac + done + # New lease + set | while read line; do + case "$line" in + new_*) echo "$line";; + esac + done + # Router Advertisements + set | while read line; do + case "$line" in + nd[0-9]*_*) echo "$line";; + esac + done exit 0 fi