mirror of
https://github.com/containers/podman.git
synced 2026-07-14 17:21:52 -04:00
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>
3.2 KiB
3.2 KiB
CHANGELOG
v0.4.1
- [Bug Fix] commit:
ensure
socket.Conncan be used with non-socket file descriptors by handlingENOTSOCKin 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/sysand 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.Connmethods now support context cancelation. Future releases will continue adding support as needed.- New
ReadContextandWriteContextmethods. Connect,Recvfrom,Recvmsg,Sendmsg, andSendtomethods now accept a context.Sendtoparameter order was also fixed to match the underlying syscall.
- New
v0.2.3
- [New API] commit:
socket.Connhas newPidfd*methods for wrapping thepidfd_*(2)family of system calls.
v0.2.2
- [New API] commit:
socket.Connhas newIoctlKCM*methods for wrappingioctl(2)forAF_KCMoperations.
v0.2.1
- [New API] commit:
socket.Connhas a newSetsockoptPacketMreqmethod for wrappingsetsockopt(2)forAF_PACKETsocket options.
v0.2.0
- [New API] commit:
socket.FileConncan be used to create asocket.Connfrom an existingos.File, which may be provided by systemd socket activation or another external mechanism. - [API change] commit:
socket.Conn.Connectnow returns theunix.Sockaddrvalue provided bygetpeername(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.GetsockoptIntin thesocket.Conn.Connectmethod. Thanks @vcabbage!
v0.1.2
- [Bug Fix]:
socket.Conn.Connectnow properly checks theSO_ERRORsocket option value after callingconnect(2)to verify whether or not a connection could successfully be established. This means thatConnectshould now report an error for anAF_INETTCP connection refused orAF_VSOCKconnection reset by peer. - [New API]: add
socket.Conn.Getpeernamefor use inConnect, but also for use by external callers.
v0.1.1
- [New API]:
socket.Connnow hasCloseRead,CloseWrite, andShutdownmethods. - [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.