mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-01 17:35:17 +00:00
conf: Don't generate machine names with a dot
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 <mprivozn@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
0fdb7385e4
commit
2695191a44
@ -30927,20 +30927,20 @@ static void
|
||||
virDomainMachineNameAppendValid(virBufferPtr buf,
|
||||
const char *name)
|
||||
{
|
||||
bool skip_dot = false;
|
||||
bool skip = true;
|
||||
|
||||
for (; *name; name++) {
|
||||
if (strlen(virBufferCurrentContent(buf)) >= 64)
|
||||
break;
|
||||
|
||||
if (*name == '.') {
|
||||
if (!skip_dot)
|
||||
if (*name == '.' || *name == '-') {
|
||||
if (!skip)
|
||||
virBufferAddChar(buf, *name);
|
||||
skip_dot = true;
|
||||
skip = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
skip_dot = false;
|
||||
skip = false;
|
||||
|
||||
if (!strchr(HOSTNAME_CHARS, *name))
|
||||
continue;
|
||||
@ -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
|
||||
|
@ -736,7 +736,7 @@ mymain(void)
|
||||
TEST_MACHINE("demo", 1, "qemu-1-demo");
|
||||
TEST_MACHINE("demo-name", 2, "qemu-2-demo-name");
|
||||
TEST_MACHINE("demo!name", 3, "qemu-3-demoname");
|
||||
TEST_MACHINE(".demo", 4, "qemu-4-.demo");
|
||||
TEST_MACHINE(".demo", 4, "qemu-4-demo");
|
||||
TEST_MACHINE("bull\U0001f4a9", 5, "qemu-5-bull");
|
||||
TEST_MACHINE("demo..name", 6, "qemu-6-demo.name");
|
||||
TEST_MACHINE("12345678901234567890123456789012345678901234567890123456789", 7,
|
||||
@ -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 { \
|
||||
|
Loading…
x
Reference in New Issue
Block a user