Merge pull request #26891 from winterqt/push-ozksmwkumrrs

fix(libpod): truncate long hostnames to correct maximum length
This commit is contained in:
openshift-merge-bot[bot]
2025-08-28 12:55:27 +00:00
committed by GitHub
2 changed files with 6 additions and 6 deletions

View File

@ -741,14 +741,14 @@ func (c *Container) hostname(network bool) string {
// containers.conf, use a sanitized version of the container's name // containers.conf, use a sanitized version of the container's name
// as the hostname. Since the container name must already match // as the hostname. Since the container name must already match
// the set '[a-zA-Z0-9][a-zA-Z0-9_.-]*', we can just remove any // the set '[a-zA-Z0-9][a-zA-Z0-9_.-]*', we can just remove any
// underscores and limit it to 253 characters to make it a valid // underscores and limit it to 64 characters to make it a valid
// hostname. // hostname.
if c.runtime.config.Containers.ContainerNameAsHostName { if c.runtime.config.Containers.ContainerNameAsHostName {
sanitizedHostname := strings.ReplaceAll(c.Name(), "_", "") sanitizedHostname := strings.ReplaceAll(c.Name(), "_", "")
if len(sanitizedHostname) <= 253 { if len(sanitizedHostname) <= 64 {
return sanitizedHostname return sanitizedHostname
} }
return sanitizedHostname[:253] return sanitizedHostname[:64]
} }
// Otherwise use the container's short ID as the hostname. // Otherwise use the container's short ID as the hostname.

View File

@ -788,7 +788,7 @@ var _ = Describe("Verify podman containers.conf usage", func() {
}) })
startContainer := func(params ...string) string { startContainer := func(params ...string) string {
args := []string{"create"} args := []string{"run", "-d"}
for _, param := range params { for _, param := range params {
if param == "--name" { if param == "--name" {
args = append(args, "--replace") args = append(args, "--replace")
@ -888,7 +888,7 @@ var _ = Describe("Verify podman containers.conf usage", func() {
name = getContainerConfig(containerID, "{{ .Name }}") name = getContainerConfig(containerID, "{{ .Name }}")
// Double check that name actually got set correctly // Double check that name actually got set correctly
Expect(name).To(Equal(longHostname)) Expect(name).To(Equal(longHostname))
// Hostname should be the container name truncated to 253 characters // Hostname should be the container name truncated to 64 characters
Expect(hostname).To(Equal(name[:253])) Expect(hostname).To(Equal(name[:64]))
}) })
}) })