mirror of
https://github.com/containers/podman.git
synced 2025-09-18 07:51:22 +08:00
Merge pull request #26891 from winterqt/push-ozksmwkumrrs
fix(libpod): truncate long hostnames to correct maximum length
This commit is contained in:
@ -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.
|
||||||
|
@ -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]))
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
Reference in New Issue
Block a user