summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-04-04Merge #1409bors[bot]
1409: unistd: Increase maximum passwd/group buffer to 1MB r=asomers a=geofft We have one UNIX group that contains most of our users whose size is about 20 kB, so `Group::from_name` is failing with ERANGE. The discussion on PR #864 suggests that 1 MB is a reasonable maximum - it follows what FreeBSD's libc does. (glibc appears to have no maximum on the _r function and will just double the buffer until malloc fails, but that's not particularly Rusty.) Co-authored-by: Geoffrey Thomas <geofft@twosigma.com>
2021-03-25unistd: Increase maximum passwd/group buffer to 1MBGeoffrey Thomas
We have one UNIX group that contains most of our users whose size is about 20 kB, so `Group::from_name` is failing with ERANGE. The discussion on PR #864 suggests that 1 MB is a reasonable maximum - it follows what FreeBSD's libc does. (glibc appears to have no maximum on the _r function and will just double the buffer until malloc fails, but that's not particularly Rusty.)
2021-03-24Merge #1401bors[bot]
1401: cleanup: remove redundant unwrap in Dir::from_fd r=asomers a=scottlamb Co-authored-by: Scott Lamb <slamb@slamb.org>
2021-03-23Merge #1406bors[bot]
1406: Allow cmsg_space! to be used in unit tests r=asomers a=WiSaGaN Fixes https://github.com/nix-rust/nix/issues/1405 Co-authored-by: Lu, Wangshan <wisagan@gmail.com>
2021-03-23Merge #1407bors[bot]
1407: Fix test_vsock failure on VMADDR_CID_LOCAL testing and re-enable it r=asomers a=stefano-garzarella Starting from Linux 5.6, `VMADDR_CID_LOCAL` is supported to do local communication (loopback device). Before Linux 5.6 it was called `VMADDR_CID_RESERVED` and was not supported, so we could expect an `EADDRNOTAVAIL`, but now this address is supported and handled by the 'vsock_loopback' kernel module loaded automatically if no other vsock transports are loaded. Issue #1310 Issue #1403 Signed-off-by: Stefano Garzarella <sgarzare@redhat.com> Co-authored-by: Stefano Garzarella <sgarzare@redhat.com>
2021-03-23Allow cmsg_space! to be used in unit testsLu, Wangshan
2021-03-22Revert "Temporarily disable test_vsock on QEMU arches"Stefano Garzarella
This reverts commit c0783e7f8d55a7725179afc1b3c8eeae932d228c. Now the test should work correctly, so we can re-enable it. Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
2021-03-22Fix test_vsock failure on VMADDR_CID_LOCAL testingStefano Garzarella
Starting from Linux 5.6, VMADDR_CID_LOCAL is supported to do local communication (loopback device). Before Linux 5.6 it was called VMADDR_CID_RESERVED and was not supported, so we could expect an EADDRNOTAVAIL, but now this address is supported and handled by the 'vsock_loopback' kernel module loaded automatically if no other vsock transports are loaded. Issue #1310 Issue #1403 Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
2021-03-21Merge #1394bors[bot]
1394: illumos and Solaris support r=asomers a=jasonbking Adds support for the illumos target as well as improvements in the existing Solaris support. Co-authored-by: Dominik Hassler <hadfl@omnios.org> Co-authored-by: Joshua M. Clulow <josh@sysmgr.org> Co-authored-by: Jason King <jason.brian.king@gmail.com>
2021-03-21cleanup: remove redundant unwrap in Dir::from_fdScott Lamb
2021-03-21illumos and Solaris supportJason King
Co-authored-by: Dominik Hassler <hadfl@omnios.org> Co-authored-by: Joshua M. Clulow <josh@sysmgr.org>
2021-03-21Merge #1404bors[bot]
1404: Temporarily disable test_vsock on QEMU arches r=asomers a=asomers Issue #1403 Co-authored-by: Alan Somers <asomers@gmail.com>
2021-03-21Temporarily disable test_vsock on QEMU archesAlan Somers
Issue #1403
2021-03-06Merge #1395bors[bot]
1395: Allow sockaddr_ll size mismatch r=asomers a=internetionals Apparently the Linux kernel can return smaller sizes when the value in the last element of sockaddr_ll (`sll_addr`) is smaller than the declared size of that field. Co-authored-by: Justin Ossevoort <github@internetionals.nl>
2021-03-05Allow sockaddr_ll size mismatchJustin Ossevoort
Apparently the Linux kernel can return smaller sizes when the value in the last element of sockaddr_ll (`sll_addr`) is smaller than the declared size of that field.
2021-03-04Merge pull request #1398 from asomers/s390x-dupAlan Somers
Remove a duplicate stanza from .cirrus.yml
2021-03-04Remove a duplicate stanza from .cirrus.ymlAlan Somers
2021-03-04Merge pull request #1399 from asomers/accept4-androidAlan Somers
Remove accept4 on Android arm
2021-03-04Remove accept4 on Android armAlan Somers
libc removed it in version 0.2.87. https://github.com/rust-lang/libc/pull/2079
2021-02-23Merge pull request #1392 from asomers/docker_builderAlan Somers
During CI, use just 1 cpu for QEMU builds
2021-02-23During CI, use just 1 cpu for QEMU buildsAlan Somers
https://github.com/cirruslabs/cirrus-ci-docs/issues/741
2021-02-21Merge #1390bors[bot]
1390: pty: Make forkpty() unsafe r=asomers a=tavianator After the child returns from a fork() of a multi-threaded process, it is undefined behaviour to call non-async-signal-safe functions according to POSIX. Since forkpty() is implemented in terms of fork(), those restrictions should apply to it too. Fixes #1388 Co-authored-by: Tavian Barnes <tavianator@tavianator.com>
2021-02-20Merge pull request #1391 from asomers/update-depsAlan Somers
Various maintenance stuff
2021-02-20pty: Make forkpty() unsafeTavian Barnes
After the child returns from a fork() of a multi-threaded process, it is undefined behaviour to call non-async-signal-safe functions according to POSIX. Since forkpty() is implemented in terms of fork(), those restrictions should apply to it too.
2021-02-20Update rand to 0.8Alan Somers
This eliminates some duplicate dependencies
2021-02-20Update tempfile dev dependencyAlan Somers
This eliminates the need to build multiple versions of cfg-if
2021-02-20Fix a non_fmt_panic warning with Rustc 1.52.0Alan Somers
2021-02-20[skip ci] add a new CHANGELOG sectionAlan Somers
2021-02-20Merge pull request #1389 from asomers/r0.20.0Alan Somers
Prepare for release 0.20.0
2021-02-20Prepare for release 0.20.0Alan Somers
2021-02-20[skip ci] reformat CHANGELOGAlan Somers
2021-02-20Merge #1381bors[bot]
1381: Close file descriptor on drop in TimerFd r=asomers a=crdumoul This change closes the TimerFd file descriptor on drop. Note that the TimerFd will no longer be `Clone` or `Copy`. Since it has a destructor it can't be `Copy`, and if it were `Clone` you could end up trying to use a closed TimerFd, or double-closing the file descriptor. Addresses #1379. Co-authored-by: Christopher Dumoulin <cdumouli@akamai.com> Co-authored-by: Alan Somers <asomers@gmail.com>
2021-02-20Merge branch 'master' into timerfd-file-leakAlan Somers
2021-02-20Merge #1366bors[bot]
1366: x32 port r=asomers a=nabijaczleweli I played pretty loose with the statfs bit, hoping for CI to tell me if I broke something. Co-authored-by: наб <nabijaczleweli@nabijaczleweli.xyz>
2021-02-16Close file descriptor on drop in TimerFdChristopher Dumoulin
2021-02-15Log x32 fixesнаб
2021-02-15Bump caps to 0.5.1. Add x32 to CI for cross-builds and Tier 3 list in READMEнаб
2021-02-15Fix test_ptrace_syscall() on x32наб
Based on https://github.com/nix-rust/nix/issues/1384#issuecomment-774708486
2021-02-15Port statfs to x32наб
2021-02-15Port timespec to x32наб
2021-02-15Port sysinfo to x32наб
2021-02-15Port mqueue to x32наб
Test fix obtained from https://github.com/nix-rust/nix/issues/1384#issuecomment-774708486
2021-02-15Merge #1333bors[bot]
1333: Dir: Implement `IntoIterator` for `Dir` r=asomers a=wmanley This is useful to allow returning an iterator based on a directory iterator without needing a self-referential struct. Co-authored-by: William Manley <will@stb-tester.com>
2021-02-15Dir: Implement `IntoIterator` for `Dir`William Manley
This is useful to allow returning an iterator based on a directory iterator without needing a self-referential struct.
2021-02-15Merge #1387bors[bot]
1387: fix(unsafe): remove unnecessary unsafe r=asomers a=matu3ba libc 0.2.82 exposes status signals with macros generating safe functions Co-authored-by: Jan Philipp Hafer <jan.hafer@rwth-aachen.de>
2021-02-14fix(unsafe): remove unnecessary unsafeJan Philipp Hafer
closes #1380 libc 0.2.82 exposes status signals with macros generating safe functions
2021-02-14cargo formatJan Philipp Hafer
2021-02-13Merge #1382bors[bot]
1382: Don't implement Clone on Dir, SignalFd, and PtyMaster r=asomers a=asomers Since they close their file descriptors on Drop, it's almost impossible to use Clone without creating a double-close situation. Also, check for EBADF in SignalFd::drop and Dir::drop. Co-authored-by: Alan Somers <asomers@gmail.com>
2021-02-07Don't implement Clone on Dir, SignalFd, and PtyMasterAlan Somers
Since they close their file descriptors on Drop, it's almost impossible to use Clone without creating a double-close situation. Also, check for EBADF in SignalFd::drop and Dir::drop.
2021-02-07Merge #1338bors[bot]
1338: Add a passwd field to Group r=asomers a=blinsay Adds a `passwd` field to unistd::Group. The `gr_passwd` field exists on `libc::group` and wasn't exposed. I didn't see tests for `from(libc:group)` for either `User` or `Password`. Let me know if there are other tests I should add! Co-authored-by: Ben Linsay <blinsay@gmail.com>