use libnetwork/slirp4netns from c/common

Most of the code moved there so if from there and remove it here.

Some extra changes are required here. This is a bit of a mess. The pipe
handling makes this a bit more difficult.

[NO NEW TESTS NEEDED] This is just a rework, existing tests must pass.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
This commit is contained in:
Paul Holzinger
2023-06-20 15:58:01 +02:00
parent 180cf0cf17
commit 614c962c23
21 changed files with 853 additions and 881 deletions

View File

@@ -0,0 +1,27 @@
//go:build linux
// +build linux
// Rootlessport Config type for use in podman/cmd/rootlessport.
package rootlessport
import (
"github.com/containers/common/libnetwork/types"
)
const (
// BinaryName is the binary name for the parent process.
BinaryName = "rootlessport"
)
// Config needs to be provided to the process via stdin as a JSON string.
// stdin needs to be closed after the message has been written.
type Config struct {
Mappings []types.PortMapping
NetNSPath string
ExitFD int
ReadyFD int
TmpDir string
ChildIP string
ContainerID string
RootlessCNI bool
}