From b8f5b41b98e17a6d124d04baf5e7e29c6b38fef1 Mon Sep 17 00:00:00 2001 From: macie Date: Sat, 8 Feb 2025 16:32:38 +0100 Subject: [PATCH] fix: Detect HOSTNAME on OpenWrt OpenWrt can be run on devices with little resource, so it can miss some BusyBox commands (eg. hostname). The standard way of gathering info about OpenWrt is by the `uci` command, see: . --- lynis | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/lynis b/lynis index 78401f25..0a9969df 100755 --- a/lynis +++ b/lynis @@ -520,12 +520,17 @@ ${NORMAL} HP-UX) HOSTNAME=$(hostname) ;; Linux) - HOSTNAME=$(hostname -s 2> /dev/null) - if [ -z "${HOSTNAME}" ]; then - HOSTNAME="${FQDN:-no-hostname}" - fi - if [ "${HOSTNAME}" = "${FQDN}" ]; then - FQDN=$(hostname -f 2> /dev/null) + if [ "${LINUX_VERSION}" = "OpenWrt" ]; then + HOSTNAME=$(uname -n) + FQDN="${HOSTNAME:+$HOSTNAME.}$(uci -q get dhcp.@dnsmasq[0].domain)" + else + HOSTNAME=$(hostname -s 2> /dev/null) + if [ -z "${HOSTNAME}" ]; then + HOSTNAME="${FQDN:-no-hostname}" + fi + if [ "${HOSTNAME}" = "${FQDN}" ]; then + FQDN=$(hostname -f 2> /dev/null) + fi fi ;; Solaris)