3 releases
Uses new Rust 2024
| new 0.0.4 | Feb 6, 2026 |
|---|---|
| 0.0.2 | Aug 13, 2025 |
| 0.0.1 | Apr 2, 2025 |
#3 in #varlink
395KB
8K
SLoC
libkirmes
A Rust and C implementation of the IPC protocol for the systemd userdb Varlink interface. kirmes provides a safe, async Rust API talking to systemd's userdb. In addition it provides a C API to communicate over Varlink or just parse JSON records for users and groups.
The Varlink communication is handled by zlink.
[!WARNING] This software is alpha stage, the API still have breaking changes.
Overview
The User/Group Record Lookup API via
Varlink allows applications to query user
and group records from local services such as
systemd-userdbd.
It replaces the role of getpwnam(3) and the glibc NSS interface with a
JSON-based protocol that supports extensible user/group records and streaming
enumeration.
Features
- Async Rust API (works with any async runtime, e.g. tokio)
- Client tool to query systemd-userdbd
- Blocking C API with support for querying and enumerating records
- JSON parsing for user records and group records in both Rust and C
Documentation
- JSON User Records -- field reference for user records
- JSON Group Records -- field reference for group records
- User/Group Lookup API via Varlink -- the Varlink protocol
License
Contributing
kirmes is an open source project, feel free to use it, share with love, if you want to collaborate just contact us or create a merge request.
Dependencies
~9–16MB
~214K SLoC