#unix-socket #unix #sockets #peer #credentials

unix-cred

一个简化从Unix套接字读取对等体凭据的库

2个版本

0.1.1 2021年1月3日
0.1.0 2020年11月8日

#995 in Unix API

MIT 许可证

24KB
491

unix-cred

crates.io Docs GitHub Actions Cirrus CI codecov

一个简化从Unix套接字读取对等体凭据的Rust库。

示例

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);
}

平台支持

以下平台有优先级支持(CI中运行测试,应该都能工作)

  • Linux (glibc和musl)
  • FreeBSD
  • macOS

以下平台有二级支持(在CI中构建,但未测试)

  • NetBSD

以下平台有三级支持(甚至在CI中都没有构建)

  • OpenBSD
  • DragonFlyBSD

依赖项

~43KB