ping: Simplify protocol selection.
- Interrupt the option loop as soon as we have an indication of which protocol is intended.
- If we end up having to perform a DNS lookup, loop over the entire result looking for either IPv4 or IPv6 addresses.
Sponsored by: NetApp, Inc.
Sponsored by: Klara, Inc.
Reviewed by: rscheff, kevans, allanjude
Differential Revision: https://reviews.freebsd.org/D42137
(cherry picked from commit 7fd2c91a291bd518e012b438d6ca6fdd04d39dbf)
ping: Consistently use EX_NOHOST for DNS failures.
Traditionally, ping returned exit code EX_NOHOST if a DNS lookup failed.
That is still the case for the legacy code in the new merged ping, but
not for IPv6 targets, nor when a DNS lookup is performed in order to
determine which version of the tool to invoke.
While here, also make sure that the error message is consistent.
Sponsored by: NetApp, Inc.
Sponsored by: Klara, Inc.
Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D42159
(cherry picked from commit c4ffb80ef18f6b581dc28c14bc579e0e7c73438c)
ping: Add missing ATF boilerplate.
Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D42161
(cherry picked from commit fc7143b48341fb16ef5b2262c7cd5b5c47056112)