mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-08 12:41:29 +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,
|
virDomainMachineNameAppendValid(virBufferPtr buf,
|
||||||
const char *name)
|
const char *name)
|
||||||
{
|
{
|
||||||
bool skip_dot = false;
|
bool skip = true;
|
||||||
|
|
||||||
for (; *name; name++) {
|
for (; *name; name++) {
|
||||||
if (strlen(virBufferCurrentContent(buf)) >= 64)
|
if (strlen(virBufferCurrentContent(buf)) >= 64)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (*name == '.') {
|
if (*name == '.' || *name == '-') {
|
||||||
if (!skip_dot)
|
if (!skip)
|
||||||
virBufferAddChar(buf, *name);
|
virBufferAddChar(buf, *name);
|
||||||
skip_dot = true;
|
skip = true;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
skip_dot = false;
|
skip = false;
|
||||||
|
|
||||||
if (!strchr(HOSTNAME_CHARS, *name))
|
if (!strchr(HOSTNAME_CHARS, *name))
|
||||||
continue;
|
continue;
|
||||||
@ -30948,8 +30948,8 @@ virDomainMachineNameAppendValid(virBufferPtr buf,
|
|||||||
virBufferAddChar(buf, *name);
|
virBufferAddChar(buf, *name);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* trailing dashes are not allowed */
|
/* trailing dashes or dots are not allowed */
|
||||||
virBufferTrimChars(buf, "-");
|
virBufferTrimChars(buf, "-.");
|
||||||
}
|
}
|
||||||
|
|
||||||
#undef HOSTNAME_CHARS
|
#undef HOSTNAME_CHARS
|
||||||
|
@ -736,7 +736,7 @@ mymain(void)
|
|||||||
TEST_MACHINE("demo", 1, "qemu-1-demo");
|
TEST_MACHINE("demo", 1, "qemu-1-demo");
|
||||||
TEST_MACHINE("demo-name", 2, "qemu-2-demo-name");
|
TEST_MACHINE("demo-name", 2, "qemu-2-demo-name");
|
||||||
TEST_MACHINE("demo!name", 3, "qemu-3-demoname");
|
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("bull\U0001f4a9", 5, "qemu-5-bull");
|
||||||
TEST_MACHINE("demo..name", 6, "qemu-6-demo.name");
|
TEST_MACHINE("demo..name", 6, "qemu-6-demo.name");
|
||||||
TEST_MACHINE("12345678901234567890123456789012345678901234567890123456789", 7,
|
TEST_MACHINE("12345678901234567890123456789012345678901234567890123456789", 7,
|
||||||
@ -746,7 +746,8 @@ mymain(void)
|
|||||||
TEST_MACHINE("kstest-network-device-default-httpks_(c9eed63e-981e-48ec-acdc-56b3f8c5f678)", 100,
|
TEST_MACHINE("kstest-network-device-default-httpks_(c9eed63e-981e-48ec-acdc-56b3f8c5f678)", 100,
|
||||||
"qemu-100-kstest-network-device-default-httpksc9eed63e-981e-48ec");
|
"qemu-100-kstest-network-device-default-httpksc9eed63e-981e-48ec");
|
||||||
TEST_MACHINE("kstest-network-device-default-httpks_(c9eed63e-981e-48ec--cdc-56b3f8c5f678)", 10,
|
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) \
|
# define TESTS_PM_SUPPORT_HELPER(name, function) \
|
||||||
do { \
|
do { \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user