Age | Commit message (Collapse) | Author |
|
|
|
The fix for #1149 has the logic for the [cfg()] conditional inverted
so that the aliases for VMIN and VTIME are defined on targets that
are not linux-sparc64.
|
|
1139: Add `Users` and `Group` related functions r=asomers a=otavio
This was a collaborative work between Johannes Schilling
<dario@deaktualisierung.org>, Fredrick Brennan <copypaste@kittens.ph>
and myself.
This PR is a split-off from #864 so we merge ready parts first. Next, we work on the iterators.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Co-authored-by: Otavio Salvador <otavio@ossystems.com.br>
|
|
1150: sys: termios: Define VMIN and VTIME as VEOF and VEOL on sparc64 r=asomers a=glaubitz
On sparc64, glibc defines VMIN as VEOF and VTIME as VEOL for
termios, so we need to inherit these alias definitions for
nix-rust as well.
Fixes #1149
Co-authored-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
|
|
On sparc64, glibc defines VMIN as VEOF and VTIME as VEOL for
termios, so we need to inherit these alias definitions for
nix-rust as well.
Fixes #1149
|
|
This was a collaborative work between Johannes Schilling
<dario@deaktualisierung.org>, Fredrick Brennan <copypaste@kittens.ph>
and myself.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
|
1138: Add Signal::as_str() to get representation as static string r=asomers a=MikailBag
# Motivation
Currently string representation of signal can be obtained with AsRef<str> impl.
But it has downside: returned string's lifetime is bound to lifetime of signal, so &str must be converted to String. This allocation is avoidable, because as_ref() only returns static strings. To fix this problem, my PR adds Signal::as_str() method, which returns static string.
Co-authored-by: Mikail Bagishov <bagishov.mikail@yandex.ru>
|
|
|
|
1145: Fix sys::socket::recvfrom for TCP sockets r=asomers a=asomers
recvfrom(2) only returns the sender's address for protocols that provide
it. Usually, that means it returns the sender's address for datagram
sockets but not for stream sockets.
Fixes #1144
Co-authored-by: Alan Somers <asomers@gmail.com>
|
|
recvfrom(2) only returns the sender's address for protocols that provide
it. Usually, that means it returns the sender's address for datagram
sockets but not for stream sockets.
Fixes #1144
|
|
1141: Fix typo in Gid::effective() docstring r=asomers a=scottschroeder
- docstring now matches the actual `getegid()` call
Co-authored-by: Scott Schroeder <scottschroeder@users.noreply.github.com>
|
|
|
|
1137: Rustup minimal r=posborne a=asomers
Fix CI on FreeBSD after rustup 1.20.0.
Co-authored-by: Alan Somers <asomers@gmail.com>
|
|
1136: Properly initialize msghdr when using musl r=posborne a=yshui
Because of the use of MaybeUninit::uninit, the padding fields in msghdr,
which only present on musl builds, are not initialized. Causing garbage
data to be sent to the kernel. This change ensures the paddings are
always zeroed.
Co-authored-by: Yuxuan Shui <yshuiv7@gmail.com>
|
|
Because of the use of MaybeUninit::uninit, the padding fields in msghdr,
which only present on musl builds, are not initialized. Causing garbage
data to be sent to the kernel. This change ensures the paddings are
always zeroed.
|
|
|
|
This should fix CI on FreeBSD after Rustup 1.20.0 was released, and save
time as well.
|
|
1133: Implement mkfifoat r=asomers a=zmlcc
This adds the `mkfifoat ` function, which is part of POSIX [https://pubs.opengroup.org/onlinepubs/9699919799/functions/mkfifoat.html](https://pubs.opengroup.org/onlinepubs/9699919799/functions/mkfifoat.html)
test cases are copied from `mkfifo`
Co-authored-by: Zhang Miaolei <zmlcc@outlook.com>
|
|
|
|
ignore mkfifoat in OSX and andriod
|
|
|
|
1121: Fix #1093 r=asomers a=tathanhdinh
Hello,
This PR fixes the problem discovered in #1093.
Thanks for any comment.
1130: unistd: getgrouplist: Rework code to use `reserve_double_buffer_size` r=asomers a=otavio
The buffer resize logic can be simplified reusing the
`reserve_double_buffer_size` method.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Co-authored-by: Ta Thanh Dinh <tathanhdinh@gmail.com>
Co-authored-by: Otavio Salvador <otavio@ossystems.com.br>
|
|
1105: posix_fallocate support r=asomers a=dingxiangfei2009
This PR add [`posix_fallocate`](http://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_fallocate.html), which is available on
- Linux
- FreeBSD
- Android
- Emscripten
- Fuchsia
- WASI
Here is a question: for some reason, `posix_fallocate` returns `EBADF` instead of `EPIPE` if a FIFO file descriptor is passed in on Linux 4.19.64. In the test `EBADF` is used for now, but I would like to know if such behaviour is expected.
Co-authored-by: Ding Xiang Fei <dingxiangfei2009@gmail.com>
|
|
The buffer resize logic can be simplified reusing the
`reserve_double_buffer_size` method.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
|
1129: Getgroups reserve up to limit r=posborne a=otavio
Co-authored-by: Otavio Salvador <otavio@ossystems.com.br>
|
|
Use `reserve_double_buffer_size` up to NGROUPS_MAX as limit.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
|
We are preparing the use of `reserve_double_buffer_size` but for this,
some logic need to be reworked so we are doing some rename preparing
for the next patch which adds its use.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
|
|
|
1127: unistd: getcwd: Double the buffer when need, up to PATH_MAX as limit r=asomers a=otavio
We now have a `reserve_double_buffer_size` method which reserves the
double of buffer, up to a limit, allowing it to be reused on other
methods in future.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Co-authored-by: Otavio Salvador <otavio@ossystems.com.br>
|
|
We now have a `reserve_double_buffer_size` method which reserves the
double of buffer, up to a limit, allowing it to be reused on other
methods in future.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
|
1126: Relax some dependency versions r=asomers a=atouchet
The minimum supported Rust version was bumped in #1108 so these restrictions are no longer necessary.
Co-authored-by: Alex Touchet <alextouchet@outlook.com>
|
|
1124: Where relevant, replace equality checks in assert! with assert_eq! r=asomers a=AdminXVII
`assert_eq!` gives more debug info when the test fails by default than `assert!`. This should help make debugging easier.
Co-authored-by: Xavier L'Heureux <xavier.lheureux@icloud.com>
|
|
|
|
`assert_eq!` gives more debug info when the test fails by default than
`assert!`. This should help make debugging easier.
|
|
1123: Fix travis r=asomers a=asomers
Co-authored-by: Alan Somers <asomers@gmail.com>
|
|
Travis is now using Seccomp, and Docker's default Seccomp policy
disables execveat (though, weirdly, not fexecve). It also prohibits any
operations on AF_ALG sockets.
While I'm here, replace close/dup with dup2, which is more reliable.
Also, drop the fork mutex earlier. This way all of the exeve tests will
run, even if one fails.
https://docs.docker.com/engine/security/seccomp/
|
|
process_vm_readv requires it, and I'm not exactly sure which other
things do too.
|
|
|
|
|
|
|
|
|
|
|
|
1120: Fix length of abstract socket address r=asomers a=yshui
NULL bytes have no special significance in an abstrace address, and the
length of the address is solely decided by the length member. If the
length is set to sun_path.len(), all the NULL bytes will be considered
part of the address.
Tests are updated accordingly.
Closes #1119
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
Co-authored-by: Yuxuan Shui <yshuiv7@gmail.com>
|
|
NULL bytes have no special significance in an abstrace address, and the
length of the address is solely decided by the length member. If the
length is set to sun_path.len(), all the NULL bytes will be considered
part of the address.
Tests are updated accordingly.
Closes #1119
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
|
|
1113: Libc enum tryfrom r=asomers a=asomers
Co-authored-by: Alan Somers <asomers@gmail.com>
|
|
TryFrom wasn't stable when that function was written.
|
|
|
|
1114: Replace most instances of mem::uninitialized with mem::MaybeUninit r=asomers a=asomers
Only two instances remain:
* For the deprecated sys::socket::CmsgSpace::new. We should probably
just remove that method.
* For sys::termios::Termios::default_uninit. This will require some
more thought.
Co-authored-by: Alan Somers <asomers@gmail.com>
|
|
On Travis (and only on Travis) this test crashes. It hits an internal
assertion within glibc. It happens reliably with rustc 1.37.0. Ignore
the test until Travis updates its images; then we'll try again.
Issue #1099
|
|
Travis's "stable" images are stuck on Rust 1.35.0
|