According to the linked BZ, machined expects either valid hostname or valid FQDN (see systemd commit v239-3092-gd65652f1f2). While in case of multiple dots, a trailing one doesn't violate FQDN, it does violate the rule in case of something simple, like "domain.". But it's safe to remove it in both cases.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1808499 Fixes: 45464db8ba502764cf37ec9335770248bdb3d9a8 Signed-off-by: Michal Privoznik <mpriv...@redhat.com> --- v2 of: https://www.redhat.com/archives/libvir-list/2020-February/msg01138.html diff to v1: - Adjusted commit message as suggested by Jano - Fixed ".-" and "-." occurrences too, again suggested by Jano src/conf/domain_conf.c | 6 +++--- tests/virsystemdtest.c | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index d2d97daf80..246a78d39b 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -30933,7 +30933,7 @@ virDomainMachineNameAppendValid(virBufferPtr buf, if (strlen(virBufferCurrentContent(buf)) >= 64) break; - if (*name == '.') { + if (*name == '.' || *name == '-') { if (!skip_dot) virBufferAddChar(buf, *name); skip_dot = true; @@ -30948,8 +30948,8 @@ virDomainMachineNameAppendValid(virBufferPtr buf, virBufferAddChar(buf, *name); } - /* trailing dashes are not allowed */ - virBufferTrimChars(buf, "-"); + /* trailing dashes or dots are not allowed */ + virBufferTrimChars(buf, "-."); } #undef HOSTNAME_CHARS diff --git a/tests/virsystemdtest.c b/tests/virsystemdtest.c index 1e36298189..f48a714cca 100644 --- a/tests/virsystemdtest.c +++ b/tests/virsystemdtest.c @@ -746,7 +746,8 @@ mymain(void) TEST_MACHINE("kstest-network-device-default-httpks_(c9eed63e-981e-48ec-acdc-56b3f8c5f678)", 100, "qemu-100-kstest-network-device-default-httpksc9eed63e-981e-48ec"); TEST_MACHINE("kstest-network-device-default-httpks_(c9eed63e-981e-48ec--cdc-56b3f8c5f678)", 10, - "qemu-10-kstest-network-device-default-httpksc9eed63e-981e-48ec"); + "qemu-10-kstest-network-device-default-httpksc9eed63e-981e-48ec-c"); + TEST_MACHINE("demo.-.test.", 11, "qemu-11-demo.test"); # define TESTS_PM_SUPPORT_HELPER(name, function) \ do { \ -- 2.24.1