Revision history for POE-Component-Server-JSONUnix
0.2.0 2026-08-02/22:30
- Add kernel peer-credential authentication. On Linux (SO_PEERCRED),
FreeBSD/DragonFly/macOS (LOCAL_PEERCRED), NetBSD, and OpenBSD the
server reads the peer's UID/GID straight from the socket, so a
client can authenticate with no cookie file: auth_start advertises
'peercred', and auth_verify called with no path succeeds. Controlled
by the new 'auth_method' spawn argument ('auto' (default), 'peercred',
or 'cookie'); 'auto' falls back to the cookie challenge where the
platform has no support. Wire-compatible: existing cookie-based
clients are unaffected.
- Add the peer_uid/peer_gid context accessors, populated from connect
time on supported platforms independent of any handshake.
- Client and BlockingClient authenticate() now use the peercred path
automatically whenever the server offers it, creating no file.
0.1.0 2026-07-21/20:30
- Add Unix-ownership authentication: auth_start/auth_verify built-in
commands, the auth_required and auth_temp_dir spawn arguments, and
the authenticated/uid/username context accessors.
- Add POE::Component::Server::JSONUnix::Client, a POE-based client
with request/response correlation, callback and event dispatch,
per-request timeouts, and support for the auth handshake.
- Add POE::Component::Server::JSONUnix::BlockingClient, a simple
blocking (non-POE) client with the same auth support.
- Add an optional user/group permission system via the 'permissions'
spawn argument: per-command allow/deny rules by user or group
(resolved through NSS, secondary groups included, cached per
connection), machine-readable 'code' fields on refusals, and the
groups/in_group/may context accessors. A '%DEFAULT%' entry under
permissions commands supplies a full fallback rule for commands
without one of their own. Without the argument the server behaves
exactly as before.
0.0.1 2026-06-21/04:30
- Initial release.