Age | Commit message (Collapse) | Author |
|
1083: Allow signal injection in ptrace::syscall and ptrace::detach r=asomers a=frangio
Fixes #1049
Should I add tests for this functionality?
By the way, I noticed that the BSD module doesn't have `ptrace::syscall`. I couldn't find a reason behind this in #949. Should we add it?
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
|
|
|
|
1148: Implement sched::sched_getaffinity() r=asomers a=thib-ack
Hello,
I found the function `sched::sched_setaffinity()` but I also needed to get the process affinity and I did not find the function `sched::sched_getaffinity()`
So I added the function which maps [sched_getaffinity(2)](https://linux.die.net/man/2/sched_getaffinity) which "get a process's CPU affinity mask" to the sched.rs file.
I hope the code match your guidelines (returned `Result<CpuSet>` instead of pointer parameter)
If that's not the case, tell me, I will fix asap.
I hope this will help !
Thanks,
Thibaut
Co-authored-by: Thibaut Ackermann <thibaut@ackermann.dev>
|
|
sched_getaffinity(2) get a process's CPU affinity mask
|
|
1154: ptrace: add ptrace::seize for Linux r=asomers a=jsgf
Co-authored-by: Jeremy Fitzhardinge <jeremy@goop.org>
|
|
|
|
1101: Implment linkat r=asomers a=jlb6740
This adds the linkat function which is part of POSIX:
http://pubs.opengroup.org/onlinepubs/9699919799/functions/linkat.html
and widely implmented on Unix-Family platforms.
Co-authored-by: Johnnie Birch <45402135+jlb6740@users.noreply.github.com>
|
|
This adds the linkat function which is part of POSIX:
http://pubs.opengroup.org/onlinepubs/9699919799/functions/linkat.html
and widely implmented on Unix-Family platforms.
Add back trailing whitespace removed on previous force push
|
|
1151: sys: termios: Fix inverted logic for [cfg()] conditional for sparc64 r=asomers a=glaubitz
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.
Co-authored-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
|
|
|
|
1152: Fix a warning with the latest nightly compiler r=asomers a=asomers
The latest compiler warns about unnecessary parentheses in a position
that previous compilers ignored.
Co-authored-by: Alan Somers <asomers@gmail.com>
|
|
The latest compiler warns about unnecessary parentheses in a position
that previous compilers ignored.
|
|
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.
|
|
|
|
|