Age | Commit message (Collapse) | Author |
|
|
|
2012: Enable socket and select on redox r=asomers a=coolreader18
Co-authored-by: Noa <coolreader18@gmail.com>
|
|
|
|
|
|
1995: Add `AT_EACCESS` to `AtFlags` on all platforms r=asomers a=MatteoNardi
On Linux, I need the `AT_EACCESS` flag for `faccessat`:
```
AT_EACCESS
Perform access checks using the effective user and group IDs. By default, faccessat() uses the real IDs (like access()).
```
~~This commit is enabling it for all platforms but redox. I'm not really sure if this is correct of I should have just added a target_os = "linux". A did quick git grep -e AT_EACCESS -e 'AT_REMOVEDIR' on libc and it showed they're available on the same targets, so for consistence I just removed the cfg limitation.~~ CI was helpful and showed me I was wrong: it's undefined on android.
Co-authored-by: Matteo Nardi <matteo@exein.io>
|
|
* Prefer methods instead of functions.
* Create a newtype for a kqueue.
* Document everything.
* Deprecate EVFILT_SENDFILE, because it was never fully implemented
upstream.
* Add support to the libc_enum! macro to be able to deprecate variants.
|
|
|
|
|
|
1964: Fix endian swap on SocketAddrV6. r=asomers a=aarond10
This is a bug. flowinfo and scope_id should not be byte swapped here.
See also https://github.com/nix-rust/nix/issues/1963.
Co-authored-by: Aaron Drew <aarond10@gmail.com>
|
|
flowinfo and scope_id should not be byte swapped.
|
|
|
|
|
|
The SignalFd type is just as capable and easier to use.
|
|
|
|
|
|
|
|
Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
|
|
Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
|
|
1902: Enable ucontext module on aarch64-unknown-linux-gnu r=asomers a=rtzoeller
Untested, but I saw https://github.com/rust-lang/libc/commit/fd32da6e7dfa2afcae86e176904244cf45a90c06 and figured we should uptake it.
Co-authored-by: Ryan Zoeller <rtzoeller@rtzoeller.com>
|
|
Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
|
|
|
|
|
|
|
|
|
|
When reading a value into an enum from getsockopt, we must validate it.
Failing to do so can lead to UB for example with SOCK_PACKET on Linux.
Perform the validation in GetSockOpt::get. Currently SockType is the
only type that requires validation.
Fixes #1819
|
|
|
|
|
|
I opted to preserve explicit entries for backports in both the original
feature release and the backported point release, rather than trying to
pretend that the releases were actually sequential.
Also, remove some empty subsections from the file.
|
|
|
|
1788: Workaround XNU bug in getifaddrs netmasks r=asomers a=roblabla
Fixes #1709
Co-authored-by: roblabla <unfiltered@roblab.la>
Co-authored-by: Alan Somers <asomers@gmail.com>
|
|
|
|
|
|
|
|
|
|
1857: Add better support for unnamed unix socket addrs r=asomers a=stevenengler
This adds the following 2 functions/methods: `UnixAddr::new_unnamed` and `UnixAddr::is_unnamed`.
Closes #1585
unix(7) on Linux:
> unnamed: A stream socket that has not been bound to a pathname using bind(2) has no name. Likewise, the two sockets created by socketpair(2) are unnamed. When the address of an unnamed socket is returned, its length is `sizeof(sa_family_t)`, and `sun_path` should not be inspected.
**Edit:** This currently isn't working on BSD, but I see why. Will fix it shortly.
Co-authored-by: Steven Engler <opara@cs.georgetown.edu>
|
|
1871: Fix using SockaddrStorage to store Unix domain addresses on Linux r=rtzoeller a=asomers
Since it has variable length, the user of a sockaddr_un must keep track of its true length. On the BSDs, this is handled by the builtin sun_len field. But on Linux-like operating systems it isn't. Fix this bug by explicitly tracking it for SockaddrStorage just like we already do for UnixAddr.
Fixes #1866
Co-authored-by: Alan Somers <asomers@gmail.com>
|
|
Changelog
|
|
|
|
1853: Adds IP_TOS, IPV6_TCLASS and SO_PRIORITY sockopt wrappers for Linux r=asomers a=mzachar
Added socket option wrappers for DiffServ related parameters on Linux
Co-authored-by: mzachar <mzachar@users.noreply.github.com>
|
|
|
|
|
|
|
|
Since it has variable length, the user of a sockaddr_un must keep track
of its true length. On the BSDs, this is handled by the builtin sun_len
field. But on Linux-like operating systems it isn't. Fix this bug by
explicitly tracking it for SockaddrStorage just like we already do for
UnixAddr.
Fixes #1866
|
|
Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
|
|
It returns the mount flags on the BSDs. On Linux, it returns a slightly
different set of flags.
|
|
|
|
|
|
|
|
|
|
|