Add getresuid/gid and setresuid/gid on BSDs

This commit is contained in:
Ryan Zoeller 2022-01-03 04:25:47 -06:00
parent f6268d9844
commit 1b32230831
3 changed files with 32 additions and 8 deletions

View File

@ -31,6 +31,8 @@ This project adheres to [Semantic Versioning](https://semver.org/).
(#[1622](https://github.com/nix-rust/nix/pull/1622))
- Added `sendfile` on DragonFly.
(#[1615](https://github.com/nix-rust/nix/pull/1615))
- Added `getresuid`, `setresuid`, `getresgid`, and `setresgid` on DragonFly, FreeBSD, and OpenBSD.
(#[1628](https://github.com/nix-rust/nix/pull/1628))
### Changed
### Fixed

View File

@ -30,11 +30,18 @@ feature! {
pub use self::pivot_root::*;
}
#[cfg(any(target_os = "android", target_os = "freebsd",
target_os = "linux", target_os = "openbsd"))]
#[cfg(any(target_os = "android",
target_os = "dragonfly",
target_os = "freebsd",
target_os = "linux",
target_os = "openbsd"))]
pub use self::setres::*;
#[cfg(any(target_os = "android", target_os = "linux"))]
#[cfg(any(target_os = "android",
target_os = "dragonfly",
target_os = "freebsd",
target_os = "linux",
target_os = "openbsd"))]
pub use self::getres::*;
feature! {
@ -2691,8 +2698,11 @@ mod pivot_root {
}
}
#[cfg(any(target_os = "android", target_os = "freebsd",
target_os = "linux", target_os = "openbsd"))]
#[cfg(any(target_os = "android",
target_os = "dragonfly",
target_os = "freebsd",
target_os = "linux",
target_os = "openbsd"))]
mod setres {
feature! {
#![feature = "users"]
@ -2735,7 +2745,11 @@ mod setres {
}
}
#[cfg(any(target_os = "android", target_os = "linux"))]
#[cfg(any(target_os = "android",
target_os = "dragonfly",
target_os = "freebsd",
target_os = "linux",
target_os = "openbsd"))]
mod getres {
feature! {
#![feature = "users"]

View File

@ -621,7 +621,11 @@ fn test_sysconf_unsupported() {
}
#[cfg(any(target_os = "android", target_os = "linux"))]
#[cfg(any(target_os = "android",
target_os = "dragonfly",
target_os = "freebsd",
target_os = "linux",
target_os = "openbsd"))]
#[test]
fn test_getresuid() {
let resuids = getresuid().unwrap();
@ -630,7 +634,11 @@ fn test_getresuid() {
assert!(resuids.saved.as_raw() != libc::uid_t::max_value());
}
#[cfg(any(target_os = "android", target_os = "linux"))]
#[cfg(any(target_os = "android",
target_os = "dragonfly",
target_os = "freebsd",
target_os = "linux",
target_os = "openbsd"))]
#[test]
fn test_getresgid() {
let resgids = getresgid().unwrap();