summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-08-11Get rid of a lot of transmutesJonas Schievink
Most could be replaced by simple raw pointer casts (or even perfectly safe coercions!). cc #373
2017-08-11Merge #729bors[bot]
729: Refactor statvfs module r=Susurrus * Use upstream libc FFI declarations and constants * Use more Rust-y interface of returning entire struct versus passing it as an argument to (f)statvfs. * Replace field accesses with accessor methods * Flatten vfs module into parent * Remove all non-libc-based interfaces for working with the statvfs struct
2017-08-10Refactor statvfs moduleBryant Mairs
* Use upstream libc FFI declarations and constants * Use more Rust-y interface of returning entire struct versus passing it as an argument to (f)statvfs. * Replace field accesses with accessor methods * Flatten vfs module into parent * Remove all non-libc-based interfaces for working with the statvfs struct
2017-08-09Merge #688bors[bot]
688: Support for OpenBSD r=Susurrus Fixes #685 These changes get nix building on OpenBSD 6.1. There is one failing test that I want a little guidance on: ``` error[E0308]: mismatched types --> src/sys/event.rs:333:30 | 333 | assert!(expected.data == actual.data()); | ^^^^^^^^^^^^^ expected i64, found isize ``` `KEvent::data` is: ``` pub fn data(&self) -> intptr_t { self.kevent.data as intptr_t } ``` I assume the test should be updated to cast to the expected type but wanted to confirm that before making the change.
2017-08-08Merge #722bors[bot]
722: Add a convenience method .pid() for WaitStatus. r=asomers
2017-08-08Add a convenience method .pid() to WaitStatus.Marcin Mielniczuk
2017-08-07Merge #721bors[bot]
721: Enable setresuid/setresgid on FreeBSD and OpenBSD r=asomers Fixes #717 This PR enables `setresuid` and `setresgid` on FreeBSD and OpenBSD. These functions are not present on NetBSD, macOS, and iOS as far as I can tell.
2017-08-08Add entry to CHANGELOG about OpenBSD fixesWesley Moore
2017-08-08Add FreeBSD, OpenBSD support for setresuid/setresgidWesley Moore
2017-08-05Correct access of cmsg ancillary data on first headerWesley Moore
Also updates cmsg types to match structs on non-Linux OSes. The implementation of CmsgInterator did not correctly mirror the way the CMSG_FIRSTHDR and CMSG_NEXTHDR macros work in C. CMSG_FIRSTHDR does not attempt to align access since the pointer is already aligned due to being part of the msghdr struct. CmsgInterator was always aligning access which happened to work on all platforms except OpenBSD where the use of alignment was adding unexpected bytes to the expected size and causing the `cmsg_align(cmsg_len) > self.buf.len()` guard clause to return early.
2017-08-05Fix tests on OpenBSDWesley Moore
There appears to be some interaction with test_pathconf_limited and another one when they are run in parallel, causing it to return ENOENT so the path has been changed from . to /.
2017-08-05Add OpenBSD compatibility to signalsWesley Moore
2017-08-05Add OpenBSD compatibility to eventsWesley Moore
2017-08-01Merge #716bors[bot]
716: Fix changelog from bad merge r=Susurrus Missed this when merging #672.
2017-08-01Fix changelog from bad mergeBryant Mairs
2017-08-01Merge #647bors[bot]
647: merge socket constants r=Susurrus > Refactor the constant declarations such that all constants are only declared once with a #[cfg] that only enables the constant on the correct platforms. Closes #637 (same PR as #646 but from another branch, to see if buildbot has a problem with PR made from master branch)
2017-08-01removing socket constants tests in nix-testNicolas Dusart
2017-08-01Document AddressFamily and SockTypeNicolas Dusart
2017-08-01add SockProtocol type for third argument of socket and socketpairNicolas Dusart
2017-08-01Document `MsgFlags` constantsNicolas Dusart
2017-08-01add socket constants already present in libcNicolas Dusart
2017-08-01remove sys::sockets::consts module as it's libc goal to define themNicolas Dusart
2017-07-30Merge #672bors[bot]
672: add poll module in Android r=Susurrus `poll` functions are defined in Android as well. libc is missing some constant, but once rust-lang/libc#663 is merged, it'll be good to merge here. Closes #711
2017-07-30document poll moduleNicolas Dusart
2017-07-30Merge #713bors[bot]
713: Move i686-unknown-freebsd builds from Travis to BuildBot r=asomers
2017-07-29Move i686-unknown-freebsd builds from Travis to BuildBotAlan Somers
2017-07-29Merge #712bors[bot]
712: Change the FreeBSD builder's name to "amd64_fbsd11" r=asomers
2017-07-29Change the FreeBSD builder's name to "amd64_fbsd11"Alan Somers
2017-07-26add poll module for all platformsNicolas Dusart
2017-07-25Merge #692bors[bot]
692: Rename the public ptrace_* functions. r=Susurrus Unlike in C, we have namespacing in Rust. Renaming the functions allows us to avoid a `use nix::sys::ptrace::*` in favor of `use nix::sys::ptrace` and then calling, for example, `ptrace::traceme()` I'm wondering if we should rename the private functions too...
2017-07-25Remove the TODO comments, add unwrap() for ptrace.Marcin Mielniczuk
2017-07-25Merge branch 'ptrace-rename' of github.com:marmistrz/nix into ptrace-renameMarcin Mielniczuk
2017-07-25Fix the tests compilingMarcin Mielniczuk
2017-07-25Merge branch 'master' into ptrace-renameMarcin Mielniczuk
2017-07-25Add a changelog entryMarcin Mielniczuk
2017-07-25Disable testing because of musl #include issuesBryant Mairs
2017-07-25Disable failing tests on mips64Bryant Mairs
These are assumed to be QEMU issues, as they also fail on mips.
2017-07-25Disable tests on s390xBryant Mairs
When tests are run in QEMU the job just times out
2017-07-25Move Tier 3s to Tier 2Bryant Mairs
2017-07-25Bump version to 0.10.0-preAlan Somers
2017-07-25Release 0.9.0Alan Somers
2017-07-25Add CHANGELOG entry for PR #661Alan Somers
2017-07-25Replace remaining process::exit with libc::_exitJonas Schievink
Note that ptrace isn't documented as signal-safe, but it's supposed to just be a light syscall wrapper, so it should be fine.
2017-07-25Remove unneeded localJonas Schievink
2017-07-25Document invariants of fork and fix testsJonas Schievink
Some tests were invoking non-async-signal-safe functions from the child process after a `fork`. Since they might be invoked in parallel, this could lead to problems.
2017-07-25Allow doc attributes in ioctl macroroblabla
2017-07-25use std::env::temp_dir() to retrieve the temp directory in test_mkstempNicolas Dusart
2017-07-25Document WaitStatus and its variantsGeoffrey Thomas
2017-07-25Add WaitStatus::PtraceSyscall for use with PTRACE_O_TRACESYSGOODGeoffrey Thomas
The recommended way to trace syscalls with ptrace is to set the PTRACE_O_TRACESYSGOOD option, to distinguish syscall stops from receiving an actual SIGTRAP. In C, this would cause WSTOPSIG to return SIGTRAP | 0x80, but nix wants to parse that as an actual signal. Add another wait status type for syscall stops (in the language of the ptrace(2) manpage, "PTRACE_EVENT stops" and "Syscall-stops" are different things), and mask out bit 0x80 from signals before trying to parse it. Closes #550
2017-07-25Add tests of actual ioctl usageBryant Mairs