hostname-setup: gracefully handle kernel with empty CONFIG_DEFAULT_HOSTNAME
authorYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 30 Dec 2021 18:48:17 +0000 (03:48 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 30 Dec 2021 18:58:06 +0000 (03:58 +0900)
commitd8d6b2275f7b7a5b58c6b0d89b78c927333c6af9
tree63f1d579f01ec0677bb2710938166ba5e440bd06
parent1e65eb8f9b7d567462030b2e625998d77677e636
hostname-setup: gracefully handle kernel with empty CONFIG_DEFAULT_HOSTNAME

Previously, sethostname_idempotent_full() calls gethostname_full() with
GET_HOSTNAME_ALLOW_NONE and GET_HOSTNAME_ALLOW_LOCALHOST flags. That
intended to get any values set by kernel. But, that does not work, as
the hostname may be empty.

Let's simplify the logic. The function sethostname_idempotent_full()
intends to set the requested hostname only when the current hostname
is different from the requested one. So, no check in getostname_full()
is required. Hence, simply use the result of uname() here.

Fixes #21896.
src/shared/hostname-setup.c