Fix Docker core dumps when removing network with special characters (#21401).
This fix tries to fix Docker core dumps when removing network with special characters. The issue is from the fact that when docker client tries to pass the command to API, the networkID is not escaped in case of special characters. This also means other commands (not just `docker network rm`) may face the same issue (e.g., `docker network connect`). This fix adds the URL path escape to properly handle it. In addition, an integration test for network create and delete is added to cover the cases in #21401. This fix fixes #21401. Signed-off-by: Yong Tang <yong.tang.github@outlook.com> (cherry picked from commitf8dc5562d0
) Signed-off-by: David Calavera <david.calavera@gmail.com> (cherry picked from commitf154227608
)
This commit is contained in:
parent
8c390f0987
commit
6be088a3eb
1 changed files with 13 additions and 0 deletions
|
@ -1452,3 +1452,16 @@ func (s *DockerSuite) TestDockerNetworkInternalMode(c *check.C) {
|
|||
_, _, err = dockerCmdWithError("exec", "second", "ping", "-c", "1", "first")
|
||||
c.Assert(err, check.IsNil)
|
||||
}
|
||||
|
||||
// Test for #21401
|
||||
func (s *DockerNetworkSuite) TestDockerNetworkCreateDeleteSpecialCharacters(c *check.C) {
|
||||
dockerCmd(c, "network", "create", "test@#$")
|
||||
assertNwIsAvailable(c, "test@#$")
|
||||
dockerCmd(c, "network", "rm", "test@#$")
|
||||
assertNwNotAvailable(c, "test@#$")
|
||||
|
||||
dockerCmd(c, "network", "create", "kiwl$%^")
|
||||
assertNwIsAvailable(c, "kiwl$%^")
|
||||
dockerCmd(c, "network", "rm", "kiwl$%^")
|
||||
assertNwNotAvailable(c, "kiwl$%^")
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue