aboutsummaryrefslogtreecommitdiff
path: root/libpod/oci_conmon_attach_freebsd.go
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2022-08-18 17:21:09 +0000
committerGitHub <noreply@github.com>2022-08-18 17:21:09 +0000
commitd07b8c82278c0bfcf717cdb7e3908cb984a3cdcc (patch)
tree2fa51f0af43711c667e916c81a47e961e81ffc2c /libpod/oci_conmon_attach_freebsd.go
parent2d245e595a02debdc6129ec28014ff780e2553d1 (diff)
parent054d64710736250c4d238e159884c1588eb7218a (diff)
downloadpodman-d07b8c82278c0bfcf717cdb7e3908cb984a3cdcc.tar.gz
podman-d07b8c82278c0bfcf717cdb7e3908cb984a3cdcc.tar.bz2
podman-d07b8c82278c0bfcf717cdb7e3908cb984a3cdcc.zip
Merge pull request #15371 from dfr/freebsd-conmon
libpod: Add FreeBSD support for ConmonOCIRuntime
Diffstat (limited to 'libpod/oci_conmon_attach_freebsd.go')
-rw-r--r--libpod/oci_conmon_attach_freebsd.go21
1 files changed, 21 insertions, 0 deletions
diff --git a/libpod/oci_conmon_attach_freebsd.go b/libpod/oci_conmon_attach_freebsd.go
new file mode 100644
index 000000000..de0054381
--- /dev/null
+++ b/libpod/oci_conmon_attach_freebsd.go
@@ -0,0 +1,21 @@
+package libpod
+
+import (
+ "net"
+ "os"
+ "path/filepath"
+)
+
+func openUnixSocket(path string) (*net.UnixConn, error) {
+ // socket paths can be too long to fit into a sockaddr_un so we create a shorter symlink.
+ tmpdir, err := os.MkdirTemp("", "podman")
+ if err != nil {
+ return nil, err
+ }
+ defer os.RemoveAll(tmpdir)
+ tmpsockpath := filepath.Join(tmpdir, "sock")
+ if err := os.Symlink(path, tmpsockpath); err != nil {
+ return nil, err
+ }
+ return net.DialUnix("unixpacket", nil, &net.UnixAddr{Name: tmpsockpath, Net: "unixpacket"})
+}