Skip to content

Commit

Permalink
Add getresuid/gid and setresuid/gid on BSDs
Browse files Browse the repository at this point in the history
  • Loading branch information
rtzoeller committed Jan 11, 2022
1 parent f6268d9 commit 1b32230
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 8 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
26 changes: 20 additions & 6 deletions src/unistd.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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! {
Expand Down Expand Up @@ -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"]
Expand Down Expand Up @@ -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"]
Expand Down
12 changes: 10 additions & 2 deletions test/test_unistd.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand All @@ -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();
Expand Down

0 comments on commit 1b32230

Please sign in to comment.