Releases: brandonkramer/ipc
Releases · brandonkramer/ipc
Release list
v0.2.1
Full Changelog: v0.2.0...v0.2.1
v0.2.0
Summary
Adds local peer authorization for Unix socket and named-pipe connections.
New API
PeerFromConn(conn)— derive caller identity from a local transport connectionPeerContext—IsLocal,CanRead,CanWriteauthorization helpersTrustedPeer()— in-process trusted caller contextPeerLevel—Unknown,Local,TrustedErrAccessDenied,ErrUnsupportedConn
Platform support: Linux (SO_PEERCRED), macOS (LOCAL_PEERCRED / LOCAL_PEERPID), Windows stub (local for any non-nil conn), other Unix fallback.
Test plan
-
go test ./...
v0.1.0
Initial public release of the ipc module.
Features
- Cross-platform local transport via
[Addr]: Unix domain sockets and Windows named pipes [Listen],[Dial],[DialTimeout], and[DialRetry]for startup race tolerance- Low-level helpers:
[ListenUnix],[ListenPipe],[PipeName] - Detached child spawn via
[SetDetach] - Optional HTTP-over-Unix:
[RunUnixHTTP],[UnixHTTPClient], JSON handler helpers - Injectable unix hooks for deterministic tests
Tooling
- CI workflow, lefthook, golangci-lint,
./scripts/check.sh - 100% statement coverage on Unix builds
Install
go get github.com/brandonkramer/ipc@v0.1.0