From 6d92d2c7c4e32e840d86cfdfafa0b9bb980ba62c Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Thu, 18 Nov 2021 17:39:58 +0100 Subject: [PATCH] TestConntrackFlowsLeak: use busybox "nc" The appropriate/nc image was last built over 6 years ago, and uses the deprecated v2 schema 1 format. https://github.com/appropriate/docker-nc/tree/master/latest The image is just a plain "apk install" of netbsd-netcat, but was added in 1c4286bcffcdc6668f84570a2754c78cccbbf7e1, because at the time the busybox nc had some bugs. These appear to be resolved, so we can use the busybox nc, from the frozen images. Signed-off-by: Sebastiaan van Stijn --- integration-cli/docker_cli_network_unix_test.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/integration-cli/docker_cli_network_unix_test.go b/integration-cli/docker_cli_network_unix_test.go index 6b43c6f48f..ea5da4b401 100644 --- a/integration-cli/docker_cli_network_unix_test.go +++ b/integration-cli/docker_cli_network_unix_test.go @@ -1747,12 +1747,12 @@ func (s *DockerNetworkSuite) TestConntrackFlowsLeak(c *testing.T) { assertNwIsAvailable(c, "testbind") // Launch the server, this will remain listening on an exposed port and reply to any request in a ping/pong fashion - cmd := "while true; do echo hello | nc -w 1 -lu 8080; done" - cli.DockerCmd(c, "run", "-d", "--name", "server", "--net", "testbind", "-p", "8080:8080/udp", "appropriate/nc", "sh", "-c", cmd) + cmd := "while true; do echo hello | nc -w 1 -l -u -p 8080; done" + cli.DockerCmd(c, "run", "-d", "--name", "server", "--net", "testbind", "-p", "8080:8080/udp", "busybox", "sh", "-c", cmd) // Launch a container client, here the objective is to create a flow that is natted in order to expose the bug - cmd = "echo world | nc -q 1 -u 192.168.10.1 8080" - cli.DockerCmd(c, "run", "-d", "--name", "client", "--net=host", "appropriate/nc", "sh", "-c", cmd) + cmd = "echo world | nc -w 1 -u 192.168.10.1 8080" + cli.DockerCmd(c, "run", "-d", "--name", "client", "--net=host", "busybox", "sh", "-c", cmd) // Get all the flows using netlink flows, err := netlink.ConntrackTableList(netlink.ConntrackTable, unix.AF_INET)