Age | Commit message (Collapse) | Author |
|
|
|
1524: Add docs for most sockopts r=asomers a=asomers
Co-authored-by: Alan Somers <asomers@gmail.com>
|
|
|
|
|
|
This macro is not exported outside of the crate, so there's no danger.
|
|
1520: mman module netbsd additions. r=asomers a=devnexen
1523: mman: add MAP_STACK to openbsd which is needed … r=asomers a=devnexen
…to created stack mappings
Co-authored-by: David Carlier <devnexen@gmail.com>
|
|
|
|
|
|
1521: Prevent buffer over-read in getgroups() r=asomers a=blyxxyz
An edge case I found in another wrapper around `getgroups()`. `@jhscheer` pointed me to this implementation which had the same issue.
Co-authored-by: Jan Verbeek <jan.verbeek@posteo.nl>
|
|
|
|
1509: Allow Android to use timerfd r=asomers a=rtzoeller
This is a continuation of #1336 which also enables the timerfd tests.
```
running 3 tests
test sys::test_timerfd::test_timerfd_unset ... ok
test sys::test_timerfd::test_timerfd_oneshot ... ok
test sys::test_timerfd::test_timerfd_interval ... ok
```
1515: Add IP_TTL/IPV6_UNICAST_HOPS SockOpts r=asomers a=cemeyer
Test: `cargo test --test test test_ttl_opts`
Co-authored-by: Ryan Zoeller <rtzoeller@rtzoeller.com>
Co-authored-by: Conrad Meyer <cem@FreeBSD.org>
|
|
1518: Make Errno::result() inline r=asomers a=linkmauve
This makes the success case a single `cmpl $-1, %eax` followed with a non-taken conditional jump, instead of the current `callq` which is always taken.
I have not benchmarked the difference, but it is an obvious improvement.
Co-authored-by: linkmauve <linkmauve@linkmauve.fr>
|
|
This makes the success case a single `cmpl $-1, %eax` followed
with a non-taken conditional jump, instead of the current `callq`
which is always taken.
I have not benchmarked the difference, but it is an obvious
improvement.
|
|
Test: `cargo test --test test test_ttl_opts`
|
|
1292: Support `TCP_MAXSEG` TCP Maximum Segment Size socket options r=asomers a=eaon
Found myself in a situation where I needed to advertise a specific MSS. Thought this crate is the appropriate place for this feature (especially since the `TCP_MAXSEG` const was exposed through it before), so here goes.
Actual change is of course tiny but it comes with a test. Happy to make changes, especially since I need to do more research on which platforms this works.
Co-authored-by: eaon <eaon@posteo.net>
Co-authored-by: Alan Somers <asomers@gmail.com>
|
|
|
|
1516: Implement AsRawFd for PollFd r=asomers a=cemeyer
Implement the trait on PollFd, providing an `as_raw_fd()` accessor to
get the RawFd associated with the PollFd.
Subsumes #1147, #1286. Closes #1146.
Test: `cargo test --test test test_pollfd_fd`
Co-authored-by: Conrad Meyer <cem@FreeBSD.org>
|
|
1317: test_af_alg_aead waits indefinitely r=asomers a=ritzk
Starting with linux kernel 4.9, the crypto interface changed slightly such that the authentication tag memory is only needed in the output buffer for encryption and in the input buffer for decryption. Thus, we have fewer bytes to read than the buffer size. Do not block on read.
alternatively, we can adjust the decrypted buffer size based on kernel version ( ">= 4.9") to not include auth_size .
```
if kernel_version >= "4.9":
let mut decrypted = vec![0u8; payload_len + (assoc_size as usize) ];
```
before
```
test sys::test_socket::test_af_alg_aead ... test sys::test_socket::test_af_alg_aead has been running for over 60 seconds
```
after
```
test sys::test_socket::test_af_alg_aead ... ok
```
Co-authored-by: Ritesh Khadgaray <khadgaray@gmail.com>
|
|
Implement the trait on PollFd, providing an `as_raw_fd()` accessor to
get the RawFd associated with the PollFd.
Subsumes #1147, #1286. Closes #1146.
Test: `cargo test --test test test_pollfd_fd`
|
|
1514: Add support for IP_RECVERR r=asomers a=cemeyer
This pull request adds support for setting the `IP_RECVERR` (and corresponding `IPV6_RECVERR`) sockopt, and then decoding the resulting control messages from `recvmsg()`. It is a Linux-specific API.
This PR extends #1161 by:
* Making the address associated with a `IpvXRecvErr` control message optional (`recvmsg` documentation claims it is not provided for some kinds of error), per `@WGH-.`
* Adding basic tests for both IPv4 and IPv6 (blat a UDP packet at a hopefully-unoccupied port on localhost and observe ICMP port unreachable).
* Adding a Changelog entry.
I added some trivial doc comments on the `ControlMessageOwned` variants, but I'm not sure exactly what documentation you had in mind earlier on #1161.
Co-authored-by: Conrad Meyer <cem@FreeBSD.org>
|
|
Setting these options enables receiving errors, such as ICMP errors from
the network, via `recvmsg()` with `MSG_ERRQUEUE`.
Adds new `Ipv{4,6}RecvErr` variants to `ControlMessageOwned`. These
control messages are produced when `Ipv4RecvErr` or `Ipv6RecvErr`
options are enabled on a raw or datagram socket.
New tests for the functionality can be run with `cargo test --test test
test_recverr`.
This commit builds on an earlier draft of the functionality authored by
Matthew McPherrin <git@mcpherrin.ca>.
|
|
|
|
|
|
1513: Check Dragonfly BSD and OpenBSD in CI r=asomers a=asomers
Build, but don't test, for these operating systems. Thanks to
`@rtzoeller` for the tip.
Also, fix the OpenBSD build.
Co-authored-by: Alan Somers <asomers@gmail.com>
|
|
Build, but don't test, for these operating systems. Thanks to
@rtzoeller for the tip.
Also, fix the OpenBSD build.
|
|
1512: DRY in the CI config r=asomers a=asomers
* Define the build and test scripts once instead of repeating them
* Don't use cross with OSX. We no longer need it.
Co-authored-by: Alan Somers <asomers@gmail.com>
|
|
* Define the build and test scripts once instead of repeating them
* Don't use cross with OSX. We no longer need it.
|
|
1511: Document more things r=asomers a=asomers
Also, test rustdoc in CI, and demote missing_docs from a deny to a
warning (but still deny it in CI).
Co-authored-by: Alan Somers <asomers@gmail.com>
|
|
|
|
|
|
Because nothing uses it on those OSes.
|
|
Also, test rustdoc in CI, and demote missing_docs from a deny to a
warning (but still deny it in CI).
|
|
Co-authored-by: zachoverflow <zach@zachjohnson.net>
|
|
1507: Forbid dead code again r=asomers a=asomers
The old problems with bitflags no longer apply
1508: More rust docs r=asomers a=asomers
Switch from allow(missing_docs) to deny(missing_docs), which should
gradually help us moving forward. Also, add a few missing docs, such as
for sched and aio.
Co-authored-by: Alan Somers <asomers@gmail.com>
|
|
Switch from allow(missing_docs) to deny(missing_docs), which should
gradually help us moving forward. Also, add a few missing docs, such as
for sched and aio.
|
|
1506: Test Linux aarch64 on real aarch64 hardware. r=asomers a=asomers
Co-authored-by: Alan Somers <asomers@gmail.com>
|
|
Apparently AWS Graviton containers don't support it. socket() retunrs
EAFNOSUPPORT in that environment.
Also, be more selective about skipping tests under QEMU
Instead of skipping them on architectures where we happen to use QEMU,
only skip them when QEMU is actually being used.
|
|
|
|
1499: Print function name and missing capability when skipping tests r=asomers a=rtzoeller
Currently when a test is skipped due to missing capabilities, a nondescript message is logged to stderr.
Improve that message to include both the function name and missing capability, making it possible to inspect stderr to see which capabilities are missing, and which tests they impact.
Co-authored-by: Ryan Zoeller <rtzoeller@rtzoeller.com>
|
|
1503: Add TcpRepair to sockopt r=asomers a=tazz4843
This PR adds the `TCP_REPAIR` flag to `nix::sys::socket::sockopt` under the name `TcpRepair`.
Co-authored-by: 0/0 <zero@imaskeleton.me>
|
|
1501: Mark x86_64-unknown-illumos as Tier 2 r=asomers a=rtzoeller
Illumos support is automatically built, but the README does not reflect this.
1505: Fix build for DragonFlyBSD r=asomers a=rtzoeller
The build for DragonFlyBSD is currently failing, due to a missing field when initializing `passwd`.
Fix warnings due to types being referenced which are marked as deprecated in libc. These constants are unused by DragonFlyBSD and can be removed: https://github.com/rust-lang/libc/commit/e0d27d01051f80e1a54df2d7e73a3e2b0e1a594d
Co-authored-by: Ryan Zoeller <rtzoeller@rtzoeller.com>
|
|
|
|
bors got broken by a spelling change in .cirrus.yml in
d20fe20af79cc6fa4528a8a170ad50a1319a1fbf that wasn't propagated to
bors.toml.
|
|
|
|
|
|
|
|
|
|
Multiple CI improvements
|
|
* Install cross the easy way, via cargo
* Don't test in release mode. Nix contains no release-dependent paths,
and release mode testing has to my knowledge never revealed a bug in
Nix.
* Add Linux powerpc back to CI, fixed by the latest cross.
* Check the tests even on platforms that can't run them.
* DRY for the Illumos and Redox sections
* Cross-check iOS from a Linux VM instead of OSX
* Revert the workaround for rust-lang/rustup issue 2774
|
|
Also, split the overbroad test_mknod_family into two tests
|