2 releases
0.1.1 | Jan 3, 2021 |
---|---|
0.1.0 | Nov 8, 2020 |
#1002 in Unix APIs
24KB
491 lines
unix-cred
A Rust library that simplifies reading peer credentials from Unix sockets.
Example:
use std::os::unix::net::UnixStream;
fn main() {
let (sock, _peer) = UnixStream::pair().unwrap();
// This will print the UID/GID of the current process
// (since it's in possession of the other end)
let (uid, gid) = unix_cred::get_peer_ids(&sock).unwrap();
println!("{} {}", uid, gid);
// Retrieving the PID is not supported on all platforms
// (and on some versions of some platforms None will be returned)
// See the documentation for more details
let (pid, uid, gid) = unix_cred::get_peer_pid_ids(&sock).unwrap();
println!("{:?} {} {}", pid, uid, gid);
}
Platform support
The following platforms have first-class support (tests are run in CI, and everything should work):
- Linux (glibc and musl)
- FreeBSD
- macOS
The following platforms have second-class support (built, but not tested, in CI):
- NetBSD
The following platforms have third-class support (not even built in CI):
- OpenBSD
- DragonFlyBSD
Dependencies
~44KB