render / rpms / libvirt

Forked from rpms/libvirt 10 months ago
Clone
Blob Blame History Raw
From f9fdeb29a61a98868d1a9f5284a85c57f826d6d1 Mon Sep 17 00:00:00 2001
Message-Id: <f9fdeb29a61a98868d1a9f5284a85c57f826d6d1@dist-git>
From: =?UTF-8?q?J=C3=A1n=20Tomko?= <jtomko@redhat.com>
Date: Fri, 13 Mar 2020 13:08:08 +0100
Subject: [PATCH] conf: do not generate machine names ending with a dash
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

As of systemd commit:

commit d65652f1f21a4b0c59711320f34266c635393c89
Author:     Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
CommitDate: 2018-12-10 09:56:56 +0100

    Partially unify hostname_is_valid() and dns_name_is_valid()

Dashes are no longer allowed at the end of machine names.

Trim the trailing dashes from the generated name before passing
it to machined.

Fedora: https://bugzilla.redhat.com/show_bug.cgi?id=1790409

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
(cherry picked from commit 45464db8ba502764cf37ec9335770248bdb3d9a8)

Prerequisite for: https://bugzilla.redhat.com/show_bug.cgi?id=1808499

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Message-Id: <ae17f80d69ee7772d32dd5c34c332be6b77e7afb.1584101247.git.mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
---
 src/conf/domain_conf.c | 3 +++
 tests/virsystemdtest.c | 4 ++++
 2 files changed, 7 insertions(+)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 77e3d25a2d..4b297c96bc 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -30708,6 +30708,9 @@ virDomainMachineNameAppendValid(virBufferPtr buf,
 
         virBufferAddChar(buf, *name);
     }
+
+    /* trailing dashes are not allowed */
+    virBufferTrimChars(buf, "-");
 }
 
 #undef HOSTNAME_CHARS
diff --git a/tests/virsystemdtest.c b/tests/virsystemdtest.c
index 9b95ca6789..26876850b8 100644
--- a/tests/virsystemdtest.c
+++ b/tests/virsystemdtest.c
@@ -740,6 +740,10 @@ mymain(void)
                  "qemu-7-123456789012345678901234567890123456789012345678901234567");
     TEST_MACHINE("123456789012345678901234567890123456789012345678901234567890", 8,
                  "qemu-8-123456789012345678901234567890123456789012345678901234567");
+    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");
 
 # define TESTS_PM_SUPPORT_HELPER(name, function) \
     do { \
-- 
2.25.1