Files
podman/vendor/github.com/mdlayher/socket/CHANGELOG.md
Matthew Heon 642fa98976 Initial addition of 9p code to Podman
This includes two new hidden commands: a 9p server,
`podman machine server9p`, and a 9p client,
`podman machine client9p` with `server9p` currently only
configured to run on Windows and serve 9p via HyperV vsock, and
`client9p` only configured to run on Linux. The server is run by
`podman machine start` and has the same lifespan as gvproxy
(waits for the gvproxy PID to die before shutting down). The
client is run inside the VM, also by `podman machine start`, and
mounts uses kernel 9p mount code to complete the mount. It's
unfortunately not possible to use mount directly without the
wrapper; we need to set up the vsock and pass it to mount as an
FD.

In theory this can be generalized so that the server can run
anywhere and over almost any transport, but I haven't done this
here as I don't think we have a usecase other than HyperV right
now.

[NO NEW TESTS NEEDED] This requires changes to Podman in the VM,
so we need to wait until a build with this lands in FCOS to test.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2023-10-31 10:14:02 -04:00

3.2 KiB

CHANGELOG

v0.4.1

  • [Bug Fix] commit: ensure socket.Conn can be used with non-socket file descriptors by handling ENOTSOCK in the constructor.

v0.4.0

This is the first release of package socket that only supports Go 1.18+. Users on older versions of Go must use v0.3.0.

  • [Improvement]: drop support for older versions of Go so we can begin using modern versions of x/sys and other dependencies.

v0.3.0

This is the last release of package socket that supports Go 1.17 and below.

  • [New API/API change] PR: numerous socket.Conn methods now support context cancelation. Future releases will continue adding support as needed.
    • New ReadContext and WriteContext methods.
    • Connect, Recvfrom, Recvmsg, Sendmsg, and Sendto methods now accept a context.
    • Sendto parameter order was also fixed to match the underlying syscall.

v0.2.3

  • [New API] commit: socket.Conn has new Pidfd* methods for wrapping the pidfd_*(2) family of system calls.

v0.2.2

  • [New API] commit: socket.Conn has new IoctlKCM* methods for wrapping ioctl(2) for AF_KCM operations.

v0.2.1

  • [New API] commit: socket.Conn has a new SetsockoptPacketMreq method for wrapping setsockopt(2) for AF_PACKET socket options.

v0.2.0

  • [New API] commit: socket.FileConn can be used to create a socket.Conn from an existing os.File, which may be provided by systemd socket activation or another external mechanism.
  • [API change] commit: socket.Conn.Connect now returns the unix.Sockaddr value provided by getpeername(2), since we have to invoke that system call anyway to verify that a connection to a remote peer was successfully established.
  • [Bug Fix] commit: check the correct error from unix.GetsockoptInt in the socket.Conn.Connect method. Thanks @vcabbage!

v0.1.2

  • [Bug Fix]: socket.Conn.Connect now properly checks the SO_ERROR socket option value after calling connect(2) to verify whether or not a connection could successfully be established. This means that Connect should now report an error for an AF_INET TCP connection refused or AF_VSOCK connection reset by peer.
  • [New API]: add socket.Conn.Getpeername for use in Connect, but also for use by external callers.

v0.1.1

  • [New API]: socket.Conn now has CloseRead, CloseWrite, and Shutdown methods.
  • [Improvement]: internal rework to more robustly handle various errors.

v0.1.0

  • Initial unstable release. Most functionality has been developed and ported from package netlink.